O înregistrare într-o bază de date relațională este o colecție. Bazele de date relaționale sunt condamnate

Conceptul de relațional este asociat cu evoluțiile unui renumit specialist american în domeniul sistemelor de baze de date, un angajat al companiei. IBM Drs. E. Codd (Codd E.F., A Relational Model of Data for Large Shared Data Banks. CACM 13: 6, iunie 1970), care a folosit pentru prima dată termenul „model de date relaționale”.

Multă vreme, abordarea relațională a fost considerată un aparat formal convenabil pentru analiza bazelor de date, care nu avea perspective practice, deoarece implementarea sa necesita prea multe resurse ale mașinii. Numai cu venirea calculatoare personale sistemele relaționale și conexe au început să se răspândească, practic nu lăsând loc altor modele.

Aceste modele se caracterizează printr-o structură de date simplă care este ușor de utilizat prezentare tabelarăși capacitatea de a utiliza aparatul formal al algebrei relaționale și calculului relațional pentru prelucrarea datelor.

Modelul relațional se concentrează pe organizarea datelor sub formă de tabele bidimensionale. Fiecare tabel relațional este matrice bidimensionalăși are următoarele proprietăți:

  • - fiecare element de tabel este un element de date; nu există grupuri care se repetă;
  • - toate coloanele din tabel sunt omogene, i.e. toate elementele dintr-o coloană au același tip (numeric, caracter etc.) și lungime;
  • - fiecare coloană are un nume unic;
  • - linii identice nu în tabel;
  • - ordinea rândurilor și coloanelor poate fi arbitrară. Acest tip de tabel se numește relație.

O bază de date construită folosind relații se numește bază de date relațională.

Relațiile sunt prezentate sub formă de tabele, ale căror rânduri corespund tuplurilor sau înregistrărilor, iar coloanele corespund atributelor, domeniilor și câmpurilor relațiilor.

Se apelează un câmp a cărui valoare identifică în mod unic înregistrarea corespunzătoare cu o cheie simplă (câmp cheie). Dacă înregistrările sunt identificate în mod unic prin valorile mai multor câmpuri, atunci un astfel de tabel al bazei de date are o cheie compusă.

Pentru a lega două tabele relaționale, trebuie să includeți cheia primului tabel ca parte a cheii celui de-al doilea tabel (cheile pot coincide); în caz contrar, trebuie să intrați în structura primului tabel cheie străină- cheia celui de-al doilea tabel.

După ce a propus un model de date relaționale, E.F. Codd a creat și un instrument pentru lucru confortabil cu relatii - algebră relațională. Fiecare operație a acestei algebre folosește unul sau mai multe tabele (relații) ca operanzi și produce ca rezultat masa noua, adică vă permite să „tăiați” sau să „lipiți” mesele.

Modul în care modelele relaționale diferă fundamental de cele de rețea și cele ierarhice se poate spune după cum urmează: modelele de date ierarhice și de rețea sunt conectate prin structură, iar cele relaționale sunt conectate prin semnificație.

Proiectarea bazelor de date a fost considerată în mod tradițional o sarcină foarte dificilă. Tehnologia relațională simplifică foarte mult această sarcină.

Separând straturile logice și fizice ale unui sistem, simplifică procesul de mapare a „stratului lumii reale” într-o structură pe care sistemul o poate suporta direct. Deoarece structura relațională în sine este simplă din punct de vedere conceptual, permite implementarea unor baze de date mici și/sau simple (și, prin urmare, ușor de creat), cum ar fi bazele de date personale, care nu ar fi fost niciodată considerate posibile în sisteme mai vechi, mai complexe.

Teoria și disciplina normalizării pot ajuta, arătând ce se întâmplă atunci când relațiile nu sunt structurate în mod natural.

Modelul de date relaționale este potrivit în special pentru utilizarea în baze de date arhitectura distribuita- vă permite să accesați orice elemente de informare, stocat în nodurile rețelei de calculatoare. Trebuie să plătească atenție deosebită pe aspectul de nivel înalt al abordării relaționale, care constă în procesarea înregistrărilor multiple. Datorită acestui fapt, potențialul abordării relaționale crește semnificativ, ceea ce nu poate fi atins atunci când se prelucrează câte o înregistrare și, mai ales, aceasta se referă la optimizare.

Acest model vă permite să determinați:

  • · operațiuni de stocare și preluare a datelor;
  • · restricții legate de asigurarea integrității datelor.

Pentru a crește eficiența muncii în multe SGBD tip relațional au fost adoptate restricții care respectă stricte model relațional.

