Osnovni ključevi koji olakšavaju upravljanje bazama podataka

Tasteri baze podataka predstavljaju najlakši način za stvaranje efikasne relacijske baze podataka

Kao što već već znate, baze podataka koriste tabelu za organizovanje informacija. (Ako nemate osnovno poznavanje koncepata baze podataka, pročitajte Šta je baza podataka? ) Svaka tabela se sastoji od nekoliko redova, od kojih svaka odgovara jedinstvenom zapisu baze podataka. Dakle, kako baze podataka drže sve ove dokumente ispravne? Upotreba ključeva.

Primarni ključevi

Prvi tip ključa o kome ćemo razgovarati je primarni ključ . Svaka tabela baze podataka treba da ima jednu ili više stupaca označenih kao primarni ključ . Vrijednost ovog ključa mora biti jedinstvena za svaki zapis u bazi podataka.

Na primjer, pretpostavimo da imamo tablu pod nazivom Zaposleni koja sadrži kadrovske informacije za svakog zaposlenog u našoj firmi. Morali bismo izabrati odgovarajući primarni ključ koji bi jedinstveno identifikovao svakog zaposlenog. Vaša prva misao može biti da koristite ime zaposlenog. Ovo ne bi dobro funkcionisalo jer je moguće zamisliti da zaposlite dva zaposlena sa istim imenom. Bolji izbor bi mogao biti korištenje jedinstvenog ID broja zaposlenih koji dodelite svakom zaposlenom kad su angažovani. Neke organizacije odluče da koriste ovaj nalog za socijalno osiguranje (ili slične vladine identifikatore), jer svaki zaposleni već ima jedan i garantovano je da su jedinstveni. Međutim, upotreba brojeva socijalnog osiguranja za ovu svrhu je veoma kontroverzna zbog problema vezanih za privatnost. (Ako radite za vladinu organizaciju, upotreba broja socijalnog osiguranja može biti čak i nezakonita po Zakonu o privatnosti iz 1974. godine.) Zbog toga se većina organizacija prebacila na korišćenje jedinstvenih identifikatora (ID radnika, ID učenika, itd. .) koji ne dele te probleme vezane za privatnost.

Kada odlučite o primarnom ključu i postavite bazu podataka, sistem upravljanja bazom podataka će osigurati jedinstvenost ključa.

Ako pokušate da ubacite rekord u tablicu sa primarnim ključem koji duplira postojeći zapis, umetak će propasti.

Većina baza podataka takođe može da generiše sopstvene primarne ključeve. Microsoft Access, na primer, može biti konfigurisan da koristi tip podataka AutoNumber da dodeli jedinstveni ID svakom zapisu u tabeli. Iako efikasan, ovo je loša praksa dizajna, jer vam ostavlja beznačajnu vrednost u svakom zapisu u tabeli. Zašto ne koristite taj prostor da biste uskladili nešto korisno?

Strani ključevi

Drugi tip je inostrani ključ koji se koristi za kreiranje odnosa između tabela. Prirodni odnosi postoje između tabela u većini struktura baze podataka. Vraćajući se u bazu podataka zaposlenih, zamislite da smo želeli da dodamo tablicu koja sadrži podatke odeljenja u bazu podataka. Ova nova tabela mogla bi se nazvati odeljenjima i sadržala bi veliku količinu informacija o odjeljenju u cjelini. Takođe želimo da uključimo podatke o zaposlenima u odeljenju, ali bi bilo nepotrebno imati iste informacije u dvije tabele (zaposleni i odjele). Umjesto toga, možemo napraviti odnos između dvije tabele.

Pretpostavimo da tabela Odeljenja koristi primarni ključ kao naziv odeljenja. Kako bi stvorili odnos između dvije tabele, dodali smo novu kolonu Tabli Zaposleni pod nazivom Department. Zatim popunjavamo naziv odeljenja kojem pripada svaki zaposlenik. Takođe informiramo sistem upravljanja bazom podataka da je stupanj odeljenja u tabeli Zaposleni inostrani ključ koji se odnosi na tabelu Odjeljenja.

Baza podataka će potom primeniti referentni integritet tako što će osigurati da sve vrijednosti u stupcu Odjeljenja Tabele Zaposleni imaju odgovarajuće unose u tabeli Odjeljenja.

Imajte na umu da ne postoji ograničenje jedinstvenosti za inostrani ključ. Mi možemo (i najverovatnije imamo) imati više od jednog zaposlenog koji pripada jednom odeljenju. Slično tome, ne postoji uslov da unos u tabeli Odeljenja ima odgovarajući unos u tabeli Zaposleni. Moguće je da imamo odeljenje bez zaposlenih.

Više o ovoj temi pročitajte Kreiranje stranih ključeva .