Mysql
 sql >> Base de données >  >> RDS >> Mysql

Entités fortes vs faibles MYSQL

Comme vous le savez, une entité faible est une table qui n'a pas de clé primaire mais la clé primaire d'un ensemble d'entités faibles est formée par la clé primaire de l'ensemble d'entités fortes sur lequel l'ensemble d'entités faibles dépend de l'existence, plus le discriminateur de l'ensemble d'entités faibles.

La relation entre l'entité faible et l'ensemble d'entités fortes est appelée relation d'identification. Dans l'exemple mentionné dans l'image ci-dessus, le paiement du prêt est la relation d'identification de l'entité de paiement. Un ensemble d'entités faibles est représenté par une boîte à double contour et la relation d'identification correspondante par un losange à double contour, comme indiqué sur la figure. Ici, les doubles lignes indiquent la participation totale de l'entité faible dans l'ensemble d'entités fortes, cela signifie que chaque paiement doit être lié via le paiement d'un prêt à un compte. La flèche allant d'un remboursement de prêt à un prêt indique que chaque paiement correspond à un seul prêt. Le discriminateur d'un ensemble d'entités faibles est souligné par des lignes pointillées plutôt que par une ligne continue.

Considérons un autre scénario, où nous voulons stocker les informations des employés et de leurs personnes à charge. Chaque employé peut avoir de zéro à n nombre de personnes à charge. Chaque personne à charge a un numéro d'identification et un nom.

Considérons maintenant la base de données suivante :

Il y a trois employés ayant E # comme 1, 2 et 3 respectivement.

Désormais, dans le cas d'une entité dépendante, l'identifiant ne peut pas servir de clé primaire car il n'est pas unique.

Ainsi, Dependent est un ensemble d'entités faibles ayant id comme discriminateur. Elle a une participation totale à la relation "a" car aucun dépendant ne peut exister sans les salariés (l'entreprise s'occupe des salariés).

Deux tableaux doivent être créés au-dessus du diagramme e-r. Ce sont des employés ayant E # comme colonne unique qui agit comme clé primaire. L'autre table sera de Dépendance ayant des colonnes E#, id et name où la clé primaire est la combinaison de (E# et id).