bd 1 introducere modelare

Upload: ciobi-dragos

Post on 17-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Bd 1 Introducere Modelare

    1/9

    1

    Introducere n Tehnologia BDIntroducere n Modelarea BD

    INTRODUCERE IN TEHNOLOGIA BAZELELOR DE DATE

    1. BAZE DE DATE

    Bazele de date(BD) reprezint o structur logic n care o cantitate de informaii este memoratpe un suport fizic. Altfel spus, BDreprezint totalitatea informaiilornecesare despre obiectele careintervin n mai multe aplicaii, relaiile logice dintre acestea i tehnicile de prelucrarecorespunztoare.

    O BD permite:- stocarea eficient a datelor,- regsirea iprelucrarea- ntreinerea datelor.

    La nivel inferior, BD sunt reprezentate prin fiiere. O BD poate fi folosit pentru a stocafiiere binare, documente, imagini grafice sau video, date relaionale, date multidimensionale, dateanalitice, date geografice etc.

    Natura datelor care sunt prelucrate n domeniul ingineriei industriale si roboticii este foartedivers: date tehnice, date experimentale (deformaii, viteze), date de proiectare (caracteristici dematerial, dimensiuni i forme constructive), date provenite din simularea unor parametri funcionali(acceleraii, defazaje de timp), date statistice (n ingineria economic). Ele trebuie s fie nregistrate,organizate, prelucrate, vizualizate, accesate, reactualizate. Din acest punct de vedere BD ocup o

    poziie central n cadrul ingineriei asistate, constituind un liant ntre diferite tipuri de programe decalcul sau grafice.

    Orice baz de date modeleaz un sistemsau un procesdin lumea real.

    2. Proprietile BD

    Partajarea datelor

    Datele memorate ntr-o baz de date sunt destinate folosirii de ctre mai muliutilizatori,uneori chiar simultan. Spre exemplu, o baz de date referitoare la studenipoate fi accesat att de

    profesori, ct i de studeni sau personal administrativ.

    Integrarea datelor

    Condiia de integrare: s nu coninredundane. O dat esteconsiderat redundantn cazul

    n care un atribut are dou sau mai multe valori identice sau dac ea poate fi tears fr ca prinaceastoperaie s se produc pierdere de informaie. Prin urmare, redundana datelor nupresupuneobligatoriu existena duplicatelor.

    Integritatea datelor

    Integritatea presupune cbaza de date reprezint o reflectare corect a realitii modelate.Spre exemplu, n cazul unei baze de date referitoare la o firm, integritateapresupune sigurana

    c se obin rspunsuri corecte la toate interogrile. De exemplu: ci salariai cu studii superioaresunt n firm, care este valoarea medie a contractelor incheiate, saucare este produsul cel maivandut etc. Integritatea datelor se realizeaz prin constrngeri de integritate. De exemplu, un

    produs s nu poat fi facturat dac nu este n stoc.

  • 7/23/2019 Bd 1 Introducere Modelare

    2/9

    2

    Securitatea datelor

    Se realizeaz prin restricionarea accesului la date. De exemplu. un sistem securizat ar putea fiacela n care personalul din departamentul financiar are acces la datele referitoarela costuri, dar nu

    poate modifica datele tehnice ale unui produs.

    Abstractizarea datelor

    BD este un model al realitii, dar care deine numai detaliie relevante ale datelor pentru oanumit aplicaie. Prin urmare o BD este, de fapt, o abstractizare a realitii.

    Avantajele folosirii bazelor de date

    Memorare bine organizat, regsirea i prelucrarea rapid a unui volum mare de date.O BD este creat pentru a fi uor actualizat i interogat.

    3. SISTEMUL DE GESTIUNE A BAZELOR DE DATE (SGBD)

    Sistemul de programe care permite construirea bazelor de date, ntreinerea i accesul la o bazde date se numete Sistem de gestiune a bazelor de date (SGBD). El conine o interfa grafic iinstrumente pentru accesul la date al utilizatorilor. De asemenea, SGBD permite organizarea,stocarea, gestionarea, salvarea, recuperarea, mentenana, extragerea datelor dintr-o BD.

    Fig. 1 Sistemul de gestiune a bazelor de date

    4. ROLURI nBAZELE DE DATE

    n funcie de rolul pe care l are o persoan care lucreaz n domeniul BD distingem:1) Arhitectul de date - este cel care face modelarea datelor. El proiectaz ntreaga

    arhitectur care s defineasc cerinele prezente i viitoare ale unei organizaii n ceea ceprivete managementuldatelor.

    2) Arhitectul bazei de date - dezvolt, depaneaz baza de date, asigur mentenana,integritatea i securitatea acesteia.

    3) Programatorii de aplicaii- Scriu aplicaii care acceseaz bazele de date.Un mediu integrat pentru dezvoltarea acestor aplicaii este IBM Data Studio, bazat peEclipse, care permite programatorilor s lucreze cu obiectele DB2, cum ar fi tabele,vederi, indeci, proceduri stocate, funcii definite de utilizatori i servicii Web. Eclipseeste un mediu integrat IBM, scris n Java, care conine un spaiu de lucru i plug-in-uri

    pentru conexiunea cu alte limbaje de programare.

    Sistemul de BDSGBD

    BD

    Aplicatia 1

    Aplicatia 2

    Aplicatia 3

    Aplicatia 4

  • 7/23/2019 Bd 1 Introducere Modelare

    3/9

  • 7/23/2019 Bd 1 Introducere Modelare

    4/9

  • 7/23/2019 Bd 1 Introducere Modelare

    5/9

    5

    Fig. 3 Exemple de entiti i atributele lor.

    Un atribut poate fi obligatoriu (*) pentru o aplicaie sau opional (o). Dac un atribut esteobligatoriu, el trebuie s aib o valoare. n modelul fizic atributul obligatoriu se declar NOT NULL.De exemplu, un atribut obligatoriu pentru entitatea personal este numele angajailor, iar pentru

    entitatea carteeste autorul.Pentru un atribut opional(o) poate exista situaia n care nu e nevoie s cunoatem valoareaatributului respectiv pentru aplicaie. De exemplu, atributele - continent (pentru entitatea produs) saunlime(pentru entitateapersonal),sau telefon_editur(pentru entitatea carte).

    Atributele pot fi simplesau compuse, n funcie de modul n care se pot sau nu se pot disocian mai multe componente. Un exemplu de atribut compus pentru entitatea personaleste adresa, carese poate mpri n componentele:strada, numr, oraetc.

    Atributul care definete n mod unic o entitate se numete identif icator unic. Identificatorulunic poate fi compus dintr-un singur atribut, de exemplu codul numeric personal (CNP) pentruentitatea personal. Identificatorul unic poate fi compus dintr-o combinaie de dou sau mai multeatribute. De exemplu, combinaia: titlu - autor- data_apariiei- editura pot forma identificatorulunic al entitii carte.

    Atributele, sau combinaii ale mai multor atribute, pot lua valori unice, sau non-unice. Deexemplu, pentru entitatea personal:

    - CNPeste unic (UNIQUE);- combinaia de atribute: nume - prenume - data_nasterii este non-unic (NON

    UNIQUE).De multe ori se recurge la un cod artificial, care este identificator unic. Pentru exemplificare,

    pentru entitatea carte, identificatorul unic este codul #ISBN.De asemenea, valorile pe care le poate lua un atribut pot fi: constante; variabile - de exemplu

    vrsta unui angajat, sau derivate din alte atribute - pretul_cu_tva. Se recomand ca atributele

    variabile sau derivate s fie folosite numai n fazele de studiu, i nu pentru implementare.RelaiaO relaie este o asociere, o legtur sau conexiune ntre entiti i care are o semnificaie

    pentru procesul sau sistemul modelat. Un exemplu este prezentat n Fig. 4, ntre entitatea mainientitateaproprietar.

    Fig. 4 Relaia ntre dou entiti.

    Loc de parcare

  • 7/23/2019 Bd 1 Introducere Modelare

    6/9

    6

    Orice relaie este caracterizat de urmtoarele elemente:1. numele relaiei: un verb. O main aparineunui proprietar, iar proprietarul areo main.2. opionalitatearelaiei - se stabilete prin rspunsul la ntrebarea: trebuie s existe relaia?

    Relaiile opionale se reprezint prin simbolul cerc (o).3. Cardinalitatea(gradul)relaiei (1:1, 1:n, n:m).

    Cardinalitatea relaieiVariantele de relaii ce pot exista ntre dou entiti sunt (Fig. 5):Unu-la-unu - one-to-one- (1:1). Acest tip de relaie este rar ntlnit. Uneori astfel de relaii

    pot fi modelate transformnd una dintre entiti n atribut al celeilalte entiti.

    Fig. 5 Relaii ntre entiti [6].

    Unu-la-mai-multi - one-to-many(1:n). Sunt cele mai ntlnite relaii.Mai muli la mai muli - many-to-many (n:m). Acest tip de relaii apare n prima faz a

    proiectrii bazei de date. Ele trebuie eliminate, deoarece nu se pot implementa.Reprezentarea grafic a relaiei ntre dou entiti se face printr-un segment. Modul cum se

    termin segmentul indic att opionalitatea (|sau O), ct i cardinalitatea relaiei n dreptul entitiirespective (|=1sau = many -picior de cioar, Fig. 6).

    Fig. 6 Reprezentarea relaiilor dintre entiti.

    n Fig. 7 sunt reprezentate toate tipurile de relaii ntre entiti.

    Fig. 7 Relaii ntre entiti 1:m i n:m.

    Exemple de relaii ntre entiti sunt ilustrate n Fig. 8.

  • 7/23/2019 Bd 1 Introducere Modelare

    7/9

    7

    Fig. 8 Relaii ntre entiti. Exemple

    Rezolvarea relaiilor n:m

    Relaiile n:mpot aprea ntr-o prim faz a proiectrii bazei de date (Fig. 9), ns ele trebuieeliminate din modelul final.

    Fig. 9. Rezolvarea relaiei many-to-many pentru modelulconceptual al bazei de date CURS_POSTUNIV.

    Paii care trebuie urmai sunt:1. Se gsete o entitate de intersecie:2. Se creeaz noile relaiiastfel:a) opionalitatea: relaiile care pleac din entitatea de intersecie sunt ntotdeauna obligatorii

    n aceast parte. n partea dinspre entitile originale, relaiile pstreaz opionalitatea relaiiloriniiale.

    b) - cardinalitatea: ambele relaii sunt de tip 1:m, iar partea cu mva fi ntotdeauna nspreentitatea de intersecie.

    3. Se adaug atributen cadrul entitii de intersecie.4. Se stabilete identificatorul unic pentru entitatea de intersecie. Dac entitatea de

    intersecie nu are un identificator unic propriu, atunci acesta se poate forma din identificatorii unici aientitilor iniiale, la care se pot aduga atribute ale entitii de intersecie.

    Modelarea datelor care evolueaz

    n timp se pot schimba att atributele entitilor, dar i relaiile dintre entiti. n exemplul dinFig. 10 atributul *pretal entitii PRODUSse poate schimba n funcie de inflaie, anotimp etc. Dac

  • 7/23/2019 Bd 1 Introducere Modelare

    8/9

    8

    ntr-o aplicaie intereseaz evoluia n timp a unui atribut, trebuie reinut istoricul evoluieiatributului. Aceasta se realizeaz printr-o nou entitate, n cazul nostru PRET

    Fig. 10

    S presupunem c modelm o baz de date pentru o bibliotec (Fig. 11). n acest caz esteimportant de reinut un istoric al tuturor mprumuturilor, deoarece pe baza acestora, se pot afladomeniile de interes ale cititorilor i se poate stabili ce achiziii de carte s se fac n viitor. Deasemenea, se poate determina uzura crilor i care dintre ele trebuie nlocuite. n Fig. 11 relaia

    dintre entitile CARTEi CITITOReste many-to-many: fiecare carte poate fi mprumutat demai muli cititori i fiecare cititor poate mprumuta mai multe cri:codcarte+codcititor+data_imprumut =UNIQUE

    a. b.Fig. 11 Rezolvarea relaiei many-tomany

    O prim rezolvare este n Fig. 11,a. Condiia care trebuie pus este cod_carte+data_impsfie unic. Se verific dac o carte poate fi mprumutat n acelai timp de mai muli cititori. n acestcaz s-au barat cele dou relaii dinspre entitatea de intersecie. Aceasta nu este ntotdeauna o soluie

    bun. Mai exist varianta: se introduce o cheie artificial n entitatea de intersecie (Fig. 11,b), nacest caz: #codimpr.

    Normalizarea datelorNormalizarea este o tehnic de proiectare a bazelor de date prin care se elimin (sau se evit)

    anumite anomalii i inconsistene ale datelor.Anomaliile care pot s apar la o baz de date nenormalizat sunt urmtoarele:

    anomalii la actualizarea datelor la o bibliotec se nregistreaz ntr-o tabel urmtoareledate despre cri: ISBN, titlu, autor, pre, subiect, editura, adresa editurii. La un moment dat oeditur i schimb adresa. Bibliotecara va trebui s modifice adresa editurii respective, nnregistrrile corespunztoare tuturor crilor din bibliotec aprute la respectiva editur. Dac

    aceast modificare nu se face cu succes, unele dintre nregistrri rmnnd cu vechea adres, aparedin nou o inconsisten a datelor.

  • 7/23/2019 Bd 1 Introducere Modelare

    9/9

    9

    anomalii de inserare n exemplul anterior, nu vom putea memora adresa unei edituri,lucru inacceptabil dac dorim s avem informaii i despre editurile ale cror cri nu le avem n

    bibliotec, eventual de la care dorim s facem comenzi. anomalii de tergere s presupunem c ntr-o tabel memorm urmtoarele informaii:

    codul studentului, codul cursului, codul profesorului. La un moment dat, nici un student nu mai

    dorete s participe la un anume curs. tergnd toate nregistrrile corespunztoare cursului, nu vommai putea ti niciodat cine preda acel curs.