Vodič kroz odnose između tablica

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Jedna od ciljeva dobar dizajn baze podataka je ukloniti redundanciju podataka jer (duplicirane podatke). Da biste postigli tog cilja svoje podatke dijelite u mnogo tematskih tablica tako da je svaka činjenica prikazuje se samo jednom. Omogućuje pristup s srednje po kojoj se objediniti podijeljene informacije ponovno – to možete učiniti tako da postavite uobičajena polja u tablice koje su povezane. U ovom koraku pravilno, međutim, morate najprije razumjeti odnose između tablica i zatim navedite te odnose u bazi podataka.

Dodatne informacije potražite u članku Osnove dizajna baza podataka.

Ovaj članak obuhvaća odnosa u web-bazu podataka. Web-baze podataka ne podržavaju u prozoru odnosi. Stvaranje odnosa u web-baze podataka pomoću polja s vrijednostima. Dodatne informacije potražite u članku Stvaranje baze podataka radi zajedničkog korištenja na webu.

Sadržaj članka:

Uvod

Vrste odnosa između tablica

Zašto stvoriti odnose između tablica?

Objašnjenje referencijalnog integriteta

Prikaz odnosa između tablica

Stvaranje odnosa između tablica

Brisanje odnosa između tablica

Promjena odnosa između tablica

Nametanje referencijalnog integriteta

Uvod

Nakon stvaranja tablice za svaki predmet u bazi podataka, potrebno je omogućiti pristup s srednje po kojoj se objediniti te podatke natrag ponovno po potrebi. To potvrđivanjem uobičajena polja u tablice koje su povezane i definiranjem odnosa između tablica. Zatim možete stvoriti upite, obrasce i izvješća koja prikazuju podatke iz više tablica odjednom. Na primjer, ovdje prikazani obrazac uključuje informacije ispisane iz više tablica:

Redoslijedi za prikaz podataka iz pet tablica istodobno

1. Podaci u ovom obrascu dolaze iz tablice Kupci...

2. ... tablice Narudžbe...

3. ... tablice Proizvodi...

4. ... i tablice Detalji narudžbe.

Ime klijenta u okviru Račun poslati izvučeno je iz tablice Kupci, vrijednosti ID narudžbe i ID datuma narudžbe dolaze iz tablice Narudžbe, naziv proizvoda dolazi iz tablice Proizvodi, a vrijednosti cijena količina jedinica dolaze iz tablice Detalji narudžbe. Ove su tablice vezane jedna za drugu na razne načine kako bi se iz svake donijelo informacije u obrazac.

U prethodnom primjeru polja u tablicama moraju biti usklađena kako bi pokazivala informacije o istoj narudžbi. Usklađenost se postiže korištenjem odnosa između tablica. Odnos između tablica radi tako da uspoređuje podatke u poljima-ključevima  — najčešće polje istog naziva u obje tablice. U većini slučajeva, ova odgovarajuća polja su primarni ključ iz jedne tablice, što osigurava jedinstveni identifikator za svaki zapis i vanjski ključ u drugoj tablici. Na primjer, zaposlenici mogu biti povezani s narudžbama za koje su odgovorni na način da se stvori odnos između tablica korištenjem polja ZaposlenikID u tablicama Zaposlenici i Narudžbe.

IDZaposlenika koristi se kao primarni ključ u tablici Zaposlenici i vanjski ključ u tablici Narudžbe.

1. IDZaposlenika pojavljuje se u obje tablice – kao primarni ključ...

2. ... i kao vanjski ključ.

Vrh stranice

Vrste odnosa između tablica

Postoje tri vrste odnosa između tablica.

  • Odnos jedan-prema-više

    Razmislite o reda praćenja bazu podataka koja sadrži tablicu Kupci i narudžbe. Klijenta možete postaviti bilo koji broj narudžbi. Slijedi da svaki klijent predstavljen u tablici Kupci, može postojati više narudžbi u tablici Narudžbe. Odnos između tablica Kupci i tablicu Narudžbe je zbog toga odnos jedan-prema-više.

    Za predstavljanje odnosa jedan-prema-više u dizajna baze podataka, uzmite primarni ključ na strani "jedan" u odnosu i dodajte ga kao dodatno polje ili polja u tablici na strani "više" u odnosu. U ovom slučaju, na primjer, dodavanje novog polja – ID polje iz tablice Kupci – u tablicu Narudžbe i nazovite ga Klijent ID. Access možete koristiti broj ID kupca u tablici Narudžbe da biste pronašli točnog klijenta za svaku narudžbu.

  • Odnos više-prema-više

    Razmislite o odnos između tablice Proizvodi i narudžbe. Jedna narudžba može sadržavati više od jednog proizvoda. S druge strane, pojedinačni proizvod se mogu pojaviti na više narudžbi. Dakle, za svaki zapis u tablici Narudžbe može biti više zapisa u tablici Proizvodi. Nadalje, za svaki zapis u tablici Proizvodi može biti više zapisa u tablici Narudžbe. Ova vrsta odnosa zove odnos više-prema-više jer za svaki proizvod može imati više narudžbi i za svaku narudžbu može biti više proizvoda. Imajte na umu da da biste otkrili postojeće više-prema-više odnosa između tablica, to je važno razmotriti obje strane odnosa.

    Kako biste prikazali odnos više-prema-više u svom dizajnu baze podataka, morate stvoriti treću tablicu, često nazivanu tablica stjecišta, koja razlama odnos više-prema-više u dva odnosa jedan-prema više. Unesete primarni ključ iz svake od dviju tablica u treću tablicu. Kao rezultat toga, treća tablica zapisuje svaku pojavu, ili instancu, odnosa. Na primjer, tablica Narudžbe i tablica Proizvodi imaju odnos više-prema-više definiran stvaranjem dvaju odnosa jedan-prema-više u tablici Detalji narudžbe. Jedna narudžba može imati više proizvoda, a jedan proizvod se može pojaviti u više narudžbi.

  • Odnos jedan-prema-jedan

    U odnosom, svaki zapis u prvoj tablici može imati samo jedan odgovarajući zapis u drugoj tablici, a svaki zapis u drugoj tablici može imati samo jedan odgovarajući zapis u prvoj tablici. Ova vrsta odnosa nije uobičajena jer najčešće podataka koji se odnose na taj način pohranjen u istoj tablici. Odnos jedan-na možete koristiti da biste podijelili tablicu s mnogo polja, da biste izdvojili dio tablice iz sigurnosnih razloga ili da biste pohranili podatke koji se primjenjuje samo na podskup glavnu tablicu. Kada odredite takvog odnosa, obje tablice moraju dijeliti uobičajenih polja.

Vrh stranice

Zašto stvoriti odnose između tablica?

Stvorite odnose između tablica izričito pomoću prozora odnosi ili povlačenjem polja iz okna Popis polja . Access koristi odnose između tablica znati kako se uključiti tablice kada se morate ih koristiti u objekta baze podataka. Postoji nekoliko razloga zašto biste trebali stvoriti odnose između tablica prije stvaranja drugim objektima baze podataka, kao što su obrasci, upiti i izvješća.

  • Iz odnosa između tablica crpe se podaci za dizajne upita

    Da biste radili s zapise iz više od jedne tablice, često morate stvoriti upita koji spaja tablice. Upit radi tako da uspoređuje vrijednosti primarnog ključa prve tablice s vanjskim ključem u drugoj tablici. Na primjer, da biste vratili retke koji navodi sve narudžbe za svakog korisnika, sastavljanje upita koji spaja tablice Kupci s tablicom Narudžbe koji se temelji na polju ID klijenta. U prozoru odnosi ručno možete odrediti polja za spajanje. Međutim, ako već postoji odnos između tablica, Access pruža zadano spajanje, na temelju postojećih odnosa između tablica. Osim toga, ako koristite neku od čarobnjaka za upite, Access koristi informacije je prikuplja iz odnosa između tablica koje ste već definirali kako bi vam informirali mogućnosti i prethodno unijeti postavke svojstava s odgovarajućim zadanim vrijednostima.

  • Iz odnosa između tablica crpe se podaci za dizajne upita

    Pri dizajniranju obrasca ili izvješća, Access koristi informacije je prikuplja iz odnosa između tablica koje ste već definirali kako bi vam informirali mogućnosti i prethodno unijeti postavke svojstava s odgovarajućim zadanim vrijednostima.

  • Odnosi između tablica temelj su kojim možete nametnuti referencijalni integritet kako biste pomogli spriječiti "napuštene" zapise u svojoj bazi podataka. "Napušteni" zapis je zapis s referencom na neki drugi zapis koji ne postoji — na primjer, zapis o narudžbi koji ima referencu na zapis o klijentu koji ne postoji.

    Prilikom dizajniranja baze podataka, dijeljenje informacije u tablice, od kojih svaka ima primarni ključ. Zatim dodajte vanjski ključevi povezanih tablica koje se odnose na te primarni ključ. Te vanjski ključ-primarni ključ tvore osnovu za odnose između tablica i upite na više tablica. Važno je, stoga da ostanu te vanjski reference ključa ključ primarni sinkronizirane. Referencijalni integritet jamči da reference ostaju sinkronizirane i ovisi o odnosima između tablica.

Vrh stranice

Objašnjenje referencijalnog integriteta

Prilikom dizajniranja baze podataka, dijelite informacije u mnogo tematskih tablica da biste minimizirali redundanciju podataka jer. Zatim omogućuje pristup s srednje u kojima možete prenijeti podatke ponovno potvrđivanjem uobičajena polja u povezanim tablicama. Na primjer, za predstavljanje odnosa jedan-prema-više uzmete primarni ključ iz tablice "jedan" i dodajte je kao dodatna polja u tablici "više". Da biste objediniti podatke natrag, Access uzima vrijednost iz tablice "više" i traži odgovarajuću vrijednost u tablici "jedan". Na taj način vrijednosti iz tablice "više" upućuju na odgovarajuće vrijednosti u tablici "jedan".

Pretpostavimo da imate odnos jedan-prema-više između tablice Dostavljači i tablice Narudžbe i želite izbrisati jednog dostavljača. Ako dostavljač kojeg želite izbrisati ima narudžbe u tablici Narudžbe, te će narudžbe ostati "napuštene" kad izbrišete zapis o dostavljaču. Tablica Narudžbe još uvijek će sadržavati ID dostavljača, ali ID više neće vrijediti jer zapis na koji se upućuje više ne postoji.

Svrha je referencijalnog integriteta sprječavanje nastanka "napuštenih" zapisa i očuvanje sinkroniziranosti referenci tako da se takva hipotetska situacija nikad ne dogodi.

Nametanje referencijalnog integriteta omogućivanjem odnosa između tablica (pogledajte Nametanje referencijalnog integriteta detaljne upute). Nakon nametanja, Access odbacuje sve operacije koje bi kršiti referencijalni integritet za taj odnos između tablica. To znači da će Access odbiti i ažuriranja koja mijenjaju cilj reference i brisanja koja uklanjaju cilj reference. Međutim, moguće je možda imate savršeno valjanu potrebno da biste promijenili primarnog ključa isporučitelj koji ima narudžbe u tablici Narudžbe. Tim se slučajevima je što vam nisu potrebni za pristup da biste automatski ažurirali sve zahvaćene retke kao dio jedne operacije. Na taj način Access osigurava da ažuriranje završeno u potpunosti tako da se bazu podataka ne ostaje u stanju koje nisu usklađene s nekim recima ažuriranim i neke ne. Zbog toga Access ne podržava mogućnost Kaskadno ažuriranje srodnih polja. Ako nametnete referencijalni integritet i odaberite mogućnost Kaskadno ažuriranje srodnih polja, a zatim ažuriranje primarnog ključa, Access automatski ažurira sva polja koje upućuju na primarni ključ.

Moguće je i možda imate valjan potrebno da biste izbrisali redak i sve povezane zapise – na primjer, zapis Isporučitelj i sve povezane narudžbe za taj isporučitelj. Zbog toga Access ne podržava mogućnost Kaskadno brisanje srodnih zapisa. Kad nametnete referencijalni integritet i odaberite mogućnost Kaskadno brisanje srodnih zapisa, a zatim izbrišete zapis na strani primarnog ključa u odnosu, Access automatski briše sve zapise koji upućuju na primarni ključ.

Vrh stranice

Prikaz odnosa između tablica

Da biste prikazali odnose tablice, na kartici Alati baze podataka kliknite odnosi . Prozor Odnosi otvara i prikazuje sve postojeće odnose. Ako još nije definiran nijedan odnos između tablica, a otvarate prozor Odnosi prvi put, Access od vas traži da biste dodali tablice ili upita u prozor.

Otvaranje prozora Odnosi

  1. Na kartici Datoteka kliknite Otvori.

  2. U dijaloškom okviru Otvaranje odaberite i otvorite bazu podataka.

  3. Na kartici Alati baze podataka u grupi Odnosi kliknite Odnosi.

  4. Ako baza podataka sadrži odnose, pojavljuje se u prozoru odnosi. Ako baza podataka sadrži odnose, a otvarate prozor Odnosi prvi put, pojavljuje se dijaloški okvir Prikaz tablice . Kliknite Zatvori da biste zatvorili dijaloški okvir.

  5. Na kartici Dizajn u grupi Odnosi kliknite Svi odnosi.

    Prikazat će se sve definirane odnose u bazi podataka. Imajte na umu da skrivene tablice (tablice za koje skrivene potvrdni okvir u dijaloškom okviru Svojstva tablice) i njihovih odnosa neće se prikazivati osim ako je potvrđen okvir Prikaži skrivene objekte u dijaloškom okviru Mogućnosti navigacije .

Odnos između tablica predstavlja se crtom odnosa nacrtanom između tablica u prozoru Odnosi. Odnos koji ne nameće referencijalni integritet pojavljuje se kao tanka crta između zajedničkih polja koja podržavaju odnos. Kada odaberete odnos klikom na njegovu crtu, crta se podeblja da bi se pokazalo da je odabrana. Ako nametnete referencijalni integritet za taj odnos, crta izgleda deblje na svakom kraju. Uz to se pojavljuje broj 1 iznad debljeg dijela crte na jednoj strani odnosa i simbol beskonačnosti () iznad podebljanog dijela crte na drugoj strani odnosa.