Multe SGBD-uri relaționale prezintă utilizatorului fișiere de bază de date într-un format tabelar - cu înregistrările sub formă de rânduri și câmpurile lor sub formă de coloane. ÎN formă tabelară informația este percepută mult mai ușor. Cu toate acestea, în baza de date nivel fizic Datele sunt de obicei stocate în fișiere care conțin secvențe de înregistrări.

Avantajul principal SGBD relațional este capacitatea de a lega pe baza anumitor relații ale fișierelor bazei de date.

Din punct de vedere structural, modelele relaționale sunt mai simple și mai omogene decât modelele ierarhice și de rețea. În modelul relațional, fiecare obiect domeniul subiectului se potrivește cu una sau mai multe relații. Dacă este necesar să se definească în mod explicit relația dintre obiecte, aceasta este exprimată sub forma unei relații în care identificatorii de obiecte interconectate sunt prezenți ca atribute. În modelul relațional, obiectele domeniului de studiu și conexiunile dintre ele sunt reprezentate de aceleași structuri informaționale, simplificând semnificativ modelul în sine.

Un SGBD este considerat relațional dacă sunt îndeplinite următoarele două condiții, propuse de E. Codd:

  • · suportă structura de date relaționale;
  • · implementează cel puțin operațiunile de selecție, proiecție și conectare a relațiilor.

Ulterior a fost creat o serie intreaga SGBD relațional, într-o măsură sau alta întâlnire această definiție. Multe SGBD-uri sunt extensii semnificative ale modelului relațional, în timp ce altele sunt mixte, acceptând mai multe modele de date.

Astăzi, bazele de date relaționale rămân cele mai comune datorită simplității și clarității lor, atât în ​​timpul procesului de creare, cât și la nivel de utilizator.

Principalul avantaj al bazelor de date relaționale este compatibilitatea cu cel mai popular limbaj interogări SQL.

Cu o singură interogare în această limbă, puteți uni mai multe tabele într-un tabel temporar și puteți decupa rândurile și coloanele necesare din acesta (selectare și proiecție). Deoarece structura tabulară a unei baze de date relaționale este intuitivă pentru utilizatori, aceasta Limbajul SQL este simplu și ușor de învățat. Modelul relațional are o bază teoretică solidă pe care s-au bazat evoluția și implementarea bazelor de date relaționale. Călând valul de popularitate generat de succesul modelului relațional, SQL a devenit limbajul principal pentru bazele de date relaționale.

Dar au fost identificate și dezavantajele modelului de bază de date luate în considerare:

  • - deoarece toate câmpurile unui tabel trebuie să conțină un număr constant de câmpuri de tipuri predefinite, este necesar să se creeze mese suplimentare, ținând cont de caracteristicile individuale ale elementelor care folosesc chei străine. Această abordare face foarte dificilă crearea oricăror relații complexe în baza de date;
  • - complexitate ridicată a manipulării informațiilor și a modificării conexiunilor.

2. Principiile modelului relaţional

Principii ale modelului bazei de date relaționale, relație, tabel, set de rezultate, tuplu, cardinalitate, atribut, dimensiune, antet, corp, domeniu

Modelul relațional a fost dezvoltat la sfârșitul anilor 1960 de E.F. Codd (un angajat IBM) și publicat în 1970. El definește modul în care sunt reprezentate datele (structura datelor), metodele de protecție a datelor (integritatea datelor) și operațiunile care pot fi efectuate. asupra datelor (manipularea datelor).

Modelul relațional nu este singurul care poate fi folosit atunci când se lucrează cu date. Există și model ierarhic, model de rețea, model stea etc. Cu toate acestea, modelul relațional s-a dovedit a fi cel mai convenabil și, prin urmare, este acum cel mai utilizat pe scară largă.

Principiile de bază ale bazelor de date relaționale pot fi formulate după cum urmează:

· Toate datele la nivel conceptual sunt reprezentate sub forma unei organizații ordonate, definite sub formă de rânduri și coloane și numite relație. Un sinonim mai comun pentru cuvântul „relație” este un tabel (sau un „set de înregistrări”, sau un set de rezultate. De aici provine termenul „baze de date relaționale” și deloc din relațiile dintre tabele;

· toate valorile sunt scalare. Aceasta înseamnă că pentru orice rând și coloană din orice relație, există una și o singură valoare;

· toate operatiile sunt efectuate asupra intregii relatii iar rezultatul acestor operatii este si intreaga relatie. Acest principiu se numește închidere. Prin urmare, rezultatele unei operații (de exemplu, o interogare) pot fi utilizate ca intrare pentru efectuarea unei alte operații (o subinterogare).

Acum - despre terminologia formală:

· atitudine(relația) este întreaga structură, un set de înregistrări (în sensul obișnuit - un tabel).

· caravană este fiecare rând care conține date. Un termen mai comun, dar mai puțin formal este notația.

· putere- numărul de tupluri din relație (cu alte cuvinte, numărul de înregistrări);

· atribut este o coloană într-o relație;

· dimensiune este numărul de atribute în relație (în în acest caz, - 3);

Fiecare relație poate fi împărțită în două părți - titluŞi corp. Pe într-un limbaj simplu antetul relației este o listă de coloane, iar corpul este înregistrările în sine (tupluri).

· în exemplul nostru, numele fiecărei coloane (atribut) este format din două cuvinte separate prin două puncte. Conform definițiilor formale, prima parte este nume de atribut(numele coloanei) iar partea a doua este domeniu(tipul de date pe care le reprezintă coloana de date). Conceptele „domeniu” și „tip de date” nu sunt echivalente între ele. În practică, domeniul este de obicei omis.

· corpul relației este format dintr-un set neordonat de tupluri (numărul său poate fi oricare - de la 0 la infinit de mare).

Un model de date este un set de structuri de date și operațiuni pentru prelucrarea lor. Folosind un model de date, puteți vizualiza structura obiectelor și relațiile stabilite între ele. Terminologia modelelor de date este caracterizată de conceptele de „element de date” și „reguli obligatorii”. Un element de date descrie orice set de date, iar regulile de asociere definesc algoritmi pentru interconectarea elementelor de date. Până în prezent, multe au fost dezvoltate diverse modele date, dar în practică sunt folosite trei principale. Există modele de date ierarhice, de rețea și relaționale. În consecință, se vorbește despre SGBD-uri ierarhice, de rețea și relaționale.

O Model ierarhic de date. Datele organizate ierarhic apar în viata de zi cu zi foarte des. De exemplu, structura unei instituții de învățământ superior este o structură ierarhică pe mai multe niveluri. O bază de date ierarhică (arboresc) constă dintr-un set ordonat de elemente. In acest model elemente sursă generează alte elemente, iar aceste elemente la rândul lor generează următoarele elemente. Fiecare element copil are un singur element părinte.

Structurile organizaționale, listele de materiale, cuprinsul din cărți, planurile de proiect și multe alte seturi de date pot fi prezentate într-o formă ierarhică. Integritatea legăturilor dintre strămoși și descendenți este menținută automat. Regula de bază: niciun copil nu poate exista fără părintele său.

Principalul dezavantaj al acestui model este necesitatea de a utiliza ierarhia care a stat la baza bazei de date în timpul proiectării. Necesitatea unei reorganizări constante a datelor (și adesea imposibilitatea acestei reorganizări) a condus la crearea mai multor model general- rețea.

DESPRE Model de rețea date. Abordarea în rețea a organizării datelor este o extensie a abordării ierarhice. Acest model diferă de cel ierarhic prin faptul că fiecare element generat poate avea mai mult de un element generator. ■

Deoarece o bază de date de rețea poate reprezenta direct tot felul de relații inerente datelor organizației relevante, aceste date pot fi navigate, explorate și interogate. în toate modurile posibile, adică modelul de rețea nu este conectat printr-o singură ierarhie. Cu toate acestea, pentru a face o cerere către o bază de date de rețea, este necesar să se aprofundeze în structura acesteia (să aveți la îndemână schema acestei baze de date) și să dezvoltați un mecanism de navigare în baza de date, ceea ce este un dezavantaj semnificativ al acestui model de bază de date. .

O Model de date relaționale. Ideea de bază a unui model de date relaționale este de a reprezenta orice set de date ca un tabel bidimensional. În forma sa cea mai simplă, un model relațional descrie un singur tabel bidimensional, dar cel mai adesea, modelul descrie structura și relațiile dintre mai multe tabele diferite.

Model de date relaționale

Deci, scopul sistemului informatic este de a procesa date despre obiecte lumea reală, ținând cont conexiuniîntre obiecte. În teoria bazelor de date, datele sunt adesea numite atribute și obiecte - entitati. Obiectul, atributul și conexiunea sunt concepte fundamentale ale I.S.

Obiect(sau esența) este ceva care există și distins, adică un obiect poate fi numit acel „ceva” pentru care există un nume și o modalitate de a distinge un obiect similar de altul. De exemplu, fiecare școală este un obiect. Obiectele sunt și o persoană, o clasă la școală, o companie, un aliaj, un compus chimic etc. Obiectele pot fi nu numai obiecte materiale, ci și concepte mai abstracte care reflectă lumea reală. De exemplu, evenimente, regiuni, opere de artă; cărți (nu ca produse tipărite, ci ca lucrări), spectacole de teatru, filme; norme juridice, teorii filozofice etc.

Atribut(sau dat)- acesta este un indicator care caracterizează un anumit obiect și ia o anumită valoare numerică, text sau altă valoare pentru o anumită instanță a obiectului. Sistem informatic operează cu seturi de obiecte concepute în raport cu un anumit domeniu, folosind anumite valorile atributelor(date) anumitor obiecte. De exemplu, să luăm cursuri într-o școală ca un set de obiecte. Numărul de elevi dintr-o clasă este o dată care ia valoare numerică(o clasă are 28, cealaltă are 32). Numele clasei este cel dat care ia valoarea textului(unul are 10A, celălalt are 9B etc.).

Dezvoltarea bazelor de date relaționale a început la sfârșitul anilor 60, când au apărut primele lucrări care au discutat; posibilitatea utilizării unor modalități familiare și naturale de prezentare a datelor la proiectarea bazelor de date - așa-numitele modele datalogice tabulare.

Fondatorul teoriei bazelor de date relaționale este considerat a fi un angajat IBM, Dr. E. Codd, care a publicat un articol pe 6 iunie 1970. Un model relațional de date pentru bănci de date mari partajate(Model de date relaționale pentru bănci mari de date colective). Acest articol a fost primul care a folosit termenul „model de date relaționale”. Teoria bazelor de date relaționale, dezvoltată în anii 70 în SUA de Dr. E. Codd, are o bază puternică baza matematica, care descrie regulile pentru organizarea eficientă a datelor. Cadrul teoretic dezvoltat de E. Codd a devenit baza pentru dezvoltarea teoriei proiectării bazelor de date.

E. Codd, matematician de pregătire, a propus să utilizeze aparatul teoriei mulţimilor (unire, intersecţie, diferenţă, produs cartezian) pentru prelucrarea datelor. El a demonstrat că orice set de date poate fi reprezentat sub formă de tabele bidimensionale de un tip special, cunoscute în matematică ca „relații”.

Relațional O bază de date este considerată a fi una în care toate datele sunt prezentate utilizatorului sub formă de tabele dreptunghiulare cu valorile datelor, iar toate operațiunile din baza de date sunt reduse la manipulări cu tabele.

Tabelul este format din coloane (câmpuri)Şi linii (înregistrări); are un nume unic în baza de date. Masă reflectă tip de obiect lumea reală (entitate),și fiecare dintre ei șir este un obiect specific. Fiecare coloană a tabelului este o colecție de valori pentru un anumit atribut al unui obiect. Valorile sunt selectate din setul tuturor valorilor posibile pentru un atribut al obiectului, care este numit domeniu.

În chiar vedere generală un domeniu este definit prin specificarea unui tip de date de bază căruia îi aparțin elementele de domeniu și un tip arbitrar expresie logică aplicate elementelor de date. Dacă evaluați o condiție booleană pentru un element de date și rezultatul este adevărat, atunci acel element aparține domeniului. În cel mai simplu caz, un domeniu este definit ca un set potențial valid de valori de același tip. De exemplu, colecția datelor de naștere ale tuturor angajaților constituie „domeniul datei de naștere”, iar numele tuturor angajaților constituie „domeniul numelui angajatului”. Domeniul data nașterii trebuie să aibă un tip de date punct-in-time, iar domeniul numelui angajatului trebuie să aibă un tip de date caracter.

Dacă două valori provin din același domeniu, atunci se poate face o comparație între cele două valori. De exemplu, dacă două valori sunt luate din domeniul datelor de naștere, le puteți compara și determina care angajat este mai în vârstă. Dacă valorile sunt preluate din domenii diferite, atunci compararea lor nu este permisă, deoarece, după toate probabilitățile, nu are sens. De exemplu, nu va rezulta nimic cert din compararea numelui și a datei de naștere a unui angajat.

Fiecare coloană (câmp) are un nume, care este de obicei scris în partea de sus a tabelului. Când proiectați tabele într-un anumit SGBD, este posibil să selectați pentru fiecare câmp acesta tip, adică să definească un set de reguli pentru afișarea acestuia, precum și să determine operațiunile care pot fi efectuate asupra datelor stocate în acest câmp. Seturile de tipuri pot varia între diferitele SGBD.

Numele câmpului trebuie să fie unic în tabel, totuși diferite tabele pot avea câmpuri cu aceleasi nume. Orice tabel trebuie să aibă cel puțin un câmp; Câmpurile sunt amplasate în tabel în conformitate cu ordinea în care au apărut numele lor când a fost creat. Spre deosebire de câmpuri, șirurile nu au nume; ordinea lor în tabel nu este definită, iar numărul lor este logic nelimitat.

Deoarece rândurile din tabel nu sunt ordonate, este imposibil să selectați un rând după poziția sa - nu există „primul”, „al doilea” sau „ultimul” printre ele. Orice tabel are una sau mai multe coloane, ale căror valori identifică în mod unic fiecare dintre rândurile sale. O astfel de coloană (sau combinație de coloane) este numită cheie primară. Un câmp artificial este adesea introdus în înregistrările numerice dintr-un tabel. Un astfel de câmp, de exemplu, ar putea fi câmpul său ordinal, care poate asigura unicitatea fiecărei înregistrări din tabel. Cheia trebuie să aibă următoarele proprietăți.

Unicitatea. La un moment dat, nu sunt legate două tupluri diferite aceeași valoare pentru o combinație de atribute incluse în cheie. Adică, un tabel nu poate avea două rânduri care au același lucru numărul de identificare sau numărul pașaportului.

Minimalism. Niciunul dintre atributele incluse în cheie nu poate fi exclus din cheie fără a încălca unicitatea. Aceasta înseamnă că nu ar trebui să creați o cheie care să includă atât numărul pașaportului, cât și numărul de identificare. Este suficient să utilizați oricare dintre aceste atribute pentru a identifica unic un tuplu. De asemenea, nu ar trebui să includeți un atribut neunic în cheie, adică utilizarea unei combinații a unui număr de identificare și a numelui unui angajat ca cheie este interzisă. Prin excluderea numelui angajatului din cheie, fiecare rând poate fi identificat în mod unic.

Fiecare relație are cel puțin o cheie posibilă, deoarece totalitatea tuturor atributelor sale satisface condiția unicității - aceasta rezultă din însăși definiția relației.

Una dintre cheile posibile este selectată aleatoriu în ca cheie primară. Cheile posibile rămase, dacă există, sunt luate ca chei alternative. De exemplu, dacă selectați un număr de identificare ca cheie primară, atunci numărul pașaportului va fi cheia alternativă.

Relația dintre tabele este cel mai important element al modelului de date relaționale. Este suportat chei externe.

Atunci când se descrie un model de bază de date relaționale, sunt adesea folosiți termeni diferiți pentru același concept, în funcție de nivelul de descriere (teorie sau practică) și de sistem (Acces, SQL Server, dBase). În tabel 2.3 oferă un rezumat al termenilor utilizați.

Tabelul 2.3. Terminologia bazei de date

Teoria bazelor de date____________ Baze de date relaționale_________ SQL Server __________

Tabelul de relații

Rând de înregistrare tuplu

AttributeField_______________Column

Baze de date relaționale date

Baza de date relațională este un set de relații care conțin toate informațiile care trebuie stocate în baza de date. Adică baza de date reprezintă un set de tabele necesare pentru a stoca toate datele. Tabelele unei baze de date relaționale sunt legate logic între ele. Cerințele pentru proiectarea unei baze de date relaționale în general pot fi reduse la mai multe reguli.

A Fiecare tabel are un nume unic în baza de date și este format din rânduri de același tip.

O Fiecare tabel constă dintr-un număr fix de coloane și valori. Mai multe valori nu pot fi stocate într-o singură coloană de rând. De exemplu, dacă există un tabel cu informații despre autor, data publicării, tiraj etc., atunci coloana cu numele autorului nu poate stoca mai mult de un nume de familie. Dacă cartea este scrisă de doi sau mai mulți autori, va trebui să utilizați tabele suplimentare.

O În niciun moment nu vor exista două rânduri în tabel care să se dubleze reciproc. Rândurile trebuie să difere în cel puțin o valoare pentru a putea identifica în mod unic orice rând din tabel.

О Fiecărei coloane i se atribuie un nume unic în tabel; este instalat pentru el tip specific date astfel încât în ​​această coloană să fie plasate valori omogene (date, nume de familie, numere de telefon, sume bănești etc.).

O Conținutul complet de informații al unei baze de date este reprezentat ca valori explicite ale datelor în sine, iar aceasta este singura metodă de reprezentare. De exemplu, relațiile dintre tabele se bazează pe datele stocate în coloanele corespunzătoare și nu pe baza oricăror indicatori care definesc în mod artificial relațiile.

О Când procesați date, puteți accesa liber orice rând sau orice coloană a tabelului. Valorile stocate în tabel nu impun nicio restricție asupra ordinii în care sunt accesate datele. Descrierea coloanelor,

O bază de date (DB) este o colecție de informații despre obiecte, procese, evenimente sau fenomene legate de un anumit domeniu, subiect sau sarcină, organizate în conformitate cu anumite reguli și păstrate în memoria computerului. Este organizat astfel încât să răspundă nevoilor de informare ale utilizatorilor, precum și depozitare convenabilă acest set de date, atât ca întreg, cât și orice parte a acestuia.

O bază de date relațională este un set de tabele interconectate, fiecare dintre ele conține informații despre obiecte anumit tip. Fiecare rând al tabelului conține date despre un obiect (de exemplu, o mașină, un computer, un client), iar coloanele tabelului conțin diferite caracteristici ale acestor obiecte - atribute (de exemplu, numărul motorului, marca procesorului, numerele de telefon). a companiilor sau clientilor).

Rândurile unui tabel se numesc înregistrări. Toate înregistrările de tabel au aceeași structură - sunt formate din câmpuri (elementele de date) în care sunt stocate atributele obiectului (Fig. 1). Fiecare câmp de înregistrare conține o caracteristică a obiectului și reprezintă un tip de date specificat (de exemplu, șir de text, număr, dată). O cheie primară este utilizată pentru a identifica înregistrările. O cheie primară este un set de câmpuri de tabel a căror combinație de valori identifică în mod unic fiecare înregistrare din tabel.

Orez. 1. Numele obiectelor din tabel

Sistemele de management al bazelor de date (DBMS) sunt folosite pentru a lucra cu date. Principalele funcții ale SGBD:

Definirea datelor (descrierea structurii bazei de date);

Prelucrarea datelor;

Gestionarea datelor.

Dezvoltarea structurii bazei de date este cea mai importantă sarcină rezolvată la proiectarea unei baze de date. Structura unei baze de date (setul, forma și relațiile tabelelor sale) este una dintre principalele decizii de proiectare atunci când se creează aplicații folosind o bază de date. Structura bazei de date creată de dezvoltator este descrisă în limbajul de definire a datelor DBMS.

Orice SGBD vă permite să efectuați următoarele operațiuni cu date:

Adăugarea înregistrărilor la tabele;

Eliminarea înregistrărilor dintr-un tabel;

Actualizarea valorilor unor câmpuri dintr-una sau mai multe înregistrări din tabelele bazei de date;

Caută una sau mai multe înregistrări care îndeplinesc o condiție specificată.

Pentru a efectua aceste operații, se folosește un mecanism de interogare. Rezultatul executării interogărilor este fie un set de înregistrări selectate după anumite criterii, fie modificări în tabele. Interogările către baza de date sunt formate într-o limbă special creată în acest scop, care se numește „limbaj interogări structurate„(SQL – Limbajul de interogare structurat).

Guvernarea datelor se referă, de obicei, la protejarea datelor împotriva accesului neautorizat, la sprijinirea procesării datelor cu mai mulți utilizatori și la asigurarea integrității și consecvenței datelor.

Aspect echipamente informaticeîn vremurile noastre moderne a marcat o revoluție informațională în toate sferele activității umane. Dar pentru a preveni toate informațiile să devină gunoi inutile V retea globala Internet, a fost inventat un sistem de baze de date în care materialele sunt sortate, sistematizate, făcându-le ușor de găsit și trimis pentru prelucrare ulterioară. Există trei tipuri principale: baze de date relaționale, ierarhice și de rețea.

