Conceptul de model de date, bază de date. Conceptul și scopul sistemelor de management al bazelor de date. Modele de bază de construcție a bazei de date

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 ele. 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 sunt caracterizate printr-o structură de date simplă, 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 complexe de date.

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 dau nume unice; numele de familie Access DBMS vă permite să:

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 imprimare.

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 de 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.

Principalele etape 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 folosind 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 în înregistrare în locurile potrivite și 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 blocurilor 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 printr-o pictogramă cheie în coloana selectorului (acesta este un semn că câmpul este declarat cheie primară) și este indexat corespunzător.

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 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 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 asociate cu 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ȘTERI, 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 tabelul).

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 Valori Da și Nu ș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șamente la înregistrările bazei de date, fișierele foi de calcul, documentele, diagramele și alte tipuri de fișiere acceptate, similare atașamentelor 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 la crearea câmpului. 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 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 prelucră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 dintr-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. Privire de ansamblu asupra 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 limbajului 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ânzări de bilete 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 automate ș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 ierarhic 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 de la 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

Pentru o reprezentare logica a relatiilor dintre obiectele bazei de date se foloseste un model informatic-logic (infologic).

Există trei tipuri de modele de baze de date informaționale:

· ierarhic;

· rețea;

· relaționale.

Model ierarhic datele sunt o structură arborescentă, în care fiecărui element (obiect) îi corespunde o singură conexiune cu un element (obiect) de nivel superior. Un exemplu de model ierarhic este registrul Windows, care arată plasarea fișierelor și folderelor de diferite niveluri de imbricare pe discurile computerelor, precum și un arbore genealogic.

Avantajele modelului ierarhic sunt simplitatea și viteza. O solicitare către o astfel de bază de date este procesată rapid, deoarece căutarea datelor are loc de-a lungul uneia dintre ramurile arborelui, trecând de la obiectele părinte la obiectele copil sau invers (căutarea în arbore durează mai mult pentru procesare).

Dacă structura datelor implică relații mai complexe decât ierarhia obișnuită, atunci se folosesc alte modele pentru organizarea informațiilor.

Model de rețea datele permit, pentru a combina informații aferente, să se asigure conexiuni între unele elemente și oricare altele, nu neapărat cele părinte. Acest model este similar cu cel ierarhic și este o versiune îmbunătățită a acestuia.

ÎN model de rețea date, fiecare element poate avea mai mult de un element care îl generează, iar reprezentarea grafică a modelului seamănă cu o rețea. Permite complexitatea „arborei” fără a limita numărul de conexiuni incluse în vârful său.

O caracteristică a bazelor de date ierarhice și de rețea este că o structură rigidă de înregistrări și seturi de relații sunt specificate în prealabil, chiar și în faza de proiectare, iar schimbarea structurii bazei de date necesită restructurarea întregii baze de date. În plus, deoarece logica procedurii de regăsire a datelor depinde de organizarea fizică a datelor, acest model este dependent de aplicație. Cu alte cuvinte, dacă structura datelor trebuie să se schimbe, este posibil ca aplicația să fie necesară și să se schimbe.

Bazele de date din rețea sunt considerate instrumente ale programatorilor. Deci, de exemplu, pentru a obține un răspuns la întrebarea: „Ce produs este cel mai des comandat de compania X?”, trebuie să scrieți un cod de program pentru a naviga prin baza de date. Implementarea solicitărilor utilizatorilor poate dura mult timp, iar în momentul în care vor apărea informațiile solicitate, acestea nu vor mai fi relevante.

Model relațional este destul de universal, simplifică semnificativ structura bazei de date și facilitează lucrul cu ea. ÎN relaționaleÎn baza de date, toate datele disponibile utilizatorului sunt organizate sub formă de tabele. Fiecare tabel are propriul nume unic, corespunzător naturii conținutului său. Coloane de tabel numite câmpuri, descrie anumite atribute ale informațiilor, de exemplu: numele de familie, prenumele, sexul, vârsta, numărul de telefon, statutul social al respondenților. Rândurile tabelului relațional conțin înregistrăriși stochează informații despre o instanță a unui obiect de date reprezentat în tabel, cum ar fi datele despre o persoană. Nu ar trebui să existe înregistrări identice în tabel.



Principala cerință pentru o bază de date relațională este ca valorile câmpurilor (coloane de tabel) să fie unități de informații elementare și indivizibile (adică pentru a înregistra o adresă veți avea nevoie nu de unul, ci de mai multe câmpuri care conțin informații indivizibile - stradă, casă numărul, numărul apartamentului). Acest lucru face posibilă utilizarea aparatului matematic al algebrei relaționale pentru a procesa informații. Cele mai populare SGBD-uri relaționale sunt Access, FoxPro, dBase, Oracle etc.

O bază de date relațională conține de obicei mai multe tabele cu informații diferite. Dezvoltatorul bazei de date instalează relaţiile dintre tabele individuale. Când creați conexiuni utilizați câmpuri cheie.

Odată ce conexiunile sunt stabilite, devine posibil să se creeze interogări, formulare și rapoarte care conțin date din mai multe tabele interconectate.

Toate datele disponibile utilizatorului într-o bază de date relațională sunt organizate sub formă de tabele de relații, care sunt o matrice bidimensională, în care fiecare tabel are propriul nume unic, corespunzător naturii conținutului său.

În prezent, majoritatea SGBD-urilor utilizează un model de date tabelar (relațional).

Avantajele modelului relațional:

· Simplitate și accesibilitate pentru utilizatorul final, deoarece singura structură de informații este un tabel vizual.

· Independență completă a datelor. La modificarea structurii bazei de date, nu sunt necesare modificări semnificative în programul aplicației.

Dezavantajele modelului relațional:

· Subiectul nu poate fi întotdeauna reprezentat ca un set de tabele.

· Viteză scăzută de procesare a interogărilor în comparație cu alte modele, precum și necesită mai multă memorie externă.

Un exemplu de bază de date relațională simplă este tabelul „Respondenți”, unde un rând (înregistrare) este informații despre unul dintre participanții la un sondaj telefonic.


Aceasta este o bază de date bazată pe o structură arborescentă. Conform principiului construcției, este oarecum similar cu sistemul de fișiere al unui computer. Utilizarea unui astfel de model are avantajele și dezavantajele sale, care vor fi discutate în acest articol, împreună cu exemple detaliate.

Tipuri de baze de date

După cum știți, există patru tipuri de construcție de baze de date:

  • Relațional - SGBD tabelar, unde informațiile sunt prezentate sub formă de rânduri și coloane. Acest principiu este folosit pentru a construi clădiri în Access, de exemplu.
  • Orientate pe obiecte - sunt strâns legate de modul în care se lucrează cu obiectele), iar acesta este principalul lor avantaj, dar având în vedere productivitatea lor scăzută, sunt în continuare semnificativ inferioare ca prevalență față de cele relaționale.
  • Hybrid - SGBD care conține două dintre tipurile de mai sus simultan.
  • Cele ierarhice fac obiectul atenției acestui articol. caracterizat printr-o structură asemănătoare arborelui.

Cel mai faimos exemplu de bază de date ierarhică este un produs creat de IBM numit Information Management System, abreviat ca IMS. Prima versiune a IMS a fost lansată în ultimul secol al XX-lea, în anul șaizeci și opt. Este folosit și astăzi pentru stocarea și controlul datelor.

Principiul construirii unui model ierarhic

Modelul ierarhic de date este construit după următorul principiu:

  • pentru fiecare nod al structurii arborescente i se atribuie un anumit segment;
  • Un segment se referă la câmpuri de date cu un nume atribuit fiecărui câmp și aranjate într-un tuplu liniar;
  • o altă potrivire: o intrare și mai multe segmente de ieșire pentru fiecare câmp sursă;
  • pentru fiecare element structural există unul și un singur loc în sistemul ierarhic;
  • structura arborelui începe de la elementul rădăcină;
  • Fiecare nod slave are un singur strămoș, dar fiecare nod părinte poate avea mai mulți copii.

Aplicarea unei structuri ierarhice de date

O bază de date ierarhică este o stocare care este aplicabilă pentru acele sisteme care au inițial o structură arborescentă. Pentru ei, alegerea unei astfel de modelări este logică.

