Ir-relazzjonijiet ta 'database huma s-sinsla tad-databases relazzjonali kollha
Relazzjoni hija stabbilita bejn żewġ tabelli ta 'database meta tabella waħda għandha ċavetta barranija li tirreferi għall-kodiċi primarju ta' tabella oħra. Dan huwa l-kunċett bażiku wara t-terminu database relazzjonali.
Kif taħdem Prinċipali Barranin biex Tistabbilixxi Relazzjoni
Ejja nirrevedu l-baŜi ta 'ċwievet primarji u barranin. Kelma primarja tidentifika b'mod uniku kull rekord fit-tabella. Hija tip ta ' kandidat ewlieni li normalment ikun l-ewwel kolonna f'tabella u jista' jiġi ġġenerat awtomatikament mid-database sabiex jiġi żgurat li jkun uniku.
Ċavetta barranija hija kjavi kandidata oħra (mhux iċ-ċavetta primarja) użata biex tgħaqqad rekord ma 'data f'tabella oħra.
Per eżempju, tqis dawn iż-żewġ tabelli li jidentifikaw liema għalliem jgħallem liema kors.
Hawnhekk, it-taqsima ewlenija tat-tabella tal-Korsijiet hija Course_ID. Iċ-ċavetta barranija tagħha hija Teacher_ID:
Kors_ID | Isem tal-Kors | Teacher_ID |
---|---|---|
Kors_001 | Bijoloġija | Għalliem_001 |
Kors_002 | Matematika | Għalliem_001 |
Kors_003 | Ingliż | Għalliem_003 |
Tista 'tara li ċ-ċavetta barranija fil-Korsijiet taqbel ma' ċavetta primarja fl-Għalliema:
Teacher_ID | Teacher_Name |
---|---|
Għalliem_001 | Carmen |
Għalliem_002 | Veronica |
Għalliem_003 | Jorge |
Nistgħu ngħidu li ċ-ċavetta barranija Teacher_ID għenet biex tistabbilixxi relazzjoni bejn il-Korsijiet u t-tabelli tal-Għalliema.
Tipi ta 'Relazzjonijiet Database
Bl-użu ta 'ċwievet barranin, jew ċwievet kandidati oħra, tista' timplimenta tliet tipi ta 'relazzjonijiet bejn tabelli:
Wieħed għal wieħed : Dan it-tip ta 'relazzjoni jippermetti biss rekord wieħed fuq kull naħa tar-relazzjoni.
Iċ-ċavetta primarja tirrigwarda rekord wieħed biss - jew xejn - f'tabella oħra. Pereżempju, fi żwieġ, kull konjuġi għandu żewġ konjuġi wieħed biss. Dan it-tip ta 'relazzjoni jista' jiġi implimentat f'tabella waħda u għalhekk ma jużax ċavetta barranija.
Wieħed għal ħafna : Relazzjoni minn persuna għal waħda tippermetti rekord wieħed f'tabella waħda biex tkun relatata ma 'reġistri multipli f'tabella oħra.
Ikkunsidra negozju ma 'database li għandha Klijenti u Tabelli Ordnijiet.
Klijent wieħed jista 'jixtri ordnijiet multipli, iżda ordni waħdieni ma jistax ikun marbut ma' klijenti multipli. Għaldaqstant, it-tabella tal-Ordnijiet ikun fiha ċavetta barranija li tkun taqbel mal-kjavi primarja tat-tabella tal-Klijenti, filwaqt li t-tabella tal-Klijenti ma jkollhiex ċavetta barranija li tindika t-tabella tal-Ordnijiet.
Ħafna minn ħafna : Din hija relazzjoni kumplessa li fiha ħafna reġistri f'tabella jistgħu jgħaqqdu ma 'ħafna reġistri f'tabella oħra. Pereżempju, in-negozju tagħna probabilment mhux biss jeħtieġ tabelli tal-Klijenti u Ordnijiet, imma x'aktarx jeħtieġ ukoll tabella tal-Prodotti.
Għal darb'oħra, ir-relazzjoni bejn il-Klijenti u t-Tabella tal-Ordnijiet hija waħda għal ħafna, iżda tqis ir-relazzjoni bejn it-Tabella tal-Ordnijiet u l-Prodotti. Ordni jista 'jkun fih ħafna prodotti, u prodott jista' jkun marbut ma 'ordnijiet multipli: bosta klijenti jistgħu jissottomettu ordni li jkun fiha xi wħud mill-istess prodotti. Dan it-tip ta 'relazzjoni jeħtieġ mill-inqas tliet tabelli.
X'inhuma r-Relazzjonijiet Database Importanti?
L-istabbiliment ta 'relazzjonijiet konsistenti bejn it-tabelli tad-database jgħin biex jiżgura l-integrità tad-dejta, u jikkontribwixxi għan-normalizzazzjoni tad-database. Pereżempju, x'jiġri jekk ma rabbunax xi tabelli permezz ta 'ċavetta barranija u minflok ingħaqdet mad-dejta fit-tabelli tal-Korsijiet u l-Għalliema, bħal hekk:
Teacher_ID | Teacher_Name | Kors |
---|---|---|
Għalliem_001 | Carmen | Bijoloġija, Matematika |
Għalliem_002 | Veronica | Matematika |
Għalliem_003 | Jorge | Ingliż |
Dan id-disinn huwa inflessibbli u jikser l-ewwel prinċipju tan-normalizzazzjoni tad-database, l-Ewwel Formola Normali (1NF), li jiddikjara li kull ċellula tal-mejda għandu jkun fiha biċċa waħda u diskreta ta 'data.
Jew forsi ddeċidejna li sempliċement inżidu t-tieni rekord għal Carmen, sabiex nfurzaw 1NF:
Teacher_ID | Teacher_Name | Kors |
---|---|---|
Għalliem_001 | Carmen | Bijoloġija |
Għalliem_001 | Carmen | Matematika |
Għalliem_002 | Veronica | Matematika |
Għalliem_003 | Jorge | Ingliż |
Dan għadu disinn dgħajjef, introduċa duplikazzjoni mhux meħtieġa u dak li jissejjaħ anomaliji ta 'inserzjoni tad-dejta , li jfisser biss li jista' jikkontribwixxi għal dejta inkonsistenti.
Pereżempju, jekk l-għalliem ikollu rekords multipli, x'jiġri jekk xi dejta tkun trid tiġi editjata, imma l-persuna li tkun qiegħda twettaq l-editjar tad-dejta ma tirrealizzax li jeżistu rekords multipli? It-tabella mbagħad ikun fiha data differenti għall-istess individwu, mingħajr ebda mod ċar biex tidentifikaha jew tevitaha.
Din it-tabella tinqasam f'żewġ tabelli, Għalliema u Korsijiet (kif jidher fuq), toħloq relazzjoni tajba bejn id-data u għalhekk tgħin biex tiżgura l-konsistenza u l-preċiżjoni tad-dejta.