5. TABULAS

5.6. Tabulu relācijas

4.6.1. Tabulu relāciju veidošana

Pieņemsim, ka ir atvērta datubāze, kas sastāv no trīs tabulām Klienti, Marsruti un Marsruti_info, starp kurām jāizveido relācijas.

1

Lai izveidotu relācijas starp tabulām:

  • lentes cilnes Database Tools lappuses grupā Relationships piespiež pogu 2. Atveras dokuments Relationships:
03
  • atver dialoglodziņu Show Table (ja tas nav redzams), konteksta Relationship Tools cilnes Design lappuses grupā Relationship piespiežot pogu 4;
5
  • ievieto dokumentā Relationships tabulas, starp kurām jāveido relācija, dialoglodziņā Show Table, lietojot kādu no paņēmieniem:
    • lieto dubultklikšķi uz tabulas nosaukuma;
    • izpilda šādas darbības:
      • atlasa tabulas, izpildot klikšķi uz katras tabulas, turot piespiestu taustiņu 3;
      • piespiež pogu 6;
      • piespiež pogu 7;
  • veido relāciju, piemēram:
20 Veidojamās relācijas tipu nosaka lietotne Access automātiski. Piemēram, ja veido relāciju starp divu tabulu primārās atslēgas laukiem, tiek izveidota vienviennozīmīga relacija. Ja veido relāciju starp vienas tabulu primārās atslēgas lauku un citas tabulas neprimārās atslēgas lauku (sauktu par ārējās atslēgas lauku), tiek izveidota viendaudznozīmīga relācija.
    • starp tabulu Marsruti un Marsruti_info primārās atslēgas laukiem Marsruta_ID (dokumentā Relationships jābūt ievietotām abām tabulām):
      • novieto peles rādītāju uz lauka, piemēram, Marsruta_ID tabulā Marsruti;
      • pārvelk lauku, turot piespiestu peles kreiso pogu, uz otras tabulas piesaistāmo lauku, piemēram, Marsruta_ID tabulā Marsruti_info:
06
      • atlaiž peles kreiso pogu.
Atveras dialoglodziņš Edit Relationships, kurā norādīts relācijas tips (Relationship Type: One-To-One):

7

    • starp tabulas Marsruti primārās atslēgas lauku Marsruta_ID un tabulas Klienti ārējās atslēgas lauku Marsruta_ID (lappusē Relationships jābūt ievietotām abām tabulām):
      • novieto peles rādītāju uz lauka, piemēram, Marsruta_ID tabulā Marsruti;
      • pārvelk lauku, turot piespiestu peles kreiso pogu, uz otras tabulas piesaistāmo lauku, piemēram, Marsruta_ID tabulā Klienti:
8
      • atlaiž peles kreiso pogu.

Atveras dialoglodziņš Edit Relationships, kurā norādīts relācijas tips (Relationship Type: One-To-Many):

09

Dialoglodziņā Edit Relationships var atzīmēt izvēles rūtiņu Enforce Referential Integrity (referentā integritāte). Referentā integritāte nozīmē, ka datubāzē tiks veikti drošības pasākumi attiecībā uz saistītajiem laukiem, un pievienojot vai izdzēšot vienas tabulas ierakstus, tiks ietekmēti saistītās tabulas ieraksti. Piemēram, nevarēs izdzēst maršrutu, kamēr uz to būs pieteicies kaut viens klients, kā arī nevarēs pievienot klientu neeksistējošam maršrutam (sk. 9.5.);

  • iestata referento integritāti, dialoglodziņā Edit Relationships atzīmējot izvēles rūtiņu Enforce Referential Integrity:
10
  • dialoglodziņā Edit Relationships piespiež pogu 11. Ja ir izveidotas relācijas un tām ir definēta referenciālā integritāte, tad dokuments Relationships izskatās šādi:
12
  • aizver dokumentu Relationships kādā no veidiem, piemēram:
    • darba lauka labajā augšējā stūrī piespiežot pogu 1 (Close);
    • cilnes 13 konteksta izvēlnē izvēloties komandu Close.

Atveras brīdinājuma dialoglodziņš, kurā tiek jautāts, vai saglabāt dokumenta Relationships izmaiņas:

14

  • piespiež brīdinājuma dialoglodziņā pogu 1.

4.6.2. Darbības ar relācijām

Lai veiktu darbības ar relācijām, atver dokumentu Relationships, piespiežot lentes cilnes Database Tools lappuses grupas Relationships pogu 2.

Lai rediģētu relāciju, piemēram, atceltu referento integritāti:

  • izpilda kādu no darbībām:
    • izpilda dubultklikšķi uz relācijas;
    • lieto komandu Edit Relationship relācijas konteksta izvēlnē:
15
  • dialoglodziņā Edit Relationships:
    • atsauc izvēles rūtiņas Enforce Referential Integrity atzīmēšanu, izpildot tajā klikšķi:
16
    • piespiež pogu ok.
Pēc referentās integritātes starp tabulām, piemēram, Marsruti un Klienti, atcelšanas relācijas izskats mainās.

17

Lai dzēstu relāciju starp tabulām:

  • izpilda kādu no darbībām, piemēram:
    • atlasa saiti, izpildot uz tās klikšķi (tā kļūst biezāka), un piespiež taustiņu del;
    • lieto komandu Delete relācijas konteksta izvēlnē:
18

Atveras brīdinājuma dialoglodziņš, kurā norādīts, ka atlasītā saistība tiks dzēsta neatgriezeniski (atcelt šo darbību nevarēs):

19

  • apstiprina dzēšanu, piespiežot brīdinājuma dialoglodziņā pogu 1.