Select the product you need help with
Določanje relacij med tabelami v zbirki podatkov programa Microsoft AccessID članka: 304466 - Oglejte si izdelke, na katere se nanaša ta članek. Začetniki: Zahteva znanje o uporabniškem vmesniku v računalniku, ki ga uporablja en uporabnik. Ta članek velja le za zbirke podatkov programa Microsoft Access (.mdb ali .accdb). Za enak postopek v programu Microsoft Access 2000 glejte članek
304467
(http://support.microsoft.com/kb/304467/
)
(Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini). Za enak postopek v programu Microsoft Access 97 glejte članek
304468
(http://support.microsoft.com/kb/304468/
)
(Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini). Na tej straniPOVZETEK V tem članku je opisano, kako določiti relacije v zbirki podatkov programa Microsoft Access. Vanj so vključene te teme:
DODATNE INFORMACIJEKaj so relacije med tabelamiV relacijski zbirki podatkov relacije omogočajo, da preprečite odvečne podatke. Če na primer oblikujete zbirko podatkov, ki bo sledila informacijam o knjigah, lahko ustvarite tabelo, imenovano »Naslovi«, v kateri bodo shranjeni podatki o posamezni knjigi, na primer naslov knjige, datum izdaje in založnik. Morda želite shraniti tudi podatke o založniku, kot so na primer založnikova telefonska številka, naslov in poštna številka. Če bi želeli shraniti vse te podatke v tabelo z naslovi, bi bila založnikova telefonska številka podvojena za vsako knjigo, ki bi jo natisnil založnik.Boljša rešitev je, da podatke o založniku shranite le enkrat, in sicer v ločeno tabelo, imenovano »Založniki« Nato bi v tabelo »Naslovi« vstavili kazalec, ki bi za sklic uporabil vnos v tabeli »Založniki«. Če želite zagotoviti nenehno sinhronizacijo podatkov, lahko med tabelama »Naslovi« in »Založniki« vsilite referenčno integriteto. Relacije z referenčnimi integritetami omogočajo, da se podatki v eni tabeli ujemajo s podatki v drugi tabeli. Vsak naslov v tabeli »Naslovi« mora biti na primer povezan z določenim založnikom v tabeli »Založniki«. V zbirko podatkov ni mogoče dodati naslova za založnika, ki ne obstaja v zbirki podatkov. Vrste relacij med tabelamiRelacija deluje tako, da poišče ujemajoče se podatke v ključnih stolpcih, po navadi v stolpcih z istim imenom v obeh tabelah. V večini primerov relacija poišče ujemajoči se primarni ključ iz ene tabele, ki zagotavlja enolični identifikator za posamezno vrstico, z vnosom v tujem ključu v drugi tabeli. Prodajo je mogoče na primer povezati z določenimi prodanimi knjigami tako, da ustvarite relacijo med stolpcem »ID naslova« v tabeli »Naslovi« (primarni ključ) in stolpcem »ID naslova« v tabeli »Prodaja« (tuji ključ).Na voljo so tri vrste relacij med tabelami. Vrsta ustvarjene relacije je odvisna od tega, kako so sorodni stolpci določeni. Relacija »ena proti mnogo«Relacija »ena proti mnogo« je najpogostejša vrsta relacije. V tej vrsti relacije ima vrstica v tabeli A lahko mnogo ujemajočih se vrstic v tabeli B, vendar pa ima vrstica v tabeli B lahko le eno ujemajočo se vrstico v tabeli A. Tabeli »Založniki« in »Naslovi« imata na primer relacijo »ena proti mnogo«: vsak založnik ustvari veliko knjig, vendar pa je vsaka knjiga le od enega založnika.Relacija »ena proti mnogo« je ustvarjena, če je le eden od stolpcev v relaciji primarni ključ ali ima enolično omejitev. V Accessu je stran primarnega ključa relacije »ena proti mnogo« prikazana s simbolom ključa. Stran tujega ključa relacije je prikazana s simbolom neskončnosti. Relacije »mnogo proti mnogo«V relaciji »mnogo proti mnogo« ima lahko vrstica v tabeli A mnogo ujemajočih se vrstic v tabeli B in obratno. Tako relacijo ustvarite tako, da določite tretjo tabelo, imenovano stična tabela, katere primarni ključ sestavljajo tuji ključi iz tabel A in B. Tabeli »Avtorji« in »Naslovi« imata na primer relacijo »mnogo proti mnogo«, ki je določena z relacijo »ena proti mnogo« iz vsake od teh tabel na tabelo »NasloviAvtorji«. Primarni ključ tabele »NasloviAvtorji« je kombinacija stolpca »ID avtorja« (primarni ključ tabele »Avtorji«) in stolpca »ID naslova« (primarni ključ tabele »Naslovi«).Relacije »ena proti ena«V relaciji »ena proti ena« ima lahko vrstica v tabeli A največ eno ujemajočo se vrstico v tabeli B in obratno. Relacija »ena proti ena« je ustvarjena, če sta oba stolpca v relaciji primarna ključa ali imata enolične omejitve.Ta vrsta relacije ni pogosta, ker je mogoče večino podatkov, ki so med sabo v relaciji na ta način, vstaviti v eno tabelo. Relacijo »ena proti ena« lahko uporabite za:
Določanje relacij med tabelamiPri ustvarjanju relacij med tabelami so polja v relaciji lahko poimenovana drugače. Vendar pa morajo polja v relaciji imeti enak podatkovni tip, razen če je primarni ključ polja polje »Samoštevilo«. Polje »Samoštevilo« se lahko ujema s poljem »Število« le, če je lastnost FieldSize obeh ujemajočih se polj enaka. Polje »Samoštevilo« se lahko na primer ujema s poljem »Število«, če je lastnost FieldSize obeh polj »Dolgo celo število«. Tudi če sta obe ujemajoči se polji polji »Število«, morata imeti enako nastavitev lastnosti FieldSize.Določanje relacij »ena proti mnogo« ali »ena proti ena«Relacijo »ena proti mnogo« ali »ena proti ena« lahko ustvarite tako:
Določanje relacij »mnogo proti mnogo«Relacijo »mnogo proti mnogo« lahko ustvarite tako:
Referenčna integritetaReferenčna integriteta je sistem pravil, s katerim Microsoft Access zagotovi, da so relacije med zapisi v tabelah v relaciji veljavne in da nenamerno ne izbrišete ali spremenite podatkov v relaciji. Referenčno integriteto lahko nastavite, če so izpolnjeni vsi ti pogoji:
Kaskadne posodobitve in brisanjaV relacijah, v katerih je vsiljena referenčna integriteta, lahko določite, ali naj Microsoft Access samodejno kaskadno posodobi ali izbriše zapise v relaciji. Če nastavite te možnosti, so operacije brisanja in posodabljanja, ki bi jih po navadi preprečila referenčna integriteta, dovoljene. Ko iz primarne tabele izbrišete zapise ali v njej spremenite vrednosti primarnega ključa, Microsoft Access ustrezno spremeni tabele v relaciji, da ohrani referenčno integriteto.Če pri določanju relacije potrdite polje Kaskadno posodabljanje polj v relaciji, Microsoft Access pri vsaki spremembi primarnega ključa zapisa v primarni tabeli samodejno posodobi primarni ključ v novo vrednost v vseh zapisih v relaciji. Če na primer v tabeli »Stranke« spremenite ID stranke, je polje »IDStranke« v tabeli »Naročila« samodejno posodobljeno za vsa naročila te stranke, tako da se relacija ne prekine. Microsoft Access izvede kaskadno posodobitev brez kakršnega koli obvestila. OPOMBA: Če je primarni ključ v primarni tabeli polje »Samoštevilo«, potrditev polja Kaskadno posodabljanje polj v relaciji nima nobenega učinka, ker vrednosti v polju »Samoštevilo« ni mogoče spremeniti. Če pri določanju relacije potrdite polje Kaskadno brisanje zapisov v relaciji, Microsoft Access pri vsakem brisanju zapisov iz primarne tabele samodejno izbriše zapise v relaciji v tabeli v relaciji. Če na primer iz tabele »Stranke« izbrišete zapis stranke, so vsa naročila te stranke samodejno izbrisana iz tabele »Naročila« (to vključuje tudi zapise v tabeli »Podrobnosti naročila«, ki je v relaciji z zapisi »Naročila«). Če iz obrazca ali podatkovnega lista izbrišete zapise tako, da potrdite polje Kaskadno brisanje zapisov v relaciji, vas Microsoft Access opozori, da bodo morda izbrisani tudi zapisi v relaciji. Vendar če zapise izbrišete s poizvedbo za brisanje, Microsoft Access samodejno izbriše zapise iz tabel v relaciji, ne da bi prikazal opozorilo. Vrste združitevNa voljo so tri vrste združitev, in sicer:1. možnost določa notranje združevanje. Notranje združevanje je združitev, pri kateri so zapisi iz dveh tabel združeni v rezultate poizvedbe le, če vrednosti v združenih poljih izpolnjujejo določene pogoje. V poizvedbi je privzeta združitev notranje združevanje, ki izbere zapise le, če se vrednosti v združenih poljih ujemajo. 2. možnost določa levo zunanje združevanje. Levo zunanje združevanje je združitev, pri kateri so vsi zapisi z leve strani operacije LEFT JOIN v izjavi SQL poizvedbe dodani v rezultate poizvedbe, tudi če v združenih poljih iz tabele na desni strani ni ujemajočih se vrednosti. 3. možnost določa desno zunanje združevanje. Desno zunanje združevanje je združitev, pri kateri so vsi zapisi z desne strani operacije RIGHT JOIN v izjavi SQL poizvedbe dodani v rezultate poizvedbe, tudi če v združenih poljih iz tabele na levi strani ni ujemajočih se vrednosti. Lastnosti | Prevodi člankov
|


Nazaj na vrh