Un exemplu de bază de date ierarhică cu grade inițial sistematizate este o unitate militară, în care, după cum știm, gradele sunt clar definite. Ele pot fi, de asemenea, mecanisme complexe, constând din particule care devin din ce în ce mai simple spre partea de jos a ierarhiei. Pentru a modela astfel de sisteme și a le aduce la forma bazei de date luate în considerare, nu este nevoie de descompunere. Cu toate acestea, această situație nu apare întotdeauna.

În plus, există tendința ca o interogare descendentă să fie mai simplă decât o interogare ascendentă.

Operații de bază pe baze de date construite pe un model ierarhic

Structura bazei de date ierarhice vă permite să efectuați cu succes și aproape fără întreruperi (în funcție de abilități și abilități) următoarele operațiuni (sunt prezentate cele mai de bază, lista poate fi întotdeauna extinsă cu mici adăugiri):

  • caută în baza de date un anumit element;
  • trecerea prin baza de date - de la arbore la arbore;
  • deplasarea de-a lungul unui copac - de la ramură la ramură;
  • în consecință, tranziția de-a lungul ramurilor este element cu element;
  • lucrul cu înregistrări: introducerea uneia noi și/sau ștergerea celei actuale, copierea, tăierea etc.

Descrierea generalizată a structurii

Termenul „asemănător unui copac” pentru a descrie structura este menționat în acest articol de mai multe ori. Este timpul să spunem de unde a venit. Acest lucru se datorează faptului că o bază de date ierarhică este o bază de date care utilizează tipul de date „arboresc”. Să aruncăm o privire mai atentă la ce este.

Acesta este un tip compus: fiecare element (nod) conține mai multe elemente ulterioare (unul sau mai multe). Și totul începe cu un element rădăcină. Ideea este că fiecare dintre piesele de tip „arborele” este un subtip, de asemenea un „copac”. Multe, multe structuri ramificate și încă ordonate.

Tipurile elementare pot fi simple sau compuse, dar în esență sunt întotdeauna înregistrări. Dar într-o înregistrare simplă există una, iar într-o înregistrare compusă există un întreg set de ele.

Modelul ierarhic este caracterizat de principiul descendenților, când fiecare segment anterior este strămoșul celui următor. În plus, un descendent al unui tip de părinte este un tip subordonat, în timp ce înregistrările echivalente între ele sunt considerate gemeni.

Completarea bazei de date

Datele principale ale unei baze de date ierarhice sunt valorile (numerele sau simbolurile) care sunt stocate în înregistrări. O astfel de bază de date este de obicei parcursă de jos în sus și de la stânga la dreapta.

Avantaje

O bază de date ierarhică este o bază de date care are un folder rădăcină și se ramifică treptat în jos. Având în vedere că o astfel de structură este foarte asemănătoare cu un sistem de fișiere, astfel de baze de date sunt utilizate cu succes pentru a efectua diverse operațiuni asupra datelor computerului. Rezultatul: o distribuție rațională a memoriei ei, precum și indicatori foarte decenți ai timpului petrecut la muncă.

Modelul ierarhic este ideal pentru a-l folosi pentru organizarea informațiilor.

Defecte

Totuși, aceleași caracteristici ale SGBD-ului luat în considerare, care au devenit principalele lor avantaje, determină și dezavantajele acestora. De exemplu, volumul și complexitatea conexiunilor logice - va fi dificil pentru un specialist experimentat să înțeleagă atunci când lucrează cu o bază de date necunoscută anterior, iar un simplu utilizator se va pierde complet în ea. Această complexitate a înțelegerii duce la faptul că nu multe SGBD-uri sunt de fapt construite pe un model ierarhic. Un exemplu de bază de date ierarhică este, pe lângă produsul deja descris IBM, Oka și MIRIS (fabricat în Rusia), precum și Data Edge și Team-UP (de la corporații străine).

Exemple

O bază de date ierarhică este o varietate de niveluri diferite pe care se construiesc relațiile. Schematic, arată ca un grafic inversat. Un exemplu de bază de date ierarhică este orice agenție administrativă guvernamentală. Luați, de exemplu, școala.

La cel mai înalt nivel va fi „liderul” administrației - directorul. Directorii îi sunt subordonați, iar directorii au profesori care gestionează clase paralele. Fiecare paralelă are un anumit număr de ele, iar fiecare clasă are un anumit număr de elevi.

Același principiu poate fi folosit pentru a descrie managementul unei corporații. Șeful companiei sau chiar consiliul de administrație se află în vârf. În continuare - un număr tot mai mare de divizii, fiecare dintre ele având propria sa structură. Există, de asemenea, caracteristici comune: șeful fiecărui departament, asistentul său, secretarul său, angajații biroului înșiși și așa mai departe.

Aplicație în calculatoare

Pot exista aplicații mai serioase. Un exemplu izbitor de bază de date ierarhică este un sistem de fișiere. Familiarul „Explorer” este construit în nucleul sistemului de operare Windows exact conform acestei scheme, la fel ca mulți alți manageri de fișiere.

Baze de date de rețea

Exista:

  • relațional;
  • ierarhic;
  • baze de date de rețea.

De ce ne-am gândit din nou la clasificare? Pentru că, spre deosebire de o bază de date relațională, o bază de date de rețea are caracteristici similare cu una ierarhică.

Este timpul să vă amintiți în bazele de date. Există relații unu-la-unu, unu-la-mulți și mulți-la-mulți. Ne interesează acesta din urmă. Într-o bază de date de rețea, se manifestă astfel: un nod succesor poate avea mai mulți strămoși simultan. Se păstrează și proprietatea de a avea mai mulți descendenți. Putem spune că bazele de date ierarhice și bazele de date din rețea sunt ele însele exemple de astfel de moștenire. Strămoșul în acest caz este tocmai baza de date ierarhică, deoarece principiul construirii structurii în bazele de date de rețea rămâne același.

Ierarhie și relaționalitate

Numele „relațional” provine din cuvântul englezesc „relationship”. După cum sa menționat la începutul articolului, acestea sunt adesea exprimate în tabele. Dar în paragraful anterior am indicat că o bază de date ierarhică poate organiza și conexiuni, înseamnă asta că între aceste două tipuri există un fel de fir subțire care le unește?

Da. Pe lângă faptul că atât primul cât și cel de-al doilea tip se referă în continuare la bazele de date, pe lângă această caracteristică există încă o proprietate comună. De exemplu, o bază de date ierarhică (și o bază de date de rețea împreună cu aceasta) poate fi exprimată într-un tabel. Ideea aici nu este sub ce formă ar trebui să fie prezentate informațiile utilizatorului final (aceasta este deja o chestiune de utilizare a interfeței), ci pe ce principiu au fost structurate informațiile. Astfel, o împărțire clară în departamente cu șefii lor, diviziile și așa mai departe va fi în continuare exprimată în ierarhie, dar pentru comoditate este listată într-un tabel.

După cum sa menționat, modelul infologic mapează lumea reală în câteva concepte ușor de înțeles de om, care sunt complet independente de parametrii mediului de stocare a datelor. Există multe abordări pentru construirea unor astfel de modele: modele grafice, rețele semantice, model entitate-relație etc. Cel mai popular dintre acestea s-a dovedit a fi modelul entitate-relație, care va fi discutat în Capitolul 2.

Modelul informațional trebuie mapat într-un model datalogic orientat pe computer, care este „înțeles” de către SGBD. În procesul de dezvoltare a teoriei și utilizării practice a bazelor de date, precum și a tehnologiei informatice, au fost create SGBD-uri care au suportat diverse modele datalogice.

În primul rând, au început să fie utilizate modele datalogice ierarhice. Simplitatea organizării, prezența unor conexiuni predeterminate între entități și similitudinea cu modelele fizice de date au făcut posibilă obținerea unei performanțe acceptabile a SGBD-urilor ierarhice pe computere lente, cu cantități foarte limitate de memorie. Dar, dacă datele nu au avut o structură arborescentă, atunci au apărut o mulțime de dificultăți la construirea unui model ierarhic și dorința de a obține performanța dorită.

Au fost create și modele de rețea pentru calculatoare cu resurse reduse. Acestea sunt structuri destul de complexe constând din „seturi” - numite arbori cu două niveluri. „Seturile” sunt conectate folosind „înregistrări de legături”, formând lanțuri etc. La dezvoltarea modelelor de rețea, au fost inventate multe „mici trucuri” care au făcut posibilă creșterea performanței SGBD-ului, dar au complicat semnificativ acesta din urmă. Un programator de aplicații trebuie să cunoască o mulțime de termeni, să studieze mai multe limbaje interne DBMS și să aibă o înțelegere detaliată a structurii logice a bazei de date pentru a naviga printre diverse instanțe, seturi, înregistrări etc. Unul dintre dezvoltatorii sistemului de operare UNIX a spus: „Baza de rețea este cea mai sigură modalitate de a pierde date”.

