Accesați schema de date schema bazei de date în acces

Acasă / Routere

Subiectul 2.3. Software de prezentare și programare de bază de birou

Subiectul 2.4. Sisteme de management al bazelor de date și sisteme expert

2.4.11. Baza de date de formare cu buton principal formular „Training_students” - Descărcare

SGBD și sisteme expert

2.4. Sisteme de management al bazelor de date și sisteme expert

2.4.3. Crearea unei baze de date (stabilirea legăturilor între tabele și completarea tabelelor)

2.4.3.2. Stabilirea relațiilor între tabele în Access DBMS

După realizarea structurii de tabele (Studenți, Grupe de studenți, Discipline, Progres) pentru entitățile din baza de date „Decanat” este necesar să se stabilească relații între tabele. Relațiile dintre tabelele din baza de date sunt utilizate atunci când se generează interogări, se dezvoltă formulare și se creează rapoarte.

Pentru a crea relații, trebuie să închideți toate tabelele și să selectați comanda „Schema de date” din meniul Instrumente, caseta de dialog activă „Adăugați tabel” va apărea pe fundalul ferestrei Schemei de date inactive.


Orez. unu.

În caseta de dialog Adăugarea tabelelor care apare, selectați numele tabelelor și faceți clic pe butonul Adăugare, în timp ce tabelele sunt adăugate în fereastra Schema de date. După ce toate tabelele apar în fereastra Schema de date, închideți fereastra Adăugare tabel făcând clic pe butonul stâng al mouse-ului pe butonul Închidere.



Orez. 2.

Următorul pas este să setați relații între tabele în fereastra Schema de date. Pentru a face acest lucru, în fereastra Schema de date, este necesar să trageți (mutați) câmpul GroupID din tabelul Grupuri în câmpul corespunzător din tabelul Studenți; în urma acestei operațiuni va apărea fereastra „Modificare relații”.

În caseta de dialog „Modificare relații” care apare, trebuie să activați casetele de selectare: „Asigurați integritatea datelor”, „Actualizarea în cascadă a câmpurilor aferente” și „Ștergerea în cascadă a înregistrărilor asociate”, asigurați-vă că tipul de relație este setat la unul -to-many și faceți clic pe butonul Creare.



Orez. 3.

Fereastra Schema de date afișează o relație unu-la-mulți între grupurile de studenți și tabelele studenți. În mod similar, trebuie să legați câmpurileStudentCode din tabelele Studenți și Progres, iar apoi câmpurileCode of Discipline din tabelele Progress și Disciplines. Ca rezultat, obținem Schema de date prezentată în figură.



Orez. patru.

După stabilirea relațiilor dintre tabele, fereastra Schema de date trebuie să fie închisă.

În continuare, trebuie să completați toate tabelele. Este recomandabil să începeți completarea tabelelor din tabelul Grupuri Studenți, deoarece câmpul ID grup din tabelul Studenți este folosit ca coloană de căutare pentru completarea câmpului corespunzător din tabelul Studenți.

2.4.3.3. Umplerea meselor

De asemenea, puteți începe să completați tabelele completând tabelul Studenți. În fereastra Bază de date, selectați tabelul dorit, apoi faceți clic pe butonul Deschidere.

Structura tabelului bazei de date în modul tabel va apărea pe ecran. Noul tabel constă dintr-un rând gol.


Orez. 5.

Umplerea se face prin înregistrări, adică. informațiile sunt introduse pentru întreaga linie. Câmpul contor este completat automat. După introducerea primei intrări, intrarea goală este mutată la sfârșitul tabelului. Trecerea la următorul câmp se realizează prin apăsarea tastei Tab. Orez. 9.

Accesul se aplică diverse metode deplasându-se în jurul mesei. Puteți trece de la înregistrare la înregistrare folosind: tastele cursor; butoanele din zona Înregistrare din partea de jos a tabelului în vizualizarea Foaie de date; comenzi Editare - Go.. Pentru a trece de la un câmp la altul (de la stânga la dreapta), utilizați tastele Tab și Enter, iar în direcția opusă Shift + Tab.

Căutarea datelor într-un tabel mare cu ajutorul butoanelor de navigare poate dura mult timp, așa că trebuie să utilizați comanda Editare - Găsiți pentru a găsi și înlocui datele din câmpuri. Se va deschide o casetă de dialog. În câmpul Eșantion al casetei de dialog de căutare, specificați obiectul pe care îl căutați și se efectuează căutarea. Pentru a înlocui datele din câmpuri, accesați fila Înlocuire.

După ce ai creat structura tabelelor, le-ai completat și ai stabilit relații între tabele, poți începe să construiești interogări.

O relație în Access vă ajută să combinați datele din două tabele diferite. Fiecare relație constă din câmpuri din două tabele cu datele corespunzătoare. De exemplu, este posibil să aveți un câmp ProductID într-un tabel Products și într-un tabel OrderDetails. Fiecare înregistrare din tabelul OrderDetails are un ProductID care corespunde unei înregistrări din tabelul Products cu același ProductID.

Când utilizați tabele înrudite într-o interogare, relația permite accesului să determine ce înregistrări din fiecare tabel să combine în setul de rezultate. O relație poate ajuta, de asemenea, la prevenirea lipsei datelor, împiedicând datele șterse să nu se sincronizeze, iar aceasta se numește integritate referențială.

Înainte de a lucra cu relații, asigurați-vă că înțelegeți conceptele de fundal. Pentru mai multe informații, consultați Ghidul pentru relațiile de tabel și Noțiuni introductive despre relațiile de tabel.

În acest articol

Prezentare generală

Într-o bază de date Access, creați o relație de tabel folosind una dintre următoarele metode:

    În fereastra Relații, adăugați tabelele pe care doriți să le asociați, apoi trageți câmpul pentru a le asocia de la un tabel la celălalt tabel.

    Trageți un câmp pe o foaie de date de tabel din Lista de câmpuri panou.

Când creați o relație între tabele, câmpurile comune nu sunt obligate să aibă aceleași nume, deși adesea este cazul. Câmpurile comune trebuie să aibă același tip de date. Dacă câmpul cheie primară este un câmp AutoNumber, totuși, câmpul cheie străină poate fi, de asemenea, un câmp Number dacă Dimensiunea campului proprietatea ambelor câmpuri este aceeași. De exemplu, puteți potrivi un câmp AutoNumber și un câmp Number dacă Dimensiunea campului proprietatea ambelor câmpuri este Long Integer. Când ambele câmpuri comune sunt câmpuri Număr, ele trebuie să aibă același Dimensiunea campului setarea proprietății.

Creați o relație de tabel utilizând fereastra Relații

Creați o relație de tabel utilizând panoul Listă câmpuri pentru a adăuga un câmp

Puteți adăuga un câmp la un tabel existent care este deschis în vizualizarea Foaie de date trăgându-l din Lista de câmpuri panou. The Lista de câmpuri panoul arată câmpurile disponibile în tabelele asociate și, de asemenea, câmpurile disponibile în alte tabele din baza de date.

Lista de câmpuri panoul și tabelul în care ați tras câmpul. Această relație, creată de Access, nu impune integritatea referențială în mod implicit. Pentru a impune integritatea referenţială, trebuie să editaţi relaţia. Consultați secțiunea pentru mai multe informații.

Deschideți un tabel în vizualizarea Foaie de date

    În panoul de navigare, faceți dublu clic pe tabel.

Deschideți panoul Listă câmpuri

The Lista de câmpuri panoul arată toate celelalte tabele din baza de date, grupate în categorii. Când lucrați cu un tabel în vizualizarea Foaie de date, Access afișează câmpuri în oricare dintre cele două categorii din Lista de câmpuri panou: Câmpuri disponibile în tabelele aferenteși. Prima categorie listează toate tabelele care au o relație cu tabelul cu care lucrați în prezent. A doua categorie listează toate tabelele cu care tabelul dvs. nu are o relație.

În Lista de câmpuri panoul, când faceți clic pe semnul plus ( + ) lângă numele unui tabel, vedeți o listă cu toate câmpurile disponibile în acel tabel. Pentru a adăuga un câmp la tabel, trageți câmpul pe care îl doriți din Lista de câmpuri panoul la tabel în vizualizarea Foaie de date.

Adăugați un câmp și creați o relație din panoul Listă câmpuri

    Cu tabelul deschis în vizualizarea Foaie de date, apăsați ALT+F8. The Lista de câmpuri apare pan.

    Sub Câmpuri disponibile în alte tabele, faceți clic pe semnul plus ( + ) lângă numele unui tabel pentru a afișa lista de câmpuri din acel tabel.

    Trageți câmpul dorit din Lista de câmpuri panoul la tabelul care este deschis în vizualizarea Foaie de date.

    Când apare linia de inserare, plasați câmpul în poziție.

    The Expertul de căutareîncepe.

    Urmați instrucțiunile pentru a finaliza Expertul de căutare.

    Câmpul apare în tabel în vizualizarea Foaie de date.

Când glisați un câmp dintr-un tabel „altul” (fără legătură) și apoi finalizați Expertul de căutare, se creează automat o nouă relație unu-la-mulți între tabelul din Lista de câmpuriși tabelul în care ați tras câmpul. Această relație, creată de Access, nu impune integritatea referențială în mod implicit. Pentru a impune integritatea referenţială, trebuie să editaţi relaţia. Consultați secțiunea pentru mai multe informații.

Editați o relație

Schimbați o relație selectând-o în fereastra Relații și apoi editând-o.

    Poziționați cu atenție cursorul astfel încât să indice linia de relație, apoi faceți clic pe linie pentru a o selecta.

    Linia de relație pare mai groasă când este selectată.

    Cu linia de relație selectată, faceți dublu clic pe ea.

    Pe proiecta fila, în Instrumente grup, dați clic Editați relațiile.

Editarea relațiilor apare caseta de dialog.

Deschide caseta de dialog Editare relații

Setați tipul de alăturare

Când definiți o relație de tabel, faptele despre relație informează designul interogărilor dvs. De exemplu, dacă definiți o relație între două tabele și apoi creați o interogare care utilizează cele două tabele, Access selectează automat câmpurile de potrivire implicite pe baza câmpurilor specificate în relație. Puteți suprascrie aceste valori implicite inițiale în interogarea dvs., dar valorile furnizate de relație se vor dovedi adesea a fi cele corecte. Deoarece potrivirea și reunirea datelor din mai mult de un tabel este ceva pe care îl veți face frecvent în toate bazele de date, cu excepția celor mai simple, stabilirea setărilor implicite prin crearea de relații poate economisi timp și poate fi benefică.

O interogare cu mai multe tabele combină informații din mai mult de un tabel prin potrivirea valorilor din câmpurile comune. Operația care face potrivirea și combinarea se numește unire. De exemplu, să presupunem că doriți să afișați comenzile clienților. Creați o interogare care unește tabelul Clienți și tabelul Comenzi din câmpul ID client. Rezultatul interogării conține informații despre clienți și informații despre comandă numai pentru acele rânduri în care a fost găsită o potrivire corespunzătoare.

Una dintre valorile pe care le puteți specifica pentru fiecare relație este tipul de îmbinare. Tipul de unire îi spune Access ce înregistrări să includă într-un rezultat al unei interogări. De exemplu, luați în considerare din nou o interogare care unește tabelul Clienți și tabelul Comenzi în câmpurile comune care reprezintă ID-ul clientului. Folosind tipul de îmbinare implicit (numit îmbinare interioară), interogarea returnează numai rândurile Client și rândurile Comanda unde câmpurile comune (numite și câmpurile îmbinate) sunt egale.

Totuși, să presupunem că doriți să includeți toți Clienții - chiar și pe cei care nu au plasat încă nicio comandă. Pentru a realiza acest lucru, trebuie să schimbați tipul de îmbinare de la o îmbinare interioară la ceea ce este cunoscut sub numele de îmbinare exterioară stângă. O îmbinare exterioară stângă returnează toate rândurile din tabelul din partea stângă a relației și numai pe cele care se potrivesc în tabelul din dreapta. O îmbinare exterioară dreaptă returnează toate rândurile din dreapta și numai pe cele care se potrivesc din stânga.

Notă:În acest caz, „stânga” și „dreapta” se referă la poziția tabelelor în Editați relațiile caseta de dialog, nu fereastra Relații.

Ar trebui să vă gândiți la rezultatul pe care îl veți dori cel mai adesea de la o interogare care unește tabelele din această relație și apoi să setați tipul de îmbinare în consecință.

Setați tipul de alăturare

    În Editați relațiile caseta de dialog, faceți clic Tip de alăturare.

    The Proprietăți alăturați-vă apare caseta de dialog.

    Faceți clic pe alegerea dvs., apoi faceți clic O.K.

Următorul tabel (folosind tabelele Clienți și Comenzi) arată cele trei opțiuni care sunt afișate în Dialog Proprietăți alăturare caseta, tipul de îmbinare pe care îl folosesc și dacă toate rândurile sau rândurile care se potrivesc sunt returnate pentru fiecare tabel.

1. Includeți numai rânduri în care câmpurile unite din ambele tabele sunt egale.

2. Includeți TOATE înregistrările de la „Clienți” și numai acele înregistrări din „Comenzi” în care câmpurile unite sunt egale.

3. Includeți TOATE înregistrările din „Comenzi” și numai acele înregistrări din „Clienți” în care câmpurile unite sunt egale.

Îmbinare exterioară dreaptă

Când alegeți opțiunea 2 sau opțiunea 3, pe linia de relație este afișată o săgeată. Această săgeată indică partea relației care arată doar rândurile care se potrivesc.

Efectuați modificări în caseta de dialog Proprietăți alăturare

Aplicați integritatea referențială

Scopul integrității referențiale este de a preveni înregistrările orfane – înregistrări care fac referire la alte înregistrări care nu mai există. Implementați integritatea referențială activând-o pentru o relație de tabel. Odată aplicat, Access respinge orice operație care ar încălca integritatea referențială pentru acea relație de tabel. Aceasta înseamnă că Access va respinge atât actualizările care schimbă ținta unei referințe, cât și ștergerile care elimină ținta unei referințe. Pentru ca Access să propage actualizările și ștergerile referențiale, astfel încât toate rândurile aferente să fie modificate în consecință, consultați secțiunea.

Activați sau dezactivați integritatea referențială

    Pe Instrumente de bază de date fila, în Relații grup, dați clic Relații.

    Pe proiecta fila, în Relații grup, dați clic Toate Relațiile.

    Ascuns caseta de selectare din tabel Proprietăți Opțiuni de navigare căsuță de dialog.

    Faceți dublu clic pe linia relației. The Editați relațiile apare caseta de dialog.

    Selectați sau ștergeți.

    O.K.

Dacă aplicați integritatea referențială, se aplică următoarele reguli:

    Nu puteți introduce o valoare în câmpul cheie străină al unui tabel asociat dacă acea valoare nu există în câmpul cheie primară al tabelului primar - în acest fel se creează înregistrări orfane.

    Nu puteți șterge o înregistrare dintr-un tabel primar dacă există înregistrări care se potrivesc într-un tabel asociat. De exemplu, nu puteți șterge o înregistrare de angajat din tabelul Angajați dacă există comenzi atribuite acelui angajat în tabelul Comenzi. Cu toate acestea, puteți alege să ștergeți o înregistrare principală și toate înregistrările aferente într-o singură operațiune prin bifarea casetei de selectare.

    Nu puteți modifica o valoare a cheii primare din tabelul primar dacă acest lucru ar crea înregistrări orfane. De exemplu, nu puteți modifica un număr de comandă în tabelul Comenzi dacă există elemente rând atribuite acelei comenzi în tabelul Detalii comandă. Cu toate acestea, puteți alege să actualizați o înregistrare principală și toate înregistrările asociate într-o singură operațiune prin bifarea casetei de selectare Cascade Update Related Fields.

    Note: Dacă întâmpinați dificultăți la activarea integrității referențiale, rețineți că sunt necesare următoarele condiții pentru a aplica integritatea referențială:

    • Câmpul comun din tabelul primar trebuie să fie o cheie primară sau să aibă un index unic.

      Câmpurile comune trebuie să aibă același tip de date. Singura excepție este că un câmp AutoNumber poate fi legat de un câmp Number care are a Dimensiunea campului setarea proprietății a întreg lung.

      Ambele tabele există în aceeași bază de date Access. Integritatea referenţială nu poate fi impusă pe tabelele legate. Cu toate acestea, dacă tabelele sursă sunt în format Access, puteți deschide baza de date în care sunt stocate și puteți activa integritatea referențială în acea bază de date.

Setați opțiunile în cascadă

S-ar putea să întâmpinați o situație în care aveți o nevoie validă de a schimba valoarea pe „una” parte a unei relații. Într-un astfel de caz, aveți nevoie de Access pentru a actualiza automat toate rândurile afectate, ca parte a unei singure operațiuni. În acest fel, actualizarea este completă, astfel încât baza de date să nu fie lăsată într-o stare inconsecventă - cu unele rânduri actualizate și altele nu. Accesul vă ajută să evitați această problemă prin acceptarea opțiunii Cascade Update Related Fields. Când impuneți integritatea referențială și alegeți opțiunea Cascade Update Related Fields și apoi actualizați o cheie primară, Access actualizează automat toate câmpurile care fac referire la cheia primară.

