Skip to main content

Uvod u baze podataka

Uvod u baze podataka (Travanj 2025)

Uvod u baze podataka (Travanj 2025)
Anonim

Naziv baze podataka "relacijski" ili "odnos" opisuje način povezivanja podataka u tablicama.

Novi korisnici u svijetu baza podataka često teško vide razlike između baze podataka i proračunske tablice. Oni vide tablice podataka i prepoznaju da baze podataka omogućuju organiziranje i upitivanje podataka na nove načine, ali ne shvaćaju značaj odnosi između podataka koji daju naziv tehnologiji relacijske baze podataka.

Odnosi omogućuju opisivanje veza između različitih tablica baze podataka na snažne načine. Ti se odnosi zatim mogu iskoristiti za obavljanje snažnih upita za unakrsne tablice, poznati kao spojevi.

Vrste odnosa s bazama podataka

Postoje tri različite vrste odnosa s bazom podataka, od kojih se svaka naziva prema broju redaka tablice koje mogu biti uključene u odnos. Svaka od tih tri vrste odnosa postoji između dvije tablice.

  • One-to-one odnosi pojavljuju se kada svaki unos u prvoj tablici ima jedan, a samo jedan, drugi dio u drugoj tablici. One-to-one odnosi se rijetko jer je često učinkovitije jednostavno staviti sve informacije u jednu tablicu. Neki dizajneri baze podataka iskoristiti su ovaj odnos stvaranjem tablica koje sadrže podskup podataka iz druge tablice.
  • Jedan-na-mnogo odnosa su najčešći tip baze podataka. Pojavljuju se kada svaki zapis u tablici A odgovara jednom ili više zapisa u tablici B, ali svaki zapis u tablici B odgovara samo jednom zapisu u tablici A. Na primjer, odnos između tablice učitelja i tablice studenata u osnovnoj školi baza podataka vjerojatno bi bila jedna-na-mnogo odnosa, jer svaki učenik ima samo jednog učitelja, ali svaki učitelj ima više učenika. Ovaj jedan-do-mnogo dizajn pomaže eliminirati duplicirane podatke.
  • Mnogi od mnogih odnosa pojavljuju se kada svaki zapis u tablici A odgovara jednom ili više zapisa u tablici B, a svaki zapis u tablici B odgovara jednom ili više zapisa u tablici A. Na primjer, odnos između tablice učitelja i tečajeva vjerojatno bi bio mnogo - za mnoge, jer svaki učitelj može uputiti više od jednog tečaja, a svaki tečaj može imati više od jednog instruktora.

Odnosi koji upućuju na sebe: Poseban slučaj

Relacije koje se odnose samo na referenciranje pojavljuju se kada je uključena samo jedna tablica. Jedan od uobičajenih primjera je tablica zaposlenika koja sadrži informacije o nadređenom svakom zaposleniku. Svaki nadglednik je također zaposlenik i ima vlastiti nadzornik. U ovom slučaju, postoji jedan-na-mnogi self-referenciranje odnos, kao i svaki zaposlenik ima jedan nadzornik, ali svaki supervizor svibanj imati više od jednog zaposlenika.

Stvaranje odnosa s stranim ključevima

Izrađujete veze između tablica određivanjem stranog ključa. Ovaj ključ navodi relacijsku bazu podataka kako se tablice odnose. U mnogim slučajevima, stupac u tablici A sadrži primarne ključeve navedene u tablici B.

Ponovno razmotrite primjer tablica učitelja i učenika. Tablica Učitelji sadrži samo ID, naziv i stupac kolegija:

nastavnici
InstructorIDNastavnik TEACHER_NAMETečaj
001John DoeEngleski
002Jane Schmoematematika

Tablica studenata sadrži ID, naziv i stupac s vanjskim ključem:

studenti
Studentska iskaznicaIme studentaTeacher_FK
0200Lowell Smith001
0201Brian Short001
0202Corky Mendez002
0203Monica Jones001

Stupac Teacher_FK u tablici Studenti upućuje na primarnu ključnu vrijednost instruktora u tablici Učitelji.

Često će dizajneri baze podataka upotrebljavati "PK" ili "FK" u nazivu stupca kako bi lako identificirali primarni ključ ili stupac stranog ključa.

Imajte na umu da ove dvije tablice ilustriraju jedan-na-mnogi odnos između učitelja i učenika.

Odnosi i referentni integritet

Nakon dodavanja stranog ključa u tablicu, tada možete stvoriti ograničenje baze podataka koja provodi referencijalni integritet između dvije tablice. To osigurava da odnosi između tablica ostanu konzistentni. Kada jedna tablica ima strani ključ za drugu tablicu, koncept referencijalnog integriteta navodi da se svaka vrijednost stranog ključa u tablici B mora odnositi na postojeći zapis u tablici A.

Provedbene odnose

Ovisno o vašoj bazi podataka, veze između tablica provodite na različite načine. Microsoft Access pruža čarobnjak koji vam omogućuje jednostavno povezivanje tablica i provođenje referentnog integriteta.

Ako izravno pišete SQL, prvo biste izradili tablicu Učitelji, izjavljujući da je ID stupac primarni ključ:

CREATE TABLE Nastavnici (

InstructorID INT AUTO_INCREMENT PRIMARNI KEY, Učitelj_Name VARCHAR (100), Tečaj VARCHAR (100));

Kada izradite tablicu studenata, izjavljujete da je stupac Teacher_FK identični ključ koji se odnosi na stupac instruktora u tablici Učitelja:

CREATE TABLE Students ( StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR (100), Teacher_FK INT, FORUMNA STRANA (Teacher_FK) REFERENCE Nastavnici (InstructorID)));

Korištenje odnosa za pridruživanje tablicama

Nakon što izradite jedan ili više veza u bazi podataka, možete iskoristiti njihovu snagu pomoću SQL JOIN upita kako biste kombinirali podatke s više tablica. Najčešći tip pridruživanja je SQL INNER JOIN ili jednostavno pridruživanje. Ova vrsta pridruživanja vraća sve zapise koji udovoljavaju uvjetu pridruživanja iz više tablica.Na primjer, ovaj uvjet JOIN vratit će Student_Name, Teacher_Name i Course gdje strani ključ u tablici Studentska odgovara primarnom ključu u tablici Teachers:

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.CourseOD UČENIKAINNER JOIN UčiteljiON Students.Teacher_FK = Teachers.InstructorID;

Ova izjava proizvodi tablicu ovako:

Vraćena tablica iz izjave SQL Join

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish