Izmēģiniet!
Relāciju datu bāzes spēks slēpjas datu apvienošanā vairākās tabulās. Lai to izdarītu, vispirms starp tabulām ir jāizveido relācijas. Pēc tam izmantojiet programmu Access, lai apvienotu datus vaicājumos, formās un atskaitēs.
Lai skatītu visas esošās 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 tabulu relāciju, Access prasa pievienot tabulu vai vaicājumu. Lai varētu pievienot relāciju, ir nepieciešamas vismaz divas tabulas. Ideālā gadījumā vispirms jāizveido visas tabulas. Papildinformāciju skatiet rakstā Relāciju izveide, izmantojot uzmeklēšanas vedni , un Relāciju izveide, izmantojot relāciju rūti.
Informācija par relāciju skatu
Līnijas relāciju skatā norāda savienojumus starp tabulām. Tālāk esošajā attēlā kreisajā pusē esošā tabula ir vecāktabula. Labajā tabulā ir bērntabula. Līnija starp tiem savieno laukus (šajā gadījumā Pasūtījuma ID un Produkta ID), kas tiek izmantoti, lai saskaņotu datus.
Līnijas un simboli parāda, kā jūsu tabulas ir saistītas:
- Bieza savienojošā līnija nozīmē, ka tiek ieviesta attiecinošā datu integritāte. Tas ir labi. Tā nodrošina jūsu datu sinhronizāciju.
- Mūsu attēlā skaitlis 1 norāda, ka šajā tabulā var būt tikai viens atbilstošs ieraksts. Šeit redzamajā 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 tā pasūtījuma ID) var parādīties vairākas reizes, jo vienā pasūtījumā var būt iekļauti vairāki produkti.
Tabulu relāciju tipi
Starp tabulām ir trīs relāciju tipi:
- Viens pret vienu. Ja katrs vienums katrā tabulā parādās tikai vienu reizi. Piemēram, katram darbiniekam var būt tikai viena uzņēmuma automašīna, ko izmantot. Papildinformāciju skatiet sadaļā Relāciju viens pret vienu izveide.
- Viens pret daudziem. Ja viens vienums vienā tabulā var būt relācija ar vairākiem citas tabulas vienumiem. 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 visbiežāk sastopamajām relācijām starp tabulām pareizi noformē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 kādā no tabulām. Atgādinām, ka primārā atslēga ir unikāls identifikators (bieži vien skaitlisks) katram ierakstam. Lai parādītu, ka informācija divās dažādās tabulās ir saistīta, parasti relācija tiek izveidota, izmantojot primāro atslēgu no vienas tabulas.
Piemēram, šeit redzamajā relācijā katrai personai kontaktpersonu tabulā ir ID, kas ir primārā atslēga (to norāda atslēgas simbols tam blakus). Šis ID ir redzams arī tabulas Līdzekļi laukā Īpašnieks. Lai nosūtītu e-pastu ar līdzekli saistītai personai, iegūstiet vērtību laukā E-pasta adrese. Lai to izdarītu, meklējiet vērtību tabulas Līdzekļi laukā Īpašnieks un pēc tam meklējiet šo ID tabulā Kontaktpersonas. Skaitlis 1 savienojošās līnijas vienā galā 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ļiem.
Relācijas rediģēšana
Ja modificējat esošu datu bāzi vai veidojat datu bāzi no veidnes, varat rediģēt esošās relācijas atbilstoši savām vajadzībām.
Piezīme
Ja tabulas, ar kurām vēlaties strādāt, tiek izmantotas, vispirms tās jāaizver kopā ar visiem atvērtajiem objektiem, kuros tās tiek izmantotas.
Atlasiet Datu bāzes rīku>relācijas.
Atlasiet līniju, kas savieno divas saistītas tabulas.
Padoms
Ja neredzat nepieciešamo relāciju, cilnes Noformēšana grupā Relācijas atlasiet Visas relācijas.
Cilnē Noformējums atlasiet Rediģēt relācijas.
Tabula/vaicājums ir vecāktabula kreisajā pusē (šajā piemērā Klienti).
Saistītā tabula/vaicājums ir bērntabula (šajā piemērā Pasūtījumi).
Pat ja relāciju skatā tabulas nav redzamas šādā secībā, to novietojums dialoglodziņā norāda tās un relāciju savienojošās līnijas virzienu. Tas ir svarīgi, ja, piemēram, tā ir relācija viens pret daudziem, jo tas norāda, ka tabula kreisajā pusē ir viena (vecāktabula) un labās puses tabula ir daudzi (bērntabula).Lai mainītu laukus, kas savieno tabulas, atlasiet citu lauku zem katras parādītās tabulas. Šajā piemērā ID lauks tabulā Klienti izveido savienojumu ar lauku Klienta ID tabulā Pasūtījumi.
Mainiet veidu, kā Access sinhronizē datus starp tabulām.
Attiecinošās integritātes ieviešana Lai novērstu nederīgus datus un sinhronizētu atsauces visās tabulu relācijās, atlasiet šo opciju.
Piemēram, pieņemsim, ka starp tabulām Darbinieki un Darbinieku pabalsti ir relācija viens pret vienu. Ja darbinieks aiziet no uzņēmuma un jūs viņu noņemat no tabulas Darbinieki, tiek noņemts arī saistītais darbinieka ieraksts tabulā Darbinieku pabalsti.
Dažreiz attiecinošās integritātes ieviešana nav jēgas. Piemēram, pieņemsim, ka pastāv relācija viens pret daudziem starp Ekspeditori un Pasūtījumi. Jūs izdzēšat ekspeditoru, un šis ekspeditors tiek kartēts uz pasūtījumiem tabulā Pasūtījumi. Šie pasūtījumi kļūst par pamestajiem elementiem, kas nozīmē, ka tajos joprojām ir nosūtītāja ID, bet šis ID vairs nav derīgs, jo ieraksta, uz kuru tas veido atsauci, vairs nav.Ar atjaunināšanu saistītu lauku kaskadēšana Lai nodrošinātu saistīto lauku datu atjaunināšanu visās saistītajās tabulās, atlasiet šo iestatījumu.
Piemērs: jūs vienkārši vēlaties mainīt ekspeditora ID. Iestatot šo opciju, tiek nodrošināts, ka ekspeditora ID tiek atjaunināts ne tikai tabulā Piegādātājs, bet arī citās ar to saistītajās tabulās, kurās iekļauts arī ekspeditora ID, piemēram, tabulā Pasūtījumi.Ar dzēšanu saistītu ierakstu kaskadēšana Izvēle ir atkarīga no tā, vai dažās tabulās ir jāsaglabā ieraksti pat tad, ja tie var tikt izdzēsti no citām tabulām.
Piemēram, jūs izdzēšat kādu preču nosūtītāju. Ja šī opcija ir atzīmēta, programma Access dzēš visus ierakstus visās tabulās, kurās ir atsauces uz šo piegādātāja ID, tostarp visus pasūtījumus (tabulā Pasūtījumi), ko ir nosūtījis šis ekspeditors. Šo opciju var izvēlēties 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ā savienojuma uz ārējo, atlasiet pogu Savienojuma tips . Papildinformāciju skatiet sadaļā 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 izmantotas, vispirms tās jāaizver kopā ar visiem atvērtajiem objektiem, kuros tās tiek izmantotas.
Lai noņemtu tabulas relāciju:
Atlasiet Datu bāzes rīku>relācijas.
Atlasiet līniju, kas savieno divas saistītās tabulas.
Padoms
Ja neredzat nepieciešamo relāciju, cilnes Noformēšana grupā Relācijas atlasiet Visas relācijas.
Atlasiet taustiņu Delete. Ja parādās aicinājums apstiprināt, ka vēlaties dzēst relāciju, atlasiet Jā.
Piezīme
Noņemot relāciju, tiek noņemts arī attiecinošās integritātes atbalsts šai relācijai, ja tāds ir. Tādējādi programma Access vairs nenovērsīs izmaiņas, kuru rezultātā relācijas viens pret daudziem pusē daudzi rodas pamesto elementu ieraksti.