2010-09-14 18 views
0

besoin Ok aide,schéma de base de données de conception aide - Mysql

j'ai un système que je crée qui permettra aux utilisateurs d'acheter des crédits de site et les gagner, et avec ces crédits commander des produits et des fonctionnalités d'accès qui peuvent être à vendre. Mon problème est de créer les tables de commandes et de transactions. J'ai 2 tables de commande distinctes une pour les crédits de site (sitecredit_orders) et une pour les commandes de produits (product_orders) et ensuite la table de transaction 1 que je veux pouvoir lier à une commande par mon dilemme est je ne peux pas faire un champ pour orders_id car ils peuvent se chevaucher dans les 2 tables différentes. Et ne peut pas fusionner la table 2 orders car ils contiennent 2 types d'informations différents. Comment dois-je créer et lier la table des transactions à ces tables de commandes? Merci.

+1

Pourriez-vous rendre les commandes de crédit et les commandes de produits faites par un sous-type exclusif? –

+0

On dirait que vous avez peut-être frappé sur l'argent que je recherche des sous-types maintenant. Merci. –

Répondre

2

Juste pour développer mon commentaire:

Une table Commandes avec OrderId et OrderType (« Produit » ou « Site de crédit », ce qui est appelé le discriminateur de sous-type).

Une table Sitecredit_Orders avec OrderId (clé étrangère à Orders.OrderId) et tous les autres champs nécessaires pour les crédits de site.

Une table Product_Orders avec OrderId (clé étrangère à Orders.OrderId) et tous les autres champs nécessaires aux produits.

Une table de transaction avec OrderId (clé étrangère à Orders.OrderId). Lorsque vous ajoutez un nouveau crédit de site ou une nouvelle commande de produit, vous devez insérer deux tables au lieu d'une. Insérez un nouvel enregistrement dans Orders, récupérez l'OrderId (en supposant qu'il soit généré automatiquement), puis insérez un enregistrement dans l'une des tables de sous-types en utilisant le même OrderId.

+0

MERCI BEAUCOUP, exactement ce dont j'ai besoin. –

+0

De quel type de champ devrais-je créer OrderType? –

Questions connexes