Odnosi z bazo podatkov

Povezave z bazami podatkov so hrbtenica vseh relacijskih podatkovnih baz

Odnos je vzpostavljen med dvema tabelama baze podatkov, če ima ena tabela tuji ključ, ki se nanaša na primarni ključ druge tabele. To je osnovni pojem izraza relacijske baze podatkov.

Kako tuji ključ deluje za vzpostavitev razmerja

Oglejmo si osnove primarnih in tujih ključev. Primarni ključ enkratno identificira vsak zapis v tabeli. To je tip ključa kandidata, ki je običajno prvi stolpec v tabeli in ga lahko samodejno generira v bazi podatkov, da se zagotovi, da je edinstven.

Tuji ključ je še en kandidatski ključ (ne primarni ključ), ki se uporablja za povezavo zapisa s podatki v drugi tabeli.

Na primer, upoštevajte te dve tabeli, ki opredeljujejo, kateri učitelj uči kateri tečaj.

Tukaj je primarni ključ tabele Tečaji Course_ID. Njegov tuji ključ je Teacher_ID:

Tečaji
Course_ID Course_Name Teacher_ID
Course_001 Biologija Učitelj_001
Course_002 Matematika Učitelj_001
Course_003 angleščina Učitelj_003

Vidite lahko, da se tuji ključ v tečajih ujema z primarnim ključem v Teachers:

Učitelji
Teacher_ID Teacher_Name
Učitelj_001 Carmen
Učitelj_002 Veronica
Učitelj_003 Jorge

Lahko rečemo, da je tuji ključ Teacher_ID pomagal vzpostaviti povezavo med tabelami Tečajev in učiteljev.

Vrste podatkovnih odnosov

Z uporabo tujih ključev ali drugih ključev kandidatov lahko izvedete tri vrste odnosov med tabelami:

One-to-one : ta vrsta razmerja omogoča samo en zapis na vsaki strani razmerja.

Primarni ključ se nanaša le na en zapis - ali na nobeno drugo - v drugo tabelo. Na primer, v zakonski zvezi ima vsak zakonec le še en zakonec. Ta vrsta odnosa se lahko izvaja v eni tabeli in zato ne uporablja tujih ključev.

One-to-many : razmerje med enim in mnogim posameznim zapisom v eni tabeli je povezano z več zapisi v drugi tabeli.

Razmislite o podjetju z bazo podatkov, ki ima tabele strank in naročil.

En kupec lahko kupi več naročil, vendar enega naročila ni bilo mogoče povezati z več strankami. Zato bi tabela naročil vsebovala tuji ključ, ki je ustrezal primarnemu ključu tabele strank, medtem ko tabela strank ne bi imela nobenega tujega ključa, ki bi kazala na tabelo naročil.

Mnogi-do-mnogi : To je zapleteno razmerje, v katerem se lahko številni zapisi v tabeli povežejo z mnogimi zapisi v drugi tabeli. Na primer, naše poslovanje verjetno ne potrebuje le tabel Kupci in naročila, ampak verjetno potrebuje tabelo izdelkov.

Tudi razmerje med tabelo Kupci in naročila je ena-v-mnogi, 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: več strank lahko predloži naročilo, ki vsebuje nekatere iste izdelke. Ta vrsta odnosa zahteva najmanj tri tabele.

Kaj so pomembni podatki o bazo podatkov?

Vzpostavljanje skladnih odnosov med tabelami baz podatkov pomaga zagotoviti celovitost podatkov, kar prispeva k normalizaciji baz podatkov. Na primer, kaj, če nismo povezali nobenih tabel s tujim ključem in namesto samo združili podatke v tabelah Tečaji in učitelji, tako:

Učitelji in tečaji
Teacher_ID Teacher_Name Seveda
Učitelj_001 Carmen Biologija, matematika
Učitelj_002 Veronica Matematika
Učitelj_003 Jorge angleščina

Ta zasnova je nefleksibilna in krši prvo načelo normalizacije baze podatkov, First Normal Form (1NF), ki navaja, da mora vsaka celica celice vsebovati enoten, diskreten del podatkov.

Ali pa smo se morda odločili za preprosto dodajanje drugega zapisa za Carmen, da bi zagotovili 1NF:

Učitelji in tečaji
Teacher_ID Teacher_Name Seveda
Učitelj_001 Carmen Biologija
Učitelj_001 Carmen Matematika
Učitelj_002 Veronica Matematika
Učitelj_003 Jorge angleščina

To je še vedno šibek dizajn, ki uvaja nepotrebno podvajanje in kaj se imenuje anomalije za vstavljanje podatkov , kar pomeni, da lahko prispeva k neskladnim podatkom.

Če ima učitelj več zapisov, na primer, če je treba nekatere podatke urediti, oseba, ki izvaja urejanje podatkov, ne zaveda, da obstaja več zapisov? V tabeli bi nato za istega posameznika vsebovali različne podatke, brez jasnega načina prepoznavanja ali izogibanja.

Ta tabela je razdeljena v dve tabeli, učitelji in tečaji (kot je prikazana zgoraj), ustvarja pravilno razmerje med podatki in zato pomaga zagotoviti doslednost in natančnost podatkov.