Preizkusite ga!
Kaj je relacija »mnogo proti mnogo«?
Relacije »mnogo proti mnogo« so najpogosteje uporabljene relacije tabele. Vsebujejo ključne informacije, na primer, s katerimi strankami so se vaši prodajalci obrnili in kateri izdelki so v naročilih strank.
Odnos »mnogo proti mnogo« obstaja, kadar je lahko eden ali več elementov v eni tabeli v relaciji z enim ali več elementi v drugi tabeli. Primer:
- V tabeli »Naročila« so naročila, ki jih je oddalo več strank (ki so navedene v tabeli »Stranke«), stranka pa lahko odda več naročil.
- Tabela »Izdelki« vsebuje posamezne izdelke, ki jih prodajate in so del številnih naročil v tabeli »Naročila«.
- Eno naročilo lahko vključuje en primerek (ali več primerkov) določenega izdelka in/ali en primerek (ali več primerkov) več izdelkov.
Številka naročila 1012 stranke Elizabeth Andersen lahko na primer vsebuje po enega od izdelkov 12 in 15 ter pet izdelkov 30.
Ustvarjanje relacij »mnogo proti mnogo«
Odnos »mnogo proti mnogo« ustvarite drugače kot relacije »ena proti ena« ali »ena proti mnogo«. Za te relacije preprosto povežete ustrezna polja s črto. Če želite ustvariti relacije »mnogo proti mnogo«, morate ustvariti novo tabelo, da povežete drugi dve. Ta nova tabela se imenuje vmesna tabela (ali včasih povezovalnaali stična tabela).
V scenariju, opisanem zgoraj, ustvarite tabelo »Podrobnosti naročila« z zapisi, ki za vsak element v katerem koli naročilu vsebujejo ID iz tabele »Naročilo« in ID iz tabele »Izdelki«. Primarni ključ za to tabelo ustvarite s združenimi ključi iz obeh tabel.
V našem scenariju številko naročila 1012 osebe Elizabeth Andersen sestavljajo izdelki 12, 15 in 30. To pomeni, da so naši vnosi v podrobnostih naročila videti tako:
| ID naročila | ID izdelka |
|---|---|
| 1012 | 12 |
| 1012 | 15 |
| 1012 | 30 |
Elizabeth je naročila po en izdelek 12 in 15 ter pet izdelkov 30. Ni mogoče dodati še ene vrstice s številkama 1012 in 30, ker ID naročila in ID izdelka skupaj sestavljata primarni ključ, primarni ključi pa morajo biti enolični. Namesto tega v tabelo »Podrobnosti naročila« dodamo polje »Količina«.
| ID naročila | ID izdelka | Količina |
|---|---|---|
| 1012 | 12 | 1 |
| 1012 | 15 | 1 |
| 1012 | 30 | 5 |
Ustvarjanje vmesne tabele
- Izberite »Ustvari>tabelo«.
- Izberite »Shrani«,
« - V polje »Ime tabele« vnesite opisen naslov. Če želite označiti njen namen, v ime tabele vključite stičišče ali vmesno besedilo.
Ustvarjanje polj v vmesni tabeli
Access kot prvi stolpec tabele samodejno doda polje ID. Spremenite to polje, da se bo ujemalo z ID-jem prve tabele v relaciji »mnogo proti mnogo«. Če je prva tabela na primer tabela »Naročila«, imenovana »ID naročila«, njen primarni ključ pa je številka, spremenite ime polja »ID« v novi tabeli v »ID naročila« in za podatkovni tip uporabite »številka«.
- V pogledu podatkovnega lista izberite naslov stolpca ID in vnesite novo ime za polje.
- Izberite polje, ki ste ga pravkar preimenovali.
- Na zavihku »Polja v tabeli « v razdelku » Vrsta podatkov« izberite podatkovni tip, ki ustreza polju v izvorni tabeli, na primer »Število « ali »Kratko besedilo«.
- Izberite »Klikni za dodajanje« in nato izberite podatkovni tip, ki ustreza primarnemu ključu v drugi tabeli. V glavo stolpca, ki je že izbrana, vnesite ime polja primarnega ključa iz druge tabele, kot je ID izdelka.
- Če morate slediti drugim informacijam o teh zapisih, na primer količini elementov, ustvarite dodatna polja.
Združevanje polj s primarnim ID
Zdaj, ko imate polja, ki vsebujejo ID-je iz dveh tabel, ki ju želite povezati, ustvarite primarni ključ v vmesni tabeli na podlagi teh ID-jev.
- V pogledu načrta odprite vmesno tabelo.
- Izberite obe vrstici, ki vsebujeta ID-je. (Če ste upoštevali prejšnji postopek, sta to prvi dve vrstici.)
- Izberite Načrt >tabelePrimarni ključ.
Ikone ključev so prikazane ob obeh poljih ID.
Povezovanje treh tabel za ustvarjanje relacije »mnogo proti mnogo«
Če želite dokončati relacijo »mnogo proti mnogo«, ustvarite relacijo »ena proti mnogo« med poljem s primarnim ključem v vsaki tabeli in ustreznim poljem v vmesni tabeli. Če želite več informacij o tem, kako to naredite, glejte »Uvod v relacije tabele«.
Ko končate, bi morale biti relacije videti nekako tako: