Download - Curs 1 - Baze de date -

Transcript
  • 8/14/2019 Curs 1 - Baze de date -

    1/32

    Etape Mod de organizare adatelor

    Software

    Inainte de 1965 Fiiere secveniale Limbaj de asamblare iuniversal

    Anii 60 Fiiere secveniale,

    indexate, directe

    Limbaje universale

    Anii 70 Baze de date ierarhice ireea

    SGBD

    Sfritul anilor 70-prezent Baze de date relaionale SGBD

    Sfritul anilor 80 -prezent Baze de date orientate

    obiect

    Limbaje din programarea

    orientata obiect

    Curs 1- Baze de date i SGBD

    Principalele moduri de organizare a datelor pe suporturi tehnice sunt:fiierele i bazelede date.

  • 8/14/2019 Curs 1 - Baze de date -

    2/32

    Introducere:IstoricPerioada anterioar anilor 60 (utilizareaSistemelor de

    gestiune a fiierelor )

    Organizarea datelor n fiiere Lucrul cu fiiere prezint mai multe inconveniente :1. Manipularea datelor este grea i complicat, fiind necesar

    expertiza n programare.2. Programatorul trebuie s cunoasc localizarea fizic a

    fiierelor, structura fizic a nregistrrilor , modul de acces laaceste fiiere. 3. Orice modificare n structura nregistrrilor(adugarea unui

    cmp) implic rescrierea tuturor programelor caremanipuleaz aceste fiiere.

  • 8/14/2019 Curs 1 - Baze de date -

    3/32

    Introducere:Scurt istoric n perioada anilor 60 naterea primei generaii de

    SGBD

    Separarea descrierii datelor de programelede aplicaii. Crearea primelor modele de acces la date.

  • 8/14/2019 Curs 1 - Baze de date -

    4/32

    Introducere:IstoricDou modele cheie :

    1. Grupul CODASYL va publica primele sale

    specificaii de limbaj pentru modelul de baz dedate reea care mai este cunoscut i subnumele de Model de date Codasyl i estebazat pe ideile lui Bachman.

    2. Modelul ierarhic utiliza IMS (InformationManagement System) creat de IBM.

  • 8/14/2019 Curs 1 - Baze de date -

    5/32

  • 8/14/2019 Curs 1 - Baze de date -

    6/32

    Introducere:Istoric Anii 80-90

    A treia generaie este dominat de Modelul Orientat

    Obiect.Informaia este reprezentat sub form deobiecte.

    Baze de date DeductiveUn sistem cu baz de date deductive poate face deducii

    (s deduc reguli sau fapte suplimentare) pornind de laregulile i faptele stocate deja n baza de date.

  • 8/14/2019 Curs 1 - Baze de date -

    7/32

    Organizarea datelor pe suporturi externe se face pe mediimagnetice sau optice;Tipuri de organizare a datelor:

    1.SECVENIAL nregistrrile sunt dispuse nfiier una dup alta fr nici oordine prestabilit.Localizarea uneinregistrri se face prin parcurgerea tuturor

    nregistrrilor anterioare ei(secvenial).2.Relativ nregistrrile sunt dispuse n fiier una dup alta i numerotate (dectre sistem) de la 0 sau 1 la cte sunt(numr

    de realizare)Localizarea uneinregistrri se poate facesecvenial saudirect prinnumrul de realizare.

  • 8/14/2019 Curs 1 - Baze de date -

    8/32

    3. INDEXAT-SECVENIAL nregistrrile sunt dispuse n fiier n ordine strictcresctoare dup o cheie (face parte din nregistrare).Cheia poate fi unul sau mai multe cmpuri careidentific n mod unic o nregistrare.Fiierului i este ataat o tabel de indeci care facelegtura ntre valoarea cheii i adresa fizic a

    nregistrrii.Localizarea uneinregistrri se poate facesecvenial dari direct prin cheie:se compar cheia nregistrrii cutate cu indecii din

    tabela de indexi se localizeaz direct parteafizic afiierului n care seafl nregistrareacutat;n parteafizic localizat se face ocutare secvenial anregistrrii dorite.

  • 8/14/2019 Curs 1 - Baze de date -

    9/32

    Modul de acces la date= modul n care sedetermin locul ocupat de o nregistrare ntr -un

    fiier.Tipuri de moduri de acces la date:SECVENIAL= localizarea unei nregistrri

    se face prin parcurgerea tuturor nregistrrilorcare o preced. DIRECT = localizarea unei nregistrri se face

    cu ajutorul unei chei definite de programator. DINAMIC = la o singur deschidere de fiierse pot localiza, alternativ i repetat, nregistrrin acces secvenial i direct.

  • 8/14/2019 Curs 1 - Baze de date -

    10/32

    10

    Conceptele de baz de date (BD) i sistem degestiune a bazelor de date(SGBD)

    Definiie: O baz de date (BD ) este un ansamblu decolectii de date, legate funcional ntre ele,memorate pe suporturi adresabile, ce pot fiaccesate simultan de mai muli utilizatori, de o

    manier selectiv i n timp optim . Gestiunea bazelor de date esteasigurat cu ajutorul uansamblu de programe care constituie un sistemgestiune a bazelor de date (SGBD ).

    SGBD ul este un instrument de asamblare, codificare,aranjare, protecie i regsire a datelor n BD.

  • 8/14/2019 Curs 1 - Baze de date -

    11/32

    11

    Nivelurile de reprezentare a datelor

    Baza de date, ca imagine a unei anumite realiti, trebuieactualizat permanent. Acest lucru nu trebuie s afecteze programele de prelucrare. Pentru atingerea acestui obieceste necesar o abstractizare a datelor memorate n BD.

    n 1975, ANSI/ SPARC(American National Standards Institute/ Standards Planning And Requirements Committee) a propuso norm de reprezentare adatelor n condiiile folosirii SGBD- urilor pe trei niveluriierarhice.

    Aceste 3 niveluri de reprezentare i percepie a unei BD su Nivelulextern, Nivelul conceptual Nivelul intern

  • 8/14/2019 Curs 1 - Baze de date -

    12/32

    Niveluri de reprezentare a unei Baze de date

    Schemaextern1

    Schemaextern 2

    Schemaexternn

    Grup utilizatori1

    Gruputilizatori 2

    Gruputilizatori n

    Schemaconceptual

    Procesmodelare

    Schem fizic

    BD

    Nivel extern Nivelconceptual

    Nivel fizic

    Domeniul de

    studiu

  • 8/14/2019 Curs 1 - Baze de date -

    13/32

    Schema extern face referire la datele necesare unui utilizatorsau unui grup de utilizatori.

    Ea este o sub- schem (o imagine) a schemei conceptuale .

    Schemele externe constituie sursa pentru ntocmirea schemei

    conceptuale

    Nivelul extern de descriere a BD se face de ctre Administratorul aplicaiei , care:

    definete schema extern definete regulile de coresponden cu schemaconceptual

  • 8/14/2019 Curs 1 - Baze de date -

    14/32

    La nivel conceptua l , analiznd schemele externe i eliminnredundanele rezult o nou viziune la nivelul ntreprinderii, care snumete schema conceptual . Nivelul conceptual sconcretizeaz prin schema conceptual care este exprimat utiliznd conceptele de tabel (relaie), atribute i restricii d integritateTrecerea de la fizic la conceptual se face prin modelare O schem conceptual este complet dac poate furniza dat pentru toate schemele externe, adic datele de care au nevoi utilizatorii (unele obinute prin calcul i/sau agregare).

    Nivelu l c on ceptua l de descriere a BD se face de ctreA dm inis trator ul nt reprin deri i

  • 8/14/2019 Curs 1 - Baze de date -

    15/32

    Schema intern implementeaz schema conceptual folosind un SGBD. Se refera la modul de stocare fizic adatelor pe suporturi de date. Schema intern se obine

    prin descrierea bazelor de date folosind un limbaj dedescriere date (LDD).Faptul c utilizatorul vede baza de date folosind oschem extern faciliteaz determinarea drepturilor de

    acces la baza de date

    Nivelul in tern de descriere a BD se face de ctreAd m in i s t rato ru l BD care:

    definete schema intern de organizare a datelor definete regulile de trecere de la schemaconceptual la cea intern

  • 8/14/2019 Curs 1 - Baze de date -

    16/32

    Nivel Extern

    Schema Externa 1

    Valoare produs

    Valoare totalafactura

    NivelConceptual

    Factura (NrFactura, DataFactura, CodClient, CotaTVA)

    ProdusFacturat (NrFactura, CodProdus, Cantitate, Pret)

    Produs (CodProdus, DenumireProdus, UM)

    Nivel Intern(Fizic)

    Valoare TVA

    BD Schema fizica

    Proces

    modelare

    Normalizare

    Implementare

    Valoare totala peprodus

    ' Restricii de integritate la nivelul relatiei FACTURARI1: NrFactura cheia primar

    ' Restricii de integritate la nivelul relatiei PRODUSFACTURATRI2: NrFactura si CodProdus cheia primar

    ' Restricii de integritate la nivelul relatiei PRODUSRI3: CodProdus cheia primar

    ' Restricii de integritate la nivelul bazei de dateRIR1: NrFactura din ProdusFacturat refer NrFactura din FACTURARIR2: CodPrododus din ProdusFacturat refer CodProdus din PRODUS

    Valoare totalagenerala

    Schema Externa 2

    Schema conceptuala

  • 8/14/2019 Curs 1 - Baze de date -

    17/32

    Func iile unui SGBD

    1. Descrierea datelor 2. Utilizarea datelor 3. Integritatea datelor 4. Confiden ialitatea datelor 5. Accesul concurent la date 6. Siguran a n func ionare

    17

  • 8/14/2019 Curs 1 - Baze de date -

    18/32

    Descrierea datelorUn SGBD trebuie s includ posibilitatea descrierii structurii

    obiectelor care formeaz baza de date.

    n cazul bazelor de date relaionale aceasta const n principal nposibilitatea crerii si modificrii structurii tabelelor siconstrngerilor de integritate asociate acestora.

    Limbajul prin care se realizeaz aceste operaii se numeste Limbaj de Descriere a Datelor (LDD) si n cazul primelor sistemede gestiune el era implementat sub forma unor module separate.

    n sistemele relaionale bazate pe SQL aceste operaii au fostincluse n limbaj sub forma comenzilor de tip CREATE (pentrucreare) sau ALTER (modificare).

  • 8/14/2019 Curs 1 - Baze de date -

    19/32

    Aceste tabele sunt accesate de sistem pentru a regsiinformaiile necesare execuiei cererilor dar pot fi accesate side utilizatori pentru a obine informaii privind structura

    bazei de date.Utilizarea datelorAceasta funcie include operaiile de lucru cu datele nregistrate

    intr-o baza de date.

    Exista patru categorii de operaii principale: Inserarea de noi date . Aceasta se concretizeaz prin adugareade noi linii n tabelele care formeaz baza de date.

    Stergerea de linii din tabele. Actualizarea datelor , nsemnnd modificarea coninutului unor

    linii existente n tabele.Regasirea datelor dup anumite criterii de cutare

  • 8/14/2019 Curs 1 - Baze de date -

    20/32

    Pentru implementarea functiei de uti lizare f iecare SGBD are unLimbaj de M anipulare a Datelor (LM D) care poate f i un modul separatsau inclus n limbajul sistemului cum este n cazul SQL .

    I ntegritatea datelor

    M ajoritatea sistemelor de gestiune permit defini rea unor reguli pecare datele stocate trebuie sa le ver if ice numite constrngeride integritate.

    n cazul n care o operaie are ca rezultat violarea acestor restricaceasta este automat refuzata si nu are efect n baza de date.

    n felul acesta este asigurata o mai mare sigurana n ceea ce privete corectitudinea datelor.

  • 8/14/2019 Curs 1 - Baze de date -

    21/32

    ExempluSa consideram o baz de date coninnd informaii despre: faculti,

    studenii nscrii si notele obinute de acetia. Posibile situaii de nclcare a integritii datelor : Introducerea accidental de valori incorecte n baza de date. Exemplu:restricie privind intervalul de valori admisibil pentru note: 0 - 10. Lsarea necompletata a unor informaii necesare. Exemplu: numelestudentului. Alocarea accidental a aceluiai numr matricol pentru mai muli studeni(restricie de unicitate a valorilor). Introducerea accidental a unui student cu un cod incorect al facultii lacare acesta este nscris (integritate referenial). Definirea de constrngeride integritate nu previne nsa total erorile accidentale de operare: deexemplu introducerea din greeal a unei note de 4 n loc de 5

    nu va fi semnalat, ambele valori fiind n intervalul admisibil (lips defiabilitate).

  • 8/14/2019 Curs 1 - Baze de date -

    22/32

    Confidenialitatea datelor Accesul la date este permis doar utilizatorilor nregistrai si doar n

    msura drepturilor de acces alocate. Un utilizator este identificat printr-un nume uti lizator si o parola . Fiecrui utilizator i se permite accesul doar la o poriune a bazei de

    date si doar pentru a efectua anumite tipuri de operaii. Toate aceste informaii relative la ce, cum si de unde poate accesa

    datele un utilizator reprezint drepturile de acces asociate acestuia Drepturile de acces sunt stocate n c ataloagele sistemului. Prin mecanismul de drepturi de acces este asigurata funcia de

    confidenialitate a datelor.Exemplu: n cazul sistemului informatic al unei organizaii, acces

    selectiv la salariile angajailor, detalii ale proceselor tehnologice,datele contabile etc.

  • 8/14/2019 Curs 1 - Baze de date -

    23/32

    Accesul concurent la dateUn SGBD trebuie s ofere faciliti de blocare a

    unor poriuni ale bazei de date. Aceasta nseamn ca o execuie a unui program poatecpta un acces exclusiv la o poriune a bazeide date, denumit si articol, moment n careorice alta execuie trebuie sa ateptedeblocarea acesteia pentru a continua.

    Si f i

  • 8/14/2019 Curs 1 - Baze de date -

    24/32

    Sigurana n funcionareVizeaz acele elemente care exclud sau minimizeaz posibilitatea de pierdere a datelor datorit incidentelor software sau hardware.

    Este dificil efectuarea unei copii de siguran consistente ale bazei ddate n condiiile n care aplicaia ruleaz non- stop i operarea nu poate fi oprit pentru efectuarea salvrii. La distrugerea bazei de date este necesar efectuarea operaiei de

    restaurare din copie.Multe tipuri de SGBD au posibilitatea de a nregistra toate schimbaprute n baza de date sub forma unor fiiere jurnal.

    n acest fel operaia de restaurare dup incident se face restaurnd

    ultima copie de sigurana si reefectund toate prelucrrile consistente nregistrate n jurnal dup momentul n care a fost efectuacopia.

  • 8/14/2019 Curs 1 - Baze de date -

    25/32

    Modelul relational- Concepte de bazaModelul relaional este un mod de organizare i de

    structurare a datelor sub form de tabele bidimensionalenumite i relaii ce pot fi manipulate cu ajutorul unui setde operatori neprocedurali care returneaz alte tabelevirtuale. Ansamblul acestor operatori formeaz algebrarelaional .

    Modelul relaional a fost introdus de E. F. Codd n 1970 i sefondeaz pe conceptul de relaie definit n teoriamatematic a mulimilor ca fiind o submulime aprodusului cartezian al mai multor domenii: R D1 D2 Dn; unde Dn reprezint coloana n a relaiei.

    25

    F ndamentele model l i relaional

  • 8/14/2019 Curs 1 - Baze de date -

    26/32

    Fundamentele modelului relaional Tabele bidimensionale (relaii) legate ntre ele

    Structur, cheie primar, tip atribute, reguli de validare a datelor (restricii deintegritate)

    26

    Tabel SALARIAT

    Marca Nume Salariulde baza

    LM

    12 Avramescu 2000$ 215 Brbulescu 3000$ 317 Iordan 2500$ 120 Goran 1500$ 1

    15 Vasilescu 1560$ 1

    tuplu

    LM Denumire1 Marketing2 Contabilitate3 Control Gest

    Tabel LOCM

    Legtur ntre tabele

    domeniu

    Cheie primara

    Cheie primaraCheie externa

    Cheia primara este unicasi nenula

    O cheie primara este definita ca un ansamblu de N Numarul tuplurilor dintr o

  • 8/14/2019 Curs 1 - Baze de date -

    27/32

    Cod produs Denumire UM Pretreferinta

    100 Alfa kg 1500101 Beta Kg 2000102 Gama T 3000

    103 Delta m 300

    27

    O cheie primara este definita ca un ansamblu de N atribute verificand o dubla proprietate:

    -Unicitatea(valorile cheii primare sunt unice sinenule)

    -Minimalitatea(nici un atribut ce compune cheia

    nu poate fi luat fara sa se piarda proprietatea deunicitate)

    Domeniul este ansamblulvalorilor permise pentru un

    atribut.

    TUPLU

    Numarul tuplurilor dintr-orelatie formeaza

    cardinalitatea relatiei(exemplu:cardinalitate=4)

    iar numarul de atribute

    specifica gradul relatiei

  • 8/14/2019 Curs 1 - Baze de date -

    28/32

    DE RETINUT!Principiul fundamental al modelului relational: -reprezentarea universului descris sub forma unui tabel bidimensional de valori

    (numit relatie ) Privit prin prisma modelului relaional, baza de date apare ca ocolecie de relaii (tabele), n care fiecare coloan reprezint un atribut distinct, iarfiecare rnd, un tuplu distinct, de unde i apelativul tabel bidimensional .

    -Fiecare coloan a unui tabel rela ional ia valori ntr-o multime de valori permisenumita domeniu.

    -Toate atributele unui tabel sunt atomice (nu se pot descompune n alte atribute).-Fiecare linie a unui tabel rela ional se numeste tuplu (sau nregistrare).-Fiecare coloan a unui tabel rela ional corespunde unui domeniu i se nume te

    atribut. Fiecare atribut posed un nume diferit n raport cu un domeniu. Atributeleunei rela ii trebuie sa fie diferite.

    -Un atribut ( sau un grup de atribute ) numit cheie primar va identifica n mod unicfiecare tuplu al unei rela ii ( fiecare linie a unui tabel).

    -Orice alt atribut care ia valori n acela i domeniu de defini ie cu al unei chei primareeste numit cheie extern .

    - Modelul rela ional permite descrierea unor date ale caror valori variaz n timp, nsensul c pot fi ad ugate, terse sau modificate ntr-o rela ie.

    28

  • 8/14/2019 Curs 1 - Baze de date -

    29/32

    Schema unei relaii este format din numele relaiei, structura (atributele)relaiei i restriciile de integritate la nivel de relaie

    Schema unei baze de date relationale este definit ca un ansamblu

    de scheme de rela ii (cu restric iile de integritate definite la nivel deatribut si tabel ) precum i din restric iile de integritate inter-tabele.

    Schema unei baze de date(modelul rela ional):

    29

    Exemple practice : Relaia CLIENTI (CodClient , Nume, Telefon, Fax,Strada, Nr,CodPostal, TipClient)' Restricii de integritate RI1:CodClient , constituiecheia primar RI2: Dom(TipClient)={Ext, Int}RI3:Val (Nume) diferit de NullRI4:Val (CodPostal )diferit de NullRI5:Val (Telefon) diferit de Null

  • 8/14/2019 Curs 1 - Baze de date -

    30/32

    Relaia FACTURI (NrFact , DataFact, CodClient )

    Restricii de integritate

    RI1: NrFact, cheia primar

    RI2: Val(DataFact) ntre i

    30

    PRODUS(CodProd , DenProd,UM, PretRef)PRODUS_FACTURAT (NrFact , CodProd , CantFact, PretFact)LOCALIZARE(CodPostal , Localitate)

    n exemplul luat referitor la gestiunea facturilor, se pot defini urmtoarerestricii de integritate la nivelul bazei de date :RIR1: CodClient din FACTURIrefer CodClient din CLIENTIRIR2: NrFact din PRODUS_FACTURATrefer NrFact din FACTURI RIR3: CodProd din Produs_facturatrefer CodProd din PRODUSE RIR4: CodPostal din Clienti refera CodPostal din LOCALIZARE

  • 8/14/2019 Curs 1 - Baze de date -

    31/32

    Restriciile de integritate ale modelului relaional. Structurale = se definesc prin compararea unor valori din tabele:cheie unic = ntr-o tabel nu trebuie s existe mai multe tupluri cu aceeai valoare pentru ansamblul cheie;Integritatea referenial = ntr-o tabel T1 care refer o tabel T2, valorile cheii extetrebuie s figureze printre valorile cheii primare din T2 sau s ia valoarea NULL(neprecizat);Integritatea entitii = ntr-o tabel, atributele din cheia primar nu trebuie s ia

    valoarea NULL.Pe lng acestea, exist o serie de alte restricii structurale care se refer la dependdintre date: funcionale, multivaloare, jonciune etc. (sunt luate n considerare latehnicile de proiectare BDR).Semantice= se definesc prin comportamentul datelor i in cont de valorile din BD

    restriciade domeniu= domeniul corespunztor unui atribut dintr -o tabel trebuie s sencadreze ntre anumite valori;restriciitemporare= valorile anumitor atribute se compar cu nite valori tempora(rezultate din calcule etc.).

    31

  • 8/14/2019 Curs 1 - Baze de date -

    32/32

    Intr-o rela ie pot exista una sau mai multe chei candidate. Cheile pot s fie formatedintr-un singur atribut (simple) sau din mai multe atribute (compuse).Se alege din multimea cheile candidate o cheie primara.Criteriul de alegere este, in general, simplitatea.

    32