Tabela ali tabele- zakaj in kako?

Submitted by oki on Pet, 03/04/2022 - 12:29

Kaj, ko bi imeli knjižničarji vse knjige v eni tabeli? Morali bi:

  1. vpisovati ene te iste podatke o avtorjih vsakič, ko bi dobili novo knjigo
  2. spreminjati podatke o avtorju, povsod tam, kjer je zapisan (npr. naslov ali tel. št.)
  3. previdno brisati knjige iz tabele, saj zadnja knjiga določenega avtorja, izbriše tudi podatke o avtorju

Primer tabela Knjige:

Tabela knjige

ID knjige je primarni ključ in mora enolično predstavlja entiteto- zapis v vrstici. Entiteta predstavlja predmet iz resničnega sveta ali stvar, ki lahko stoji samostojno in jo je mogoče enolično prepoznati. V tabeli knjige primarni ključ predstavlja avtorja in tri knjige- to pa ni ena entiteta, temveč 4 entitete.

Mogoče bi lahko problem ponavljanja podatkov rešili tako, da naredimo novo tabelo Avtorji v katero dodajamo podatke o knjigah.

Bi tabela Avtorji rešila problem ponavljanja, spreminjanja in brisanja?

Tabela avtorji

Bi, če bi imeli od vsakega avtorja le po tri knjige. Pa nimamo, tako da so nekatere celice prazne. Kaj pa, če bi želeli v tabelo vnesti še eno knjigo Rowlingove, tabela pa je narejena le za tri knjige? Potrebna je rekonstrukcija tabele, saj bi morali v tabelo Avtorji dodati nove atribute. Kaj pa če bi imeli 20 knjig enega avtorja?

Probleme tabele Avtorji ali Knjige rešimo tako, da naredimo dve tabeli, tabelo Avtorji in tabelo Knjige. Prvo pravilo, pri kreiranju baze podatkov je, da vsaka tabela vsebuje podatke le ene vsebine, predmeta ali snovi.

Tabeli je potrebno povezati tako, da bo vsaki knjigi v tabeli Knjige pripadal njen avtor iz tabele Avtorji. Da lahko to dosežemo, mora vsak zapis imeti v tabeli polje, ki ga enolično določa. To polje se imenuje Primarni ključ. Polje v tabeli, v katerem so podatki primarnih ključev drugih tabel, se imenuje Tuji ključ.

Primarni ključ enolično določa zapis v tabeli. Celica primarnega ključa ne sme biti prazna (null) in zapisi ne smejo imeti isti primarni ključ. V tabeli knjige so primarni ključi v polju ID knjige, kjer se vrednost polja samodejno povečuje za 1.

Tuji ključ je polje v drugi tabeli, ki se sklicuje na primarni ključ v prvi tabeli. To omogoča relacije med tabelami.

Tabeli povežemo s ključi.

Dve tabeli

Primarna ključa sta Id avtorja in Id knjige. Tuj ključ je Id avtorja v tabeli Knjige.

Vsaka tabela mora imeti Primarni ključ, ki enolično določa zapis v tabeli. Tuji ključ v tabeli je zapisi primarnega ključa druge tabele- tako so tabeli povezani!

Tabele so med seboj v določenih odnosu oz. relaciji. V našem primeru vidimo:

  • da imajo avtorji eno ali več knjig
  • in da imajo knjige samo po enega avtorja

To je relacija 1:N, 1 (avtor) do/proti mnogo (knjig). Oglejmo si še druge tipe ralacij.