2013-02-17 5 views
1

i avoir une catégorie de table composé d'un modèle de liste d'adjacence:insert produits dans la table en relation hiérarchique de la catégorie et le parent dans le modèle de liste adjacente

id name    parent_id 
------------------------------ 
1 Clothing   0 
2 Books   0 
3 Computers  0 
4 Mobiles   0 
5 Movies   0 
6 Music   0 
7 Mens    1 
8 Shirts   7 
9 Formal Trousers 7 
10 Jeans   7 

et une table PRODUCT_CATEGORY:

product_id fk 
category_id fk 
parent_id 

et ont une table de produit:

product_id 
category_id 
parent_id 
prod_name 
genre 
unit price 
image 

comment puis-je insérer les produits dans le tableau qui a un lien vers le pare nt-id et à son tour, il a un lien vers la catégorie. afin que je puisse récupérer les produits de parent_id et des catégories. et dois-je définir parent_id comme une clé primaire .. appreciated..thanks d'aide à l'avance ..

+0

Compte tenu de cet ensemble de données, ce qui devrait le résultat set (ie, le contenu de 'product') ressemble? – Strawberry

+0

Je viens de remarquer que vous avez posté un [doublon] (http://stackoverflow.com/q/14919370/533120). Ne fais jamais cela! Si vous avez besoin d'augmenter la "visibilité" de votre question, rassemblez assez de réputation puis lancez une [prime] (http://stackoverflow.com/privileges/set-bounties). –

+0

@BrankoDimitrijevic je viens de commencer à utiliser le débordement de pile .. la question originale a été posté par moi .. je voulais juste faire un ajustement à cela .. désolé pour cela .. –

Répondre

1

En supposant que la relation entre les produits et les catégories est M: N, et les deux catégories et produits forment une hiérarchie (indépendante d'un une autre), votre modèle devrait ressembler à:

catégorie:

category_id PK 
parent_id FK -> category.category_id 
(other fields...) 

produit:

product_id PK 
parent_id FK -> product.product_id 
(other fields...) 

PRODUCT_CATEGORY:

product_id FK -> product.product_id 
category_id FK -> category.category_id 
PK (product_id, category_id) 

Je ne suis pas tout à fait sûr de ce que vous entendez par: « comment puis-je insérer les produits dans le tableau qui a lien vers le ID parent et -tour il a un lien vers la catégorie "? En supposant que vous connaissez l'ID du produit parent et l'identifiant de la catégorie, vous pouvez simplement:

INSERT INTO product (product_id, parent_id, other fields...) 
VALUES (whatever, known parent id, other values...) 

Et puis connectez-le à la catégorie:

INSERT INTO product_category (product_id, category_id) 
VALUES (what you inserted above, known category id) 
+0

merci pour la réponse .. vraiment apprécié, mais avez-vous décrit parent_ID comme clé étrangère dans les trois tables .. j'ai vu qu'une colonne pour devenir une clé étrangère, il doit être déclaré comme clé primaire dans une table .. –

+0

@VishalTorne _ "colonne pour devenir une clé étrangère doit être déclarée comme clé primaire dans une table" _ - FK lui-même n'a pas besoin d'être une clé, il lui suffit de _reference_ une clé (primaire ou alternative). Dans mon modèle: le 'category.parent_id' référence le PK de la table' category', le 'product.parent_id' référence le PK du' product', le 'product_category.product_id' référence le PK du' product' et le ' product_category.category_id' référence le PK de 'category'. –

+0

merci beaucoup pour le partage des connaissances .. –

Questions connexes