Modele fundamentale

Revenind la apariția bazelor de date, merită să spunem că acest proces a fost destul de complex și a luat naștere odată cu dezvoltarea echipamentelor programabile de procesare a informațiilor. Prin urmare, nu este surprinzător faptul că numărul modelelor lor este în acest moment ajunge la peste 50, dar principalele sunt ierarhice, relaționale și de rețea, care sunt încă utilizate pe scară largă în practică. Ce sunt ei?

Ierarhicul are o structură arborescentă și este alcătuit din date diferite niveluri, între care există legături. Modelul bazei de date de rețea este un model mai complex. Structura sa seamănă cu una ierarhică, iar schema sa este extinsă și îmbunătățită. Diferența dintre ele este că datele descendenților model ierarhic poate avea o conexiune cu un singur strămoș, dar o rețea poate avea mai multe. Structura unei baze de date relaționale este mult mai complexă. Prin urmare, ar trebui analizat mai detaliat.

Conceptul de bază al unei baze de date relaționale

Acest model a fost dezvoltat în anii 1970 de Dr. Edgar Codd. Este un tabel structurat logic cu câmpuri care descriu datele, relațiile dintre ele, operațiunile efectuate asupra lor și, cel mai important, regulile care garantează integritatea acestora. De ce se numește modelul relațional? Se bazează pe relații (din latinescul relatio) între date. Există multe definiții pentru acest tip de bază de date. Tabelele relaționale de informații sunt mult mai ușor de sistematizat și procesat decât într-un model de rețea sau ierarhic. Cum să faci asta? Este suficient să cunoaștem caracteristicile, structura modelului și proprietățile tabelelor relaționale.

Procesul de modelare și compilare a elementelor de bază

Pentru a vă crea propriul SGBD, ar trebui să utilizați unul dintre instrumentele de modelare, să vă gândiți la ce informații trebuie să lucrați, să proiectați tabele și relații relaționale simple și multiple între date, să completați celulele de entitate și să setați cheile primare și externe.

Modelarea tabelelor și proiectarea bazelor de date relaționale se realizează folosind instrumente gratuite, cum ar fi Workbench, PhpMyAdmin, Case Studio, dbForge Studio. După proiectarea detaliată, ar trebui să salvați modelul relațional gata grafic și să îl traduceți în cod SQL gata făcut. În această etapă, puteți începe să lucrați cu sortarea, procesarea și sistematizarea datelor.

Caracteristici, structură și termeni asociați modelului relațional

Fiecare sursă își descrie elementele în felul său, așa că pentru a reduce confuzia aș dori să dau un mic indiciu:

  • relationalTable = entitate;
  • layout = atribute = nume câmpuri = anteturi de coloană de entitate;
  • instanță entitate = tuplu = înregistrare = șir de tabel;
  • valoare atribut = entitate celula = câmp .

Pentru a trece la proprietățile unei baze de date relaționale, ar trebui să știți din ce componente de bază constă și pentru ce sunt destinate.

  1. Esenţă. Într-o bază de date relațională poate exista un singur tabel, sau poate exista un întreg set de tabele care caracterizează obiectele descrise datorită datelor stocate în ele. Au un număr fix de câmpuri și un număr variabil de înregistrări. Un tabel model de baze de date relaționale este alcătuit din rânduri, atribute și aspect.
  2. O înregistrare este un număr variabil de linii care afișează date care caracterizează obiectul descris. Numerotarea înregistrărilor este efectuată automat de către sistem.
  3. Atributele sunt date care descriu coloanele unei entități.
  4. Domeniu. Reprezintă o coloană de entitate. Numărul lor este o valoare fixă, stabilită în timpul creării sau modificării tabelului.

Acum, cunoscând elementele constitutive ale tabelului, puteți trece la proprietățile modelului bazei de date relaționale:

  • Entitățile de baze de date relaționale sunt bidimensionale. Datorită acestei proprietăți, este ușor să efectuați cu ele diverse operații logice și matematice.
  • Ordinea valorilor atributelor și a înregistrărilor într-un tabel relațional poate fi arbitrară.
  • O coloană dintr-un tabel relațional trebuie să aibă propriul nume individual.
  • Toate datele dintr-o coloană de entitate au o lungime fixă ​​și același tip.
  • Orice înregistrare este în esență considerată un element de date.
  • Componentele corzilor sunt unice. Nu există rânduri identice într-o entitate relațională.

Pe baza proprietăților, este clar că valorile atributelor trebuie să fie de același tip și lungime. Să ne uităm la caracteristicile valorilor atributelor.

Principalele caracteristici ale câmpurilor bazelor de date relaționale

Numele câmpurilor trebuie să fie unice într-o singură entitate. Tipurile de atribute sau câmpuri ale bazei de date relaționale descriu ce categorie de date este stocată în câmpurile de entitate. Un câmp de bază de date relațională trebuie să aibă o dimensiune fixă, măsurată în caractere. Parametrii și formatul valorilor atributelor determină modul în care datele din ele sunt corectate. Există, de asemenea, o „mască” sau „șablon de intrare”. Este destinat să definească configurația de introducere a datelor pentru o valoare de atribut. Un mesaj de eroare trebuie să fie emis atunci când se face o intrare incorectă într-un câmp. De asemenea, sunt impuse unele restricții asupra elementelor de câmp - condiții pentru verificarea acurateței și lipsei de eroare a introducerii datelor. Există o valoare de atribut obligatorie care trebuie să fie completată cu date. Unele șiruri de atribute pot fi umplute cu valori NULL. Sunt permise intrări goale în atributele câmpului. La fel ca notificarea de eroare, există valori care sunt completate automat de către sistem - acestea sunt datele implicite. Un câmp indexat este conceput pentru a accelera căutarea oricăror date.

Diagrama unui tabel de baze de date relaționale bidimensionale

Pentru o înțelegere detaliată a modelului cu folosind SQL Cel mai bine este să priviți diagrama cu un exemplu. Știm deja ce este o bază de date relațională. O înregistrare din fiecare tabel este un element de date. Pentru a preveni redundanța datelor, trebuie efectuate operațiuni de normalizare.

Reguli de bază pentru normalizarea unei entități relaționale

1. Valoarea numelui câmpului pentru un tabel relațional trebuie să fie unică, unică (prima forma normala- 1NF).

2. Pentru un tabel care este deja convertit în 1NF, numele oricărei coloane neidentificatoare trebuie să fie dependent de identificator unic tabele (2NF).

3. Pentru un întreg tabel care este deja în 2NF, fiecare câmp neidentificator nu poate depinde de un element al unei alte valori neidentificate (entitate 3NF).

Baze de date: relații relaționale între tabele

Există 2 tabele relaționale principale:

  • „Unul-mai multe”. Apare atunci când o înregistrare cheie a tabelului nr. 1 corespunde mai multor instanțe ale celei de-a doua entități. O pictogramă cheie la un capăt al unei linii desenate indică faptul că entitatea se află pe „una” parte; celălalt capăt al liniei este adesea marcat cu un simbol infinit.

  • O relație „mulți-mulți” se formează atunci când are loc o interacțiune logică explicită între mai multe rânduri ale unei entități cu un număr de înregistrări ale altui tabel.
  • Dacă are loc o concatenare unu-la-unu între două entități, aceasta înseamnă că identificatorul cheii unui tabel este prezent în cealaltă entitate, atunci unul dintre tabele ar trebui eliminat, este redundant. Dar uneori, doar din motive de securitate, programatorii separă în mod deliberat cele două entități. Prin urmare, ipotetic, ar putea exista o relație unu-la-unu.

Existența cheilor într-o bază de date relațională

Cheile primare și secundare definesc relațiile potențiale ale bazei de date. Relațiile relaționale într-un model de date pot avea o singură cheie potențială, iar aceasta va fi cheia primară. Cum este el? O cheie primară este o coloană de entitate sau un set de atribute prin care datele pot fi accesate pentru un anumit rând. Trebuie să fie unic, unic, iar câmpurile sale nu pot conține valori goale. Dacă cheia primară constă dintr-un singur atribut, atunci se numește simplă, altfel va fi o componentă.

Pe lângă cheia primară, există și o cheie străină. Mulți oameni nu înțeleg diferența dintre ele. Să le analizăm mai detaliat folosind un exemplu. Deci, există 2 tabele: „Decanat” și „Studenți”. Entitatea „Decanat” conține următoarele câmpuri: „ID student”, „Nume complet” și „Grup”. Tabelul „Studenți” are valori ale atributelor, cum ar fi „Nume”, „Grup” și „GPA”. Deoarece un ID de student nu poate fi același pentru mai mulți studenți, acest câmp va fi cheia principală. „Numele complet” și „Grupul” din tabelul „Studenți” pot fi aceleași pentru mai multe persoane se referă la numărul de identificare al studentului de la entitatea „Decanat”, deci pot fi folosite ca cheie străină.

Exemplu de model de bază de date relaționale

Pentru claritate, oferim un exemplu simplu de model de bază de date relațională constând din două entități. Există un tabel numit „Decanatul”.

Este necesar să se facă conexiuni pentru a crea o bază de date relațională cu drepturi depline. Mențiunea „IN-41”, precum „IN-72”, poate apărea de mai multe ori în semnul „Decanat”, iar în cazuri rare, numele, prenumele și numele patronimic ale studenților pot coincide, astfel încât aceste câmpuri nu pot fi făcute. cheia primară. Să arătăm entitatea „Studenți”.

După cum putem vedea, tipurile de câmp ale bazelor de date relaționale sunt complet diferite. Prezent ca înregistrări digitale, și simbolic. Prin urmare, în setările atributelor ar trebui să specificați valorile \u200b\u200biteger, char, vachar, data și altele. În tabelul „Decanat”, singura valoare unică este ID-ul studentului. Acest câmp poate fi luat ca cheie primară. Numele complet, grupul și numărul de telefon de la entitatea „Studenți” pot fi luate ca o cheie străină care face referire la ID-ul studentului. Conexiunea a fost stabilită. Acesta este un exemplu de model de relație unu-la-unu. Ipotetic, unul dintre tabele este redundant, acestea pot fi ușor combinate într-o singură entitate. Pentru a preveni ca numerele de identificare ale studenților să devină cunoscute public, este complet posibil să aveți două tabele.