De asemenea, ar putea fi necesar să ștergeți un rând și toate înregistrările aferente - de exemplu, o înregistrare a expeditorului și toate comenzile aferente pentru acel expeditor. Din acest motiv, Access acceptă opțiunea Cascade Delete Related Records. Când aplicați integritatea referențială și selectați Cascade Șterge înregistrările asociate caseta de selectare, Access șterge automat toate înregistrările care fac referire la cheia primară atunci când ștergeți înregistrarea care conține cheia primară.

Activați sau dezactivați actualizarea în cascadă și/sau ștergerea în cascadă

    Pe Instrumente de bază de date fila, în Relații grup, dați clic Relații.

    Pe proiecta fila, în Relații grup, dați clic Toate Relațiile.

    Sunt afișate toate tabelele cu relații, afișând linii de relații. Rețineți că tabele ascunse (mesele pentru care Ascuns caseta de selectare din tabel Proprietăți caseta de dialog este selectată) și relațiile lor nu vor fi afișate decât dacă este selectat Afișare obiecte ascunse în Opțiuni de navigare căsuță de dialog.

    Faceți clic pe linia relației pentru relația pe care doriți să o modificați. Linia de relație pare mai groasă când este selectată.

    Faceți dublu clic pe linia relației.

    The Editați relațiile apare caseta de dialog.

    Selectează Implementați integritatea referențială Caseta de bifat.

    Selectați fie sau Cascade Șterge înregistrările asociate casetă de selectare sau selectați ambele.

    Faceți orice modificări suplimentare în relație, apoi faceți clic O.K.

Notă: Dacă cheia primară este un câmp AutoNumber, selectând Câmpuri legate de actualizarea în cascadă caseta de selectare nu va avea niciun efect, deoarece nu puteți modifica valoarea într-un câmp AutoNumber.

Ștergeți o relație de tabel

Important: Când eliminați o relație, eliminați și suportul pentru integritatea referențială pentru acea relație, dacă este activat. Drept urmare, Access nu va mai împiedica automat crearea de înregistrări orfane pe partea „multe” a unei relații.

Pentru a elimina o relație de tabel, trebuie să ștergeți linia de relație din fereastra Relații. Poziționați cursorul astfel încât să indice linia de relație, apoi faceți clic pe linie. Linia de relație pare mai groasă când este selectată. Cu linia de relație selectată, apăsați DELETE.

    Pe Instrumente de bază de date fila, în Relații grup, dați clic Relații.

    Pe proiecta fila, în Relații grup, dați clic Toate Relațiile.

    Sunt afișate toate tabelele cu relații, afișând linii de relații. Rețineți că tabele ascunse (mesele pentru care Ascuns caseta de selectare din tabel Proprietăți caseta de dialog este selectată) și relațiile lor nu vor fi afișate decât dacă este selectat Afișare obiecte ascunse în Opțiuni de navigare căsuță de dialog.

    Faceți clic pe linia de relație pentru relația pe care doriți să o ștergeți. Linia de relație pare mai groasă când este selectată.

    Apăsați tasta DELETE.

    Accesul poate afișa mesajul Sigur doriți să ștergeți definitiv relația selectată din baza dvs. de date?. Dacă apare acest mesaj de confirmare, faceți clic pe da.

Notă: Dacă oricare dintre tabele este folosit în relația tabelă este în uz - poate de către o altă persoană sau proces, sau într-un obiect de bază de date deschis, cum ar fi un formular - nu veți putea șterge relația. Trebuie să închideți orice obiect deschis care utilizează aceste tabele înainte de a încerca să eliminați relația.

Creați, editați sau ștergeți o relație într-o aplicație web Access

Există diferențe importante atunci când lucrați cu relații într-o aplicație web Access.

Creați o relație

Fereastra Relații nu este disponibilă într-o aplicație web Access. În loc să creați o relație într-o aplicație web Access, creați un câmp de căutare care primește valori dintr-un câmp asociat dintr-un alt tabel. De exemplu, să presupunem că aveți o Tabelul de angajați și doriți să adăugați o căutare la un tabel de regiuni, astfel încât să puteți arăta în ce regiune lucrează fiecare angajat.

Notă: Câmpul pe care căutarea dvs. îl va folosi ca sursă pentru valori trebuie să existe deja înainte de a vă crea câmpul de căutare.

Iată cum creați un câmp de căutare într-o aplicație web Access:

Editați o relație

Fereastra Relații nu este disponibilă într-o aplicație web Access. Utilizați un câmp dintr-un tabel ca sursă (câmp de căutare) pentru valorile din câmpul aferent dintr-un alt tabel.

Șterge o relație

Fereastra Relații nu este disponibilă într-o aplicație web Access. Utilizați un câmp dintr-un tabel ca sursă (câmp de căutare) pentru valorile din câmpul aferent dintr-un alt tabel. Pentru a șterge o relație între două tabele dintr-un Accesați aplicația web, trebuie să ștergeți câmpul de căutare și datele asociate acestuia.

Creați sau modificați o relație într-o bază de date web Access 2010

Pentru a crea o relație într-o bază de date web Access 2010, utilizați Expertul de căutare. Fereastra Relații nu este disponibilă într-o bază de date web. Utilizați un câmp dintr-un tabel ca sursă pentru valorile din câmpul aferent dintr-un alt tabel.

Notă: Câmpul pe care îl utilizați ca sursă pentru valori trebuie să existe deja înainte de a putea utiliza Expertul de căutare.

