Niveluri și tipuri de modele de baze de date. Când lucrează cu o bază de date, utilizatorul final primește un mijloc convenabil de procesare a informațiilor precum interogările. o cerere este o instrucțiune de selectare a înregistrărilor. Ierarhie și relaționalitate

Orice bază de date reflectă informații despre un anumit domeniu. În funcție de nivelul de abstractizare la care este reprezentat un domeniu de problemă, există diferite niveluri de modele de date. Un model de date informaționale este o modalitate de a descrie informațiile conținute într-un domeniu. În cele ce urmează, vor fi luate în considerare modele de date structurate. Pentru aceste modele, există patru niveluri principale de modele: infologic (conceptual), datalogic sau logic, fizic și nivelul modelelor externe.

La primul nivel, descrierea domeniului subiectului este construită astfel încât să fie cât mai generală posibil, să nu depindă de caracteristicile SGBD selectate ulterior, iar informațiile sunt accesibile unei categorii largi de utilizatori: de la clienți la sistem. programatori care vor proiecta o bază de date pe baza acestui model. Pentru a face acest lucru, informațiile inițiale despre domeniul subiectului sunt analizate și prezentate într-o formă formalizată. Această descriere oficială a domeniului subiectului ar trebui să reflecte specificul acesteia și să fie utilizată în etapele următoare de proiectare a structurii bazei de date în contextul caracteristicilor DBMS-ului specific selectat. O astfel de descriere formalizată a domeniului subiectului se numește model infologic sau conceptual.

Apoi se construiește un model în ceea ce privește DBMS-ul specific selectat pentru proiectarea bazei de date. Acest nivel se numește model datalogic (logic). Descrierea structurii datalogice a unei baze de date în limba SGBD selectat se numește schema ei.

Următorul nivel este modelul de date fizice. În cadrul acestui model se determină metode de plasare fizică a datelor într-un mediu de stocare și se dezvoltă o așa-numită schemă de stocare a datelor. Deoarece diferite SGBD-uri au capacități și caracteristici diferite ale organizării fizice a datelor, modelarea fizică se realizează numai după dezvoltarea unui model de date.

O serie de SGBD-uri moderne au capacitatea de a descrie structura bazei de date din punctul de vedere al unui anumit utilizator. Această descriere se numește model extern. Pentru fiecare tip de utilizator, modelarea externă vă permite să dezvoltați o subschemă a bazei de date bazată pe nevoile diferitelor categorii de utilizatori. Această abordare este convenabilă din punctul de vedere al facilitării muncii utilizatorilor cu baza de date, deoarece utilizatorul poate, fără a ști despre întreaga structură a bazei de date, să lucreze numai cu acea parte a acesteia care este direct legată de el. În plus, mecanismul de creare a subschemelor servește ca mijloc suplimentar de protecție a informațiilor stocate în baza de date.

Astfel, dacă SGBD-ul acceptă capacitatea de a crea subscheme, atunci arhitectura bazei de date devine pe trei niveluri: nivel de schemă de stocare, nivel de schemă și nivel de subschemă.

Să luăm acum în considerare principalele tipuri de modele de date.

Modelul de baze de date ierarhice este unul dintre primele modele de baze de date. Acest lucru se datorează în primul rând faptului că tocmai acest model reflectă cel mai natural conexiuni multiple între obiectele lumii reale, atunci când un obiect acționează ca părinte, cu care sunt asociate un număr mare de obiecte subordonate.

Principiul modelului ierarhic al bazei de date este că toate conexiunile dintre date sunt descrise prin construirea unui grafic ordonat (arborele). Un arbore este ordonat conform unei ierarhii de seturi de elemente numite noduri. Toate nodurile sunt conectate între ele prin ramuri. În acest caz, pentru a descrie schema unei baze de date ierarhice, conceptul de „arbore” este utilizat ca tip de date specific. Acest tip de date este compus și poate include subtipuri sau subarbori. O bază de date este o colecție de arbori, fiecare dintre care în limbajul modelului ierarhic se numește bază de date fizică. Fiecare arbore constă dintr-un singur tip rădăcină (principal, părinte) și un set ordonat asociat de tipuri subordonate (copil). Un tip rădăcină este unul care are subtipuri și fără tipuri părinte. Tipurile de copii care au același tip de părinte se numesc gemeni. Fiecare dintre tipurile subordonate pentru un anumit tip de rădăcină poate fi un tip de „înregistrare” simplu sau compus.

Există trei tipuri de arbori - arbori echilibrați, dezechilibrati și binari. Într-un arbore echilibrat, fiecare nod are același număr de ramuri. Această organizare a datelor este cea mai simplă din punct de vedere fizic, dar adesea structura logică a datelor necesită un număr variabil de ramuri la fiecare nod, ceea ce corespunde unui arbore dezechilibrat. Arborii binari permit cel mult două ramuri pe nod.

Astfel, un model de bază de date ierarhică poate fi interpretat ca o colecție ordonată de instanțe arborescente, fiecare dintre acestea conținând instanțe de înregistrare. Conținutul real al bazei de date este stocat în câmpurile înregistrărilor. Un câmp de înregistrare este definit ca cea mai mică unitate de date indivizibilă.

Când construiți un model de bază de date ierarhică, trebuie să vă amintiți întotdeauna să susțineți integritatea relațiilor, ceea ce înseamnă că:

  • - există întotdeauna cel puțin un tip părinte, care poate avea un număr arbitrar de tipuri de copii;
  • - tipurile copil nu pot exista fără prezența unui tip părinte, iar pentru fiecare tip subordonat din baza de date există un singur nivel rădăcină;
  • - tipul rădăcină nu are neapărat tipuri subordonate.

Trebuie remarcat faptul că unele notații pot folosi o terminologie diferită. Astfel, în notația American Database Association DBTG (Data Base Task Group), termenul „înregistrare” corespunde termenului „segment”, iar o înregistrare este întregul set de înregistrări care aparțin unei instanțe a „arborescului” tip.

Principalul avantaj al modelului de baze de date ierarhice este viteza relativ mare de procesare a informațiilor la accesarea datelor. Dezavantajele includ greutatea sa în prezența unor conexiuni logice complexe între date.

Modelul bazei de date în rețea este, într-un fel, o generalizare a modelului ierarhic. Principala diferență dintre un model de rețea și unul ierarhic este că într-un model de rețea, un tip subordonat poate avea un număr arbitrar de tipuri părinte. Principalele concepte ale modelului de rețea sunt set, agregat, înregistrare și element de date. În acest caz, un element de date ar trebui să însemne același lucru ca și în modelul ierarhic - unitatea minimă de date. Există două tipuri de agregate de date: un agregat vectorial și un agregat de grup repetat. Un agregat de tip vector corespunde unui set de elemente de date. Un agregat de tip grup repetitiv corespunde unei colecții de vectori de date. O înregistrare este o colecție de agregate de date. Fiecare înregistrare are un tip specific și constă dintr-o colecție de instanțe de înregistrare. Un set este un grafic care conectează două tipuri de înregistrări. Astfel, setul reflectă relația ierarhică dintre cele două tipuri de înregistrări. Tipul de înregistrare părinte dintr-un anumit set se numește proprietarul setului, iar tipul de înregistrare secundară este numit membru al aceluiași set. Pentru oricare două tipuri de înregistrări, poate fi specificat orice număr de seturi care le conectează. În acest caz, un număr diferit de seturi poate fi definit între cele două tipuri de înregistrări. Cu toate acestea, același tip de înregistrare nu poate fi atât proprietar, cât și membru al unui set.

Un avantaj incontestabil al modelului de date de rețea este posibilitatea de afișare mai flexibilă a conexiunilor multiple între obiecte. Unul dintre cele mai semnificative dezavantaje este complexitatea ridicată a schemei de construcție a bazei de date, care este agravată de slăbirea controlului asupra integrității conexiunilor din cauza numărului lor mare.

Modelul de date relaționale se bazează pe conceptul de relație, care este un tabel bidimensional care conține multe rânduri (tupluri) și coloane (câmpuri sau atribute). Tabelul corespunde unui obiect specific din domeniul subiectului, câmpurile sale descriu proprietatea acestui obiect, iar rândurile sale descriu cazuri specifice ale obiectului. Fiecare relație trebuie să conțină întotdeauna un atribut sau un set de atribute care identifică în mod unic singurul tuplu al acestei relații - cheia primară. Pentru a reflecta relația dintre obiecte, tabelele sunt legate în conformitate cu anumite reguli folosind așa-numitele chei străine, care vor fi discutate în detaliu în secțiunile următoare.

Principalul avantaj al modelului relațional este simplitatea și închiderea logică a acestuia, dar dezavantajul este complexitatea sistemului de descriere a diferitelor relații între tabele.

Dezvoltarea modelului relațional a condus la apariția așa-numitului model de date post-relațional, a cărui principală diferență este admisibilitatea câmpurilor cu mai multe valori (câmpuri ale căror valori constau din multe subvalori). Câmpurile cu mai multe valori pot fi interpretate ca tabele independente încorporate în tabelul sursă. În plus, modelul post-relațional acceptă mai multe câmpuri asociate care formează împreună o asociere: în fiecare rând, prima valoare a unei coloane de asociere corespunde primelor valori ale tuturor celorlalte coloane de asociere.

Principalul avantaj al modelului post-relațional este că vă permite să stocați datele mai eficient, iar numărul de tabele din acest model este vizibil mai mic în comparație cu cel relațional. Dezavantajul este că este dificil să se mențină consistența logică a datelor.

Teoria modelelor de date multidimensionale s-a dezvoltat activ recent. Conceptul de model multidimensional înseamnă multidimensionalitatea reprezentării logice a structurii informației. Principalele concepte ale unui model multidimensional sunt dimensiunea și celula.

O dimensiune este un set de date de același tip care formează fața unui cub n-dimensional. O celulă este un câmp a cărui valoare este determinată de întregul set de măsurători. Valoarea celulei poate fi o variabilă sau o formulă.

Pentru a lucra cu modele de date multidimensionale, sunt utilizate SGBD-uri multidimensionale speciale, care se bazează pe conceptele de agregabilitate, istoricitate și predictibilitate. Agregabilitatea datelor se referă la diferite niveluri de generalizare a informațiilor. Istoricitatea datelor înseamnă un nivel ridicat de staticitate atât a datelor în sine, cât și a conexiunilor dintre acestea, precum și ordonarea datelor în timp în timpul procesului de prelucrare și prezentare a acestora către utilizatori. Asigurarea predictibilității se realizează prin utilizarea funcțiilor speciale de prognoză.

SGBD-urile multidimensionale folosesc două scheme de organizare a datelor - policubică și hipercubică. În modelul policubic, cuburile n-dimensionale pot avea atât dimensiuni diferite, cât și dimensiuni-fețe diferite. În modelul hipercubic, toate dimensiunile cuburilor sunt aceleași, iar dimensiunile diferitelor cuburi sunt aceleași.

O felie este un anumit subset al unui cub n-dimensional, definit prin fixarea unui număr dat de dimensiuni. O felie are o dimensiune mai mică decât n și este utilizată, în special, pentru a prezenta informații utilizatorilor sub formă de tabele bidimensionale care pot fi citite. Rotația este adesea folosită și pentru a reprezenta date în două dimensiuni și implică schimbarea ordinii dimensiunilor. Operațiunile de agregare și drill-down înseamnă o prezentare mai generală sau mai detaliată a informațiilor.

Modelele de date multidimensionale sunt deosebit de convenabile pentru lucrul cu baze de date mari, deoarece permit prelucrarea eficientă a unor cantități semnificative de informații, iar acesta este avantajul lor incontestabil.

Principala diferență dintre modelul orientat pe obiect și cele discutate mai sus este utilizarea metodelor orientate pe obiect de manipulare a datelor - încapsulare, moștenire și poliformism.

Încapsularea înseamnă capacitatea de a diferenția accesul diferitelor programe, aplicații, metode și funcții (în sens mai larg, accesul diferitelor categorii de utilizatori) la diferite proprietăți ale obiectelor de date. În contextul termenului „încapsulare”, este adesea folosit conceptul de vizibilitate - gradul de accesibilitate al proprietăților individuale ale unui obiect. În sistemele moderne de programare orientată pe obiecte (cum ar fi Delphi sau C++ Builder) există următoarele niveluri de încapsulare (vizibilitate), care sunt de obicei numite secțiuni:

  • 1. Secțiuni Publice, Publicate și Automatizate - cu caracteristici distinctive minore, proprietățile obiectului descris ca aparținând acestor secțiuni sunt complet accesibile.
  • 2. Secțiune privată - această secțiune impune cele mai severe restricții privind vizibilitatea proprietăților obiectului. De regulă, astfel de proprietăți sunt disponibile numai proprietarului acestui obiect (modulul de program în care a fost creat acest obiect).
  • 3. Secțiunea protejată - spre deosebire de secțiunea Privată, proprietățile unui obiect devin disponibile moștenitorilor proprietarului obiectului.

Spre deosebire de încapsulare, moștenirea implică transferul complet al tuturor proprietăților unui obiect părinte către obiectele copil. Dacă este necesar, moștenirea proprietăților unui obiect poate fi extinsă la obiecte care nu sunt copii ale acestuia.

Polimorfismul înseamnă capacitatea aceleiași aplicații de a manipula date de diferite tipuri - aplicațiile (metode, proceduri și funcții) care procesează obiecte de diferite tipuri pot avea același nume.

Principalul avantaj al modelelor orientate pe obiecte este capacitatea de a modela o varietate de relații complexe între obiecte.

Fiecare sistem de baze de date implementează unul sau altul Model de date, care determină regulile de generare a tipurilor de structuri de date acceptabile pentru sistem, operațiuni posibile pe astfel de structuri, clase de constrângeri de integritate a datelor reprezentabile prin intermediul sistemului. Astfel, modelul de date specifică limitele setului tuturor bazelor de date specifice care pot fi create prin intermediul acestui sistem.

Descrierea domeniului selectat în termeni de model de date ne permite să obținem un model de bază de date. De obicei, există trei niveluri de modele de baze de date.

Model mitologic reflectă informații despre domeniul subiectului fără a viza un anumit SGBD (sau chiar tipul de SGBD care urmează să fie utilizat). În acest sens, unii autori vorbesc despre existența unui model infologic al domeniului subiectului, și nu a unei baze de date.

Model de bază de date datalogică– un model de nivel logic, care este o afișare a conexiunilor logice între elementele de date, indiferent de conținutul și mediul de stocare al acestora. Acest model este construit din punct de vedere al unităților de informații permise în SGBD în al cărui mediu va fi creată baza de date. Etapa creării acestui model se numește proiectare datalogică sau logică.

Modelul fizic al bazei de date este construit ținând cont de capacitățile de organizare și stocare a datelor oferite de SGBD și de platforma software și hardware utilizată. Acesta, în special, determină dispozitivele de stocare utilizate și modul în care datele sunt organizate în mediul de stocare.

La proiectarea unei baze de date se construiește mai întâi modelul infologic, apoi cel datalogic și abia după aceea cel fizic. Acești pași vor fi discutați mai detaliat în capitolele următoare.

Cu toate acestea, să revenim la luarea în considerare a modelelor de date. Diferiți autori oferă liste ușor diferite ale modelelor de date existente. De exemplu, se propune următoarea listă de modele de date și perioade de timp în care au fost obținute principalele rezultate în dezvoltarea lor:

  • ierarhic (Engleză) ierarhic), sfârșitul anilor 1960 și 1970;
  • reţea (Engleză) reţea), anii 1970;
  • relaționale (Engleză) relațional), anii 1970 și începutul anilor 1980;
  • "esență - conexiune" ( Engleză entitate – relație), anii 1970;
  • relațional extins (Engleză) relațional extins), anii 1980;
  • semantic (Engleză) semantic), sfârșitul anilor 1970 și 1980;
  • orientate pe obiecte (Engleză) orientat pe obiecte), sfârșitul anilor 1980 – începutul anilor 1990;
  • obiect-relațional ( Engleză obiect-relațional), sfârșitul anilor 1980 – începutul anilor 1990;
  • semi-structurat (Engleză) semistructurat), de la sfârșitul anilor 1990. până acum.

Primele modele de date care au apărut au fost cele bazate pe teoria grafurilor – ierarhice și de rețea. Ele sunt discutate mai detaliat mai jos. Urmează modelul de date relaționale dezvoltat de Edgar Codd, bazat pe teoria matematică a mulțimilor. Astăzi este cel mai comun, așa că va fi luat în considerare mai detaliat. Capitolele 4 și 5 sunt dedicate problemelor legate de modelul relațional și proiectarea logică a bazelor de date relaționale.

Modelul entitate-relație a fost propus de Peter Chen în 1976 ca o modalitate unificată de a descrie un domeniu de problemă. Nu a fost dezvoltat ca model de date independent (în conformitate cu definiția de mai sus), ci a devenit baza pentru crearea modelelor de baze de date infologice. Etapa de proiectare a informațiilor este discutată în Capitolul 6.

Modelul semantic, precum și modelul „entitate-relație”, este folosit pentru a construi modele informaționale. Numai în acest caz, datele utilizatorului sunt reprezentate ca un set de obiecte semantice. Obiect semantic este un set numit de atribute care descrie suficient un fenomen separat (obiect, fenomen etc.).

Modelele de date orientate pe obiecte și relaționale cu obiecte au apărut ca urmare a răspândirii abordării orientate pe obiecte a programarii. Modelul de date obiect propune să se considere baza de date ca un set de obiecte care au proprietăți de încapsulare, moștenire etc. În 1989 a fost publicat Manifestul pentru sistemele de baze de date orientate pe obiecte, iar în 1991 s-a format consorțiul ODMG (din Engleză Object Data Management Group), care a început să dezvolte standarde. În 2000, a fost publicată o versiune a Standardului de date obiect: ODMG 3.0, iar în 2001 grupul și-a încetat activitatea. Aproximativ în același timp, s-a lucrat activ pentru adaptarea modelului relațional la cerințele abordării orientate pe obiecte a dezvoltării software, ceea ce a dus la apariția modelului de date obiect-relațional. Mai târziu, extensiile de obiecte au fost introduse în standardul limbajului SQL.

Datele semi-structurate includ date în care se poate identifica o anumită structură, dar nu sunt suficient de stricte în comparație cu structurile de date relaționale (sau structurile altor modele tradiționale de date). Cel mai frapant exemplu de date semi-structurate sunt documentele XML (de la Engleză extensible Markup Language - limbaj de marcare extensibil). Valabil (Engleză) valid) Un document XML trebuie să respecte un anumit format de descriere (schemă), care specifică structura documentului, nume valide ale elementelor, atribute etc. Formatul XML este utilizat pe scară largă pentru schimbul de date între aplicații și este susținut de multe sisteme de gestionare a bazelor de date.

Se află trei modele principale Bază de date- acestea sunt ierarhice, de rețea și relaționale. Aceste modele diferă prin modul în care stabilesc conexiuni între date.

8.1. Model ierarhic de bază de date

Modele ierarhice bazele de date au fost din punct de vedere istoric una dintre primele care au apărut. informațieîntr-o bază ierarhică este organizată după principiul unei structuri arborescente, sub forma „strămoșilor- descendent„. Fiecare înregistrare poate avea cel mult un cazier parental si mai multi copii. Relațiile înregistrărilor sunt implementate ca indicatori fizici de la o înregistrare la alta. Principalul dezavantaj structura ierarhică a bazei de date- incapacitatea de a realiza relații" multi-la-multi”, precum și situațiile în care înregistrare are mai mulți strămoși.

Baze de date ierarhice. Baze de date ierarhice poate fi reprezentat grafic ca inversat copac, format din obiecte de diferite niveluri. Nivel superior ( rădăcină de copac) ia unul un obiect, al doilea - obiecte de al doilea nivel și așa mai departe.

Există conexiuni între obiecte, fiecare un obiect poate include mai multe obiecte de nivel inferior. Astfel de obiecte sunt în relație cu strămoșul ( un obiect, mai aproape de rădăcină) de copil ( un obiect nivel inferior), în timp ce un obiect-un strămoș poate să nu aibă descendenți sau să aibă mai mulți, în timp ce un obiect-descendent are neapărat un singur strămoș. Obiectele care au un strămoș comun se numesc gemeni.

Orez. 6. Baza de date ierarhică

Organizarea datelor în SGBD tipul ierarhic este definit în termeni de: element, agregat, înregistrare (grup), grup atitudine, Bază de date.

Atribut(element de date)

Cea mai mică unitate a unei structuri de date. De obicei, fiecărui element dintr-o descriere a bazei de date i se dă un nume unic. Este menționat cu acest nume în timpul procesării. Un element de date este adesea numit și câmp.

Record

O colecție numită de atribute. Utilizarea înregistrărilor vă permite să obțineți un set de date conectat logic într-un singur acces la baza de date. Înregistrările sunt modificate, adăugate și șterse. Tipul unei înregistrări este determinat de compoziția atributelor sale. Instanță de înregistrare- o înregistrare specifică cu o semnificație specifică a elementelor.

Atitudine de grup

- relație ierarhicăîntre înregistrări de două tipuri. Înregistrarea părinte (proprietarul relației de grup) se numește înregistrarea sursă, iar înregistrările secundare (membrii relației de grup) sunt numite înregistrări subordonate. O bază de date ierarhică poate stoca doar astfel de structuri arborescente.

Exemplu. Luați în considerare următorul model de date de întreprindere (vezi Figura 7): o întreprindere este formată din departamente în care lucrează angajații. Fiecare departament poate avea mai mulți angajați, dar un angajat nu poate lucra în mai mult de un departament.

Prin urmare, pentru Sistemul de gestionare a informațiilor personalului, este necesar să se creeze o relație de grup formată dintr-o fișă parentală DEPARTAMENT (NUMELE DEPARTAMENTUL, NUMĂR DE SALARIAȚI) și o fișă de copil ANGAJAT (NUME, POST, SALARIU). Această relație este prezentată în Fig. 7(a) (Pentru simplitate, presupunem că există doar două înregistrări copii).

Pentru automatizarea contabilității contractelor cu clienții, este necesară crearea unei alte structuri ierarhice: client - contracte cu acesta - angajați implicați în lucrul la contract. Acest arbore va include înregistrările CLIENT (NUME_CLIENT, ADRESĂ), CONTRACTUL (NUMĂR, DATA, SUMA), CONTRACTOR (NUME, POZIȚIE, NUME_DEPARTAMENT) (Fig. 7b).

Orez. 7. Exemplu de bază de date ierarhică

Acest exemplu arată dezavantajele ierarhice DB:

Dublat parțial informațieîntre ANGAJAT și EXECUTOR TESTAMENTAR(astfel de înregistrări se numesc pereche) și în model de date ierarhice nu e disponibil nu e asigurat nu e prevazut a sustine potriviri între înregistrările pereche.

Model ierarhic unelte atitudineîntre înregistrările sursă și copil conform schemei 1:N, adică o înregistrare părinte poate corespunde oricărui număr de copii.

Să presupunem acum că executor testamentar poate lua parte la mai mult de un contract (adică apare conexiune tip M:N). În acest caz, trebuie să introduceți un alt grup în baza de date atitudine, in care EXECUTOR TESTAMENTAR va fi înregistrarea sursă, iar CONTRACT va fi înregistrarea copil (Fig. 7 c). Astfel, suntem din nou forțați să duplicăm informații.

O structură ierarhică presupune inegalitate între date – unele sunt strict subordonate altora. Astfel de structuri, desigur, satisfac în mod clar cerințele multor, dar nu tuturor problemelor din viața reală.

Miezul oricărei baze de date este modelul de date. Model de date reprezintă o mare varietate de structuri de date, constrângeri de integritate și operațiuni de manipulare a datelor. Folosind un model de date, pot fi reprezentate obiectele domeniului și relațiile dintre acestea. Model de date este un set de structuri de date și operațiunile lor de prelucrare. SGBD modern se bazează pe utilizare ierarhic, de rețea, relațional și orientate pe obiecte modele de date, combinații ale acestor modele sau un subset al acestora.

Să ne uităm la trei tipuri principale de modele de date : ierarhic, de rețea, relaționale Și orientat pe obiecte.

Model ierarhic de date. O structură ierarhică reprezintă un set de elemente legate între ele după anumite reguli. Obiectele legate prin relații ierarhice formează un grafic direcționat (arborele inversat). Conceptele de bază ale unei structuri ierarhice includ: nivel, element (nod), conexiune. Modelul ierarhic organizează datele într-o structură arborescentă. Nod este o colecție de atribute de date care descriu un obiect. Într-o diagramă arborescentă ierarhică, nodurile arată ca vârfurile unui grafic. Fiecare nod de la un nivel inferior este conectat doar la un singur nod, care este la un nivel superior. Un arbore ierarhic are un singur vârf (rădăcina arborelui), care nu este subordonat niciunui alt vârf. Nodurile dependente (subordonate) sunt situate la al doilea, al treilea și la alte niveluri. Numărul de arbori din baza de date este determinat de numărul de înregistrări rădăcină.

Model de date de rețea.

Reţea model înseamnă reprezentarea datelor sub forma unui grafic arbitrar. Avantajul modelelor de date de rețea și ierarhice este posibilitatea implementării lor eficiente din punct de vedere al costurilor de memorie și al eficienței. Dezavantajul modelului de date de rețea este complexitatea ridicată și rigiditatea schemei bazei de date construite pe baza acesteia.

Relațional Model de date. Conceptul de relațional este asociat cu evoluțiile celebrului specialist american în domeniul sistemelor de baze de date E.F. Codda. Aceste modele se caracterizează prin simplitatea structurii datelor, o formă de prezentare ușor de utilizat sub formă de tabele și capacitatea de a utiliza aparatul de algebră relațională și de calcul relațional pentru prelucrarea datelor.

În limbajul matematicii, o relație este definită astfel. Să fie dat n seturi D1,D2, ...,Dn. Atunci R este o relație peste aceste mulțimi dacă R este o mulțime de mulțimi ordonate de forma , unde d1 este un element cu D1, d2 este un element cu D2, ..., dn este un element cu Dn. În acest caz, seturi de formă se numesc tupluri, iar multimile D1,D2, ...Dn se numesc domenii. Fiecare tuplu este format din elemente care sunt selectate din domeniile lor. Aceste elemente sunt numite atribute, iar valorile lor sunt numite valori ale atributelor.

Deci, modelul relațional este axat pe organizarea datelor sub formă de tabele bidimensionale, oricare dintre acestea având următoarele proprietati:

Fiecare element de tabel este un element de date;

Toate coloanele din tabele sunt omogene, adică toate elementele din coloană au același tip (caracter, numeric etc.);

Fiecare coloană are un nume unic;

Nu există rânduri identice în tabele.

Tabelele au rânduri care corespund înregistrărilor (sau tuplurilor) și coloane care corespund atributelor relațiilor (domenii, câmpuri).

Următorii termeni sunt echivalenti:

atitudine, tabel, fișier (pentru localDB);

caravana,linia, record;

atribut, coloană, câmp.

Baze de date orientate pe obiecte combină două modele de date, relațional și de rețea și sunt utilizate pentru a crea baze de date mari cu structuri de date complexe.

O bază de date relațională este un set de relații care conțin toate informațiile necesare și sunt unite prin diverse conexiuni.

DB este considerat normalizat , dacă sunt îndeplinite următoarele condiții:

Fiecare tabel are o cheie principală;

Toate câmpurile din fiecare tabel depind doar de cheia principală;

Nu există grupuri de valori duplicate în tabele.

Pentru a lucra cu succes cu baze de date cu mai multe tabele, de regulă, este necesar să se stabilească conexiuni între ele. În acest caz, se folosesc termenii „tabel de bază” (principal) și „tabel subordonat”. Relația dintre tabele se obține prin două câmpuri, dintre care unul se află în tabelul de bază, iar al doilea în tabelul subordonat. Aceste câmpuri pot avea o valoare care se repetă. Dacă valoarea din câmpul aferent unei înregistrări de tabel de bază și din câmpul tabelului subordonat sunt aceleași, atunci aceste înregistrări se numesc înrudite.

Există patru tipuri de relații între tabele : unu la unu , unu la mulți, mulți la unul, mulți la mulți .

Atitudine unu la unu înseamnă că fiecare intrare în unu corespunde tabelului unul singurînregistrări într-un alt tabel.

Relație unul la mulți înseamnă că unu o înregistrare din primul tabel poate fi legată cu mai mult de unul o înregistrare dintr-un alt tabel.

Masa principală este un tabel care contine cheia principala si face parte unuîntr-o relație unu la multi.

Cheie externă este un câmp care conține același tip de informații în tabelul din lateral mult.

Munca practica

Plan


Baza de date (DB)

SGBD



Model de date

Model ierarhic de bază de date

Modelul bazei de date în rețea

Rând de masă este o înregistrare care conține informații despre un singur obiect tabel (un student).

Structura intrărilor este aceeași; Colectarea elementelor de date care alcătuiesc o înregistrare se numește câmp. Informațiile înregistrate sunt în câmpuri. Un câmp de tabel este o coloană de tabel.

Înregistrările identice din tabel nu sunt permise, deoarece în toate înregistrările de câmp li se atribuie nume unice, numele de familie Access DBMS vă permite:

Câmpul trebuie să fie de același tip pentru toate înregistrările din coloană (fie date text, date numerice etc.).

Modelul bazei de date relaționale, de regulă, conține mai multe tabele, a căror conexiune se realizează folosind un câmp special - cheie.

Exemple de SGBD-uri relaționale: dBASE, FoxBase, FoxPro și Access.

Aplicația MS Access este un sistem de gestionare a bazelor de date care face parte din suita Microsoft Office și este proiectat să funcționeze pe un computer personal sau într-o rețea care rulează sistemul de operare Windows.

Baza de date Access DBMS este o bază de date relațională care constă din tabele bidimensionale interconectate.

Access DBMS face posibilă:

· Proiectarea obiectelor bazei de date tabel;

· Stabiliți legături între tabele;

· Introduceți, stocați, vizualizați, sortați, modificați datele din tabel folosind algebra logicii și indexării;

· Creați și utilizați obiecte de bază de date.

Accesați obiecte DBMS:

Bază de date- un fișier care conține diverse obiecte de stocare a datelor.

Mese) - organizarea stocării datelor sub forma unui tablou bidimensional. Este obiectul principal al bazei de date. Restul sunt derivate din tabel.

Forme- obiecte pentru afișarea datelor dintr-un tabel pe ecran într-o formă convenabilă pentru vizualizare și procesare.

Cereri- obiecte pentru selectarea si filtrarea datelor din tabel dupa anumite criterii.

Raport- generarea unui document de date dintr-un tabel pentru tipărire.

Macro-uri- descrierea acțiunilor sub forma unei secvențe de comenzi și execuția lor automată.

Module- programe în Visual Basic care sunt dezvoltate de utilizator pentru a implementa proceduri non-standard.

Prezentare generală a modelului de date relaționale. Model entitate-relație. Conceptul de relație, atribut, cheie, conexiune. Clasificarea conexiunilor cu multiplicitate și completitudine. Reguli pentru construirea unui model de date de domeniu.

Model entitate-relație (model ER)(Engleză: model entitate-relație sau diagramă entitate-relație) - un model de date care vă permite să descrieți diagrame conceptuale folosind modele bloc generalizate. Modelul ER este un metamodel de date, adică un mijloc de descriere a modelelor de date.

Modelul ER este convenabil pentru proiectarea sistemelor informaționale, a bazelor de date, a arhitecturilor de aplicații informatice și a altor sisteme (modele). Cu ajutorul unui astfel de model se identifică elemente esențiale (noduri, blocuri) ale modelului și se stabilesc conexiuni între ele.

Există o serie de modele de reprezentare a cunoștințelor. Unul dintre cele mai convenabile instrumente pentru o reprezentare unificată a datelor, independent de software-ul care o implementează, este modelul entitate-relație ( entitate - model de relație, ER - model).

Modelul entitate-relație se bazează pe câteva informații semantice importante despre lumea reală și are scopul de a reprezenta datele în mod logic. Acesta definește semnificațiile datelor în contextul relațiilor lor cu alte date. Important pentru noi este faptul că toate modelele de date existente (ierarhice, de rețea, relaționale, obiect) pot fi generate din modelul „entitate-relație”, deci este cel mai general. Orice fragment al unui domeniu poate fi reprezentat ca un set de entități, între care există o serie de conexiuni.

Modelul ER este unul dintre cele mai simple modele vizuale. Vă permite să înțelegeți structura unui obiect în „trăsuri mari”, în termeni generali. Această descriere generală a structurii se numește diagramă ER sau ontologie a domeniului de subiect selectat (zona de interes).

Exemple tipice de utilizare a modelului de date ER IDEF1x (ICAM DEFinition Language) și modelare dimensională.

Relație de bază de date relațională.

Relațiile de baze de date relaționale sunt împărțite în două clase: obiect și relaționale. O relație de entitate stochează obiecte de date (instanțe de entitate). Într-o relație de obiect, unul (sau mai multe) dintre atributele care identifică în mod unic un obiect. Un astfel de atribut cheie se numește cheie de relație (singlă sau multiplă) sau atribut primar. Cheia este de obicei în prima coloană. Atributele rămase sunt dependente funcțional de această cheie. O cheie poate include mai multe atribute (cheie complexă). Într-o relație de obiect, atributele nu trebuie să fie duplicate. Aceasta este limitarea principală într-o bază de date relațională pentru a menține integritatea datelor. O relație legată stochează cheile a două sau mai multe relații obiect, adică cheile sunt folosite pentru a stabili conexiuni între obiectele relațiilor. O relație conectată poate avea alte atribute care sunt dependente funcțional de această relație. Cheile din relațiile legate se numesc chei străine deoarece sunt cheile primare ale altor relații.

Condițiile și restricțiile care sunt impuse relațiilor de baze de date relaționale la nivel de prezentare tabelară pot fi formulate după cum urmează:

· nu pot exista chei primare identice, adică toate rândurile (înregistrările) trebuie să fie unice;

· toate liniile trebuie să aibă aceeași structură standard;

· numele coloanelor din tabel trebuie să fie diferite, iar valorile coloanelor trebuie să fie de același tip;

· valorile coloanei trebuie să fie atomice, adică nu pot fi componente ale altor relații;

· Integritatea cheilor externe trebuie menținută;

· ordinea de plasare a rândurilor în tabel nu este semnificativă - afectează doar viteza de acces la rândul dorit.

Se oferă suport pentru următoarele tipuri de relații între înregistrări: unu la mai multe; multi la unul, multi la multi.

Etapele principale ale lucrului cu baze de date:

Designul mesei.

După crearea unei noi bănci de date utilizând directiva Fișier/Bază de date nouă sau după deschiderea unei bănci existente utilizând Fișier/Deschidere bază de date, pe ecran apare o fereastră de bancă de date în fereastra Acces.

În meniul Fișier, selectați directiva Nouă, iar în submeniu, selectați opțiunea Tabel.

Atribuirea numelor de câmpuri

Fiecare linie de specificație definește caracteristicile unui câmp al înregistrării. Coloana Nume câmp specifică numele câmpului. Poate avea până la 64 de caractere și poate conține chirilice, spații și caractere speciale, cu excepția punctelor, semnelor exclamării și parantezelor unghiulare. O limitare naturală este interdicția de a avea două câmpuri cu același nume într-un singur tabel.

Setarea tipului acestui câmp

Tipul de date este introdus în coloana Tip de date și poate fi selectat dintr-o listă de tipuri disponibile.

Text. Câmpurile de text conțin text care nu poate depăși 255 de caractere. Lungimea reală a câmpului este setată utilizând parametrul Field Size.

Notificare. Câmpurile de memorare conțin text de până la 32.000 de caractere. Câmpurile de acest tip de date nu pot fi indexate.

Număr. Câmpurile numerice conțin valori numerice arbitrare. Intervalul de valori valide este determinat de parametrul Field Size.

Data/Ora. Câmpurile Data/Ora conțin valori de dată și oră cuprinse între 100 și 9999.

Valută Câmpurile de valută pot stoca numere de până la 15 zecimale la stânga virgulei zecimale și patru zecimale (de obicei două sunt suficiente) la dreapta virgulei zecimale.

Tejghea. Câmpul contor conține un număr care este incrementat automat de Access cu 1 atunci când un nou bloc de date este adăugat la tabel.

Da nu. Aceste câmpuri stochează valorile Da sau Nu. Câmpurile de acest tip nu pot fi indexate.

Obiect OLE. Câmpurile OLE conțin obiecte, cum ar fi un tabel Excel sau un grafic Microsoft Draw, procesate de un server OLE. Dimensiunea câmpului poate fi de până la 128 MB.

Determinarea dimensiunii câmpului. Pentru câmpurile numerice, parametrul Dimensiunea câmpului poate avea una dintre următoarele valori:

octet. Stochează numere de la 0 la 255 (numai numere întregi). Ocupă 1 octet.

Întreg. Stochează numere de la -32768 la 32767 (numai numere întregi). Ocupă 2 octeți.

Număr întreg lung. Stochează numere de la -2147483648 la 2147483647 (numai numere întregi). Ocupă 4 octeți.

Singur. Stochează numere cu precizie de șase cifre de la 3.402823E38 la 3.402823E38. Ocupă 4 octeți.

Dubla. Stochează numere cu precizie de zece cifre de la -1,79769313486232E308 la 1,79769313486232E308. Ocupă 8 octeți (setare standard).

Definirea parametrilor câmpului

