Mysql
 sql >> Database >  >> RDS >> Mysql

Entità forti e deboli MySQL

Come sai l'entità debole è una tabella che non ha una chiave primaria ma ​​la chiave primaria di un insieme di entità debole è formata dalla chiave primaria dell'insieme di entità forte da cui l'insieme di entità debole dipende dall'esistenza, più il discriminatore dell'insieme di entità deboli.

La relazione tra entità debole e insieme di entità forte è chiamata Relazione Identificativa. Nell'esempio menzionato nell'immagine sopra, il pagamento del prestito è la relazione identificativa dell'entità di pagamento. Un insieme di entità debole è rappresentato da un riquadro doppiamente profilato e la corrispondente relazione identificativa da un diamante doppiamente profilato come mostrato in figura. Qui le doppie linee indicano la partecipazione totale di un'entità debole in un insieme di entità forti, significa che ogni pagamento deve essere correlato tramite pagamento di un prestito a un conto. La freccia da prestito a prestito indica che ogni pagamento è per un singolo prestito. Il discriminatore di un insieme di entità debole è sottolineato con linee tratteggiate anziché con linee continue.

Consideriamo un altro scenario, in cui vogliamo archiviare le informazioni dei dipendenti e delle loro persone a carico. Ogni dipendente può avere un numero da zero a n di dipendenti. Ogni dipendente ha un numero ID e un nome.

Consideriamo ora il seguente database:

Ci sono tre dipendenti che hanno E# rispettivamente come 1, 2 e 3.

Ora, in caso di ID entità dipendente non può fungere da chiave primaria perché non è univoco.

Pertanto, Dipendente è un insieme di entità debole che ha l'id come discriminatore. Ha una partecipazione totale al rapporto "ha" perché nessun dipendente può esistere senza i dipendenti (l'azienda si occupa dei dipendenti).

Ci sono due tabelle che è necessario creare sopra il diagramma e-r. Questi sono dipendenti con E# come singola colonna che funge da chiave primaria. L'altra tabella sarà di Dipendente con colonne E#, id e name in cui la chiave primaria è la combinazione di (E# e id).