Vous êtes sur la page 1sur 20
+ Concepte de baza Reprezentarea datelor;atribu, tuple, relati,cheie primara, cheie strana — Constrangeri de integrate (integritatea entitati, integritatea relatiei) + Constrangeri de integritate + Operatori — PROJECT — SELECT — PRODUCT — UNION — DIFFERENCE — INTERSECT — JOIN + Tabele, randuri, coloane + SGBDR-F gulile lui Codd Concepte de baza Datele sunt reprezentate sub forma unor structuri bidimensionale, asemanatoare tabelelor Modelul relational nu include regulile, structurile, operatiile referitoate la implementarea fizica a unui sistem de baze de date: utilizatorul poate obtine datele utilizand un limbaj ne-procedural (declarativ) care ii permite sa descrie datele in loc sa specifice calea catre date; implementarea sistemului e complexa, proiectarea, utilizarea, mentenanta aplicatiei este simpla Datele sunt reprezentate ca structuri bidimensionale, relatii O relatie este alcatuita dintr-un numar finit de elemente numite atribute. Fiecare atribut poate lua valori int-un domeniu finit, numit domeniu, Numarul de atribute ale unei relatii: aritate (cardinalitate) Elementele unei relatii: tupluri (tuples) sau inregistrari (records). Relatie — — Tabel Imegistrare mp Rand in tabela Exemplu: Relatia Student Fiecare atribut poarta un nume unic in cadrul relatiei: Fiecare atribut are doar valor atomice: Fiecare tuplu este unic intr-o relatie; Set de atribute care identifica in mod unic un tuplu: eh Definitii: cheie primara, chei alternative, chei compuse (th. sa fie minimale); cheie straina: un atribut sau o multime de atribute ale unei relatii R1 care se gaseste si in relatia R2 si este cheie primara a lui R2; Obs: RI nue in mod necesar distineta de R) candidata; Modelul relational ‘Un exemphu in care relatile RI si R2 sunt identice: modelatea unei relatii ierathice folosind ‘modelul relational In tabelul de mai jos, coloana manager contine valoarea din coloana cod corespunzatoare ‘managerului personnei de la integistvarea cuenta: astfel Petseseu si Marin au ca manager pe Ton, pentru ca valoarea din coloana manager pentru Petrescu si Marin este 1. valoarea codului ppersoanei cu numele Ion. Manager este cheie straina pentru cod, in tabela angajat. Pentru ca acest mecanism sa functioneze corect, cod trebuie sa identifice in mod unic inregistrarile din tabela Angajat. Cod este deci cheie primara in tabela angajat. Referinta angajat =a Sea “a Constrangeri de integritate Integritatea entitatii Pentru asigurarea integritatii entitatii, + Ocheie primara nu poate avea atribute care pot avea valoarea Null; +O cheie primara trebuie sa fie unica si minimala; Integritatea referintei Pentru asigurarea integritati referintei, valoarea unei chei straine trebuie sa fie + Null (sau) + ovaloare a cheii primare la care face referinta; Operatori relationali Operatorii relationali se studiaza in cadrul algebrei relationale. Codd a definit 8 operatori, primii 4 fiind identici cu operatorii traditionali folositi in operatiile cu multimi: + UNION (uniune) INTERSECT (intersectie) + DIFFERENCE (diferenta) + PRODUCT (produs eartezian) Urmatorii 4 operatori sunt specifici operatiilor cu baze de date: * PROJECT (proiectie) + SELECT (selectie) + JOIN Goin) * DIVISION (diviziune) PROJECT Operatorul de proiectie extrage numai un set restrans de atribute dintr-o tupla sau mai multe tuple, Este echivalenta unei operatiuni de SELECT. Observatie: operatiunea de proiectie poate conduce la obtinerea unor tuple (inregistrari) duplicate, daca prin proiectie se elimina atributul sau atributele care asigura unicitatea tuplelor (cheia primara). SELECT C.A SELECT DISTINCT CA, FROMR: FROMR: Modelul relational SELECT Operatorul de selectie (instructiunea SELECT in SQL) extrage tuple dintr-o relatie, limitand rezultatul 1a acele tuple (inregistrari) care indeplinese 0 anumita conditie. Select este echivalent unei proiectii cu filtrare, In SQL, filtrarea se efectueaza prin utilizarea clauzei WHERE. SELECT CA FROMR WHERE A~'x1 or B‘y1"; PRODUCT Produsul cartezian aplicat relatiilor R si $ are ca rezultat o relatie cu un numar de atribute egal cu suma atributelor celor doua relatii si cu un numar de tuple egal cu produsul numarului de tuple ale celor doua relatii. Produsul cartezian este echivalent unui join fara nici o restrictie (care se poate modela cu un SELECT pentru toate coloanele celor doua tabele si fara nici o conditie de filtrare). R Ss RxS SELECT * FROMR, UNION == == == Caorae — 2 FROMR . UNION R s RUS SELECTCD FROM S, DIFFERENCE SELECTAB So FS ae — FROMR fs—t — MINUS R s R-S SELECTCD FROM S INTERSECT Operatoru! de interseetie selecteaza acele tuple care apar in ambele relatii care participa la operatie. In SQL se modeleaza cu operatorul INTERSECT. = — E SELECTAB ise FROMR R s RAS INTERSECT SELECTCD FROMS. JOIN THETA-JOIN NATURAL JOIN OUTER JOIN NATURAL-JOIN In SQL, INNER JOIN modeleaza NATURAL JOIN : doua relatii sunt conectate prin atributele lor comune. Pentru a preveni produsul cartezian, se foloseste INNER JOIN. Pentru a conecta n tabele (evitand produsul cartezian) trebuie folosite n-1 INNER JOIN. a—E_E FS = £ R Ss SELECTR.A,RB, S.D,SE FROMR. S| WHERE RC = SD: OUTER-JOIN R Ss SELECT RA, RB, S.D, SE FROMR, S. WHERE RC (+)=SD: THETA-JOIN —r 4 ahi bah ahr ies he a beh aha R Ss SELECT * FROMR, S. WHERE RC < SD: + Tabele, randuri, coloane * SGBDR ~ Regulile lui Codd Proiectarea bazelor de date relationale + Crearea schemei conceptuale + Crearea design-ului logic al bazei de date + Normalizarea bazei de date * Prima forma normala (1NF — First Normal Form) + A doua forma normala (2NF ~ Second Normal Form) + A ueia forma nommala (SNF ~ Third Normal For) + Forma nommala Boyce-Codd (BCNF ~ Boyce-Codd Normal Form) + A patra forma normala (NF ~ Fourth Normal Form) Tabele, randuri, coloane Relatii Tabele Atribute Coloane Tuple Inregistrari Regulile lui Codd 1 3 Regula reprezentarii logice a datelor: Int-0 baza de date relationala, toate datele sunt reprezentare la nivel logic intr-un singur mod, si anume sub forma de valori logice in tabele Regula accesului la date: Toate datele individuale din tabele uebuie sa fie accesibile prin funizarea numelui tabelului, numelui coloane si valori cheii primare. Regula reprezentarii valorilor necunoseute: Un sistem relational trebuie sa permita dectararea si manipularea sistematica a valorilor Null, eu semificatia unor valori necunoscute sau inaplicabile. Regulile lui Codd (continuare) 8. Regula dictionarului de date: Descrierea bazei de date (dictionarul de date) trebuie sa fie reprezentata la nivelul logie tot sub forma de tabele, astfel incat asupra acesteia sa se poata aplica aveleasi operati ca si asupra datelor proprit-zise Regula limbajului de acces: Intr-un sistem relational trebuie sa existe cel putin un limbaj de accesare a datelor, care sa asigure ummatoarele operati: definirea tabelelos de baza sia tabelelor virtuale (view-uri, vederi): manipulatea si interogarea datelor (tat interactiv cat si prin program); definirea restric satitate, autorizarea accesului la date, delimitarea tranzactiilor. ‘Regula de actualizare a tabelelor virtuale: Un SGBD trebuie sa poata determina daca o vedere poate sa fie actualizata sau nn. ‘Regula manipularii datelor- Un sistem relational trebuie sa ofere posibilitatea procesarii tabelelor nu numai in operatile de interogare a datelor cat si in cele de inserare, actualizare si stergere Regula independentei fizice a datelor: Aplicatile (1a nivel logic) nu webuie sa depinda de modul de stocare si acvesare fizica a datelor Modelul relational Regulile lui Codd (continuare) 10, Mu. Regula independentei logice a datelor: Programele de aplicatie nu trebuie sa fie afectate de nici o restrucnuzate logica a tabelelos bazei de date care conserva datele. Regula independentei datelor din punctul de vedere al integritatii: Regulile de integritate a bazei de date trebuie sa fie definite in limbajul utilizat de sistem pentru definirea datelor si nu in cadrul aplicatilor individuale: in plus. aceste reguli de integritate tebuie stocate in dictionarul de date Regula independentei datelor din punctul de vedere al distribuiril: Progiamele de aplicatie nu trebuie sa fie afectate de distribuirea pe mai multe calculatoare a bazei de date. .. Regula privind prelucrarea datelor de catre un limbaj de nivel inferior: Daci sistemul de gestiunea bazelor de date pune la dispozitia utiizatorilor o interfaya de nivel inferior (la nivel de inregistrare) atunei interfafa nu poate si submineze sistem, de exemplu, prin nerespectarea tmei constrangeri de integritate sau a unei limita ‘mpuse prin politica de securitae, Regula de baza: Un SGBD relational trebuie sa fie capabil sa gestioneze baza de date ‘exclusiv pe bazn caracteristicilor sale relationale. Proiectarea bazelor de date relationale o Crearea schemei conceptuale o Crearea design-ului logic al bazei de date o Normalizarea bazei de date Raul ML ASO MOCE KB COLLe Crearea schemei conceptuale a bazei de date Modelul entitate-relatie Entitate Obiect de interes pentru care trebuie sa existe date inregistrate Exemplu Increnza la : Facultate Profesor Fiecare entitate e denumita studiaza Ia preda in mod unic Pentru fiecare entitate se dao descriere detaliata tudent Curs Proiectarea bazelor de date relationale Irene face parte din Profesor J preda ‘ofera curs Curs studiaza la Student ‘wmenza Proiectarea bazelor de date relationale este dvr a Inreza [Profesor j T face parte dia este decan la Facultate preda ofera urs stucinza Ia Proiectarea bazelor de date relationale Were Profesor J face parte din -— | preda ——_preda Facultate J Gus I face parte din ofera ems —— Seminar J face parte din Grupa ofera seminar. face parte din Proiectarea bazelor de date relationale Relatie Entitatile pot forma relatii intre ele Relatiile sunt reprezentate prin verbe Intre doua entitati poate exista mai mult decat o relatie (exemplu) Cardinalitatea unei relatii: numarul maxim de entitati din fiecare entitate care participa la o relatie. Exemple: Multi la unul (many-to-one N:1) Mo vir Faculte) I Unu la unu (one-to-one 1:1) 1 ain Faculte] Multi la multi (many-to-many N:M M oN, Proiectarea bazelor de date relationale Discutie Cardinalitate minima/maxima Atribut al unei entitati, atribut al unei relatii ‘Model entitate-legatura si model relational O entitate devine un tabel Un atribut al unei entitati devine o coloana a tabelului respectiv (O relatie va fi reprezentata fie printr-un tabel special (M:N). fie print-o cheie straina intr-unul dintre cele doua tabele-entitate, care face referire la o cheie primara in celalalt tabel-entitate. Chei primare, Chei naturale si chei artificiale Avantaje ale folosirii cheilor artificiale: + Stabiltatea + Simplitaren; + Nuprezinta ambiguitai; + Elmina valorile Null (accideutale) Proiectarea bazelor de date relationale Diagrama entitate-legatura FACULTATE PROFESOR Imcreaza In| $04 profesor pretane cod frculate adresa tune faculate data_nastere advesa didactic studiaza la fr STUDENT CURS See cod_curs deseriere Proiectarea bazelor de date relationale Diagrama entitate-legatura — adaugare campuri + tabela relatie M:N PROFESOR ccod_profesor FACULTATE reane 7 Toonz a Pesan sin ute data_natere aes erad_didactc cod_facultate studiaza la STUDENT urmeaza student-curs cod_student smume_curs snume deseriere prenume cod_profesor data_nastere cod_facultate autour lec mova me mer lpr riser le Superentitate/subentitate PERSONAL ccod_personal sume prenume adresa data_nastere PROFESOR sera didactic PERSONA! profesie Proiectarea bazelor de date relationale Entitate dependenta/entitate master cod_curs dleseriere ‘Modul e o entitate dependent de entitatea curs (un curs e format din mai multe module), Cardinalitate intre master si detaliu: 1-M, cel putin 1:0 (un curs nu are nti ‘un modul) Entitate recursiva Proiectarea bazelor de date relationale Crearea design-ului logic al bazei de date Transformarea entitatilor + Entitatle devin tabele Entitatile dependente devin tabele dependents Subentitatile devin subtabele (tabele ale earor cheie primara contine cheie straina ce face referinta la cheia primaza a tabelul superentitate) ‘Transformarea relatiilor + Relatiile 1:1 devin chei straine, cheia strana fiind plasata in tabelul eu mai purine inregistran. Relatia N:I devine cheie straina plasate in tabelul care se afla in partea “multi” a rolatiei. Exemplu:o facultate are mai mult student, un student e la 0 sinaura faeulate + Oselatie multi-multi NoM se tansforma ints-un tabel asociatv. care ase doua ehei straine pentru cele doua tabele asociate. Exemplu: mis ml studenti-le ai mate sit Transformarea atributelor Atributele simple ale unei entitati devin coloane in tabelul provenit din relatie. + Awibutele sepetitive (multivaloare) devin tabele dependente care contin o eheie strana ce face referinta la cheia primara a entitati si atsiburul multi-valoase. Atributele simple ale unei velatii M:N vor deveni coloane ale tabelului asociativ Proiectarea bazelor de date relationale Normalizarea bazei de date a VT ic 5 208 Dependente functionale pentru care determinantul nu este cheie a tabelului: cod_client > {nume_client, numar_telefon} cod_comanda cod_articol -> {mime_articol, cost_atticol} {data, cod_client, nume_client, nr_telefon} Proiectarea bazelor de date relationale Datorita dependentelor prezente intre atributele relatiei, pot aparea urmatoarele anomali: redundante in date; Anomialit de actualizare Anomalie la insertie: Anomalie la stergere: Anomalie Ia modificare Anomaliile apar datorita dependentelor din baza de date, dependente pentru care determinantul nu este cheie a tabelului ‘Normalizarea: procesul reversibil de descompunere a unui tabel relational in tabele cu 0 structura mai simpla, proces care are ca scop evitarea redundantei datelor si evitarea ‘anomaliilor de actualizare Reversibil: descompunerea se face fara pierdere de informatie. auetaarlecr Mm orVAd meCMerinm edly le Normalizarea bazei de date tPoterca | zxmo0i[c1 ons 208 Pr ino ‘a [ssteecu—| sore ras 28 3 ——Teses {a0} . foosame [ar frase Pe fosamax Normalizarea bazei de date de date INF First Nosmal Form) ‘+ Normalizarea bai + Prim forma nora +A dows forma normal (2NF— Second Normal Form) +A trea fora normal (GNF "Third Normal Form) + Forma normals Boyee-Codd (BCNF ~ Boyee-Codd Normal Form) ‘+A patra forma normal (NF Fourth Nosmal Form) Normalizarea bazei de date Prima forma normala (INF ~ Flrst Normal Form) Prien forms normal este o form norma wilt in nralizare hazel de date Incalar ale primei forme normale, (1) Mal mute valet sermifiatve in acetal camp wile penn sek inept pars fe contin n acelin mist parca fear ir utile Za ‘ek lneisai Normalizarea bazei de date raed Ny rea bazei de date ‘A doua forma normala 2NF-~ Second Normal Form) A dou forma aoe lemon us tabele a fe JepondoatsFaetonl do ttaitatea cei Dac ul sa a mu: elements sua depsadeatfanctinal mma deo pate a cei pina ate le ‘ec separate table die aca bela ate occ prima fount din ana un at acc est automat in 2NF (2-4 ona Exempt fe otabela"C (Cosa primar este o chai compu fora din ComandalD si RepertD, ReperNumo dopa aun de RepolD, ms do Conan. Pett in INF, bell ebuie mex nfl ur ‘Toate atnibetle non shee st (sbi sa Fie) mata indepen, Bem Tala Piese de sci, in ar choi pra (si ceie wicaeste Pes de ch Producator TaNINb Acero Forma normala Boyee-Codd (BCNF — Boyce-Codd Normal Form) Boyce-Ciad versiune putin mal resis deforma no Incarul uni forme nmi 3, toate stb depinde deo chee, che i intregie | (asa sane ajte Codd 2, rma do chsie Tabla de mi jos sen 3NF penta toate tbl depn de o chess msi deo sh 8 ote ‘acoso, exis ore, deorece pec cia oer cata) (SI, AT) (82, A2) sade ‘oe dea in ae Se pt elimina ast de rsdundante dup cam umes: dn tol ntl se elimina colons “cod aod" se ereoazs un no tbe, c stile "ead sofe”si"cod auto” cu dar? colane, constitind impeeuns choi primar a nou ako. Talo rezalate sunt ia FNBC (BC Inexerplal de al jos, car esta primar este format dia 1 de dist, Peni cass hia sexist bate noche, ‘nc forma normal america (1. 2 5 on H-C)- Dar dcoaece variate de pizza ofr de sunt independent ear de ith, exist odunant in abel: pent fecare atoneaza de 3 ori ea se ofa Tip de piesa “Puos"- De asemenea, daca doi sa Sebtire™ pent Tip de psa, a Jemy's va trust aig 3 registra, cate spon care Are de disrbute Sclts este descompunersa in do abel, separa dependentle si cRestarnt

Vous aimerez peut-être aussi