Caracteristicile fiecărui câmp sunt determinate de o serie de parametri. Acești parametri reglementează metodele de procesare, stocare și afișare a datelor.

Dimensiunea campului(Dimensiunea campului). Setează lungimea maximă a unui câmp de text sau modul în care sunt reprezentate numerele într-un câmp Număr.

Format(Format). Stabilește modul în care sunt prezentate datele. Alături de anumite formate, este permisă utilizarea formatelor proprii ale utilizatorului.

Zecimale(Zecimale). Setează numărul de locuri la dreapta punctului zecimal.

Legendă(Inscripţie). Definește eticheta care va fi folosită ca nume de câmp într-un formular sau raport. Dacă nu este specificată nicio valoare pentru acest parametru, numele câmpului va fi folosit ca etichetă în mod implicit.

Valoare implicită(Valoare implicită). Setează valoarea care va fi introdusă automat în câmp la generarea unui bloc de date.

Regula de validare(Restricții de administrare). O regulă care limitează ce date pot fi introduse într-un câmp.

Text de validare(Raport de încălcare). Când încercați să introduceți date într-un câmp care nu satisface regula formulată în Regula de validare.

Indexat(Câmp indexat). Semn de indexare.

Adăugarea și eliminarea câmpurilor

Se pot face modificări la specificația finală. În special, puteți modifica parametrii câmpurilor individuale, puteți adăuga câmpuri la înregistrare în locurile potrivite și le puteți elimina pe cele inutile. Dar, în același timp, ar trebui să încercați să faceți toate corecțiile la specificație înainte de a începe să completați banca de date, deoarece o încercare de a modifica parametrii câmpurilor din baza de date completată poate provoca pierderea sau distorsiunea datelor.

1. Dacă ștergeți un câmp care conține date, va apărea un mesaj de avertizare care vă va întreba dacă utilizatorul dorește cu adevărat să șterge, faceți clic pe butonul Anulare.

2. Din meniul Editare, selectați directiva Anulare ștergere. Cu toate acestea, puteți anula operațiunea de ștergere și readuceți tabelul la starea inițială numai dacă, după ștergere, nu s-au făcut alte modificări asupra structurii sau conținutului băncii. Accesul garantează capacitatea de anulare, dar numai pentru ultima operațiune efectuată.

3. Închideți fereastra tabelului și faceți clic pe butonul No comandă când vi se solicită să salvați modificările. Cu toate acestea, în acest caz, toate celelalte modificări făcute în timpul acestei sesiuni de lucru cu tabelul vor fi ignorate.

Setarea cheii primare

Odată ce toate câmpurile au fost definite, ar trebui să selectați cel puțin un câmp pentru a utiliza ca cheie primară. Declarațiile cheii primare împiedică introducerea de blocuri de date duplicat deoarece câmpul tabelului utilizat ca cheie primară conține un identificator unic pentru fiecare bloc de date. Acest câmp nu poate conține aceeași valoare în două înregistrări diferite.

Cheia primară poate fi definită numai în modul de proiectare a tabelului. Etichetați câmpul care ar trebui să devină câmpul cheie primară și apelați directiva Set Primagu Key din meniul Editare. Câmpul marcat este imediat indicat de o pictogramă cheie în coloana selectorului (acesta este un semn că câmpul a fost declarat cheie primară) și este indexat în consecință.

Dacă tabelul pe care îl creați nu are o cheie primară declarată când ieșiți din modul proiectare, Access vă va întreba dacă includeți un câmp de cheie primară în tabel. Dacă utilizatorul răspunde pozitiv (Da), atunci Access va crea un câmp special numit ID în care va fi introdus pentru fiecare bloc de date.

Conceptul de tabel, câmp, înregistrare. Principalele etape ale lucrului cu baze de date într-un mediu de sistem de management al bazelor de date. Cartografierea modelului entitate-relație al bazei de date. Proprietăți câmpuri, tipuri de date. Introducerea datelor în tabele. Sortarea, căutarea și filtrarea datelor.

Masa este un set de câmpuri numite care descriu proprietățile obiectelor.

Tabelul oferă reflectarea datelor sub formă de rânduri și coloane. Coloana conține caracteristicile obiectelor; șir - un set de caracteristici despre o instanță a unui obiect. O înregistrare este un rând dintr-un tabel de bază de date

Camp- o coloană de tabel concepută pentru a stoca valorile unei anumite proprietăți (parametru) a unui obiect.

Record- rând de masă. O înregistrare conține date despre un obiect separat, care este descris în baze de date.

Access DBMS vă permite să creați obiecte de bază de date care vor conține informații din diferite tabele. Pentru a face acest lucru, trebuie să stabiliți o relație între tabele. La crearea unei relații, înregistrările din aceste tabele vor fi îmbinate (legate). În acest caz, ei folosesc termeni condiționali și vorbesc despre un tabel de bază și dependent. Ambele tabele trebuie să aibă câmpuri care au aceleași valori. Atunci conexiunea dintre tabele va fi această pereche de câmpuri (unul în tabelul de bază, al doilea în tabelul dependent). Câmpurile înrudite pot avea nume diferite, dar tipul de valoare al acestor câmpuri trebuie să fie același.

Proiectarea bazei de date constă din etape conceptuale, logice și fizice. Fiecare etapă folosește propriul model de date.

Există mai multe metode pentru construirea unui model conceptual de bază de date. Una dintre cele mai comune metode se bazează pe un model, care se bazează pe reprezentarea domeniului problemei sub forma a două tipuri de obiecte - entități și relații.

O entitate este un obiect de domeniu care este un set de elemente. Exemple de entități sunt studenții, obiectele, cluburile. Fiecare element de entitate este o instanță concretă. Entitățile sunt reprezentate în baza de date sub formă de tabel. Numele entității este numele tabelului, caracteristicile sunt numele coloanelor din tabel, iar instanțele sunt rândurile tabelului.

Există un concept al gradului de legătură între entitățile legate de relație.

Gradul unei relații determină câte instanțe ale unei entități pot fi legate de instanțe ale unei alte entități aparținând acelei relații.

În etapa de proiectare logică, entitățile și relațiile sunt transformate într-un model de date logic construit conform legilor logicii. După cum am menționat deja în prima lecție, există mai multe modele de date logice. Printre acestea se numără relaționale, ierarhice și de rețea. Cel mai utilizat model astăzi este modelul relațional. În engleză, „relație” este o atitudine, de unde și numele modelului.
Relația este reprezentată ca un tabel format din rânduri și coloane. Fiecare coloană a unei relații se numește câmp, iar fiecare rând se numește înregistrare. Numele câmpurilor - atribute. Spre deosebire de un tabel obișnuit, principala proprietate a unei relații este că nu trebuie să conțină înregistrări identice. Acest lucru se datorează faptului că o relație reflectă numele unui anumit set de obiecte, iar fiecare intrare reprezintă un element al acestui set. Desigur, elementele setului trebuie să fie diferite.

Atributele (grupurile de atribute) asigură unicitatea (irepetabilitatea) fiecărui rând, care se numește cheia relației. Pot exista mai multe chei într-o relație.

Există mai multe metode pentru construirea unui model conceptual de bază de date. Una dintre cele mai comune metode se bazează pe modelul ER. Acest model se bazează pe reprezentarea domeniului subiectului sub forma a două tipuri de obiecte - entități și relații.

O entitate este un obiect de domeniu care este un set de elemente. Exemple de entități sunt studenții, obiectele, cluburile. Fiecare element al unei entități este o instanță specifică, de exemplu, un student Sidorov sau materia „matematică”. De regulă, entitățile sunt exprimate prin substantive. Entitățile sunt reprezentate în baza de date sub formă de tabel. Numele entității este numele tabelului, caracteristicile sunt numele coloanelor din tabel, iar instanțele sunt rândurile tabelului. În tabel arată cum să înțelegeți termenii de bază ai entității.

