2011-11-03 4 views
0

J'ai une question concernant la façon dont vous créez des relations dans les données de base.Conception de relation de données de base?

Je vais vous expliquer avec un exemple:

Disons que j'ai 3 entités. Moteur, pompe et avertissement.

Le moteur et la pompe peuvent envoyer des avertissements.

L'entité d'avertissement stocke tous les avertissements du moteur et de la pompe. Donc, la question est ... Est-il vraiment nécessaire de créer autant de relations dans Avertissement pour moteur et pompe? Quand je veux ajouter une autre entité qui peut envoyer des avertissements, j'aurai besoin d'une autre relation.

Ce ne serait pas un mauvais design?

J'espère que je suis compréhensible.

Merci.

Répondre

2

Oui, c'est normal. Une approche meilleure et plus structurée consiste à avoir une entité de base pour Motor and Pump, appelons-la Component. Cette entité de composant a la relation avec les avertissements et l'entité d'avertissement a une relation inverse avec le composant.

Vous définissez ensuite votre moteur et votre pompe comme les descendants de l'entité Component et tout est bon. Une seule relation/relation inverse entre Composant et Avertissement.

+0

Merci beaucoup pour vos deux réponses. C'était ce que je cherchais :) – WYS

2

Ceci est la norme et une bonne pratique. Les données de base nécessitent des relations inverses pour que tout conserve son graphe d'objets. (Eh bien, techniquement, vous n'avez pas à les ajouter, mais vous devez ensuite faire un travail supplémentaire vous-même).

Donc, ne vous inquiétez pas, il est normal que vos entités souvent utilisées aient de nombreuses relations inverses.

Questions connexes