Vodič za odnose tabela

Jedan od ciljeva dobrog dizajna baze podataka je uklanjanje redundantnosti podataka (dupliranih podataka). Za postizanje tog cilja, potrebno je da podatke podelite u više tabela zavisno od teme, kako bi svaka činjenica bila predstavljena samo jednom. Nakon toga ćete programu Microsoft Office Access 2007 obezbediti sredstva pomoću kojih će podeljene informacije ponovo povezati – ovo ćete postići postavljanjem zajedničkih polja u tabele koje su povezane. Međutim, da biste pravilno izvršili ovaj korak, prvo morate razumeti relacije između tabela, a zatim precizirati relacije u Office Access 2007 bazi podataka.

Ovaj članak sadrži:

Uvod

Tipovi relacija između tabela

Zašto praviti relacije između tabela?

Razumevanje referencijalnog integriteta

Prikazivanje relacija između tabela

Pravljenje relacije između tabela

Brisanje relacije između tabela

Promena relacije između tabela

Primenjivanje referencijalnog integriteta

Uvod

Pošto ste kreirali tabelu za svaku temu u bazi podataka, programu Office Access 2007 morate da obezbedite sredstva pomoću kojih će ponovo povezati te informacije kada bude bilo potrebno. Ovo možete postići postavljanjem zajedničkih polja u tabele koje su povezane i definisanjem relacija između tabela. Nakon toga možete kreirati upite, obrasce i izveštaje koji informacije iz više tabela prikazuju na jednom mestu. Na primer, prikazani obrazac sadrži informacije izvučene iz više tabela:

Obrazac „Porudžbine“ istovremeno prikazuje povezane informacije iz pet tabela

1. Informacije u ovom obrascu potiču iz tabele „Kupci“…

2. …tabele „Porudžbine“…

3. …tabele „Proizvodi“…

4. …tabele „Detalji porudžbine“.

Ime kupca u polju Ispostavi račun preuzeto je iz tabele „Kupci“, vrednosti za ID porudžbine i datum porudžbine su preuzeti iz tabele „Porudžbine“, ime proizvoda potiče iz tabele „Proizvodi“, a vrednosti za cenu po jedinici i količinu su iz tabele „Detalji porudžbine“. Ove tabele su međusobno povezane na više načina kako bi se informacije iz svake od njih našle u obrascu.

U prethodnom primeru, polja u tabelama su morala biti uređena tako da prikazuju informacije o istoj porudžbini. Takva koordinacija je postignuta korišćenjem relacija između tabela. Relacija između tabela funkcioniše tako što pronalazi podudarnosti podataka u poljima ključa – često su to polja sa istim imenom u obe tabele. U većini slučajeva, polja koja se podudaraju su primarni ključ iz jedne tabele, koji omogućava jedinstvenu identifikaciju svakog zapisa, i sporedni ključ u drugoj tabeli. Na primer, zaposleni mogu biti pridruženi porudžbinama za koje su odgovorni kreiranjem relacije između polja „ID zaposlenog“ u tabelama „Zaposleni“ i „Porudžbine“.

Polje „ID zaposlenog“ korišćeno kao primarni ključ u tabeli „Zaposleni“ i kao sporedni ključ u tabeli „Porudžbine“.

1. Polje „ID zaposlenog“ se pojavljuje u obe tabele - kao primarni ključ…

2. …i kao sporedni ključ.

Vrh stranice

Tipovi relacija između tabela

Postoje tri tipa relacija između tabela.

  • Relacija „jedan-prema-više“

    Posmatrajmo bazu podataka za praćenje porudžbina koja sadrži tabele „Kupci“ i „Porudžbine“. Kupac može da dostavi neograničen broj porudžbina. Iz toga sledi da za svakog kupca iz tabele „Kupci“ može da postoji više porudžbina u tabeli „Porudžbine“. Prema tome, relacija između tabela „Kupci“ i „Porudžbine“ predstavlja relaciju „jedan-prema-više“.

    Uzmite primarni ključ na strani relacije „jedan“ i dodajte ga kao dodatno polje ili polja u tabelu na strani relacije "više" kako biste u bazi podataka predstavili relaciju „jedan-prema-više“. U ovom slučaju, na primer, dodajete novo polje – polje „ID“ iz tabele „Kupci“ – u tabelu „Porudžbine“ i dajete mu ime „ID kupca“. Access može koristiti broj „ID kupca“ iz tabele „Porudžbine“ da bi pronašao odgovarajućeg kupca za svaku porudžbinu.

  • Relacija „više-prema-više“

    Posmatrajmo relaciju između tabela „Proizvodi“ i „Porudžbine“. Jedna porudžbina može sadržati više proizvoda. S druge strane, jedan proizvod može da se pojavi u više porudžbina. Prema tome, za svaki zapis u tabeli „Porudžbine“ može da postoji više zapisa u tabeli „Proizvodi“. Osim toga, za svaki zapis u tabeli „Proizvodi“ može da postoji više zapisa u tabeli „Porudžbine“. Ovaj tip relacije se naziva relacija „više-prema-više“, jer za svaki proizvod može da postoji više porudžbina i za svaku porudžbinu može postojati više proizvoda. Obratite pažnju na to da je važno da imate u vidu obe strane relacije kako biste otkrili postojeće relacije „više-prema-više“ između tabela.

    Moraćete da kreirate treću tabelu, koja se često naziva vezna tabela, kako biste predstavili relaciju „više-prema-više“. Ona deli relaciju „više-prema-više“ na dve relacije „jedan-prema-više“. Primarni ključ iz obe tabela umećete u treću tabelu. Kao rezultat, treća tabela zapisuje svako pojavljivanje ili instancu relacije. Na primer, tabele „Porudžbine“ i „Proizvodi“ imaju relaciju „više-prema-više“ koja je definisana kreiranjem dve relacije „jedan-prema-više“ sa tabelom „Detalji porudžbine“. Jedna porudžbina može imati više proizvoda i svaki proizvod se može pojaviti na više porudžbina.

  • Relacija „jedan-prema-jedan“

    U relaciji „jedan-prema-jedan“ svaki zapis u prvoj tabeli može imati samo jedan podudarni zapis u drugoj tabeli i svaki zapis iz druge tabele može imati samo jedan podudarni zapis iz prve tabele. Ovaj tip relacije nije uobičajen, jer su informacije povezane na ovaj način najčešće uskladištene u istoj tabeli. Relaciju „jedan-prema-jedan“ možete koristiti da biste podelili tabelu sa više polja, da biste izolovali deo tabele iz bezbednosnih razloga ili da biste uskladištili informacije koje se primenjuju samo na podskup glavne tabele. Kada identifikujete takvu relaciju, obe tabele moraju da dele zajedničko polje.