Complexitatea utilizării practice a SGBD-urilor ierarhice și de rețea ne-a forțat să căutăm alte modalități de prezentare a datelor. La sfârșitul anilor 60 au apărut SGBD-urile bazate pe fișiere inversate, caracterizate prin ușurință în organizare și prezența unor limbaje foarte convenabile de manipulare a datelor. Cu toate acestea, astfel de SGBD-uri au o serie de restricții privind numărul de fișiere pentru stocarea datelor, numărul de conexiuni dintre ele, lungimea înregistrării și numărul câmpurilor acesteia.

Cele mai comune modele astăzi sunt modelele relaționale, care vor fi discutate în detaliu în Capitolul 3.

Organizarea fizică a datelor are un impact major asupra caracteristicilor operaționale ale bazei de date. Dezvoltatorii DBMS încearcă să creeze cele mai productive modele de date fizice, oferind utilizatorilor unul sau altul instrument de personalizare a modelului pentru o anumită bază de date. Varietatea modalităților de ajustare a modelelor fizice ale SGBD-urilor industriale moderne nu ne permite să le luăm în considerare în această secțiune.

Modele de organizare a bazelor de date

1. Abordarea ierarhică a organizării bazelor de date. Bazele de date ierarhice au forma de arbori cu arc-link-uri și noduri-element de date. Structura ierarhică presupunea inegalități între date – unele erau strict subordonate altora. Astfel de structuri, desigur, satisfac în mod clar cerințele multor, dar nu tuturor problemelor din viața reală.

2. Model de date de rețea.În bazele de date de rețea, împreună cu conexiunile verticale, sunt implementate și conexiunile orizontale. Cu toate acestea, multe dezavantaje ale sistemului ierarhic au fost moștenite, iar principala este necesitatea de a defini clar conexiunile de date la nivel fizic și de a urmări la fel de clar această structură de conexiuni atunci când interogăm baza de date.

3. Model relaţional. Modelul relațional a apărut din dorința de a face baza de date cât mai flexibilă. Acest model a oferit un mecanism simplu și eficient pentru menținerea relațiilor de date.

in primul rand, toate datele din model sunt prezentate sub formă de tabele și numai tabele. Modelul relațional este singurul care asigură uniformitatea prezentării datelor. Atât entitățile, cât și conexiunile acestor entități sunt reprezentate în model exact în același mod - Mese . Adevărat, această abordare complică înțelegerea sensului informațiilor stocate în baza de date și, ca urmare, manipularea acestor informații.

Vă permite să evitați dificultățile de manipulare al doilea element modele – un limbaj complet relațional (rețineți că limbajul este parte integrantă a oricărui model de date, fără el modelul nu există). Completitudinea unui limbaj atunci când este aplicată unui model relațional înseamnă că trebuie să efectueze orice operație de algebră relațională sau de calcul relațional (completitudinea acestuia din urmă a fost dovedită matematic de E.F. Codd). Mai mult, limbajul trebuie să descrie orice interogare în termeni de operații pe tabele, nu pe rândurile acestora. Un astfel de limbaj este SQL.

Al treilea element modelul relațional necesită ca modelul relațional să mențină unele constrângeri de integritate. O astfel de constrângere afirmă că fiecare rând dintr-un tabel trebuie să aibă un identificator unic numit cheia principala . A doua limitare este impusă integrității legăturilor dintre tabele. Acesta afirmă că atributele de tabel care fac referire la cheile primare ale altor tabele trebuie să aibă una dintre acele valori ale cheilor primare.

4. Model orientat pe obiecte. Noile domenii ale tehnologiei de calcul, cum ar fi cercetarea științifică, proiectarea asistată de computer și automatizarea instituțională, au cerut baze de date pentru a putea stoca și procesa noi obiecte - text, audio, video și documente. Principalele dificultăți ale modelării datelor orientate pe obiecte provin din faptul că un astfel de aparat matematic dezvoltat pe care s-ar putea baza un model general de date orientat pe obiecte nu există. Acesta este în mare parte motivul pentru care încă nu există un model de bază orientat pe obiecte. Pe de altă parte, unii autori susțin că un model de date general orientat pe obiect în sensul clasic nu poate fi definit deoarece conceptul clasic de model de date este nepotrivit paradigmei orientate pe obiect. În ciuda avantajelor sistemelor orientate pe obiecte - implementarea unor tipuri de date complexe, comunicarea cu limbaje de programare etc. – în viitorul apropiat, superioritatea SGBD-urilor relaționale este garantată.

5.3.3 Modele de date și modelare conceptuală

S-a menționat deja mai sus că o schemă este creată folosind un limbaj de definire a datelor. De fapt, este creat pe baza limbajului de definire a datelor al SGBD-ului țintă specific, care este un limbaj de nivel relativ scăzut; cu ajutorul acestuia, este dificil să descrieți cerințele de date, astfel încât diagrama creată să fie înțeleasă de utilizatorii diferitelor categorii. Pentru a obține o astfel de înțelegere, este necesar să se creeze o descriere a schemei la un nivel superior, pe care îl vom numi model de date. În acest caz, printr-un model de date vom înțelege un set integrat de concepte pentru descrierea datelor, conexiunile dintre acestea și restricțiile impuse datelor într-un anumit domeniu.

Un model este o reprezentare a obiectelor și evenimentelor dintr-un domeniu, precum și a relațiilor care există între ele. Un model de date poate fi gândit ca o combinație a următoarelor trei componente.

· Partea structurală, de ex. un set de reguli prin care se poate construi o bază de date.

· Partea de control, care determină tipurile de operațiuni permise cu date (aceasta include operațiuni de actualizare și preluare a datelor, precum și operațiuni de modificare a structurii bazei de date).

· Un set de constrângeri de integritate a datelor care garantează corectitudinea datelor utilizate.

Scopul construirii unui model de date este de a prezenta datele într-un mod ușor de înțeles. Dacă o astfel de reprezentare este posibilă, atunci modelul de date poate fi aplicat cu ușurință la proiectarea unei baze de date. Pentru a reprezenta arhitectura ANSI-SPARC, pot fi definite următoarele trei modele de date asociate:

· un model de date extern care afișează vizualizări ale fiecărui tip de utilizator existent în organizație;

· un model conceptual de date care afișează o vedere logică (sau generalizată) a datelor, independent de tipul de SGBD selectat;

· un model de date intern care afișează schema conceptuală într-un mod specific care este înțeles de SGBD țintă selectat.

Un număr destul de mare de modele de date au fost propuse și publicate în literatură. Acestea sunt împărțite în trei categorii: modele de date bazate pe obiecte, modele de date bazate pe înregistrări și modele de date fizice. Primele două sunt folosite pentru a descrie datele la nivel conceptual și extern, iar ultima la nivel intern.

Modele de date obiect. La construirea modelelor de date obiect, sunt utilizate concepte precum entități, atribute și relații. O entitate este un element separat (angajat, produs, concept sau eveniment) al unui domeniu care trebuie reprezentat în baza de date. Un atribut este o proprietate care descrie un aspect al unui obiect și a cărui valoare ar trebui să fie capturată, iar o relație este o relație asociativă între entități. Mai jos sunt enumerate unele dintre cele mai comune tipuri de modele de obiecte de date.

    • Model Entitate-Relație sau model ER.
    • Model semantic.
    • Model functional.
    • Model orientat pe obiecte.

În prezent, modelul ER a devenit una dintre principalele metode de proiectare conceptuală a bazelor de date. Modelul orientat pe obiect extinde definiția unei entități pentru a include nu numai atributele care descriu starea obiectului, ci și acțiunile care îi sunt asociate, i.e. comportamentul lui. În acest caz, se spune că obiectul încapsulează starea și comportamentul.

Modele de date bazate pe înregistrări. Într-un model bazat pe înregistrări, o bază de date constă din mai multe înregistrări cu format fix care pot fi de diferite tipuri. Fiecare tip de înregistrare definește un număr fix de câmpuri, fiecare dintre ele având o lungime fixă. Există trei tipuri principale de modele de date bazate pe înregistrări logice: model de date relaționale, model de date de rețea și model de date ierarhice.