Creați o relație într-o bază de date web Access 2010 utilizând Expertul de căutare

    Deschideți tabelul care ar trebui să-și obțină valorile din celălalt tabel.

    În dreapta ultimului câmp, faceți clic Faceți clic pentru a adăuga, apoi faceți clic Căutare și relație.

    Notă: Poate fi necesar să derulați pe orizontală pentru a vedea Faceți clic pentru a adăuga.

    Pe primul ecran al Expertului de căutare, selectați Vreau ca câmpul de căutare să obțină valorile dintr-un alt tabel, apoi faceți clic Următorul.

    Selectați tabelul care conține valorile sursă, apoi faceți clic Următorul.

    În Câmpuri disponibile casetă, faceți dublu clic pe câmpul care are valorile sursă, apoi faceți clic Următorul.

    Opțional, specificați o ordine de sortare pentru câmpul de căutare. Clic Următorul.

    Opțional, ajustați lățimea câmpului de căutare - o idee bună dacă valorile sunt lungi. Clic Următorul.

    Introduceți un nume pentru noul câmp. Dacă doriți să vă asigurați că valorile din cele două tabele se potrivesc întotdeauna, selectați Activați integritatea datelor casetă de selectare, apoi faceți clic pe una dintre următoarele:

    • Ștergere în cascadă– această opțiune înseamnă că dacă ștergeți o înregistrare dintr-un tabel, înregistrările corespunzătoare din celălalt tabel sunt și ele șterse.

      Restricționează ștergerea– această opțiune înseamnă că dacă încercați să ștergeți o înregistrare dintr-un tabel, dar există o înregistrare corespunzătoare în celălalt tabel, operația de ștergere nu este permisă.

      Notă: Nu selectați Permite valori multipleîn Expertul de căutare atunci când utilizați expertul pentru a crea o relație.

Modificați o relație într-o bază de date web Access 2010

    Deschideți tabelul care își primește valorile dintr-un alt tabel.

    Selectați câmpul care își primește valorile dintr-un alt tabel.

    Pe Câmpuri fila, în Proprietăți grup, dați clic Modificați căutări.

    Urmați pașii din expert pentru a face modificările dorite. Puteți modifica următoarele:

    • Câmpul care este sursa valorilor

      Ordinea de sortare a valorilor

      Lățimea câmpului și dacă se ascunde coloana cheie

      Eticheta pentru câmpul de căutare

      Dacă integritatea datelor este activată

      Dacă integritatea datelor este activată, indiferent dacă ștergerile sunt în cascadă sau restricționate

După crearea tuturor tabelelor bazei de date, rămâne să stabilim relații între ele. Pentru asta ai nevoie de:

1. Faceți clic pe fila „Tabele” din fereastra bazei de date.

2. În meniu Serviciu selectați elementul Schema de date...

3. Pe fereastră Schema de date adăugați toate tabelele aferente. Pentru a face acest lucru, deschideți meniul Conexiuni și selectați elementul Adăugați un tabel... sau faceți clic pe butonul din bara de instrumente. În fereastra care apare Adăugarea unui tabel evidențiați cu mouse-ul numele tabelului dorit și faceți clic pe butonul Adăuga (Fig. 1).

Orez. 1. Adăugarea unui tabel la fereastră Schema de date .

După aceea, în fereastră va apărea aspectul tabelului corespunzător Schema de date. După ce am terminat de adăugat toate tabelele necesare la fereastră Sistem datele trebuie să închidă fereastra Adăugarea unui tabel buton închide .

4. Aspecte de tabel în fereastră Schema de date poziționați cu mouse-ul după cum este necesar utilizând metoda drag and drop. Personalizați dimensiunea aspectului tabelului întinzându-le cu mouse-ul.

5. Pentru a stabili o relație între două tabele:

A) Faceți clic pe cheia primară a tabelului din partea „1” a relației.

b) Clic butonul din stanga mouse-ul și, fără a-l elibera, mutați câmpul cheie primară în tabelul subordonat (în timpul transferului, indicatorul mouse-ului își schimbă aspectul).

în) Eliberați butonul stâng al mouse-ului peste cheia externă a tabelului subordonat.

6. În fereastra care apare Schimbați linkurile se vor evidenţia numele câmpurilor prin care sunt legate tabelele. Punct de remarcat Asigurarea integrității datelor . În același timp, Access va face imposibilă scrierea în tabelul subordonat a unei astfel de valori a câmpului comun care nu se află în tabelul principal (Fig. 2) .

Orez. 2. Stabilirea legăturilor între tabele.

După setarea integrității datelor, sunt activate două opțiuni suplimentare Câmpuri legate de actualizare în cascadă și Ștergerea în cascadă a câmpurilor asociate . Prima opțiune vă permite să o modificați automat în toate tabelele subordonate atunci când actualizați orice valoare a câmpului cheie din tabelul principal. A doua opțiune funcționează în mod similar - ștergerea înregistrărilor din tabelele subordonate corespunzătoare cheii de la distanță a tabelului principal. După ce ați verificat toate aceste elemente, trebuie să faceți clic pe butonul de creare.

La fereastră Schema de date se stabileşte o legătură între tabele sub forma unei linii marcate. Pentru a șterge o conexiune, selectați-o cu mouse-ul (linia devine aldine) și apăsați butonul Șterge pe tastatură.

7. Repetați pașii 5-6 pentru a stabili toate conexiunile.

8. Închideți o fereastră Schema de date , raspunzand " da » solicitat de către sistem să salveze modificarea aspectului schemei de date.

Pentru acest exemplu, să urmăm procedura descrisă mai sus pentru a stabili toate relațiile modelului de date. Schema de date construită în acest caz va corespunde exact cu Fig. 3.

Cometariu. Când construiți o schemă de date, tabelele ar trebui să fie gol.

Orez. 3. Schema de date a exemplului considerat.


Cursul 6

Găsirea informațiilor în tabelele bazei de date