Kada je prozor Odnosi aktivan, na vrpci su vam na raspolaganju sljedeće naredbe:

Na kartici Dizajn u grupi Alati:

  • Uredi odnose    Otvara dijaloški okvir Uređivanje odnosa. Kada odaberete crtu odnosa, možete kliknuti Uredi odnose da biste promijenili odnose između tablica. Umjesto toga, možete dvokliknuti crtu odnosa.

  • Očisti raspored    Uklanja sve tablice i odnose iz prikaza u prozoru Odnosi. Imajte na umu da ta naredba samo skriva tablice i odnose, tj.  ne briše ih.

  • Izvješće o odnosima    Stvara izvješće koje prikazuje tablice i odnose u bazi podataka. Izvješće prikazuje samo tablice i odnose koji nisu skriveni u prozoru Odnosi.

Na kartici Dizajn u grupi Odnosi:

  • Prikaz tablice    Otvara dijaloški okvir Prikaz tablice tako da možete odabrati tablice i upite koje želite prikazati u prozoru Odnosi.

  • Sakrij tablicu    Skriva odabranu tablicu u prozoru Odnosi.

  • Izravni odnosi    Prikazuje sve odnose i povezane tablice za odabranu tablicu u prozoru Odnosi, ako već nisu prikazani.

  • Svi odnosi    Prikazuje sve odnose i povezane tablice u bazi podataka u prozoru Odnosi. Imajte na umu da se skrivene tablice (tablice za koje je u dijaloškom okviru Svojstva za tu tablicu potvrđen okvir Skriveno) i njihovi odnosi neće prikazati osim ako se u dijaloškom okviru Mogućnosti navigacije ne odabere mogućnost Prikaži skrivene objekte.

  • Zatvori    Zatvara prozor Odnosi. Ako ste napravili bilo kakve promjene u rasporedu prozora odnosa, upitat će vas se želite li spremiti te promjene.

Vrh stranice

Stvaranje odnosa između tablica

Odnose između tablica možete stvarati pomoću prozora Odnosi ili povlačenjem polja u podatkovnu tablicu iz okna Popis polja. Kada stvarate odnose između dvije tablice, zajednička polja ne moraju imati jednake nazive polja, iako je to često slučaj, već moraju biti iste vrste podataka. No ako je primarni ključ polje sa samonumeriranjem, vanjski ključ može biti numeričko polje ako je svojstvo FieldSize jednako za oba polja. Na primjer, možete uparivati polja sa samonumeriranjem i numerička polja ako je svojstvo FieldSize oba polja dugi cijeli broj. Kada su oba zajednička polja numerička polja, moraju imati istu postavku svojstva FieldSize.

Stvaranje odnosa između tablica pomoću prozora Odnosi

  1. Na kartici Datoteka kliknite Otvori.

  2. U dijaloškom okviru Otvaranje odaberite i otvorite bazu podataka.

  3. Na kartici Alati baze podataka u grupi Odnosi kliknite Odnosi.

  4. Ako još niste definirali odnose, automatski će se pojaviti dijaloški okvir Prikaz tablice. Ako se ne pojavi, na kartici Dizajn u grupi Odnosi kliknite Prikaz tablice.

Dijaloški okvir Prikaz tablice prikazuje sve tablice i upite u bazi podataka. Da bi se prikazivale samo tablice, kliknite Tablice. Da bi se prikazivali samo upite, kliknite Upiti. Da bi se prikazivale i tablice i upiti, kliknite Oboje.

  1. Odaberite jednu ili više tablica, a zatim kliknite Dodaj. Kada završite s dodavanjem tablica i upita u prozor Odnosi, kliknite Zatvori.

  2. Povucite polje (u pravilu primarni ključ) iz jedne tablice u zajedničko polje (vanjski ključ) druge tablice. Da biste povukli više polja, pritisnite tipku CTRL, kliknite svako polje, a zatim ih povucite.

Pojavit će se dijaloški okvir Uređivanje odnosa.

  1. Potvrdite da su prikazani nazivi polja zajednička polja za odnos. Ako je naziv polja netočan, kliknite naziv polja i odaberite novo polje s popisa.

Da biste nametnuli referencijalni integritet za taj odnos, potvrdite okvir Nametni referencijalni integritet. Dodatne informacije o referencijalnom integritetu potražite u člancima Objašnjenje referencijalnog integriteta i Nametanje referencijalnog integriteta.

  1. Kliknite Stvori.

    Između dviju tablica crta se crta odnosa. Ako potvrdite okvir Nametni referencijalni integritet, crta se podeblja na svakom kraju. Osim toga, i to samo ako ste potvrdili okvir Nametni referencijalni integritet, pojavljuje se broj 1 iznad debljeg dijela crte na jednoj strani odnosa i simbol za beskonačnost () iznad debljeg dijela crte na drugoj strani.

    Napomene : 

    • Stvaranje odnosa jedan-na    Oba zajednička polja (obično primarni ključ i vanjskog ključa) moraju imati jedinstveni indeks. To znači da svojstvo Indeksirano za ta polja mora biti postavljeno na da (bez duplikata). Ako oba polja imaju jedinstveni indeks, Access stvara odnosom.

    • Stvaranje odnosa jedan-prema-više    Polje na strani "jedan" (obično primarni ključ) odnosa mora imati jedinstveni indeks. To znači da svojstvo Indeksirano za ovo polje mora biti postavljeno na da (bez duplikata). Polje na strani "više" treba neće imati jedinstveni indeks. Možete imati indeks, ali ga morate omogućiti duplikate. To znači da svojstvo Indeksirano za ovo polje mora biti postavljeno bezili da (Duplikati mogući). Kada jedno polje sadrži jedinstveni indeks, a drugo ne, Access stvara odnos jedan-prema-više.

Stvaranje odnosa između tablica putem okna Popis polja

Polje možete dodati u postojeću tablicu koja je otvorena u prikazu podatkovne tablice povlačenjem iz okna Popis polja . U oknu Popis polja prikazuje polja dostupna u povezanim tablicama i polja dostupna u drugim tablicama. Kada povučete polje iz "ostalo" (nepovezane) tablice, a zatim dovršite Čarobnjak za traženje, novi odnos jedan-prema-više automatski se stvara između tablice u oknu Popis polja i tablice u koju ste povukli polje. U ovom odnosu, stvorenu u programu Access, nametanje referencijalnog integriteta prema zadanim postavkama. Da biste nametnuli referencijalni integritet, potrebno je urediti odnos. Potražite dodatne informacije u odjeljku Promjena odnosa između tablica .

Otvaranje tablice u prikazu podatkovne tablice

  1. Na kartici Datoteka kliknite Otvori.

  2. U dijaloškom okviru Otvaranje odaberite i otvorite bazu podataka.

  3. U navigacijskom oknu desnom tipkom miša kliknite tablicu u koju želite dodati polje i stvoriti odnos, a zatim kliknite Otvori.

Otvaranje okna Popis polja

  • Pritisnite ALT+F8.

    Pojavit će se okno Popis polja.

Okno prikazuje sve druge tablice u bazi podataka, na Popisu polja grupirane po kategorijama. Kad radite s tablicom u prikazu podatkovne tablice, Access polja prikazuje u nekoj od dviju kategorija u oknu Popis polja : polja dostupna u povezanim tablicama i polja dostupna u drugim tablicama. U prvoj kategoriji nalaze se sve tablice koje imaju odnos s tablicom u kojoj trenutno radite. U drugoj kategoriji nalaze se sve tablice s kojima tablica ima odnos.

Nakon klika na znak plus (+) pokraj naziva tablice u oknu Popis polja prikazuje se popis polja dostupnih u toj tablici. Da biste dodali polje u tablicu, povucite željeno polje iz okna Popis polja u tablicu u prikazu podatkovne tablice.

Dodavanje polja i stvaranje odnosa iz okna Popis polja

  1. U oknu Popis polja u odjeljku Polja dostupna u drugim tablicama kliknite znak plus (+) pokraj naziva tablice da biste prikazali popis polja u toj tablici.

  2. Povucite željeno polje iz okna Popis polja u tablicu otvorenu u prikazu podatkovne tablice.

  3. Kada se pojavi redak za umetanje, ispustite polje.

    Pokreće se Čarobnjak za traženje vrijednosti.

  4. Slijedite upute za dovršavanje čarobnjaka za traženje vrijednosti.

    Polje se pojavljuje u tablici u prikazu podatkovne tablice.

Kada povučete polje iz "ostalo" (nepovezane) tablice, a zatim dovršite Čarobnjak za traženje, novi odnos jedan-prema-više automatski se stvara između tablice na Popisu polja i tablice u koju ste povukli polje. U ovom odnosu, stvorenu u programu Access, nametanje referencijalnog integriteta prema zadanim postavkama. Da biste nametnuli referencijalni integritet, potrebno je urediti odnos. Potražite dodatne informacije u odjeljku Promjena odnosa između tablica .

Vrh stranice

Brisanje odnosa između tablica