Vrh stranice

Zašto kreirati relacije između tabela?

Relacije između tabela možete da pravite direktno pomoću prozora „Relacije“ ili prevlačenjem polja iz okna Lista polja. Office Access 2007 koristi relacije između tabela kako bi spojio tabele kada je potrebno da ih koristite u nekom objektu baze podataka. Postoji više razloga zbog kojih treba da napravite relacije između tabela pre nego što napravite druge objekte baze podataka, kao što su obrasci, upiti makroi i izveštaji.

  • Relacije između tabela utiču na dizajn upita.

    Morate da kreirate upit koji spaja tabele da biste radili sa zapisima iz više tabela. Upit funkcioniše tako što povezuje vrednosti polja primarnog ključa prve tabele sa poljem sporednog ključa u drugoj tabeli. Na primer, da biste dobili redove koji prikazuju sve porudžbine za svakog kupca, kreiraćete upit koji, na osnovu polja „ID kupca“, spaja tabelu „Kupci“ sa tabelom „Porudžbine“. U prozoru „Relacije“ možete ručno da odredite polja koja će biti spojena. Međutim, ako je već definisana relacija između tabela, Office Access 2007 obezbeđuje podrazumevano spajanje na osnovu postojeće relacije između tabela. Osim toga, ako koristite čarobnjak za upite, Access upotrebljava informacije koje prikuplja iz relacija između tabela koje ste već definisali kako bi vam predstavio dovoljnu količinu informacija na osnovu kojih možete birati, kao i da bi unapred popunio postavke svojstava odgovarajućim podrazumevanim vrednostima.

  • Relacije između tabela obezbeđuju informacije za dizajn obrazaca i izveštaja.

    Kada dizajnirate obrazac ili izveštaj, Office Access 2007 koristi informacije koje prikuplja iz relacija između tabela koje ste već definisali kako bi vam predstavio dovoljnu količinu informacija na osnovu kojih možete birati, kao i da bi unapred popunio postavke svojstava odgovarajućim podrazumevanim vrednostima.

  • Relacije između tabela predstavljaju osnovu na koju možete primeniti referencijalni integritet da biste u bazi podataka sprečili pojavu zapisa koji su siročići. Zapis koji je siroče predstavlja zapis sa referencom na drugi zapis koji ne postoji – na primer, zapis porudžbine koji referencira zapis kupca koji ne postoji.

    Kada dizajnirate bazu podataka, informacije delite u tabele od kojih svaka ima primarni ključ. Nakon toga, u povezane tabele dodajete sporedne ključeve koji referenciraju ove primarne ključeve. Parovi sporedni ključ – primarni ključ formiraju osnovu relacija između tabela i upita za više tabela. Prema tome, važno je da reference sporedni ključ – primarni ključ budu sinhronizovane. Referencijalni integritet pomaže u održavanju sinhronizovanosti referenci i zavisi od relacija između tabela.

Vrh stranice

Razumevanje referencijalnog integriteta

Kada dizajnirate bazu podataka, informacije delite u više tabela na osnovu teme kako biste umanjili redundantnost podataka. Nakon toga, postavljanjem zajedničkih polja u tabele u relaciji obezbeđujete programu Office Access 2007 sredstva pomoću kojih ponovo može da poveže podatke. Na primer, da biste predstavili relaciju „jedan-prema-više“, uzećete primarni ključ iz tabele „jedan“ i dodati ga kao dodatno polje u tabelu „više“. Da bi povezao podatke, Access preuzima vrednost iz tabele „više“ i traži odgovarajuću vrednost u tabeli „jedan“. Na ovaj način, vrednosti u tabeli „više“ referenciraju odgovarajuće vrednosti u tabeli „jedan“.

Pretpostavimo da imate relaciju „jedan-prema-više“ između tabela „Špediteri“ i „Porudžbine“ i želite da izbrišete nekog špeditera. Ako špediter koga želite da izbrišete ima porudžbine u tabeli „Porudžbine“, one će postati „siročići“ kada izbrišete zapis. Porudžbine će još uvek sadržati ID špeditera, ali ID više neće biti važeći, jer zapis koji referencira više ne postoji.

Namena referencijalnog integriteta jeste da spreči pojavu zapisa koji su siročići i da održi sinhronizovanost referenci kako se ova hipotetička situacija nikada ne bi pojavila.

Referencijalni integritet možete primeniti kada ga omogućite za relacije između tabela (detaljna uputstva potražite u članku Primenjivanje referencijalnog integriteta). Kada je referencijalni integritet jednom primenjen, Access odbija svaku operaciju koja bi narušila referencijalni integritet te relacije između tabela. To znači da će Access odbiti da izvrši ažuriranja koja menjaju odredište reference, kao i brisanja koja uklanjaju odredište reference. Moguće je, međutim, da imate potpuno opravdanu potrebu da promenite primarni ključ za špeditera koji ima porudžbine u tabeli „Porudžbine“. U takvim slučajevim potrebno je da Access, kao deo jedne operacije, automatski ažurira sve redove na koje promena utiče. Na taj način Access obezbeđuje izvršavanje kompletnog ažuriranja i konzistentnost baze podataka, pri čemu su svi redovi ažurirani. Iz ovog razloga, Access podržava opciju „Kaskadno ažuriranje polja u relaciji“. Kada primenite referencijalni integritet i izaberete opciju „Kaskadno ažuriranje polja u relaciji“, a zatim ažurirate primarni ključ, Access će automatski ažurirati sva polja koja referenciraju taj primarni ključ.

Takođe je moguće da imate opravdanu potrebu da izbrišete neki red i sve sa njim povezane zapise – na primer, zapis iz tabele „Špediteri“ i sve porudžbine povezane sa tim špediterom. Iz ovog razloga, Access podržava opciju „Kaskadno brisanje zapisa u relaciji“. Kada primenite referencijalni integritet i izaberete opciju „Kaskadno brisanje zapisa u relaciji“, a zatim izbrišete zapis na strani primarnog ključa relacije, Access će automatski izbrisati sve zapise koji referenciraju taj primarni ključ.

Vrh stranice

Prikazivanje relacija između tabela

Na kartici Alatke baze podataka kliknite na dugme Relacije da biste prikazali relacije između tabela. Otvoriće se prozor „Relacije“ u kome su prikazane sve postojeće relacije. Ako još nijedna relacija između tabela nije definisana, a prozor „Relacije“ otvarate prvi put, Access će zatražiti od vas da u prozor dodate tabelu ili upit.

Otvaranje prozora „Relacije“

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

  4. Ako baza podataka sadrži relacije, pojaviće se prozor „Relacije“. Ako baza podataka ne sadrži nijednu relaciju, a prozor „Relacije“ otvarate prvi put, pojaviće se dijalog Prikazivanje tabele. Kliknite na dugme Zatvori da biste zatvorili dijalog.

  5. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

    U prozoru su prikazane sve definisane relacije u bazi podataka. Imajte na umu da skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor Skrivena) i njihove relacije neće biti prikazane, osim ako je u dijalogu Opcije navigacije potvrđen izbor Prikaži skrivene objekte.

    Dodatne informacije o opciji „Prikaži skrivene objekte“ potražite u članku Vodič za okno za navigaciju.

prozor „Odnosi“

1. Primarni ključ

2. Ova linija predstavlja relaciju

3. Sporedni ključ

Relacija između tabela je predstavljena relacionom linijom povučenom između tabela u prozoru „Relacije“. Relacija za koju nije primenjen referencijalni integritet pojavljuje se kao tanka linija između zajedničkih polja koja podržavaju tu relaciju. Kada izaberete ovu relaciju klikom na liniju, linija će postati deblja, što označava da je izabrana. Ako primenite referencijalni integritet za ovu relaciju, linija će postati deblja na krajevima. Osim toga, broj 1 će se pojaviti iznad debljeg dela linije na jednoj strani relacije, a simbol za beskonačno () – iznad debljeg dela linije na drugoj strani.

Kada je prozor „Odnosi“ aktivan, možete da izaberete sledeće komande na glavnoj traci, delu Korisnički interfejs Microsoft Office Fluent interfejsa:

Na kartici Dizajn, u grupi Alatke:

  • Uredi relacije    Otvara dijalog Uređivanje relacija. Kada izaberete relacionu liniju, možete kliknuti na dugme Uredi relacije da biste promenili relaciju između tabela. Možete takođe dvaput da kliknete na relacionu liniju.

  • Ukloni raspored    Uklanja sve tabele i relacije iz prikaza u prozoru „Relacije“. Imajte na umu da ova komanda samo skriva tabele i relacije – ne briše ih.

  • Izveštaj o relacijama    Kreira izveštaj koji prikazuje tabele i relacije u bazi podataka. Izveštaj prikazuje samo one tabele i relacije koje nisu skrivene u prozoru „Relacije“.