Sortarea informațiilor în tabele

Pentru comoditatea vizualizării, puteți sorta înregistrările dintr-un tabel într-o anumită secvență, de exemplu, într-un tabel Cauciucuriînregistrările pot fi sortate în ordinea descrescătoare a razei sale. Butoanele de sortare din bara de instrumente (lanțuri de comenzi de meniu Intrări - Sortare - Sortare ascendentă sau Sortare descendentă) vă permit să sortați coloanele în ordine crescătoare sau descrescătoare. Înainte de a face clic pe butonul de sortare, trebuie să selectați câmpurile care vor fi folosite pentru sortare. Pentru a selecta un câmp, plasați pur și simplu cursorul în oricare dintre înregistrările acestuia. Apoi faceți clic pe butonul de sortare și datele vor fi afișate în ordine sortată.

Orez. 1. Sortați tabelul Obosi pe teren Rază

În vizualizarea Foaie de date, puteți selecta două sau mai multe coloane adiacente simultan și apoi puteți sorta după ele. În mod implicit, Access sortează înregistrările din coloana selectată din stânga. În acest caz, înregistrările tabelului vor fi sortate mai întâi după coloana din stânga selectată, apoi (pentru aceleași valori în prima coloană sortată) - după a doua și așa mai departe. Dacă este necesară restabilirea ordinii de afișare a înregistrărilor, se utilizează un lanț de comenzi Intrări - Eliminați filtrul .

Filtre

Când lucrați cu un tabel online, puteți seta un filtru, de ex. setați o expresie logică care va permite afișarea numai acelor înregistrări pentru care această expresie este adevărată.

Există trei tipuri de filtrare a datelor în Access:

filtru obișnuit-folosit pentru a selecta valorile dorite din listă fără a vizualiza toate înregistrările din tabel sau formular, sau când se specifică mai multe condiții de selecție în același timp (criteriul de selecție se formează cu ajutorul operatorului logic Sau ).

Pentru a efectua filtrarea datelor, trebuie să deschideți tabelul și apoi în meniul din meniu Intrări activați comanda Filtru , iar în submeniul care se deschide, comanda Schimbați filtrul . Apoi, în fereastra de creare a filtrului, în câmpul obligatoriu, este indicat criteriul de selecție a informațiilor (Fig. 2).

Baza de date relațională, creată în conformitate cu proiectul modelului de date canonice al domeniului de studiu, constă din tabele normalizate conectate prin relații unu-la-mulți. O astfel de bază de date asigură absența duplicării datelor descriptive, introducerea lor unică, menținând integritatea datelor prin intermediul sistemului. Legăturile dintre tabele vă permit să combinați date din tabele diferite, ceea ce este necesar pentru rezolvarea majorității problemelor de introducere, vizualizare și corectare a datelor, obținerea de informații despre interogări și emiterea de rapoarte.

Legăturile dintre tabele sunt stabilite în conformitate cu proiectarea structurii logice a bazei de date și sunt stocate în schema de date Access. Schema de date din Access nu este doar un instrument afișaj grafic structura logică a bazei de date, este utilizată activ de către sistem în procesul de prelucrare a datelor. Crearea unei scheme de date face posibilă simplificarea proiectării formularelor, interogărilor, rapoartelor cu mai multe tabele, precum și asigurarea integrității datelor interconectate la introducerea și corectarea datelor în tabele.

Creați o schemă de date

Crearea unei scheme de date începe cu executarea comenzii Schema de date(Relații) într-un grup Relaţii(Relații) pe fila panglică Lucrul cu baze de date(Instrumente pentru baze de date). Ca rezultat al executării acestei comenzi, fereastra schema de date și caseta de dialog Adăugarea unui tabel(Show Table), în care se realizează selecția tabelelor incluse în schemă (vezi Fig. 3.48). Fereastra de dialog Adăugarea unui tabel se deschide automat dacă nu a fost încă definită nicio relație în baza de date. Dacă fereastra nu se deschide, pe panglică Lucrul cu conexiuni | Constructor(Instrumente de relație | Design) în grup Conexiuni(Relații) faceți clic Tabel de afișare(Afișați tabelul).

Includerea tabelelor în schema de date

La fereastră Adăugarea unui tabel(Afișare tabel) (Fig. 3.48) afișează toate tabelele și interogările conținute în baza de date. Să selectăm o filă Mese(Tabele) și cu un buton Adăuga(Adaugă) loc în fereastră Schema de date(Relații) toate tabelele create anterior în baza de date aprovizionare cu bunuri afișată în fereastră Adăugarea unui tabel(Afișați tabelul). Apoi apăsați butonul închide(Închide). Drept urmare, în fereastră Schema de date Tabelele bazei de date (Relații) vor fi reprezentate prin ferestre cu liste ale câmpurilor și cheilor lor evidențiate cu caractere aldine (vezi Figura 3.52).

Crearea de relații între tabelele cu scheme de date

Când se creează relații într-o schemă de date, se utilizează o structură logică a bazei de date relaționale, care arată toate relațiile de tabel unu-la-multiplu. Relațiile sunt implementate prin adăugarea de câmpuri comune la tabelele înrudite, numite cheie de comunicare. În cazul relațiilor cu valori unu-la-mai multe dintre tabele, cheia relației este cheia tabelului principal (simplu sau compus). Într-un subtabel, poate face parte dintr-o cheie unică sau poate să nu facă parte deloc din cheia tabelului. Relațiile unu-la-mulți sunt fundamentale în bazele de date relaționale. Relațiile unu-la-unu sunt utilizate, de regulă, atunci când este necesar să se distribuie un număr mare de câmpuri definite de aceeași cheie în tabele diferite cu reguli de întreținere diferite.

Crearea de relații cu o cheie simplă

