Pokušajte!
Šta je relacija više-prema-više?
Relacije više-prema-više su najčešće korišćene relacije među tabelama. Oni pružaju ključne informacije, kao što su klijenti sa kojima su se prodavci obratili i koji su proizvodi u porudžbinama klijenata.
Relacija više-prema-više postoji kada neke stavke u jednoj tabeli mogu da imaju relaciju sa jednom ili više stavki u drugoj tabeli. Na primer:
-
Tabela "Porudžbina" sadrži porudžbine koje je isporučilo više klijenata (koji su navedeni u tabeli "Klijenti"), a klijent može da napravi više porudžbina.
-
Tabela "Proizvodi" sadrži pojedinačne proizvode koje prodajete, koji su deo većeg broja porudžbina u tabeli "Porudžbina".
-
Jedna porudžbina može da sadrži jednu instancu (ili više instanci) određenog proizvoda i/ili jednu instancu (ili više instanci) više proizvoda.
Na primer, porudžbina klijenta Elizabet Andersen broj 1012 može da sadrži jedan od proizvoda 12 i 15 i pet proizvoda 30.
Pravljenje relacija više-prema-više
Relacije više-prema-više se kreiraju drugačije nego relacije jedan-prema-jedan ili jedan-prema-više. Za te relacije, samo povežite odgovarajuća polja linijom. Da biste kreirali relacije više-prema-više, morate da kreirate novu tabelu da biste povezali druge dve. Ova nova tabela se naziva srednja tabela (ili ponekad i tabela povezivanja ili spajanja).
U scenariju opisanom ranije, kreirate tabelu "Detalji porudžbine" sa zapisima koji sadrže ID svake stavke bilo kojim datim redosledom, ID iz tabele "Porudžbina" i ID iz tabele "Proizvodi". Primarni ključ za tu tabelu kreirate pomoću kombinovanih ključeva iz dve tabele.
U našem scenariju, broj porudžbine Elizabet Andersen broj 1012 sastoji se od proizvoda 12, 15 i 30. To znači da stavke sa detaljima porudžbine izgledaju ovako:
ID porudžbine |
ID proizvoda |
---|---|
1012 |
12 |
1012 |
15 |
1012 |
30 |
Elizabet je naručila po jedan od proizvoda 12 i 15 i pet proizvoda 30. Ne možemo da dodamo još jedan red sa brojevima 1012 i 30 zato što ID porudžbine i ID proizvoda kombinuju naš primarni ključ i primarni ključevi moraju biti jedinstveni. Umesto toga, dodajemo polje "Količina" u tabelu "Detalji porudžbine".
ID porudžbine |
ID proizvoda |
Količina |
---|---|---|
1012 |
12 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Kreiranje posredne tabele
-
Izaberite stavku > tabelu.
-
Izaberite stavku Sačuvaj .
-
U polje Ime tabele unesite opisni naslov. Da biste naznačili njenu svrhu, možda ćete želeti da uključite spajanje ili posredno u ime tabele.
Kreiranje polja u srednjoj tabeli
Kao prva kolona tabele, Access automatski dodaje polje sa ID-om. Promenite to polje tako da se podudara sa ID-om prve tabele u relacija više-prema-više. Na primer, ako je prva tabela tabela "Porudžbine" pod imenom "ID porudžbine", a njen primarni ključ broj, promenite ime polja "ID" u novoj tabeli u "ID porudžbine" i za tip podataka koristite "Broj".
-
U prikazu lista sa podacima izaberite naslov kolone "ID ", a zatim otkucajte novo ime za polje.
-
Izaberite polje koje ste upravo preimenovali.
-
Na kartici Polja tabele , u okviru Tip podataka izaberite tip podataka koji će se podudarati sa poljem u originalnoj tabeli, kao što je " Broj " ili " Kratak tekst".
-
Izaberite stavku Kliknite da biste dodali, a zatim izaberite tip podataka koji se podudara sa primarnim ključem u drugoj tabeli. U naslovu kolone, koji je već izabran, otkucajte ime polja primarnog ključa iz druge tabele, kao što je ID proizvoda.
-
Ako treba da pratite druge informacije o ovim zapisima, kao što je količina artikala, kreirajte dodatna polja.
Kombinovanje primarnih ID polja
Sada kada imate polja koja sadrže ID-ove iz dve tabele koje želite da povežete, kreirajte primarni ključ na osnovu tih ID-ova u posrednoj tabeli.
-
U prikazu dizajna otvorite srednju tabelu.
-
Izaberite oba reda koji sadrže ID-e. (Ako ste pratili prethodnu proceduru, ovo su prva dva reda.)
-
Izaberite stavku Dizajn tabele > primarni ključ.
Ikone tastera pojavljuju se pored oba ID polja.
Povežite tri tabele da biste kreirali relaciju više-prema-više
Da biste dovršili relaciju više-prema-više, napravite relaciju jedan-prema-više između polja primarnog ključa u svakoj tabeli i podudarnog polja u posrednoj tabeli. Detalje o tome kako to da uradite potražite u članku Prvi koraci sa relacijama među tabelama.
Kada završite, relacije bi trebalo da izgledaju ovako: