Izmēģiniet!
Relāciju datu bāzes iespējas ir datu apvienošana vairākās tabulās. Lai to izdarītu, vispirms jāizveido relācijas starp tabulām. Pēc tam ievietojiet programmu Access, lai apvienotu datus vaicājumos, formās un atskaitēs.
Lai skatītu visas datu bāzei definētās relācijas, atveriet Access veidni, dodieties uz cilni Datu bāzes rīki un atlasiet Relācijas.
Piezīme.: Ja atverat tukšu datu bāzi vai neesat definējis nevienu tabulas relāciju, programma Access piedāvā pievienot tabulu vai vaicājumu. Lai varētu pievienot relāciju, ir nepieciešamas vismaz divas tabulas. Ideālā gadījumā vispirms jūs veidojat visas savas tabulas. Papildinformāciju skatiet rakstā Relāciju izveide, izmantojot Uzmeklēšanas vedni un Relāciju izveide, izmantojot relāciju rūti.
Par relāciju skatu
Līnijas relāciju skatā norāda savienojumus starp tabulām. Tālāk redzamajā attēlā tabula kreisajā pusē ir vecāktabava. Tabula labajā pusē ir bērnelementu tabula. Rinda starp tiem savieno laukus (šajā gadījumā — Pasūtījuma ID un Produkta ID), kas tiek izmantoti, lai salīdzinātu datus.
Līnijas un simboli parāda, kā tabulas ir saistītas.
-
Bieza savienojuma līnija nozīmē, ka izmantojat attiecinošo datu integritāti. tas ir labi. Tā sinhronizē jūsu datus.
-
Mūsu attēlā cipars 1 norāda, ka šajā tabulā var būt tikai viens atbilstošs ieraksts. Šeit parādītajā tabulā Pasūtījumi katram pasūtījumam atbilst tikai viens ieraksts.
-
Simbols ∞ norāda, ka daudzi ieraksti var ietvert vienu un to pašu ID. Šeit parādītajā tabulā Pasūtījuma dati pasūtījums (norādīts ar pasūtījuma ID) var parādīties vairākas reizes, jo vienā un tajā pašā pasūtījumā var būt iekļauti vairāki produkti.
Tabulu relāciju tipi
Starp tabulām ir trīs tipu relācijas:
-
Viens pret vienu. Ja katrs vienums katrā tabulā tiek rādīts tikai vienreiz. Piemēram, katram darbiniekam var izmantot tikai vienu uzņēmuma automašīnu. Papildinformāciju skatiet rakstā Relāciju viens pret vienu izveide.
-
Viens pret daudziem. Ja vienam vienumam vienā tabulā var būt relācija ar vairākiem vienumiem citā tabulā. Piemēram, katrā pirkšanas pasūtījumā var būt iekļauti vairāki produkti.
-
Daudzi pret daudziem. Ja vienam vai vairākiem vienumiem vienā tabulā var būt relācija ar vienu vai vairākiem vienumiem citā tabulā. Piemēram, katram pasūtījumam var būt vairāki produkti, un katrs produkts var parādīties vairākos pasūtījumos. Papildinformāciju skatiet rakstā Relāciju daudzi pret daudziem izveide.
Relācijas Viens pret daudziem
Viena no biežāk lietotajām relācijām starp tabulām labi izstrādātās datu bāzēs ir relācija viens pret daudziem.
Relācijas starp tabulām parasti ir atkarīgas no primārās atslēgas vienā no tabulām. Atcerieties, ka primārā atslēga ir unikāls identifikators (bieži vien skaitlisks) katram ierakstam. Lai parādītu, ka ir saistīta informācija divās dažādās tabulās, parasti relācija tiek izveidota, izmantojot primārās atslēgas no vienas no tabulām.
Šajā tabulā parādītajā relācijā, piemēram, katrai personai tabulā Kontaktpersonas ir ID, kas ir primārā atslēga (ko norāda tai blakus ir atslēgas simbols). Šis ID tiek rādīts arī tabulas Līdzekļi laukā Īpašnieks. Lai sūtītu e-pasta ziņojumu personai, kas saistīta ar līdzekli, iegūstiet vērtību no lauka E-pasta adrese. Lai to izdarītu, meklējiet vērtību laukā Īpašnieks tabulā Līdzekļi un pēc tam meklējiet šo ID tabulā Kontaktpersonas. Skaitlis 1 vienā savienojošās līnijas beigās un ∞ simbols otrā galā norāda, ka šī ir relācija viens pret daudziem, tāpēc viena kontaktpersona var būt saistīta ar daudziem līdzekļa.
Relācijas rediģēšana
Ja modificējat esošu datu bāzi vai izveidojat datu bāzi no veidnes, varat rediģēt esošās relācijas, lai tās atbilstu jūsu vajadzībām.
Piezīme.: Ja tabulas, ar kurām vēlaties strādāt, tiek lietotas, tās vispirms ir jāaizver kopā ar atvērtajiem objektiem, kas tās izmanto.
-
Atlasiet Datu bāzes rīki > Relācijas.
-
Atlasiet līniju, kas savieno divas saistītas tabulas.
Padoms.: Ja neredzat relāciju, cilnes Noformējums grupā Relācijas atlasiet Visas relācijas.
-
Cilnē Noformējums atlasiet Rediģēt relācijas.
Tabula/vaicājums ir vecāktabava kreisajā pusē (šajā piemērā Klienti).
Saistītā tabula/vaicājums ir bērnelementu tabula (šajā piemērā Pasūtījumi).
Pat tad, ja tabulas skatā Relācijas nav redzamas šādā secībā, to novietojums dialoglodziņā norāda tās līnijas virzienu, kas tās savieno, un relāciju. Tas ir svarīgi, ja, piemēram, tā ir relācija viens pret daudziem, jo tā norāda, ka kreisajā pusē ir tabula (vecāktabava) un tabula labajā pusē ir to daudzi (bērnelementu tabula).
-
Lai mainītu laukus, kas savieno tabulas, atlasiet citu lauku zem katras parādītās tabulas. Šajā piemērā lauks ID tabulā Klienti izveido savienojumu ar lauku Klienta ID tabulā Pasūtījumi.
-
Mainiet veidu, kā Access sinhronizē jūsu datus starp tabulām.
Attiecinošās integritātes iespējošana
Lai nepieļautu nederīgus datus un nodrošinātu atsauču sinhronizāciju starp tabulu relācijām, atlasiet šo opciju.
Piemēram, pieņemsim, ka jums ir relācija viens pret vienu starp tabulām Darbinieki un Darbinieku priekšrocības. Ja darbinieks aiziet no uzņēmuma un noņemat to no tabulas Darbinieki, tiek noņemts arī saistītās darbinieka ieraksts tabulā Darbinieku priekšrocības.
Dažreiz attiecinošās integritātes uzspiešana nav saprotama. Piemēram, pieņemsim, ka esat relāciju viens pret daudziem starp Ekspeditori un Pasūtījumi. Jūs izdzēšat ekspediatoru, un šis ekspediators kartē pasūtījumus tabulā Pasūtījumi. Šie pasūtījumi kļūst par bāreņrindiem, kas nozīmē, ka tajos joprojām ir ietverts ekspeditāja ID, bet ŠIS ID vairs nav derīgs, jo ieraksta, uz kuru tas atsaucas, vairs nepastāv.
Kaskadēt ar atjaunināšanu saistītus laukus
Lai pārliecinātos, vai saistītajos laukos ir atjaunināti dati visās saistītajās tabulās, atlasiet šo opciju.
Piemēram, pieņemsim, ka vienkārši vēlaties mainīt ekspeditāja ID. Iestatot šo opciju, tiek nodrošināts, ka ekspediera ID tiek atjaunināts ne tikai tabulā Shipper, bet arī citās ar to saistītajās tabulās, kas ietver arī šo ekspediera ID, piemēram, tabulu Pasūtījumi.
Kaskadēt ar dzēšanu saistītus ierakstus
Izvēle to izvēlēties ir atkarīga no tā, vai vēlaties saglabāt ierakstus dažās tabulās pat tad, ja tie var tikt dzēsti no citām tabulām.
Piemēram, jūs izdzēšat ekspediatoru. Ja šī opcija ir atlasīta, Access dzēš visus ierakstus visās tabulās, kurās ir atsauce uz ekspeditāja ID, tostarp visus šī ekspediera nosūtītos pasūtījumus (tabulā Pasūtījumi). Atlasiet šo opciju tikai tad, ja esat pārliecināts, ka vēlaties dzēst pasūtījumu vēsturi.
-
Lai mainītu relāciju starp tabulām no iekšējās savienojuma uz ārējo savienojumu, atlasiet pogu Savienojuma tips. Papildinformāciju skatiet rakstā Vaicājumu izveide ar ārējiem savienojumiem.
Tabulas relācijas dzēšana
Piezīme.: Ja tabulas, ar kurām vēlaties strādāt, tiek lietotas, tās vispirms ir jāaizver kopā ar atvērtajiem objektiem, kas tās izmanto.
Tabulas relācijas noņemšana
-
Atlasiet Datu bāzes rīki > Relācijas.
-
Atlasiet līniju, kas savieno divas saistītās tabulas.
Padoms.: Ja neredzat relāciju, cilnes Noformējums grupā Relācijas atlasiet Visas relācijas.
-
Atlasiet taustiņu Delete. Ja tiek jautāts, vai vēlaties dzēst relāciju, atlasiet Jā.
Piezīme.: Noņemot relāciju, tiek noņemts arī attiecinošās integritātes atbalsts relācijai, ja tāds ir. Tādējādi programma Access vairs neliedz veikt izmaiņas, kas izraisa bāreņrindkopu ierakstus relācijas viens pret daudziem daudzo pusē.