Să stabilim o relație între tabelele CUMPĂRĂTOR și CONTRACT, care sunt într-o relație unu-la-mulți. Stabilind legături între o pereche de tabele care au legătură cu tipul 1: M, selectăm în tabelul principal CUMPĂRĂTOR câmpul cheie POK_CODE, prin care se stabilește legătura. Mai departe, cu butonul mouse-ului apăsat, trageți-l în câmpul corespunzător din tabelul subordonat ACORD.

Deoarece câmpul de legătură este o cheie unică în tabelul principal de legături și nu o cheie în tabelul secundar de legături, schema de date din Access dezvăluie o relație unu-la-mai multe între înregistrările din aceste tabele. Valoarea One-To-Many va fi afișată în fereastră Schimbați linkurile(Editați relații) în linie Tipul de relație(Tipul de relație) (Fig. 3.49).

COMETARIU
Dacă câmpul de legătură este o cheie unică în ambele tabele legate, schema de date din Access dezvăluie relația " unu la unu". Dacă se folosește un index unic în locul câmpului cheie al tabelului principal pentru a lega tabele, sistemul indică, de asemenea, relația dintre tabele ca 1:M sau 1:1.

Definirea relațiilor prin cheie compusă

Să definim legăturile dintre tabelele SHIPPING FACTURA, care sunt legate prin cheia compusă NOM_INCAL + CODE_SK. Pentru a face acest lucru, în tabelul principal FACTURA, selectați ambele câmpuri apăsând tasta , și trageți-le în subtabelul SHIPMENT.

La fereastră Schimbați linkurile(Editați relații) (Fig. 3.50) pentru fiecare câmp al cheii compuse din tabelul principal FACTURA numit Tabel/interogare(Tabel/Interogare), selectați câmpul corespunzător din tabelul subordonat EXPEDIERE numit Tabel/interogare înrudit(Tabel/Interogare înrudit).

Actualizare în cascadă și ștergere a înregistrărilor asociate

Dacă integritatea este menținută pentru relația selectată, puteți seta ștergerea în cascadă a înregistrărilor asociate și actualizarea în cascadă a câmpurilor asociate. Astfel de parametri fac posibilă în tabelul principal, respectiv, ștergerea înregistrărilor și modificarea valorii în câmpul cheie, deoarece cu acești parametri sistemul va efectua automat modificările necesare în tabelele subordonate, asigurându-se că proprietățile de integritate a bazei de date sunt păstrate.

La ștergerea în cascadă a înregistrărilor asociate, ștergerea unei înregistrări din tabelul principal va șterge automat toate înregistrările asociate din tabelele secundare. Ștergerea unei înregistrări dintr-un tabel principal conduce la ștergerea în cascadă a înregistrărilor subordonate la toate nivelurile dacă acest mod este setat la fiecare nivel.

În modul de actualizare în cascadă pentru câmpurile înrudite, atunci când modificați valoarea unui câmp cheie dintr-o înregistrare de tabel principal, Access modifică automat valorile din câmpul corespunzător din înregistrările copil.

Setați în fereastră Schimbați linkurile(Editare relații) (vezi Figura 3.49) casete de selectare actualizare în cascadă a câmpurilor aferente(Câmpuri legate de actualizarea în cascadă) și ștergerea în cascadă a înregistrărilor aferente(Cascade Delete Related Records) este posibil numai după setarea opțiunii de integritate a datelor.

După ce sunt create legăturile, imaginile de tabel pot fi mutate în spațiul de lucru al ferestrei cu schema de date. Mutarea și redimensionarea ferestrelor cu liste de câmpuri de tabel în fereastra schemei de date se realizează folosind metodele acceptate în Windows.

Rețineți că, dacă ștergerea în cascadă nu este activată, nu este posibilă ștergerea unei înregistrări din tabelul master dacă există înregistrări asociate în tabelul slave.
Urmăriți videoclipul:

Iată principalul lucru despre care am vrut să vorbim pe tema „Schema de date în acces”.

Există relații între tabelele bazei de date care vă permit să evitați redundanța în proiectare. Adică, nu introduceți aceleași valori în mai multe obiecte, ci creați doar unul și folosiți-l în altele, adăugând un link către cel principal din ele. În acest caz, este necesar să se respecte cerința de integritate a bazei de date.

Relații în baze de date

Ca exemplu, luați în considerare relațiile din baza de date a unei agenții de turism. Include un tabel de hoteluri din Thailanda - țara în care agenția de turism trimite oaspeții. Hotelurile sunt situate în diferite regiuni ale Regatului.

Dacă o companie lucrează cu hoteluri în doar câteva regiuni, iar în fiecare dintre regiuni există zeci sau sute de hoteluri, atunci completarea câmpului regiune pentru fiecare hotel de fiecare dată este o muncă goală. Prin urmare, în baza de date este creat un tabel separat care conține doar o listă de regiuni, iar la intrarea într-un hotel, utilizatorul îl selectează pur și simplu pe cel dorit din lista derulantă.

Prin analogie, a fost adăugată o listă de țări pentru o companie care lucrează cu mai multe state. Apoi, încă un câmp este adăugat la lista de regiuni - „Țara”, iar un director de țări este introdus în baza de date, ale căror nume sunt apoi selectate din listă.

Tabelele sunt legate într-un mod unu-la-mai multe. Aceasta înseamnă că o înregistrare din tabelul „Regiuni” apare de mai multe ori în tabelul „Hoteluri”. În plus, există tipuri multe-la-mulți și unu-la-unu. Dar acesta din urmă este rar folosit în practică. Mai jos vom vedea cum sunt indicate aceste tipuri pe schemele de date din Access.

Schema DB

În exemplul de mai sus, „Hotelurile” sunt asociate cu „Regiuni”, iar acestea, la rândul lor, sunt asociate cu „Țări”. Aceste informații, scrise în text, nu arată foarte clar conexiunile dintre obiecte. Și în baza noastră de date există doar trei tabele și pot fi sute. Este dificil pentru un dezvoltator să țină cont de toate conexiunile.