Entitatea STUDENT este numele entității.

Suntem obișnuiți cu faptul că orice informație poate fi plasată într-un tabel. Cu toate acestea, tabelele de entități diferă de tabelele obișnuite prin faptul că nu pot avea două rânduri identice.

De exemplu, lasă ca entitatea STUDENT să aibă caracteristicile NUME, PRENUME, NUME PATRONIC, DATA NAȘTERI, ADRESA DE DOMICILIU. Îl vom nota sub această formă: STUDENT (NUME, PRENUME, NUME PATRONIC, DATA NAȘTERII, ADRESA DE DOMICILIU). Exemple de instanțe ale acestei entități sunt (Sidorov, Petr, Vasilyevich, 02/01/1985, Tsvetochnaya St. 33), (Ivanova, Olga, Borisovna 05/12/1986, Pobedy Avenue, 231, apt. 3).

Relațiile reflectă relațiile dintre entitățile care sunt importante pentru baza de date proiectată. Acestea sunt conexiuni - ÎNVĂȚARE (elev la clasă), PREZENTARE (disciplina profesor pentru clasă la birou), etc. De regulă, conexiunile sunt exprimate prin verbe.

Relația dintre entități poate fi descrisă ca linii între instanțe specifice. Următoarele ilustrează relația VIZITĂ dintre entitățile STUDENT și CIRCLE. Dacă o entitate poate fi reprezentată ca un tabel, atunci pentru a reprezenta relațiile trebuie să creați tabele suplimentare care să conțină informații despre datele conectate.

Accesați obiecte DBMS:

Un tabel este o organizație pentru stocarea datelor sub forma unui tablou bidimensional. Este obiectul principal al bazei de date. Restul sunt derivate din tabel.

Formular - ajută la crearea unei interfețe cu utilizatorul, este folosit pentru introducerea, modificarea sau afișarea datelor.

Interogările sunt obiecte pentru selectarea și filtrarea datelor din tabel în funcție de anumite criterii.

Raport - generare document.

Macro-urile sunt o descriere a acțiunilor sub forma unei secvențe de comenzi și execuția lor automată.

Modulele sunt programe în Visual Basic care sunt dezvoltate de utilizator pentru a implementa proceduri non-standard.

Crearea de tabele.

Tabelele sunt obiecte care stochează direct date.

Puteți crea un tabel selectând fereastra DB din fila Tabel și utilizând Designer sau Expert. Dar există și alte moduri (vezi tabel).

Pentru a completa un tabel, trebuie să comutați la modul de umplere a tabelului deschizându-l.

Completarea tabelelor.

Tabelele constau din câmpuri și înregistrări. Câmpurile sunt coloane, iar înregistrările sunt rânduri. A face o intrare într-un tabel înseamnă a completa un rând. Pentru a crea un tabel, trebuie să definiți câmpurile acestuia, tipurile de date ale acelor câmpuri și, uneori, unele proprietăți suplimentare ale acelor câmpuri. Nu toate datele ocupă aceeași cantitate de spațiu pe un computer. Pentru a le depozita compact, este necesar să le definiți clar tipul.

Tipuri de date.

În tabelele Access, puteți specifica tipuri de date.

FORMĂ FOLOSIT PENTRU AFIȘARE
Text Valori alfanumerice scurte, cum ar fi numele de familie sau adresa.
Număr Valori numerice, cum ar fi distanța. Rețineți că există un tip de date separat pentru unitățile valutare.
Unitate monetară Valori monetare.
Nu chiar Da și Nu valori și câmpuri care conțin doar una dintre cele două valori.
Data si ora Valori date și ore pentru ani de la 100 la 9999.
Text bogat Text sau o combinație de text și numere care poate fi formatată folosind comenzile de culoare și font.
Câmp calculat Rezultatele calculului. Calculele trebuie să utilizeze alte câmpuri din același tabel. Generatorul de expresii este folosit pentru a crea calcule.
Atasamente Atașamentele la înregistrările bazei de date, fișierele foi de calcul, documentele, diagramele și alte tipuri de fișiere acceptate sunt similare cu atașamentele din mesajele de e-mail.
Hiperlinkuri Text sau o combinație de text și numere care este stocată ca text și utilizată ca adresă de hyperlink.
Notă Bucăți lungi de text. Câmpul Notă este adesea folosit pentru a stoca o descriere detaliată a unui produs.
Substituţie O listă de valori dintr-un tabel sau o interogare sau un set de valori specificate atunci când a fost creat câmpul. Puteți crea un câmp de căutare utilizând Expertul de căutare. Tipul de date din câmpul de căutare este text sau numeric, în funcție de opțiunile pe care le-ați selectat în expert.

Intrare și editare.

Introducerea și editarea datelor au loc prin comutarea între modurile Vizualizare tabel și Proiectare.

Deși formularele sunt cele mai bune pentru introducerea datelor, în special în bazele de date Access cu mai mulți utilizatori, puteți introduce și edita datele direct într-un tabel.

Tipul de date pe care un utilizator le poate introduce într-un tabel depinde de următoarele aspecte.

În mod implicit, câmpurile din tabele conțin un anumit tip de date, cum ar fi text sau numere. Trebuie să introduceți tipul de date pe care îl primește câmpul corespunzător.

În caz contrar, este afișat un mesaj de eroare.

Dacă unui câmp i se aplică o mască de introducere, un format format din caractere constante (cum ar fi paranteze, puncte sau cratime) și caractere speciale de mască care indică unde, în ce cantitate și ce tip de date pot fi introduse, este posibil să aveți nevoie pentru a introduce date într-un anumit format.

Cu excepția atașamentelor și a listelor cu mai multe valori, majoritatea câmpurilor pot accepta doar un singur tip de date. Dacă nu știți dacă un câmp poate conține atașamente, examinați proprietățile acestuia. Dacă câmpul este o listă cu mai multe valori, lângă fiecare element din listă apare o casetă de selectare.

Conceptul limbajului SQL.

Limbajul suport pentru efectuarea tranzacțiilor este, de regulă, limbajul SQL. Limbile de calcul relațional se bazează pe calculul predicat clasic. Ele oferă utilizatorului un set de reguli pentru scrierea interogărilor bazei de date. O astfel de solicitare conține doar informații despre rezultatul dorit. Pe baza cererii, sistemul de management al bazei de date automat, prin formarea de noi relatii, genereaza rezultatul dorit. Limbile de calcul relațional sunt non-procedurale. Primul limbaj de calcul relațional ALFA a fost dezvoltat de însuși E.F. Codd.

În prezent, limbajul SQL (Structured Query Language) a devenit larg răspândit. Limbajul SQL a fost dezvoltat de IBM la mijlocul anilor '70, apoi aprobat și susținut de multe companii ca limbaj standard pentru gestionarea bazelor de date relaționale. Acest discurs a fost dezvoltat pe baza standardului de limbaj utilizat în sistemul de management al bazei de date dBase. Federația Internațională pentru Procesarea Informației (AFIP) și Organizația Internațională pentru Standardizare (ISO) formează și clarifică standarde pentru dezvoltarea ulterioară a limbajului SQL. Discursul este axat pe efectuarea de operațiuni cu date care sunt prezentate sub forma unui set de tabele interconectate logic. Principala diferență față de limbajul original dBase este că SQL este proiectat pentru operațiuni de tabel, în timp ce dBase este orientat spre înregistrări.

Funcțiile limbajului SQL.

Utilizarea conceptului de operații axate pe reprezentarea tabelară a datelor a făcut posibilă crearea unui limbaj SQL compact cu un set mic de comenzi. Această abordare facilitează definirea, afișarea și actualizarea informațiilor în baza de date, simplificând programarea interogărilor complexe. O caracteristică a comenzilor limbajului SQL este că ele sunt mai concentrate pe rezultatul final al procesării datelor decât pe procedura pentru această prelucrare. Sistemul determină calea optimă pentru a scoate datele. SQL este un limbaj non-procedural. Setul complet de comenzi SQL include aproximativ 30 de comenzi.

Un tabel SQL este o colecție de rânduri și coloane, în care rândurile de tabel corespund înregistrărilor, iar coloanele corespund câmpurilor. Pe lângă tabelele obișnuite, limbajul SQL vă permite să creați un tip special de tabel - o selecție. Un eșantion este un subset de rânduri și coloane dintr-unul sau mai multe tabele. Un eșantion este adesea numit tabel virtual, deoarece nu conține de fapt date, ci permite doar reproducerea acestora. Datele din eșantion reflectă schimbări reale în tabelele corespunzătoare și invers, o modificare a datelor din eșantioanele actualizate duce la o modificare a acestor date în tabelele primare.

Utilizarea eficientă a comenzilor SQL se realizează prin utilizarea și crearea de informații specifice care vă permit să faceți referire la fiecare tabel și selecție. Aceste informații sunt conținute în fișiere numite cataloage de tabel, care sunt create în timpul creării bazei de date. Fiecare comandă SQL se termină cu „;”. Fiecare comandă SQL, numită clauză, începe cu un verb care specifică numele operației de bază. Multe comenzi conțin cuvinte cheie și clauze care clarifică executarea operațiilor de bază. În plus, comanda SQL trebuie să includă datele care vor fi procesate și (sau) operațiunile care trebuie efectuate asupra acestor date.

Limbajul SQL operează cu conceptul de baze de date care conțin toate informațiile necesare procesării datelor într-un program de aplicație. O bază de date SQL completă include următoarele componente:

· tabele - structuri de date de bază în baze de date;

· selectează - un tip de tabel virtual care oferă intrare/ieșire a anumitor rânduri și coloane din unul sau mai multe tabele;

· sinonime - denumiri alternative ale tabelelor și selecțiilor;

· fișiere index care sunt atașate la tabele pentru a oferi o recuperare rapidă a datelor și pentru a menține integritatea bazei de date;

· cataloage - un set de tabele din fiecare bază de date care descriu bazele de date și conținutul acestora.

Dezvoltarea limbajului SQL.

Primul standard de limbaj SQL a apărut în 1989 (SQL-89) și a fost susținut de aproape toate sistemele comerciale de gestionare a bazelor de date relaționale. Era de natură generală și permitea o interpretare largă. Avantajele SQL-89 pot fi considerate standardizarea sintaxei și semanticii operatorilor de selecție și manipulare a datelor, precum și fixarea mijloacelor de limitare a integrității bazei de date. Cu toate acestea, acestei versiuni lipsesc secțiuni precum manipularea schemei bazei de date și SQL dinamic.

Incompletitudinea cerințelor SQL -89 a condus la crearea în 1992 a următoarei versiuni a limbajului SQL -92, care acoperea o gamă mai largă de funcții: manipularea structurii bazei de date, gestionarea tranzacțiilor și sesiunilor, SQL dinamic. Versiunea standard are trei niveluri: de bază, intermediar și complet. Numai cele mai recente versiuni ale sistemelor de gestionare a bazelor de date oferă compatibilitate cu standardul complet. Munca pentru îmbunătățirea acestui limbaj nu se oprește. Îmbunătățirile vor fi făcute, în primul rând, în direcția activării mecanismului de declanșare și definirii unui tip de date personalizat.

Plan

1. Conceptul de model de date, bază de date. Conceptul și scopul sistemelor de management al bazelor de date.
2. Prezentare generală a modelului de date relaționale. Model entitate-relație. Conceptul de relație, atribut, cheie, conexiune. Clasificarea conexiunilor cu multiplicitate și completitudine. Reguli pentru construirea unui model de date de domeniu.

3. Conceptul de tabel, câmp, înregistrare. Principalele etape ale lucrului cu baze de date într-un mediu de sistem de management al bazelor de date. Cartografierea modelului entitate-relație al bazei de date. Proprietăți câmpuri, tipuri de date. Introducerea datelor în tabele. Sortarea, căutarea și filtrarea datelor.

4. Conceptul de interogare la o bază de date relațională. Conceptul de limbaj de interogare SQL.

5. Creați tabele, formulare, interogări și rapoarte folosind vrăjitori.

6. Schimb de date între SGBD și alte programe destinate procesării documentelor. Partajarea bazei de date.

Conceptul de model de date, bază de date. Conceptul și scopul sistemelor de management al bazelor de date.

Baza de date (DB) este o colecție structurată de date interconectate dintr-un anumit domeniu (obiecte reale, procese, fenomene etc.).

Exemple: baza de date privind disponibilitatea medicamentelor; DB în aeronave, sistemul de orar al trenului sau vânzarea biletelor de transport DB; Baza de date cu documente ale elevilor școlii, fișă al departamentului de personal sau biblioteci etc.

Apariția tehnologiei informatice a sporit eficiența lucrului cu bazele de date. Accesul și gestionarea datelor au loc în mediul unui pachet software special - un sistem de gestionare a bazelor de date (DBMS).

SGBD este un program care este folosit pentru a stoca, procesa și căuta informații în baze de date.

Organizarea datelor în sfera internă se caracterizează prin două niveluri - logic și fizic. Organizarea fizică a datelor definește metoda de plasare a datelor direct pe suportul mașinii. Organizarea logică a datelor pe suportul mașinii depinde de software, organizarea și întreținerea datelor în sfera internă. Metoda de organizare logică a datelor este determinată de tipul de structuri de date utilizate și de tipul de model care este suportat de software.

Model de date este un set de structuri de date interconectate și operațiuni pe aceste structuri. Pentru a plasa aceleași informații în sfera internă, pot fi folosite structuri și modele de date diferite. Acest lucru depinde de utilizator, de hardware și software și este determinat de complexitatea sarcinilor automatizate și de cantitatea de informații.

Există astfel de modele de date: ierarhice, relaționale, post-relaționale, multidimensionale, orientate pe obiecte.

Pe baza structurii de organizare a informațiilor într-o bază de date se disting următoarele modele de baze de date: ierarhic, de rețea și relațional.

Model ierarhic de bază de date. Acest model este o structură de date care este ordonată de la general la specific; seamănă cu un „arboresc” (graf), prin urmare are aceiași parametri: nivel, nod, conexiune. Modelul funcționează pe următorul principiu: mai multe noduri de nivel inferior sunt conectate prin comunicare cu un nod de nivel superior.

Model ierarhic de bază de date are următoarele proprietăți: mai multe noduri de nivel inferior sunt conectate la un singur nod de nivel superior; un arbore de ierarhie are un singur vârf, care nu este supus altuia; fiecare nod are propriul nume, există o singură rută de la vârful arborelui (nodul rădăcină) la orice nod din structură.

Modelul bazei de date în rețea. În general, arată ca unul ierarhic. Are aceleași structuri constitutive, dar diferă prin natura relației dintre ele. Există un număr arbitrar, nelimitat de elemente-conexiune între elementele structurii.

Modelul bazei de date relaționale. (Originea numelui este din cuvântul latin relatio - relație). Modelul este construit pe relațiile dintre componentele structurii. Reprezintă un tabel sau o colecție de tabele bidimensionale interconectate.

Modelul relațional este creat pe baza unui tabel bidimensional.

Rând de masă este o înregistrare care conține