Na kartici Dizajn, u grupi Relacije:

  • Prikazivanje tabele    Otvara dijalog Prikazivanje tabele kako biste mogli da izaberete tabele i upite za prikaz u prozoru „Relacije“.

  • Sakrij tabelu    Sakriva izabranu tabelu u prozoru „Relacije“.

  • Direktne relacije    Prikazuje sve relacije i povezane tabele za izabranu tabelu u prozoru „Relacije“, ukoliko one već nisu prikazane.

  • Sve relacije    Prikazuje sve relacije i povezane tabele iz baze podataka u prozoru „Relacije“. Imajte na umu da se skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor u polju za potvrdu Skrivena) i njihove relacije neće prikazati, osim ako je u dijalogu „Opcije navigacije“ izabrana opcija „Prikaži skrivene tabele“.

    Dodatne informacije o opciji „Prikaži skrivene tabele“ potražite u članku Vodič za okno za navigaciju.

  • Zatvori    Zatvara prozor „Relacije“. Ako ste promenili raspored u prozoru „Relacije“, bićete upitani da li želite da sačuvate promene.

Vrh stranice

Kreiranje relacije između tabela

Relaciju između tabela možete da kreirate koristeći prozor „Relacije“ ili prevlačenjem polja iz okna Lista polja u list sa podacima. Kada kreirate relaciju između tabela, nije neophodno da zajednička polja imaju ista imena, mada je to često slučaj. Važnije je da ova polja sadrže isti tip podataka. Ako je polje primarnog ključa polje tipa „Automatsko numerisanje“, polje sporednog ključa može biti polje tipa „Broj“ ukoliko je svojstvo Veličina polja isto za oba polja. Na primer, možete povezati polje tipa „Automatsko numerisanje“ i polje tipa „Broj“ ako je svojstvo Veličina polja za oba polja „Dugački ceo broj“. Kada su oba zajednička polja tipa „Broj“, moraju imati istu postavku svojstva Veličina polja.

Kreiranje relacije između tabela pomoću prozora „Relacije“

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

  4. Ako još niste definisali relacije, automatski će se pojaviti dijalog Prikazivanje tabele. Ako se ne pojavi, na kartici Dizajn, u grupi Relacije kliknite na dugme Prikaži tabelu.

    U dijalogu Prikazivanje tabele će biti prikazane sve tabele i upiti u bazi podataka. Izaberite karticu Tabele da biste videli samo tabele. Izaberite karticu Upiti da biste videli samo upite. Izaberite karticu Oba da biste videli i tabele i upite.

  5. Izaberite jednu ili više tabela ili upita, a zatim kliknite na dugme Dodaj. Kada ste završili sa dodavanjem tabela i upita u prozor „Relacije“, kliknite na dugme Zatvori.

  6. Prevucite polje (obično primarni ključ) iz jedne tabele u zajedničko polje (sporedni ključ) u drugoj tabeli. Da biste prevukli više polja, kliknite na svako polje držeći pritisnut taster CTRL, a zatim ih prevucite.

    Pojaviće se dijalog Uređivanje relacija.

  7. Proverite da li prikazana imena polja predstavljaju zajednička polja relacije. Ako je ime polja netačno, kliknite na ime polja i izaberite novo polje sa liste.

    Potvrdite izbor Primeni referencijalni integritet da biste primenili referencijalni integritet za ovu relaciju. Više informacija o referencijalnom integritetu potražite u odeljcima Razumevanje referencijalnog integriteta i Primenjivanje referencijalnog integriteta.

  8. Kliknite na dugme Kreiraj.

    Relaciona linija će biti povučena između dve tabele. Ako ste potvrdili izbor Primeni referencijalni integritet, linija će izgledati deblje na krajevima. Osim toga, opet samo ako ste potvrdili izbor Primeni referencijalni integritet, broj 1 će se pojaviti iznad debljeg dela linije na jednom kraju relacije, a simbol za beskonačno () će se pojaviti iznad debljeg dela linije na drugoj strani.

Prevucite polje iz tabele na odgovarajuće polje u drugoj tabeli

Napomene: 

  • Kreiranje relacije „jedan-prema-jedan“    Oba zajednička polja (obično polja primarnog i sporednog ključa) moraju imati jedinstveni indeks. To znači da svojstvo Indeksirano za ova polja treba da bude na postavljeno na Da (Bez duplikata). Ako oba polja imaju jedinstveni indeks, Access će kreirati relaciju „jedan-prema-jedan“.

  • Kreiranje relacije „jedan-prema-više“    Polje na strani „jedan“ (obično primarni ključ) relacije mora imati jedinstveni indeks. To znači da svojstvo Indeksirano za ovo polje treba da bude postavljeno na Da (Bez duplikata). Polje na strani „više“ ne bi smelo da ima jedinstveni indeks. To polje može da ima indeks, ali mora da dozvoli pojavu duplikata. To znači da svojstvo Indeksirano za ovo polje treba da bude postavljeno na Ne ili Da (Sa duplikatima). Kada jedno polje ima jedinstveni indeks, a drugo nema, Access će kreirati relaciju „jedan-prema-više“.

