2009-11-17 7 views
2

J'ai la structure de la catégorie suivante:Modèle de données pour stocker les catégories (plusieurs nœuds parents)

- Transport (10) 
    - Cars (5) 
     - Audi (2) 
     - BMW (3) 
     - ... 
     - Spare Parts (5) 
     - Audi (5) 
      - Audi glass (1) 
      - Carburetors (4) 
      - Mirrors 
      - ...   

    - Buses 

    - Spare Parts (5) 
     - Audi (5) 
     - Audi glass (1) 
     - Carburetors (4) 
     - Mirrors 
     - ... 
     - BMW 
     - Audi glass 
     - Carburetors 
     - Mirrors 
     - ... 
     - ... 

Quelle est la meilleure façon de stocker cette structure de données? J'ai essayé l'arbre, mais c'est une grosse duplication et les compteurs ne fonctionnent pas correctement.

Ce dont j'ai besoin, c'est d'un moyen de stocker une telle structure dans DB. Pour placer l'article sous chaque catégorie. Et avoir des compteurs d'éléments de travail.

Répondre

0

Je ferais

table TransportType (TTType(PK), Description) 
table Model (MType(PK), Description) 
table SparePart (SPNum(PK), Description) 
table SparePartAssignment (AKey(PK), TTType(FK), MType(FK), SPNum(FK)) 

espoir qui aide

bonne chance MikeD

0

Vous pouvez le faire en SQL et en effet dans les serveurs db qui ne supportent pas directement récursif requêtes. Jetez un oeil à here. Le modèle de jeu imbriqué est élégant et facile à implémenter dans n'importe quel SGBDR.

2

Si vous êtes sûr de la profondeur de vos nœuds, alors un ensemble de tables liées fonctionnera correctement. Cependant, si les nœuds doivent être capables de gérer des données dont le nombre de niveaux est élevé, vous pouvez adapter un design plus centré sur des tables qui se rapportent à eux-mêmes. Jetez un oeil here pour plus d'une explication.

Questions connexes