Da biste uklonili odnosa između tablica, morate izbrisati crtu odnosa u prozoru odnosi. Pažljivo postavite pokazivač tako da pokazuje na crtu odnosa, a zatim kliknite crtu. Crta odnosa prikazuje podebljana kada je odabran. Uz odabranu crtu odnosa, pritisnite tipku DELETE. Imajte na umu da prilikom uklanjanja odnosa i uklonite podršku referencijalni integritet za taj odnos, ako je omogućen. Pristup zbog toga više neće automatski sprečavanje stvaranja "napuštenih" zapisa na strani odnosa "više".

  1. Na kartici Alati baze podataka u grupi Odnosi kliknite Odnosi.

Pojavit će se u prozoru odnosi. Ako još niste definirali odnose, a to je prvi put koju otvarate u prozoru odnosi, pojavit će se dijaloški okvir Prikaz tablice . Ako se pojavi dijaloški okvir, kliknite Zatvori.

  • Na kartici Dizajn u grupi Odnosi kliknite Svi odnosi.

Prikazuju se sve tablice s odnosima i njihove crte odnosa.

  1. Kliknite crtu odnosa za odnos koji želite izbrisati. Crta odnosa nakon odabira se prikazuje podebljana.

  2. Pritisnite tipku DELETE.

    – ili –

Kliknite desnom tipkom miša, a zatim kliknite Izbriši.

  1. Access može prikazati poruku Jeste li sigurni da iz svoje baze podataka želite trajno izbrisati odabrane odnose?. Ako se pojavi ta poruka potvrde, kliknite Da.

Napomena : Ako druga osoba ili proces, ili otvoreni objekt baze podataka (kao što je obrazac), upotrebljava bilo koju od tablica uključenih u odnos između tablica, nećete moći izbrisati odnos. Morate zatvoriti sve otvorene objekte koji koriste ove tablice, prije nego što možete ukloniti odnos.

Vrh stranice

Promjena odnosa između tablica

Odnos između tablica možete promijeniti tako da ga odaberete u prozoru Odnosi i uredite. Pažljivo postavite pokazivač tako da pokazuje na crtu odnosa, a zatim kliknite crtu da biste je odabrali. Crta odnosa nakon odabira se prikazuje podebljana. Dvokliknite odabranu crtu odnosa ili kliknite Uređivanje odnosa u grupi Alati na kartici Dizajn. Pojavit će se dijaloški okvir Uređivanje odnosa.

Napravite željene promjene u dijaloškom okviru Uređivanje odnosa.

  1. Na kartici Alati baze podataka u grupi Odnosi kliknite Odnosi.

Pojavit će se u prozoru odnosi. Ako još niste definirali odnose, a to je prvi put koju otvarate u prozoru odnosi, pojavit će se dijaloški okvir Prikaz tablice . Ako se pojavi dijaloški okvir, kliknite Zatvori.

  • Na kartici Dizajn u grupi Odnosi kliknite Svi odnosi.

  • Prikazuju se sve tablice s odnosima i njihove crte odnosa.

  • Kliknite crtu odnosa za odnos koji želite promijeniti. Crta odnosa nakon odabira se prikazuje podebljana.

  • Dvokliknite crtu odnosa.

  • Izvršite promjene, a zatim kliknite U redu.

    Dijaloški okvir Uređivanje odnosa omogućuje promjenu odnosa između tablica. Možete promijeniti tablice ili upite s obje strane odnosa ili pak polja s obje strane. Osim toga, možete postaviti vrstu spoja ili nametnuti referencijalni integritet i odabrati mogućnost kaskadiranja. Dodatne informacije o vrsti spoja i njezinu postavljanju potražite u odjeljku Postavljanje vrste spoja. Dodatne informacije o nametanju referencijalnog integriteta i odabiru mogućnost kaskadiranja potražite u odjeljku Nametanje referencijalnog integriteta.

Postavljanje vrste spoja

Kada definirate odnos između tablica, činjenice o odnosu obavijestiti podaci za dizajne upita. Na primjer, ako definirate odnos između dvije tablice, a zatim stvorite upit koji uključuje te tablice, Access automatski odabire zadana odgovarajuća polja na temelju polja navedena u odnosu. Možete nadjačati ove početne zadane vrijednosti u upitu, ali vrijednosti ponuđene odnos će često dokazuje biti ispravne. Budući da uparivanje i sakupljanje podataka iz više od jedne tablice nešto neće imati često u svim osim najčešće jednostavne bazama podataka, postavljanje zadanih postavki stvaranjem odnosa može biti vrijeme korisno i uštedjeti.

Upit za višestruke tablice kombinira informacije iz više tablica uparivanjem vrijednosti u zajedničkim poljima. Operacija koja izvršava uparivanje i kombiniranje zove se spoj. Na primjer, pretpostavimo da želite prikazati narudžbe klijenata. Stvorite upit koji spaja tablicu Kupci i tablicu Narudžbe na polju ID klijenta. Rezultati upita sadrže informacije o klijentu i informacije o narudžbi za samo one retke u kojima je pronađena odgovarajuća podudarnost.