Kreiranje relacije između tabela pomoću okna „Lista polja“

U programu Office Access 2007 možete da dodate polje u postojeću tabelu koja je otvorena u prikazu lista sa podacima, prevlačenjem tog polja iz okna Lista polja. Okno Lista polja prikazuje dostupna polja u tabelama u relaciji, kao i dostupna polja u drugim tabelama. Kada prevučete polje iz „druge" (nepovezane) tabele, a zatim dovršite čarobnjak za pronalaženje, nova relacija „jedan-prema-više“ će se automatski kreirati između tabele u oknu Lista polja i tabele u koju ste prevukli polje. Ova relacija, koju je kreirao Access, ne primenjuje podrazumevano referencijalni integritet. Morate da uredite relaciju da biste primenili referencijalni integritet. Više informacija potražite u odeljku Menjanje relacije između tabela.

Otvaranje tabele u prikazu lista sa podacima

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. U oknu za navigaciju kliknite desnim tasterom miša na tabelu u koju želite da dodate polje i za koju želite da kreirate relaciju, a zatim u priručnom meniju izaberite stavku Prikaz lista sa podacima.

Otvaranje okna „Lista polja“

  • Na kartici List sa podacima, u grupi Polja i kolone kliknite na dugme Dodaj postojeća polja.

    Slika trake programa Access

    Pojaviće se okno Lista polja.

Sve druge tabele u bazi podataka okno Lista polja prikazuje grupisane u kategorije. Kada radite sa tabelom u prikazu lista sa podacima, Access prikazuje polja u dve kategorije u oknu Lista polja: Polja dostupna u tabelama u relaciji i Polja dostupna u ostalim tabelama. Prva kategorija prikazuje sve tabele koje imaju relaciju sa tabelom sa kojom trenutno radite. Druga kategorija prikazuje sve tabele sa kojima vaša tabela nema relacije.

Kada u oknu Lista polja kliknete na znak plus (+) pored imena tabele, videćete listu svih polja koja su dostupna u toj tabeli. Da biste dodali polje u tabelu, prevucite željeno polje iz okna Lista polja u tabelu u prikazu lista sa podacima.

Dodavanje polja i kreiranje relacije iz okna „Lista polja“

  1. Na kartici List sa podacima, u grupi Polja i kolone kliknite na dugme Dodaj postojeća polja.

    Slika trake programa Access

    Pojaviće se okno Lista polja.

  2. U oknu Polja dostupna u ostalim tabelama kliknite na znak plus (+) pored imena tabele da biste prikazali listu polja u toj tabeli.

  3. Željeno polje prevucite iz okna Lista polja u tabelu koja je otvorena u prikazu lista sa podacima.

  4. Kada se pojavi linija za umetanje, spustite polje na željenu poziciju.

    Pokrenuće se Čarobnjak za pronalaženje.

  5. Sledite uputstva da biste dovršili čarobnjak za pronalaženje.

    Polje će se pojaviti u tabeli u prikazu lista sa podacima.

Kada prevučete polje iz „druge“ (nepovezane) tabele, a zatim dovršite čarobnjak za pronalaženje, nova relacija „jedan-prema-više“ će biti automatski kreirana između tabele u oknu Lista polja i tabele u koju ste prevukli polje. Ova relacija, koju je kreirao Access, ne primenjuje podrazumevano referencijalni integritet. Morate da uredite relaciju da biste primenili referencijalni integritet. Više informacije potražite u odeljku Menjanje relacije između tabela.

Vrh stranice

Brisanje relacije između tabela

Morate da izbrišete relacionu liniju u prozoru „Relacije“ kako biste izbrisali relaciju između tabela. Pažljivo pozicionirajte kursor tako da pokazivač bude postavljen na relacionu liniju, a zatim kliknite na liniju. Relaciona linija postaje deblja ako je izabrana. Kada izaberete relacionu liniju, pritisnite taster DELETE. Imajte na umu da brisanjem relacije takođe uklanjate i podršku za referencijalni integritet za tu relaciju, ukoliko je bila omogućena. Kao rezultat, Access neće više automatski sprečavati kreiranje zapisa koji su siročići na strani relacije „više".

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

Pojaviće se prozor „Relacije“.

Ako još niste definisali relacije i ukoliko prvi put otvarate prozor „Relacije“, pojaviće se dijalog Prikazivanje tabele. Ako se dijalog pojavi, kliknite na dugme Zatvori.

  1. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

Sve tabele koje imaju relacije prikazane su sa relacionim linijama.

  1. Kliknite na relacionu liniju koja odgovara relaciji koju želite da izbrišete. Relaciona linija postaje deblja kada je izabrana.

  2. Pritisnite taster DELETE.

    – ili –

    Kliknite desnim tasterom miša, a zatim izaberite stavku Izbriši.

  3. Access će možda prikazati poruku Želite li stvarno da trajno izbrišete izabranu relaciju iz baze podataka?. Ako se pojavi ova poruka potvrde, kliknite na dugme Da.

Napomena: Relaciju nećete moći da izbrišete ako druga osoba ili proces trenutno koristi neku od tabela upotrebljenih u relaciji između tabela ili ukoliko se neka tabela koristi u otvorenom objektu baze podataka (kao što je obrazac). Prvo morate zatvoriti sve otvorene objekte koji koriste ove tabele da biste mogli da izbrišete relaciju.

