A relazioni unificata in una basa di dati si trovi quannu ogni registrazione in a Table A pò avè parechje registri cunnessi in a Table B, ma ogni registru in Table B pò avè solu un scrittore chicago in a Table A. A relazioni uni à parechje in una basa di dati hè a basa di dati relazioniu più carii è hè à u cori di u bon designu.
Pruvalezza a rilazioni trà u maestru è i corsi che enseinu. Un maestru pò ensenyà diversi corsi, ma u corsu ùn avete micca a listessa relazioni cù u maestru.
Per quessa, per ogni rècordu in una tabella di i maestri, ùn anu parechji registri in a tola di struzzioni. Questa hè una relazioni unificata: un maestru in diversi corsi.
Perchè Stabbilisce una relazioni privata hè impurtante
Per fà ripresentà una relazioni unificata, avete bisognu di almenu dui tàvuli. Fighjula perchè.
Fà chì puderà crià una tabella di i maestri in a quale vulia ricordà u nome è i cullezioni insegnati. Pudemu di designà cusì:
Teacher_ID | Teacher_Name | Corso |
---|---|---|
Teacher_001 | Carmen | Bioluggìa |
Teacher_002 | Veronica | Matematica |
Teacher_003 | Jorge | Inglese |
Chì si Carmen inseriu dui o più corsi? Avemu duie scelte cù u disignu. Pudemu pudè aghjustà à u recordu di Carmen, cusì chistu:
Teacher_ID | Teacher _Name | Corso |
---|---|---|
Teacher_001 | Carmen | Biologia, Matematica |
Teacher_002 | Veronica | Matematica |
Teacher_003 | Jorge | Inglese |
U disignu supra, però, hè inflexibili è puderia esse risultati in prublemi dopu à l'intruducerà d'inserisce, edità o esse date.
Hè difficiuli di ricerca di dati. Stu disignu viulina u primu principiu di a normalizzazzjoni di basa di basa, Prima Forma Normale (1NF) , chì stica chì ogni cellula di tavuletta deve cuntenenu una sola schema discreta di dati.
Un altru alternativu di designu puderia esse solu aghjunghje un secondu di Carmen:
Maestru _ID | Teacher _Name | Corso |
---|---|---|
Teacher_001 | Carmen | Bioluggìa |
Teacher_001 | Carmen | Matematica |
Teacher_002 | Veronica | Matematica |
Teacher_003 | Jorge | Inglese |
Questu s'unia à 1NF, ma hè sempre un pianu di basa di basa di designu perchè pruduce redundancia è puderia disturbu una basa assai grande innecessariamente. Ma più importantissima, i dati puderanu esse inconsistente. Per esempiu, chì se cambiò u nome di Carmen? Qualchissia chì travagliale cù a dati puderia aghjurnà u so nome in un raccordaghju è falla à aghjurnà dinù in a seconda record. Stu disignu viole Seconda Normal Forma (2NF), chì adatta à 1NF è devi ancu esse sundimi di parechje annantu cù i sottuviseii di dati in parechje tavule è creendu una relazione tra elle.
Cumu Design a basa di dati cù relazioni unificatu
Per implementà una relazioni unificata in a mesa di i maestri è i corsi, rumpemu e mette in dui è ligate cù un chjattu straneru .
Eccu, avemu cacciatu u culore Cursu in a Table maestri:
Maestru _ID | Teacher _Name |
---|---|
Teacher_001 | Carmen |
Teacher_002 | Veronica |
Teacher_003 | Jorge |
Eccu questu hè a tola di corsi. Note chì a so chjave straniera, Teacher_ID, ligame un cursu à un maestru in a tola di i maestri:
Course_ID | Course_Name | Teacher_ID |
---|---|---|
Course_001 | Bioluggìa | Teacher_001 |
Course_002 | Matematica | Teacher_001 |
Course_003 | Inglese | Teacher_003 |
Avemu sviluppatu a relazione trà i Maestri è a Table di Corsi usando una chjave straniera.
Questa ci conta chì a Biologia è a Matematica sò assunsenu da Carmen è chì Jorge insegna in inglese.
Pudemu vede cumu questu prugettu dissu di qualsiasi sundumenti possibili, permette à i maestri privati di insignà diversi corsi, è implements a relazioni unilaterale.
Basi di basa pudete ancu implementà una relazioni unificata è una relazione multiplicazione.