Jedna od vrijednosti koju možete odrediti za svaki odnos je vrsta spoja. Vrsta spoja Access zna koji zapisi će se uvrstiti u rezultatu upita. Na primjer, razmotrite ponovno od upita koji spaja tablice Kupci i tablicu Narudžbe zajedničkih polja koja predstavljaju ID klijenta. Koristite zadanu vrstu spoja (naziva se unutarnji spoj), upit vraća samo retke klijenta i redoslijed redaka gdje su jednaka uobičajena polja (naziva se i spojena polja).

Međutim, pretpostavimo da želite uključiti sve kupce — čak i one koji još nisu napravili nijednu narudžbu. Kako biste to postigli, morate promijeniti vrstu spajanja u lijevi vanjski spoj. Lijevi vanjski spoj vraća sve retke iz tablice na lijevoj strani odnosa i samo one retke koji su parovi u tablici na desnoj strani. Desni vanjski spoj vraća sve retke na desnoj i samo one koji su parovi na lijevoj strani.

Napomena : U ovom slučaju, "lijevo" i "desno" odnosi se na položaj tablica u dijaloškom okviru Uređivanje odnosa, ne u prozoru Odnosi.

Trebali biste razmisliti o rezultatu koji najčešće želite od upita koji spaja tablice u ovom odnosu, a zatim sukladno tome postaviti vrstu spoja.

Postavljanje vrste spoja

  1. U dijaloškom okviru Uređivanje odnosa kliknite Vrsta spoja.

    Prikazuje se dijaloški okvir Svojstva spoja.

  2. Kliknite željene mogućnosti, a zatim U redu.

U sljedećoj su tablici (pomoću tablice Kupci i narudžbe) prikazuje tri mogućnosti koje su prikazane u okviru dijaloški okvir Svojstva spoja vrstu spoja koji koriste i hoće li svi reci ili Reci koji se podudaraju uključene su za svaku tablicu.

Odabir

Relacijski spoj

Lijeva tablica

Desna tablica

1. Obuhvaća samo retke u kojima su spojena polja iz obiju tablica jednaka.

Unutarnji spoj

Reci koji se podudaraju

Reci koji se podudaraju

2. Obuhvaća SVE zapise iz tablice "Kupci" i samo one zapise iz tablice "Narudžbe" u kojima su spojena polja jednaka.

Lijevi vanjski spoj

Svi reci

Reci koji se podudaraju

3. Obuhvaća SVE zapise iz tablice "Narudžbe" i samo one zapise iz tablice "Kupci" u kojima su spojena polja jednaka.

Desni vanjski spoj

Reci koji se podudaraju

Svi reci

Kad odaberete mogućnost 2 ili mogućnost 3, na crti odnosa prikazuje se strelica. Ta strelica pokazuje na stranu odnosa koja prikazuje samo retke koji se podudaraju.

Izvođenje promjena u dijaloškom okviru Svojstva spoja

  1. Na kartici Alati baze podataka u grupi Odnosi kliknite Odnosi.

Pojavit će se u prozoru odnosi. Ako još niste definirali odnose, a to je prvi put koju otvarate u prozoru odnosi, pojavit će se dijaloški okvir Prikaz tablice . Ako se pojavi dijaloški okvir, kliknite Zatvori.

  • Na kartici Dizajn u grupi Odnosi kliknite Svi odnosi.

    Prikazuju se sve tablice s odnosima i njihove crte odnosa.

  • Kliknite crtu odnosa za odnos koji želite promijeniti. Crta odnosa nakon odabira se prikazuje podebljana.

  • Dvokliknite crtu odnosa.

Pojavit će se dijaloški okvir Uređivanje odnosa.

  1. Kliknite Vrsta spoja

  2. U dijaloškom okviru Svojstva spoja kliknite mogućnost, a zatim U redu.

  3. Dodatno promijenite odnos, a zatim kliknite U redu.

Vrh stranice

Nametanje referencijalnog integriteta

Svrha korištenja referencijalnog integriteta je sprečavanje "napuštenih" zapisa i održavanje referenci sinkronizirati tako da nemate zapise koji upućuju na druge zapise koji više ne postoji. Nametanje referencijalnog integriteta omogućivanjem odnosa između tablica. Nakon nametanja, Access odbacuje sve operacije koje bi kršiti referencijalni integritet za taj odnos između tablica. Pristup odbacuje ažuriranja koja mijenjaju cilj reference i brisanja koja uklanjaju cilj reference. Da biste imali pristup prijenosa ažuriranja i brisanja tako da se sve povezane retke shodno tome mijenjaju, u odjeljku Postavljanje kaskadnih mogućnosti.