Vrh stranice

Menjanje relacije između tabela

Relaciju između tabela možete promeniti ako je izaberete u prozoru „Relacije“ i onda je uredite. Pažljivo pozicionirajte kursor tako da postavite pokazivač na relacionu liniju, a zatim kliknite na nju da biste je izabrali. Relaciona linija postaje deblja kada je izabrana. Dvaput kliknite na izabranu relacionu liniju ili na kartici Dizajn, u grupi Alatke kliknite na dugme Uredi relacije. Pojaviće se dijalog Uređivanje relacija.

Unošenje promena u dijalogu „Uređivanje relacija“

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

Pojaviće se prozor „Relacije“.

Ako još niste definisali relacije i ukoliko prvi put otvarate prozor „Relacije“, pojaviće se dijalog Prikazivanje tabele. Ako se dijalog pojavi, kliknite na dugme Zatvori.

  1. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

Sve tabele koje imaju relacije prikazane su sa relacionim linijama. Imajte na umu da skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor Skrivena) i njihove relacije neće biti prikazane, osim ako je u dijalogu Opcije za navigaciju potvrđen izbor „Prikaži skrivene objekte“.

Dodatne informacije o opciji „Prikaži skrivene objekte“ potražite u članku Vodič za okno za navigaciju.

  1. Kliknite na relacionu liniju koja odgovara relaciji koju želite da promenite. Relaciona linija postaje deblja kada je izabrana.

  2. Dvaput kliknite na relacionu liniju.

    –ili–

    Na kartici Dizajn, u grupi Alatke kliknite na dugme Uredi relacije.

    Pojaviće se dijalog Uređivanje relacija.

    Dijalog „Uređivanje relacija“

  3. Unesite promene, a zatim kliknite na dugme U redu.

    Dijalog Uređivanje relacija dozvoljava promenu relacije između tabela. Možete da promenite tabele ili upite sa obe strane relacije, kao i polja sa obe strane. Osim toga, možete da podesite tip spoja ili da primenite referencijalni integritet i odaberete kaskadnu opciju. Više informacija o tipu spoja i o tome kako da ga podesite potražite u odeljku Postavljanje tipa spoja. Više informacija o primeni referencijalnog integriteta i biranju kaskadne opcije potražite u odeljku Primenjivanje referencijalnog integriteta.

Podešavanje tipa spoja

Kada definišete relaciju između tabela, činjenice o relaciji obezbeđuju informacije za dizajn upita. Na primer, ako definišete relaciju između dve tabele, a zatim kreirate upit koji koristi ove tabele, Access će automatski izabrati podrazumevana podudarna polja na osnovu polja navedenih u relaciji. Možete zameniti ove inicijalne podrazumevane vrednosti u svom upitu, ali vrednosti dobijene na osnovu relacije će najčešće biti ispravne. Pošto pronalaženje podudarnih podataka iz više tabela i njihovo spajanje predstavlja radnju koju ćete često obavljati u svim osim u najjednostavnijim bazama podataka, postavljanje podrazumevanih vrednosti kreiranjem relacija može da doprinese uštedi vremena, kao i da bude korisno.

Upit za više tabela kombinuje informacije iz više tabela tako što podudara vrednosti u istim poljima. Operacija koja izvršava podudaranje i kombinovanje se zove spoj. Na primer, pretpostavite da želite da prikažete porudžbine kupca. Kreiraćete upit koji spaja tabelu „Kupci“ i tabelu „Porudžbine“ po polju „ID kupca“. Rezultat upita sadrži informacije o kupcima i informacije o porudžbinama samo za one redove u kojima je pronađeno odgovarajuće podudaranje.

Jedna od vrednosti koju možete da definišete za svaku relaciju je tip spoja. Tip spoja govori programu Access koje zapise treba da uključi u rezultat upita. Na primer, vratimo se na upit koji spaja tabelu „Kupci“ i tabelu „Porudžbine“ po zajedničkim poljima koja predstavljaju „ID kupca“. Korišćenjem podrazumevanog tipa spoja (koji se naziva unutrašnji spoj) upit vraća samo redove iz tabele „Kupci“ i redove iz tabele „Porudžbine“ u kojima su zajednička polja (nazivaju se i spojena polja) jednaka.

Pretpostavite, međutim, da želite da obuhvatite sve zapise iz tabele „Kupci“ – čak i one kupce koji još nisu poslali nijednu porudžbinu. Unutrašnji spoj morate da zamenite spojem koji se naziva levi spoljni spoj kako biste postigli ovo. Levi spoljni spoj vraća sve redove iz tabele na levoj strani relacije i samo redove koji se podudaraju iz tabele na desnoj strani. Desni spoljni spoj vraća sve redove sa desne strane i samo one koji se podudaraju na levoj strani.

Napomena: U ovom slučaju, „levo“ i „desno“ se odnosi na pozicije tabela u dijalogu Uređivanje relacija, a ne u prozoru „Relacije“.

Trebalo bi da razmislite o rezultatu koji najčešće želite da dobijete od upita koji spaja tabele u ovoj relaciji, a zatim da podesite odgovarajući tip spoja.

Postavljanje tipa spoja

  1. U dijalogu Uređivanje relacija kliknite na dugme Tip spoja.

    Pojaviće se dijalog Svojstva spoja.

  2. Izaberite željenu opciju, a zatim kliknite na dugme U redu.

Sledeća tabela (korišćene su tabele „Kupci“ i „Porudžbine“) sadrži tri opcije koje su prikazane u dijalogu Svojstva spoja, tip spoja koji koriste, kao i to da li su za svaku tabelu obuhvaćeni svi redovi ili redovi koji se podudaraju.

Opcija

Relacioni spoj

Leva tabela

Desna tabela

1. Uključi samo redove u kojima su spojena polja iz obe tabele jednaka

Unutrašnji spoj

Redovi koji se podudaraju

Redovi koji se podudaraju

2. Uključi SVE zapise iz tabele „Kupci“ i samo one zapise iz tabele „Porudžbine“ u kojima su spojena polja jednaka

Levi spoljni spoj

Svi redovi

Redovi koji se podudaraju

3. Uključi SVE zapise iz tabele „Porudžbine“ i samo one zapise iz tabele „Kupci“ u kojima su spojena polja jednaka

Desni spoljni spoj

Redovi koji se podudaraju

Svi redovi

Ako odaberete opciju 2 ili opciju 3, na relacionoj liniji će biti prikazana strelica. Ova strelica je usmerena prema onoj strani relacije koja prikazuje samo redove koji se podudaraju.

Unošenje promena u dijalog „Svojstva spoja“

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

Pojaviće se prozor „Relacije“.

Ako još niste definisali relacije i ukoliko prvi put otvarate prozor „Relacije“, pojaviće se dijalog Prikazivanje tabele. Ako se dijalog pojavi, kliknite na dugme Zatvori.

  1. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

Sve tabele koje imaju relacije prikazane su sa relacionim linijama. Imajte na umu da skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor Skrivena) i njihove relacije neće biti prikazane, osim ako je u dijalogu „Opcije navigacije“ potvrđen izbor „Prikaži skrivene objekte“.

Dodatne informacije o opciji „Prikaži skrivene objekte“ potražite u članku Vodič za okno za navigaciju.

  1. Kliknite na relacionu liniju koja odgovara relaciji koju želite da promenite. Relaciona linija postaje deblja kada je izabrana.

  2. Dvaput kliknite na relacionu liniju.

    –ili–

    Na kartici Dizajn, u grupi Alatke kliknite na dugme Uredi relacije.

    Pojaviće se dijalog Uređivanje relacija.

  3. Kliknite na dugme Tip spoja.

  4. U dijalogu Svojstva spoja izaberite odgovarajuću opciju, a zatim kliknite na dugme U redu.

    Dijalog svojstava spajanja

  5. Unesite dodatne promene u relaciju, a zatim kliknite na dugme U redu.

Vrh stranice

Primenjivanje referencijalnog integriteta

Svrha korišćenja referencijalnog integriteta jeste sprečavanje pojave zapisa koji su siročići i održavanje sinhronizovanosti referenci kako ne biste imali zapise koji referenciraju druge zapise koji više ne postoje. Referencijalni integritet namećete tako što ga omogućavate za relaciju među tabelama. Kada je referencijalni integritet jednom nametnut, Access odbija svaku operaciju koja bi narušila referencijalni integritet te relacije među tabelama. Access odbija ažuriranja koja menjanju odredište reference i brisanja koja uklanjaju odredište reference. Pročitajte odeljak Postavljanje kaskadnih opcija da biste saznali kako da podesite Access da prosleđuje referencijalna ažuriranja i brisanja, tako da se svi redovi u relaciji saglasno menjaju.

Uključivanje ili isključivanje referencijalnog integriteta

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

Pojaviće se prozor „Relacije“.

Ako još niste definisali relacije i ukoliko prvi put otvarate prozor „Relacije“, pojaviće se dijalog Prikazivanje tabele. Ako se dijalog pojavi, kliknite na dugme Zatvori.

  1. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

Sve tabele koje imaju relacije prikazane su sa relacionim linijama. Imajte na umu da skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor Skrivena) i njihove relacije neće biti prikazane, osim ako je u dijalogu Opcije za navigaciju potvrđen izbor „Prikaži skrivene objekte“.

Dodatne informacije o opciji „Prikaži skrivene objekte“ potražite u članku Vodič za okno za navigaciju.

  1. Kliknite na relacionu liniju koja odgovara relaciji koju želite da promenite. Relaciona linija postaje deblja kada je izabrana.

  2. Dvaput kliknite na relacionu liniju.

    –ili–

    Na kartici Dizajn, u grupi Alatke kliknite na dugme Uredi relacije.

    Pojaviće se dijalog Uređivanje relacija.

  3. Potvrdite izbor Primeni referencijalni integritet.

  4. Unesite dodatne promene u relaciju, a zatim kliknite na dugme U redu.

Nakon što ste primenili referencijalni integritet, primenjivaće se sledeća pravila:

  • U polje sporednog ključa povezane tabele ne možete da unesete vrednost ako ta vrednost ne postoji u polju primarnog ključa primarne tabele – ako to uradite, kreiraćete zapise koji će biti siročići.

  • Zapis u primarnoj tabeli ne možete da izbrišete ako u tabeli u relaciji postoje podudarni zapisi. Na primer, ne možete da izbrišete zapis o zaposlenom iz tabele „Zaposleni“ ako u tabeli „Porudžbine“ postoje porudžbine koje su dodeljene tom zaposlenom. Međutim, možete da odaberete da izbrišete primarni zapis i sve zapise u relaciji jednom operacijom, tako što ćete potvrditi izbor Kaskadno izbriši povezane zapise.

  • Vrednost primarnog ključa u primarnoj tabeli ne možete da promenite ako će to dovesti do kreiranja zapisa koji će biti siročići. Na primer, ne možete da promenite broj porudžbine u tabeli „Porudžbine“ ako postoje stavke dodeljene toj porudžbini u tabeli „Detalji porudžbine“. Možete, međutim, izabrati da jednom operacijom ažurirate primarni zapis i sve povezane zapise potvrđivanjem izbora u polju za izbor Kaskadno ažuriraj polja u relaciji.

    Napomene: Ako nailazite na teškoće u primeni referencijalnog integriteta, imajte u vidu da su sledeći uslovi potrebni da bi se mogao primeniti referencijalni integritet:

    • Zajedničko polje u primarnoj tabeli mora da bude primarni ključ ili da ima jedinstveni indeks.

    • Zajednička polja moraju da imaju isti tip podataka. Jedini izuzetak je da polje tipa „Automatsko numerisanje“ može da bude u relaciji sa poljem tipa „Broj“ kome je svojstvo Veličina polja postavljena na Dugački ceo broj.

    • Obe tabele moraju postojati u istoj Access bazi podataka. Referencijalni integritet ne može da se primeni na povezane tabele. Međutim, ako su izvorne tabele u formatu programa Access, možete da otvorite bazu podataka u kojoj su uskladištene i da primenite referencijalni integritet na tu bazu podataka.

Postavljanje kaskadnih opcija

Možete naići na situaciju u kojoj imate opravdanu potrebu da promenite vrednost na strani „jedan“ relacije. U takvom slučaju je potrebno da Access automatski, kao deo jedne operacije, ažurira sve redove na koje promena utiče. Na taj način se izvršava kompletno ažuriranje, kako baza podataka ne bi ostala u nekonzistentnom stanju – sa nekim ažuriranim i nekim neažuriranim redovima. Primenom opcije „Kaskadno ažuriranje polja u relaciji“ Access pomaže da izbegnete ovaj problem. Kada primenite referencijalni integritet i izaberete opciju „Kaskadno ažuriranje polja u relaciji“, a zatim ažurirate primarni ključ, Access će automatski ažurirati sva polja koja referenciraju taj primarni ključ.

Možda će, takođe, biti potrebno da izbrišete red i sve povezane zapise – na primer, zapis špeditera i sve povezane porudžbine za tog špeditera. Iz tog razloga, Access podržava opciju „Kaskadno brisanje povezanih polja“. Ako je primenjen referencijalni integritet i izabrana opcija „Kaskadno brisanje polja u relaciji“, Access će automatski izbrisati sve zapise koji referenciraju taj primarni ključ kada izbrišete zapis koji sadrži primarni ključ.

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

  1. Kliknite na dugme Microsoft Office Slika dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Alatke baze podataka, u grupi Prikazivanje/skrivanje kliknite na dugme Relacije.

Pojaviće se prozor „Relacije“.

Ako još niste definisali relacije i ukoliko prvi put otvarate prozor „Relacije“, pojaviće se dijalog Prikazivanje tabele. Ako se dijalog pojavi, kliknite na dugme Zatvori.

  1. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

Sve tabele koje imaju relacije prikazane su sa relacionim linijama. Imajte na umu da skrivene tabele (tabele za koje je u dijalogu Svojstva potvrđen izbor Skrivena) i njihove relacije neće biti prikazane, osim ako je u dijalogu Opcije za navigaciju potvrđen izbor „Prikaži skrivene objekte“.

Dodatne informacije o opciji „Prikaži skrivene objekte“ potražite u članku Vodič za okno za navigaciju.

  1. Kliknite na relacionu liniju koja odgovara relaciji koju želite da promenite. Relaciona linija postaje deblja kada je izabrana.

  2. Dvaput kliknite na relacionu liniju.

    –ili–

    Na kartici Dizajn, u grupi Alatke kliknite na dugme Uredi relacije.

    Pojaviće se dijalog Uređivanje relacija.

  3. Potvrdite izbor Primeni referencijalni integritet.

  4. Potvrdite izbor Kaskadno ažuriranje polja u relaciji ili Kaskadno brisanje zapisa u relaciji ili u oba.

  5. Unesite dodatne promene u relaciju, a zatim kliknite na dugme U redu.

Napomena: Ako je primarni ključ polje tipa „Automatsko numerisanje“, potvrda izbora u polju za potvrdu Kaskadno ažuriranje polja u relaciji neće imati efekta, jer ne možete promeniti vrednost u polju tipa „Automatsko numerisanje“.

Vrh stranice

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×