Kaj je razmerje med bazo podatkov?

Kazalo:

Kaj je razmerje med bazo podatkov?
Kaj je razmerje med bazo podatkov?
Anonim

Razmerje se vzpostavi med dvema tabelama baze podatkov, ko ena tabela uporablja tuji ključ, ki se sklicuje na primarni ključ druge tabele. To je osnovni koncept izraza relacijska zbirka podatkov.

Kako tuji ključ deluje pri vzpostavljanju razmerja

Primarni ključ edinstveno identificira vsak zapis v tabeli. To je vrsta kandidatnega ključa, ki je običajno prvi stolpec v tabeli in ga lahko baza podatkov samodejno ustvari, da zagotovi, da je edinstven. Tuji ključ je drug kandidatni ključ (ne primarni ključ), ki se uporablja za povezavo zapisa s podatki v drugi tabeli.

Na primer, upoštevajte ti dve tabeli, ki določata, kateri učitelj poučuje kateri predmet. Tu je primarni ključ tabele Tečaji Course_ID. Njegov tuji ključ je Teacher_ID:

Course_ID Course_Name ID_učitelja
Course_001 Biologija Učitelj_001
Course_002 Matematika Učitelj_002
Course_003 angleščina Učitelj_003

Vidite lahko, da se tuji ključ v tečajih ujema s primarnim ključem v učiteljih:

ID_učitelja Ime_učitelja
Učitelj_001 Carmen
Učitelj_002 Veronika
Učitelj_003 Jorge

Lahko rečemo, da je tuji ključ Teacher_ID pomagal vzpostaviti razmerje med tabelo Tečaji in Učitelji.

Image
Image

Vrste relacij baze podatkov

Z uporabo tujih ključev ali drugih kandidatnih ključev lahko implementirate tri vrste odnosov med tabelami:

Ena na ena

Ta vrsta razmerja dovoljuje samo en zapis na vsaki strani razmerja. Primarni ključ se nanaša samo na en zapis (ali nobenega) v drugi tabeli. Na primer, v zakonu ima vsak zakonec samo še enega zakonca. To vrsto razmerja je mogoče implementirati v eno samo tabelo in zato ne uporablja tujega ključa.

Ena-proti-več

Razmerje ena proti mnogo omogoča, da je en sam zapis v eni tabeli povezan z več zapisi v drugi tabeli. Razmislite o podjetju z bazo podatkov, ki vsebuje tabele strank in naročil.

Ena stranka lahko kupi več naročil, vendar enega naročila ni mogoče povezati z več strankami. Zato bi tabela Naročila vsebovala tuji ključ, ki bi se ujemal s primarnim ključem tabele Stranke, medtem ko tabela Stranke ne bi imela tujega ključa, ki bi kazal na tabelo Naročila.

Veliko protimnogim

To je kompleksno razmerje, v katerem se lahko številni zapisi v tabeli povežejo z mnogimi zapisi v drugi tabeli. Naše podjetje na primer verjetno potrebuje tabele Stranke in Naročila ter verjetno potrebuje tudi tabelo Izdelki.

Ponavljam, razmerje med tabelo Stranke in Naročila je ena proti mnogo, vendar upoštevajte razmerje med tabelo Naročila in Izdelki. Naročilo lahko vsebuje več izdelkov in izdelek je lahko povezan z več naročili, saj lahko več strank odda naročilo, ki vsebuje nekaj istih izdelkov. Ta vrsta razmerja zahteva najmanj tri tabele.

Zakaj so razmerja med zbirkami podatkov pomembna?

Vzpostavljanje doslednih odnosov med tabelami baze podatkov pomaga zagotoviti celovitost podatkov in prispeva k normalizaciji baze podatkov. Na primer, kaj, če ne bi povezali nobene tabele prek tujega ključa in bi namesto tega združili podatke v tabelah Tečaji in Učitelji, takole:

ID_učitelja Ime_učitelja tečaj
Učitelj_001 Carmen Biologija, matematika
Učitelj_002 Veronika Matematika
Učitelj_003 Jorge angleščina

Ta zasnova je neprilagodljiva in krši prvo načelo normalizacije baze podatkov, First Normal Form, ki navaja, da mora vsaka celica tabele vsebovati en sam, ločen del podatkov.

Ali pa smo se morda odločili dodati drugi zapis za Carmen, da bi uveljavili 1NF:

ID_učitelja Ime_učitelja tečaj
Učitelj_001 Carmen Biologija
Učitelj_001 Carmen Matematika
Učitelj_002 Veronika Matematika
Učitelj_003 Jorge angleščina

To je še vedno šibka zasnova, ki uvaja nepotrebno podvajanje in tako imenovane anomalije pri vstavljanju podatkov, kar pomeni, da lahko prispeva k nedoslednim podatkom. Na primer, če ima učitelj več zapisov, kaj, če je treba nekatere podatke urediti, vendar se oseba, ki izvaja urejanje podatkov, ne zaveda, da obstaja več zapisov? Tabela bi potem vsebovala različne podatke za istega posameznika, brez kakršnega koli jasnega načina za njegovo identifikacijo ali izogibanje.

Če to tabelo razdelite na dve tabeli, Učitelji in Tečaji, ustvarite pravilno razmerje med podatki in tako pomagate zagotoviti doslednost in točnost podatkov.

Priporočena: