Sunteți pe pagina 1din 3

BAZE DE DATE Concepte ale bazelor de date relationale O baz de date este o colectie de informatii interrelationate gestionate ca o singur

unitate. Un obiect al bazei de date este o structur de date denumit, stocat in baz de date, cum ar fi un tabel, o vizualizare sau un index. Un sistem de gestionare a bazei de date (DBMS database management system) este un produs software furnizat de productorul bazei de date. Produse software precum Microsoft Access, Microsoft SQL Server, Oracle Database, Sybase,DB2,INGRES, MySQL si Postgre SQL fac parte din categoria DBMS sau, mai corect,DBMS relationale (RDBMS). RDBMS-urile sunt cunoscute si sub numele de SGBD-uri. Ambele prescurtri vor fi folosite in acest expunere. O baz de date relational este o baz de date care respect modelul relaional,dezvoltat de Dr.E.F.Codd Un model este o reprezentare a obiectelor si evenimentelor lumii reale si a asocierilor dintre ele. Modelele se impun prin sintaxa si prin semantica lor si, din acest punct de vedere, exist trei tipuri fundamentale de modele: modele care descriu aspectele statice ale procesului modelat; modele care descriu aspectele dinamice ale procesului modelat; modele care descriu aspectele functionale ale procesului modelat. Un model de date reprezint o colectie integrat de concepte necesare descrierii: datelor, relatiilor dintre ele, constrangerilor existente asupra datelor sistemului real analizat. modelul de date are trei componente: multime de reguli conform crora sunt construite bazele de date (partea structural); multime de operatii permise asupra datelor, care sunt utilizate pentru reactualizarea sau regsirea datelor (partea de prelucrare); multime de reguli de integritate, care asigur coerenta datelor. Una dintre cele mai cunoscute abordri ale modelrii semantice (cu sigurant una dintre cele mai utilizate) este cea bazat pe modelul entitate-relaie (E/R). Acesta a fost introdus de ctre P.P. Chen in 1976 Diagramele E/R constituie o tehnic de reprezentare a structurii logice a bazei de date, intr-o manier grafic. Baza de date poate fi definit ca o multime de date ce modeleaz un sistem real. Acest sistem este format din obiecte legate intre ele. Modelul E/R imparte elementele unui sistem real in dou categorii: entitti si relatii (legturi, asocieri)intre aceste entitti. Entittiile si legturile au anumite caracteristici, numite atribute. Entitatea este un obiect sau un concept, care este semnificativ pentru modelul real analizat. Cheia primar este un identificator unic in cadrul entittii, fcand distinctie intre valori diferite ale acesteia. Cheia primar: trebuie s fie unic si cunoscut la orice moment; trebuie s fie controlat de administratorul bazei; trebuie s nu contin informatii descriptive, s fie simpl, fr ambiguitti; s fie stabil; s fie familiar utilizatorului. Relatia (asocierea) este o comunicare intre dou sau mai multe entitti Cel mai intalnit tip de relatii este cel binar, iar in acest caz rapoartele de cardinalitate sunt,in general, one-to-one (1:1), one-to-many (1:n) sau many-to-many (m:n). Atributul este o proprietate descriptiv a unei entitti sau a unei relatii. Diagrama entitate- relatie Pentru proiectarea diagramei entitate-relatie au fost stabilite anumite reguli entittile sunt reprezentate prin dreptunghiuri; relatiile dintre entitti sunt reprezentate prin arce neorientate; atributele care reprezint chei primare trebuie subliniate sau marcate prin simbolul # sau (pk), plasat la sfarsitul numelui acestor atribute; cardinalitatea minim este indicat in paranteze, iar cardinalitatea maxim se scrie fr paranteze; nu este necesar s fie specificate, in cadrul diagramei, toate atributele. Cazuri speciale de entitti, relatii, atribute si modul lor de reprezentare in cadrul diagramei entitate-relatie. 1. Entitate dependent nu poate exista in mod independent Modelul relational a fost conceput si dezvoltat de E.F. Codd. El este un model formal de organizare conceptual a datelor. Modelul relational este alctuit numai din relatii si prin urmare, orice interogare asupra bazei de date este tot o relatie.

Calitti: este simplu; riguros din punct de vedere matematic; nu este orientat spre sistemul de calcul. Modalitti pentru definirea unui SGBD relational: prezentarea datelor in tabele supuse anumitor operatii de tip proiectie, selectie, reuniune, compunere, intersectie etc. un sistem de baze de date ce suport un limbaj de tip SQL Structured Query Language; un sistem de baze de date care respect principiile modelului relational introdus de E.F. Codd. Caracteristicile unui model relational: structura relational a datelor; operatorii modelului relational; regulile de integritate care guverneaz folosirea cheilor in model. Aceste trei elemente corespund celor trei componente ale ingineriei software: informatie, proces, integritate. Conceptele utilizate pentru a descrie formal, uzual sau fizic elementele de baz ale organizrii datelor sunt date in urmtorul tabel: Formal relatie tuplu atribut domeniu Uzual tablou linie coloana tip de data Fizic fisier inregistrare camp tip de data

Reguli de integritate sunt asertiuni pe care datele continute in baza de date trebuie s le satisfac. Exist trei tipuri de constrangeri structurale (de cheie, de referint, de entitate)ce constituie multimea minimal de reguli de integritate pe care trebuie s le respecteun SGBD relational. Restrictiile de integritate minimale sunt definite in raport cu notiunea de cheie a unei relatii. O multime minimal de atribute ale cror valori identific unic un tuplu intr-o relatie reprezint o cheie pentru relatia respectiv. Fiecare relatie are cel putin o cheie. Una dintre cheile candidat va fi aleas pentru a identifica efectiv tupluri si ea va primi numele de cheie primar. Cheia primar nu poate fi reactualizat. Atributele care reprezint cheia primar sunt fie subliniate, fie urmate de semnul #. O cheie identific linii si este diferit de un index care localizeaz liniile. O cheie secundar este folosit ca index pentru a accesa tupluri. Un grup de atribute din cadrul unei relatii care contine o cheie a relatiei poart numele de supercheie. Modelul relational respect trei reguli de integritate structural. _ Regula 1 unicitatea cheii. Cheia primar trebuie s fie unic si minimal. _ Regula 2 integritatea entittii. Atributele cheii primare trebuie s fie diferite de valoarea null. _ Regula 3 integritatea referirii. O cheie extern trebuie s fie ori null in intregime, ori s corespund unei valori a cheii primare asociate. Transformarea relatiilor _ Relatiile 1:1 si 1:n devin chei externe _ Relatia m:n devine un tabel special, numit tabel asociativ, care are doua chei externe pentru cele doua tabele asociate. Cheia primara este compunerea acestor doua chei externe plus eventuale coloane aditionale. Tabelul se deseneaza punctat. _ Relatiile de tip trei devin tabele asociative. Cheia primara este compunerea a trei chei externe plus eventuale coloane aditionale. Transformarea atributelor _ Un atribut singular devine o coloana. In anul 1985, E.F. Codd a publicat un set de 13 reguli in raport cu care un sistem de gestiune a bazelor de date poate fi apreciat ca relational. O restrictie este o regul specificat pentru un obiect al bazei de date (de obicei un table sau o coloan), avand rolul de a limita intr-un mod oarecare domeniulde valori permise pentru obiectul respectiv al bazei de date. Exist mai multe tipuri de restrictii pentru baze de date: Restrictia NOT NULL Poate fi plasat pe o coloan pentru a impiedica folosirea valorilor nule. Restrictia cheie primar (primary key) Definit pe coloana (coloanele) cheie primar ale unui tabel pentru a garanta c valorile cheie primar sunt intotdeauna unice in intreg tabelul Restrictia de unicitate (unique) Definit pe o coloan sau un set de coloane care trebuie s contin valori unice ale tabelului.

Restrictia referential (numit uneori restrictie de integritate referential) O restrictie care impune o relatie intre dou tabele dintr-o baz de date relational. Restrictia CHECK Foloseste o instructiune logic simpl (scris in SQL) pentru a valida valoarea unei coloane. Un index reprezint o cale rapid de localizare si sortare a Inregistrarilor dintro tabel prin gruparea tuturor inregistrrilor pentru un anumit atribur sau grup de atribute. Indexarea este utilizat in dou scopuri principale: _ accelerarea cutrilor in baya de date _ asigurarea unicittii inregistrrilor Anomalia de inserare se refer la o situatie in care nu puteti insera date in baza de date din cauza unei dependente artificiale dintre coloanele unui tabel Anomalia de stergere este inversul anomaliei de inserare. Se refer la situatia in care stergerea unor date duce la pierderea neintentionat a altor date. Anomalia de actualizare se refer la o situatie in care actualizarea unei singure valori necesit actualizarea mai multor randuri. Scopul procesului de normalizare este eliminarea anomaliilor de inserare, actualizare si stergere Primul pas al procesului de normalizare const in alegerea unui identificator unic (unique identifier), care este un atribut (o coloan) sau un set de atribute care identific in mod unic fiecare rand de date dintr-o relatie.Identificatorul unic va deveni ulterior cheia primar a tabelului creat. Prima form normal: eliminarea datelor repetate O relatie este n prima form normal atunci cnd nu contine atribute cu valori multiple (atribute multi valoare), adic atribute care au mai multe valori pentru acelasi rnd de date. A doua form normal: eliminarea dependentelor partiale Se spune c o relatie este in a doua form normal dac indeplineste urmtoarele criterii: Relatia este in prima form normal. Toate atributele non-cheie sunt dependente functional de identificatorul unic (cheia primar), luat ca intreg. A doua form normal se aplic numai relatiilor care au identificatoare unice concatenate (adic formate din atribute multiple). A treia form normal: eliminarea dependentelor tranzitive Un atribut care depinde de un atribut care nu este identificator unic (cheie primar) a relatiei se spune c este dependent tranzitiv. Se spune c o relatie este in a treia form normal dac indeplineste urmtoarele dou criterii: _ Relatia este in a doua form normal. _ Nu exist dependente tranzitive (cu alte cuvinte, toate atributele non-cheie depind numai de identificatorul unic).