Ca ajutor, bazele de date creează scheme de date care arată vizual toate obiectele și relațiile dintre ele. În Access, schemele de date sunt create folosind un instrument special. Pentru baza noastră de date arată astfel:

Dreptunghiurile denotă tabele cu o listă de câmpuri, liniile dintre ele sunt legături. Pe linia de comunicație, la punctele de atașare la dreptunghiurile tabelelor, se fac desemnările: „1” și „∞”. Ele arată ce tip de conexiune se aplică în acest sens. Pictograma „1” de la tabelul sursă cu pictograma „∞” la destinație denotă o vizualizare unu-la-mai multe. Ambele link-uri din baza noastră de date sunt de acest tip.

În consecință, două unități de la cele două capete ale liniei indică o vedere unu-la-unu, iar două semne de infinit indică o vedere de la mulți la mulți.

Creați o schemă de date

Pentru a crea o schemă de date în Access, a fost adăugat un instrument la panoul „Lucrul cu bazele de date”. SGBD creează automat o schemă bazată pe tabelele și relațiile care există în baza de date. Diagrama de mai sus este generată de sistemul însuși. Utilizatorul poate face modificări la aspect. Unele dintre ele nu vor afecta structura bazei de date, ci doar afișarea informațiilor. Și unele vor duce la schimbări în structură.

În modul Design, este disponibilă operațiunea Clear Layout. Când rulează, ecranul cu schema de date din Access este șters, iar tabelele și relațiile sunt ascunse. Acest lucru nu înseamnă că ele dispar de la bază - pur și simplu nu apar în structura circuitului.

Operația „Ascunde tabelul” va efectua aceeași acțiune asupra obiectului selectat. Pur și simplu va dispărea de pe ecran împreună cu liniile sale de relație. Operația „Afișare tabel” va ajuta la returnarea tabelelor ascunse. Sunt selectate obiectele de adăugat la aspect. În același timp, legăturile cu acesta sunt afișate automat.

Crearea de relații între tabele

În exemplul nostru, relațiile dintre tabele erau deja definite la momentul creării. Să aruncăm o privire mai atentă la cum să facem acest lucru. După cum știm deja, „Hoteluri” conține câmpul „Regiune”, ale cărui date sunt preluate din tabelul cu același nume. Când adăugați o coloană Regiune, specificați tipul câmpului Căutare și relație.

Se deschide expertul pentru crearea unui câmp, în care selectăm opțiunea de obținere a valorilor celulelor de la un alt obiect. La al doilea pas al expertului, selectați obiectul din care vor fi înlocuite valorile. În cazul nostru, acesta este tabelul „Regiuni”. Din lista de câmpuri disponibile pentru afișare, avem nevoie de „Nume” - numele regiunilor vor fi afișate în tabelul hotelului. Dacă este necesar, setați ordinea de sortare a numelor și lățimea coloanei.

La ultimul pas, dăm un nume noului câmp și specificăm parametrul de integritate. Ne vom opri asupra ei mai detaliat mai jos. După ce faceți clic pe butonul „Finish”, coloana „Regiune” este adăugată la tabelul hotelului, valorile pentru aceasta sunt preluate din obiectul specificat.

Relația dintre tabelele de hoteluri și regiuni este acum prezentată în diagramă.

Schimbarea relației

Dacă relația nu este adăugată atunci când adăugați o coloană la un obiect, aceasta se face direct în aspectul schemei de date din Access. Cum să creați o nouă conexiune, vom arăta cu un exemplu. Faceți clic pe butonul Editați linkurile. În editarea relațiilor, pentru a crea o nouă relație, faceți clic pe Nou. În formularul „Creare”, selectați tabelele pentru conexiune și câmpurile care vor corespunde între ele.

Pentru o relație deja creată, este posibilă modificarea parametrilor pentru combinarea înregistrărilor în interogări. Pentru a face acest lucru, apelăm caseta de dialog a schemei de date MS Access „Schimba legăturile” și facem clic pe butonul „Combină”. În formularul de editare a parametrilor, sunt oferite opțiuni pentru îmbinări:

  • În primul caz, rezultatele interogării afișează doar acele rânduri în care se potrivesc câmpurile din tabelele „Hoteluri” și „Regiuni”.
  • În al doilea caz, toate rândurile de „Regiuni” și numai „Hoteluri” care se potrivesc sunt combinate.
  • În al treilea, situația este inversată la a doua - toate rândurile de „Hoteluri” sunt combinate cu „Regiuni” potrivite.

Lăsăm selecția automată a sistemului - prima opțiune.

Integritatea datelor DB

Relațiile dintre obiectele bazei de date din schema de date din Access ne aduc la conceptul de integritate a datelor. După cum se arată mai sus, atunci când se creează relații între câmpurile obiectelor de bază, este specificat parametrul de integritate. Dacă este activat, legăturile dintre obiecte sunt menținute și protejate de sistem.

Vom arăta acest lucru clar pe exemplul bazei unei companii de turism. În „Hoteluri”, hotelul cu numele Anantara Lawana Koh Samui Resort se referă la regiunea Koh Samui. Să presupunem că am eliminat această zonă din „Regiuni”. Câmpul se referă acum la o înregistrare care nu există. Aceasta este o încălcare a integrității.

La fel, dacă se setează cerința de integritate, nu vom putea selecta zona „Chiang Mai” în acest câmp, deoarece nu există în tabelul de regiuni.

Opțional, schemele bazei de date Access sunt aruncate într-un raport și trimise la o imprimantă, convertite într-un fișier sau trimise prin e-mail.

© 2022 ermake.ru -- Despre repararea PC-ului - Portal de informații