1 / 16

Baze de Date - Modelul Relațional - Universitatea din Craiova,

Baze de Date - Modelul Relațional - Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica. Introducere. În prezent, modelul relațional este principalul model de date pentru aplicațiile comerciale de procesare a datelor, datorită simplicit atii sale.

Download Presentation

Baze de Date - Modelul Relațional - Universitatea din Craiova,

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze de Date • -ModelulRelațional- • Universitatea din Craiova, • Facultatea de Automatica, Calculatoare si Electronica

  2. Introducere • În prezent, modelul relațional este principalul model de date pentru aplicațiile comerciale de procesare a datelor, datorită simplicitatiisale. • În acest capitol se vor studia: • conceptele de bază ale modelului relațional, care oferă o modalitate simplă de reprezentare a datelor • constrângerile modelului relațional.

  3. Structuramodeluluirelațional • Modelul relațional reprezintă baza de date ca o colecție de relații, fiecăreia fiindu-i asociat un nume unic. • O relație poate fi vazută ca un tabel de valori, fiecare linie din tabel reprezentând o colecție de valori interconectate. • Domeniul reprezintă o mulțime de valori atomice. Se consideră valori atomice acele valori ce nu pot fi descompuse fără a se pierde semnificaţia valorii. • Un domeniu este specificat de tipul de date al valorilor care formează domeniul, de numele său, care ajută în interpretarea valorilor sale. • Exemplu de domenii: • NrCont – reprezintă mulțimea numerelor de cont valide. • Balanța – reprezintă mulțimea sumelor de bani pe care clienții unei bănci le au în conturi. • Tipul de data sau formatul este specificat pentru fiecare domeniu: de exemplu, domeniul NrCont se va reprezenta ca un șir de caractere, deci tipul de date va fi String.

  4. Structuramodeluluirelațional • Definitie: Schema relației, notată R(A1, A2…, An) este compusă din numele schemei R si o listă de atribute A1, A2…, An. Fiecare atribut Ai reprezintă numele unui domeniu Ddin schema relației. D este domeniul lui Ai și mai este notat dom(Ai). • Schema relației este folosită pentru a descrie o relație. • Exemplu: Schema relaţiei Cont_schema poate fi scrisă sub forma: • Cont_schema(NrCont, Filială, Balanță). • Definitie: Fiind dată o colecţie de mulţimi cu valori atomice D1, D2,... Dn (nu neapărat distincte) numite domenii, se numeşte relaţiepe mulţimile D1, D2, ... Dn orice subset r(R) al produsului cartezian D1xD2x ... xDn . • Exemplu:Fie D1 mulțimea care conține numerele conturilor { RO11ING012392330, RO21BCR014569879}, D2 mulțimea care conține denumirile filialelor {ING1, BCR2}, D3 mulțimea care conține balanțele {500, 1000}. • Atuncicont(Cont_schema)={(RO11ING012392330, ING1, 500), (RO21BCR014569879, BCR2, 1000)} reprezintă o relație.

  5. Structuramodeluluirelațional • Într-o bază de date relaţională, o relaţie este privită ca un tabel bidimensional cu toate valorile atomice. • 1. Numele coloanei unei relaţii se numeşte atribut. • 2. Numărul de atribute ale unei relaţii R reprezintă gradul sau aritatea relaţiei. • 3. O linie a tabelului se numeşte tuplu, realizare sau înregistrare (corespunde unei entități). • 4. Numărul tuplurilor dintr-o relaţie reprezintă cardinalul relaţiei.

  6. Proprietăți ale relațiilor • Orice relaţie are un nume unic într-o bază de date. • Orice atribut are un nume unic într-o relaţie. • Ordinea atributelor într-o relaţie nu are importanţă. • Ordinea tuplurilor într-o relaţie nu are importanţă. • Schema este un invariant al unei relaţii date. • O relaţie este variantă în timp. • În afara valorilor specifice fiecărui domeniu, în bazele de date relaţionale se acceptă şi o valoare specială, numită valoarea nulă şi notată null. Prin null se desemnează o valoare momentan necunoscută sau o valoare care nu are semnificaţie într-un anumit context.

  7. Proprietăți ale relațiilor • Observatie! Nu orice tabel reprezintă o relaţie! Printransformareatabelului de maisus se obțineurmătoarearelație:

  8. Chei • O relație r este definită ca o mulțime de tupluri distincte. Aceasta înseamnă ca nu există 2 tupluri care să aibă aceeași combinație de valori pentru toate atributele. • Notăm cu SK subsetul de atribute ale relației r pentru care oricare 2 tupluri distincte t1 și t2 avem: • t1[SK] ≠ t2[SK] • Orice subset de atribute cu proprietățile lui SK se numește supercheie. Orice relație are cel puțin o supercheie – tot setul de attribute. • O cheie K a unei relații r este o supercheie minimală a relației care îşi pierde proprietatea de identificatorunic al tuplului dacă îndepărtăm unul dintre atribute. • O cheie este determinatăde înțelesul atributelor și această proprietate este invariantă în timp, deci continuă să existe și după ce se inserează noi tupluri în relație.

  9. Chei • O relație poate avea mai multe chei, numite chei candidat. De obicei, dintre aceste chei candidat se desemnează una singură, numită cheie primară. • Domeniul cheii primare se numește domeniu primar. • Cheile candidat rămase după alegerea cheii primare se numesc chei alternative. • Când schema relației are mai multe chei candidat, alegerea dintre ele a cheii primare se face arbitrar. De obicei, este indicată alegerea cheii primare cu un singur atribut sau cu numărul minim de atribute.

  10. Chei • Exemplu: Se consideră schema relației: Client_schema(CNP, CodClient, NumeClient, PrenumeClient,Strada, Oras) sirelația Client: • AtributulCNPidentificăunictoatetuplurile. De asemeneaatributulCodClientidentificăunictoatetuplurile. Unul din cele 2 atributepoatefi ales cheieprimara.

  11. Legături între relații • Spre deosebire de alte modele implementabile ale bazelor de date, la care legăturile între obiectele bazei de date se realizează la nivel fizic prin lanțuri de pointeri, în cazul modelului relational, legăturile se realizează la nivel logic prin mecanismul cheilor externe. • Se numeşte cheie externă (secundară) un atribut (simplu sau compus) utilizat numai în scopul căutării unor tupluri. • Fie R1 şi R2 două relaţii cu schemele R1(A,…) respectiv R2(B,…) şi A este cheie primara in R1, iar dom(A)=dom(B). Se spune că atributul B reprezintă o cheie externă definită peste cheia primară a relaţiei R1.

  12. Tipuri de legături între relații • -Legături unu la unu (notație-1:1)sunt create, de obicei, pentru a înlătura valorile nule dintr-o relație. Sunt rar folosite în modelul relațional. • -Legături unu-la-mulți (notație-1:m, 1:∞)sunt des folosite între relații, în modelul relațional. Unui tuplu din relația r1 îi corespund mai multe tupluri în relația r2. • Legături mulți-la-mulți (notație-m:n, ∞:∞)înseamnă ca unui tuplu dintr-o relație r1 îi corespund mai multe tupluri ale relației r2 și invers. • In figura de mai jos, legătura mulți-la-mulți între relațiile Cont și Client este rezolvată prin crearea unei a treia relații Depune. La fel și pentru relațiile Credit și Client între care există, de asemenea, legătură mulți-la-mulți.

  13. Tipuri de legături între relații

  14. Reguli de integritate a datelor • Se numeşte regulă de integritate a datelor o restricţie impusă valorilor datelor. • Regula de integritate a domeniului • Toate valorile unui atribut trebuie sa fie atomice și de acelaşi tip. • Regula de integritate a entităţii (a cheii primare) • Cheia primară a unei relaţii nu poate avea valori nule. • Regula de integritate a referirii • Valorile unei chei externe trebuie să fie nule sau să se regăsească printre valorile înregistrate ale cheii primare peste care este definită. • Reguli de integritate specifice care pot fi definite • Valorile numerice sunt cuprinse între anumite valori. • Valorile atributului se găsesc printre valorile dintr-o listă finită. • Nu sunt acceptate valori nule. • Nu sunt acceptate valori duplicate.

  15. Baze de date relaționale și schemabazei de date relaționale • Prin bază de date relaţională vom inţelege o colecţie de relaţii interconectate. • Schema bazei de date este formată din schemele relaţiilor şi legăturile dintre acestea ca in figuraprecedenta.

  16. Exercitiu-tema • Să se creeze o bază de date relațională a secretariatului unei facultăți care conține următoarele informații despre: • Examen- număr examen, denumire examen, sala examen, ora examenului. • Profesor – număr matricol, nume, prenume; un profesorpoateparticipaexamene ca siasistentsau titular. • Student - număr matricol, cnp, nume, prenume, data nașterii.Pentru fiecare student se vor înregistra notele obținute la fiecare examen. • Se cere: • 1.Să fie efectuată analiza atributelor folosite, indicându-se tipul de date al fiecărui atribut, formulând consideraţiuni asupra domeniilor de valori ale atributelor, etc. • 2.Să se reprezinte în modelul relaţional diagrama obţinută la punctul 1, descriind modul de obţinere a relaţiilor şi schemele acestora. De asemenea, vor fi precizate cheile relaţiilor.

More Related