Uključivanje i isključivanje referencijalnog integriteta

  1. U prozoru Odnosi kliknite crtu odnosa za odnos koji želite promijeniti. Crta odnosa nakon odabira prikazuje se podebljanom.

  2. Dvokliknite crtu odnosa.

Pojavit će se dijaloški okvir Uređivanje odnosa.

  1. Potvrdite okvir Nametni referencijalni integritet.

  2. Dodatno promijenite odnos, a zatim kliknite U redu.

Nakon nametanja referencijalnog integriteta primjenjuju se sljedeća pravila:

  • Ne možete unijeti vrijednost u polje vanjskog ključa povezane tablice ako ta vrijednost ne postoji u polju primarnog ključa primarne tablice — u suprotnom se stvaraju zapisi koji nikamo ne pripadaju.

  • Ne možete izbrisati zapis iz primarne tablice ako u povezanoj tablici postoji zapis koji se podudara. Na primjer, ne možete izbrisati zapis o zaposleniku iz tablice Zaposlenici ako su tom zaposleniku dodijeljene narudžbe u tablici Narudžbe. Međutim, možete izbrisati primarni zapis i sve povezane zapise u jednoj operaciji ako odaberite potvrdni okvir Kaskadno izbriši srodna polja.

  • Vrijednost primarnog ključa u primarnoj tablici ne možete promijeniti ako tako da na taj način stvoriti "napuštenih" zapisa. Ako, na primjer, ne možete promijeniti broj narudžbe u tablici Narudžbe ako postoje stavke dodijeljene toj narudžbi u tablici Detalji narudžbe. No možete ažurirati primarni zapis i sve povezane zapise u jednoj operaciji tako da potvrdite okvir Kaskadno ažuriranje srodnih polja .

    Napomene : Ako imate poteškoća s omogućivanjem referencijalnog integriteta, imajte na umu da bi se nametanje referencijalnog integriteta je su potrebni sljedeći uvjeti:

    • Zajedničko polje u primarnoj tablici mora biti primarni ključ ili mora imati jedinstveni indeks.

    • Zajednička polja moraju sadržavati istu vrstu podataka. Iznimka je da polje Samonumeriranje može biti povezano s poljem Broj kojemu je svojstvo FieldSize postavljeno na Dugi cijeli broj.

    • Obje tablice moraju biti u istoj bazi podataka programa Access. Referencijalni integritet nije moguće provesti na povezanih tablica. Međutim, ako su izvorne tablice u obliku programa Access, možete otvoriti bazu podataka u kojem su spremljene i omogućiti referencijalni integritet u toj bazi podataka.

Postavljanje kaskadnih mogućnosti

Mogli biste naići situacija u kojima imate valjan treba promijenite vrijednost na strani "jedan" u odnosu. U tom slučaju morate Access automatski ažurira sve zahvaćene redaka kao dio jedne operacije. Na taj način ažuriranje se potpuno dovršava tako da se bazu podataka ne ostao u stanju koje nisu usklađene – s nekim recima ažuriranim i neke ne. Pristup pomoći će vam nametnete mogućnost Kaskadno ažuriranje srodnih polja za podršku. Ako nametnete referencijalni integritet i odaberite mogućnost Kaskadno ažuriranje srodnih polja, a zatim ažuriranje primarnog ključa, Access automatski ažurira sva polja koje upućuju na primarni ključ.

Također trebate izbrisati redak i sve povezane zapise – na primjer, isporučitelj zapis i sve povezane narudžbe za taj isporučitelj. Zbog toga Access ne podržava mogućnost Kaskadno brisanje srodnih zapisa. Ako nametnete referencijalni integritet i odaberite mogućnost Kaskadno brisanje srodnih zapisa, Access automatski briše sve zapise koji upućuju na primarni ključ kada izbrišete zapis koji sadrži primarni ključ.

Uključivanje i isključivanje kaskadnog ažuriranja i/ili kaskadnog brisanja

  1. U prozoru Odnosi kliknite crtu odnosa za odnos koji želite promijeniti. Crta odnosa nakon odabira prikazuje se podebljanom.

  2. Dvokliknite crtu odnosa.

Pojavit će se dijaloški okvir Uređivanje odnosa.

  1. Potvrdite okvir Nametni referencijalni integritet.

  2. Potvrdite okvir Kaskadno ažuriranje srodnih polja ili okvir Kaskadno brisanje srodnih zapisa ili pak potvrdite oba.

  3. Dodatno promijenite odnos, a zatim kliknite U redu.

Napomena : Ako je primarni ključ polje sa samonumeriranjem, uključivanje potvrdnog okvira Kaskadno ažuriranje srodnih polja neće imati svrhe jer se vrijednost polja sa samonumeriranjem ne može mijenjati.

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×