Pokušajte!
Moć relacionalne baze podataka leži u kombinovanju podataka u tabelama. Da biste to uradio, prvo morate da uspostavite relacije između tabela. Zatim stavite Access tako da radi na kombinovanju podataka u upitima, obrascima i izveštajima.
Da biste videli sve postojeće relacije definisane za bazu podataka, otvorite Access predložak, idite na karticu Alatke baze podataka i izaberite stavku Relacije.
Napomena: Ako otvorite praznu bazu podataka ili niste definisali relacije između tabela, Access će zatražiti da dodate tabelu ili upit. Da biste mogli da dodate relaciju, potrebne su vam bar dve tabele. Idealno bi bilo da prvo napravite sve tabele. Da biste saznali više, pogledajte stavke Kreiranje relacija uz pomoć čarobnjaka za pronalaženje i Kreiranje relacija sa oknom "Relacije".
Razumevanje prikaza "Relacije"
Linije u prikazu "Relacije" ukazuju na veze između tabela. Na sledećoj slici, tabela sa leve strane je nadređena tabela. Tabela sa desne strane je podređena tabela. Linija između njih povezuje polja (u ovom slučaju, ID porudžbine i ID proizvoda) koja se koriste za podudaranje sa podacima.
Linije i simboli pokazuju kako su vaše tabele srodne:
-
Deblja linija za povezivanje znači da nalažete referencialni integritet podataka. to je dobro. On sinhronizuje vaše podatke.
-
Na našoj ilustraciji broj 1 ukazuje na to da u tabeli može da postoji samo jedan podudati zapis. U tabeli "Porudžbine" koja je ovde prikazana, samo jedan zapis se podudara sa svakom porudžbinom.
-
Simbol ∞ ukazuje na to da mnogi zapisi mogu da sadrže isti ID. U tabeli "Detalji porudžbine" koja je ovde prikazana, porudžbina (naznačena ID-om porudžbine) može da se pojavi više puta zato što ista porudžbina može da sadrži više proizvoda.
Tipovi relacija između tabela
Postoje tri tipa relacija između tabela:
-
Jedan-prema-jedan. Kada se svaka stavka u svakoj tabeli pojavi samo jednom. Na primer, svaki zaposleni može da koristi samo jedan automobil preduzeća. Više informacija potražite u temi Pravljenje relacija jedan-prema-jedan.
-
Jedan-prema-više. Kada jedna stavka u jednoj tabeli može da ima relaciju sa više stavki u drugoj tabeli. Na primer, svaka porudžbina može da sadrži više proizvoda.
-
Više-prema-više. Kada jedne ili više stavki u jednoj tabeli mogu da imaju relaciju sa jednom ili više stavki u drugoj tabeli. Na primer, svaka porudžbina može da ima više proizvoda, a svaki proizvod može da se pojavi u više porudžbina. Da biste pronašli više, pogledajte kreiranje relacija više-prema-više.
Relacije jedan-prema-više
Jedna od najčešćih relacija između tabela u dobro dizajniranim bazama podataka jeste relacija jedan-prema-više.
Relacije između tabela obično se oslanjaju na primarni ključ u jednoj od tabela. Prisetite se da je primarni ključ jedinstveni identifikator (često numerički) za svaki zapis. Da biste prikazali da su informacije u dve različite tabele povezane, obično kreirate relaciju pomoću primarnog ključa iz jedne od tabela.
U relacijama prikazanim ovde, na primer, svaka osoba u tabeli "Kontakti" ima ID, koji predstavlja primarni ključ (označen simbolom ključa pored njega). Taj ID se pojavljuje i u polju Vlasnik u tabeli "Imovina". Da biste osobi povezanoj sa sredstvom e-poštom e-poštom nabavili vrednost iz polja E-adresa. Da biste to uradio, potražite vrednost u polju Vlasnik tabele "Imovina", a zatim potražite taj ID u tabeli "Kontakti". Broj 1 na jednom kraju linije za povezivanje, a simbol "∞" na drugom kraju ukazuju na to da je ovo relacija jedan-prema-više, tako da jedan kontakt može biti povezan sa više resursa.
Uređivanje relacije
Ako menjate postojeću bazu podataka ili ako ste bazu podataka kreirali iz predloška, postojeće relacije možete urediti prema svojim potrebama.
Napomena: Ako se tabele sa kojim želite da radite koriste, prvo morate da ih zatvorite, zajedno sa svim otvorenim objektima koji ih koriste.
-
Izaberite alatke baze podataka > relacije.
-
Izaberite liniju koja povezuje dve povezane tabele.
Savet: Ako ne vidite relaciju koju želite, na kartici Dizajn, u grupi Relacije izaberite stavku Sve relacije.
-
Na kartici Dizajn izaberite stavku Uredi relacije.
Tabela/upit je nadređena tabela sa leve strane (u ovom primeru , "Klijenti").
Srodna tabela/upit je podređena tabela (u ovom primeru "Porudžbine").
Čak i ako se tabele ne pojavljuju ovim redosledom u prikazu "Relacije", njihovo postavljenje u dijalogu ukazuje na smer linije koja ih povezuje i relaciju. To je važno ako je, na primer, relacija jedan-prema-više jer ukazuje na to da je tabela sa leve strane ona (nadređena tabela) a tabela sa desne strane je "više" (podređena tabela).
-
Da biste promenili polja koja povezuju tabele, izaberite drugo polje ispod svake prikazane tabele. U ovom primeru, polje ID-a u tabeli "Klijenti" povezuje se sa poljem "ID kupca" u tabeli "Porudžbine".
-
Promenite način na koji Access sinhronizuje podatke između tabela.
Primena referencialnog integriteta
Izaberite ovu opciju da biste sprečili nevažeće podatke i da bi se reference sinhronizovale u relacijama između tabela.
Na primer, pretpostavimo da imate relaciju jedan-prema-jedan između tabela "Zaposleni" i "Pogodnosti zaposlenih". Ako zaposleni napusti preduzeće i ukloni ga iz tabele "Zaposleni", uklanja se i povezani zapis o zaposlenima iz tabele "Pogodnosti zaposlenih".
Ponekad nalaženje referencialnog integriteta nema smisla. Na primer, pretpostavimo da imate relaciju jedan-prema-više između tabela "Špeditere" i "Porudžbine". Izbrisali ste špediera, a taj špedier se mapira u porudžbine u tabeli "Porudžbine". Te porudžbine postaju siročići, što znači da i dalje sadrže ID špediera, ali ID više nije važeći zato što zapis koji on referencuje više ne postoji.
Kaskadno ažuriranje povezanih polja
Da biste se uverili da su podaci u povezanim poljima ažurirani u svim povezanim tabelama, izaberite ovu opciju.
Na primer, pretpostavimo da jednostavno želite da promenite ID špedijera. Podešavanje ove opcije obezbeđuje ažuriranje ID-a špediera – ne samo u tabeli špediera, već i u svim drugim tabelama povezanim sa njima koje uključuju i taj ID špediera, kao što je tabela "Porudžbine".
Kaskadno brisanje povezanih zapisa
Odluka o izboru zavisi od toga da li je potrebno da zadržite zapise u nekim tabelama, čak i ako se mogu izbrisati iz drugih tabela.
Na primer, pretpostavimo da ste izbrisali špediera. Ako je ova opcija izabrana, Access briše sve zapise u svim tabelama koje upućuju na taj ID špediera, uključujući sve porudžbine (u tabeli "Porudžbine") koje je taj špediktor isporučio. Ovu opciju birate samo ako ste sigurni da želite da izbrišete istoriju porudžbina.
-
Da biste promenili relaciju između tabela iz unutrašnje u unutrašnje spajanje, kliknite na dugme Tip spoja. Dodatne informacije potražite u temi Pravljenje upita sa outer spajanja.
Brisanje relacije među tabelama
Napomena: Ako se tabele sa kojim želite da radite koriste, prvo morate da ih zatvorite, zajedno sa svim otvorenim objektima koji ih koriste.
Da biste uklonili relaciju između tabela:
-
Izaberite alatke baze podataka > relacije.
-
Izaberite liniju koja povezuje dve povezane tabele.
Savet: Ako ne vidite relaciju koju želite, na kartici Dizajn, u grupi Relacije izaberite stavku Sve relacije.
-
Izaberite taster Delete. Ako bude zatraženo da potvrdite da želite da izbrišete relaciju, izaberite da.
Napomena: Kada uklonite relaciju, uklanjate i podršku za referencialni integritet za tu relaciju, ukoliko je ima. Kao rezultat toga, Access više neće sprečavati promene koje dovesti do zapisa koji su siročići na strani "više" relacije "jedan-prema-više".