1 / 181

Introducere in BAZE de DATE Curs recapitulativ

Introducere in BAZE de DATE Curs recapitulativ. Cosmina Ivan cosmina.ivan@cs.utcluj.ro Departamentul de Calculatoare UNIVERSITATEA TEHNICA CLUJ NAPOCA. BD- definitie. Baza de date

lexi
Télécharger la présentation

Introducere in BAZE de DATE Curs recapitulativ

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. Introducere in BAZE de DATECurs recapitulativ Cosmina Ivan cosmina.ivan@cs.utcluj.ro Departamentul de Calculatoare UNIVERSITATEA TEHNICA CLUJ NAPOCA

  2. BD- definitie • Baza de date • O colectielarga , integrata de date corelate logic sistocatepentru a mentine info si a oferisuportpentruanaliza (consultare/interogare). • Bazele de date permit • Modelarealumiireale : entitatisirelatii • Date - fapteinregistrabile din lumearealaceposedasemnificatieintrinseca • domeniul BD acoperălargisursededate, cu multe concepte noi. • Căutare Web • Data mining • Baze de Date stiinţificeşimedicale • Integrareainformaţiei

  3. SGBD - definitie • SGBD – sistem software - colectie de programedestinatcrearii, stocariisimanagementuluibazelor de date • Ofera un mediuconvenabilsieficient de utilizare • Gestioneaza diverse aspecte de proiectare/implementare a sistemelor cu BD • PermitecreareaBD , specificareaschemeisale • Oferasuportpentruinterogareasimodificareaeficienta a datelor • Mentinesecuritateadatelor la accidentesauaccesneautorizat • Controleazaaccesulconcurent la date Rol : reducerea dependenţei aplicaţiilor în raport cu structura datelor

  4. Ceeste un model de date? • Model de date – colectie de conceptepentrudescriereadatelor : structuri, relatii, semanticasiconstrangeri de consistenta • Ofera o reprezentareabstracta, ascundedetaliile de niveljos ( specificeimplementarii) • Descriestructura BD: tipuri de date, relatii, constrangeri • Ofera o vizualizareconceptuala a datelor

  5. Modele de date • Modelul relational Colectie de tabele ( relatii) cecontininregistrari • Modelul ER ( entitateasociere) Reprezintaobiectele de baza ( entitati) sirelatiile/asocieriledintreacestea, largautilizare in proiectareaconceptuala a bazelor de date • Modelulbazatpeobiecte Introduce identitateobiectelor, incapsularesimetode de acces • Model de date semistructurat nu asigura o separareclaraintre date si schema de date ( date autodescriptive) Articole de date de acelasi tip pot aveaatributediferite!?! XML – largautilizare in reprezentareadatelorsemistructurate

  6. Sistem de fisiere -limitari • Redundantadatelorsiinconsistenta • Formate multiple de fisiere, duplicareainformatiei in fisiere multiple , stergerisiactualizaridificile ale datelor • Dificultate in accesul la date • Pentruoricenou task de acces la date = >un nou program • Cautareadificila a datelor • Pentruoriceinterogare cod distinct • Nu asiguraatomicitateaactualizarilor • Caderi in sistemdeterminainconsistente in BD, actualizaripartiale, intrerupte

  7. Sistem de fisiere - limitari • Nu oferaaccesconcurentmaimultorutilizatori • Nu existacontrolulconcurentei, datelenecesitaprotectiedatoritautlizatorilormultiplii • Probleme de securitate • Dificil de oferitaccesdiferentiatdoar la anumitecategorii de date / utilizator • anumite date pot fi pierdute, operatiineterminatecomplet • Nu exista API/GUI accesevoluat la datelepersistate • Nu permitemodelaricomplexe- S fisiere – unidimensionalvs SBD - multidimensional

  8. Argumente… PRO • Controlulredundanteidatelor • Restrictionareaaccesuluineautorizat • Structuri de stocareadecvate • Procesareinterogarieficienta • Suportpentru Backup & Recovery • Interfetemultiutilizator • Reprezentarea de relatiicomplexeintre date • Specificarea de constrangeri de integritate • permiteinterferentesiactiunibazatpeseturi de reguli • Suportpentrustandardizare • Reducereatimpului de dezvoltare a aplicatiilor • Disponibilitateainformatiei • CONTRA • Investitieinitialaridicata in hardware, software , training • Generalitateaoferita de SGBD pentrudefinireasiprocesareadatelorestepestenivelulcerintelor • Complexitateindusa de securizare, controlulconcurentei, recuperare la caderi

  9. Pro - contra • Cand se utilizeaza BD • Este necesararezolvareapersistenteidatelor • Volume mari de date • Date structurate • Accesconcurentsi/saudistribuit • Integritate • Securitate • Cand nu se utilizeaza BD • Investitie mare - costuri • Aplicatia e simpla ,definitasinemodificabila • Nu e necesaraccesmultiutilizator • Solutiealternativa – colectie de fisieregestionate de programe de acces

  10. Niveluri de abstractizare User User User Vedere 1 Vedere 2 Vedere n ... Designer BD Nivel Conceptual Nivel fizic Administrator BD • Nivelfizic (intern) : descriemodul in care suntstocatedatele(fisieresiindecsi) • Nivel logic (conceptual) : descriedatelestocate in BD sirelatiiledintreacestea. • Nivelulvederi (extern): descriemodul in care utilizatorii / programelevaddatele • ofera o modalitateprin care pot fi ascunse, detaliilereferitoare la tipuldatelor, informatiilespecifice de securitate.. • Mai multevederi, • o SINGURA schema conceptualasifizica • DUALITATE concepte din aplicatie- conceptespecifice BD

  11. Schema fizică Schema fizica- specificădetalii suplimentare legate de stocarea datelor ( tip, dimensiune , structura de fisiere, mod de organoizarer a acestora) • Menţionează modul în care tabelele (la modelul relaţional) descrise prin schema conceptualăsuntstocatepe dispozitive suport secundar ( hard disk…) • Descrie tipul fişierelor pentrustocare pe suport secundarşicrearea unor structuriauxiliare dedatenumiteindecşiîn scopul regăsirii mai rapide a datelor

  12. Schema conceptuală • Schemălogică ( conceptuala) , descriedatele stocate în BDîn termenii ( conceptelesiabstractiunile) specifice modelului dedateal SGBD-uluiutilizat. Ex. Pentru un SGBDrelaţional, schema conceptualădescrietoate tabelele(relaţiile)stocate în BDsimodul de relationare • Limbajul folosit pentrudefinireadatelor conform schemeiconceptualese numeşte Limbaj de Descriere a Datelor (LDD)

  13. Independentadatelor • Independenta - abilitatea de a modifica un nivel in arhitectura BD, fara a afectacelelalteniveluri ale schemei BD • Independentalogica – capacitatea de a modifica schema conceptualafara a afectavedereaexterna (programele de aplicatie, necesareaccesului la date) • Vederile (view în modelul relaţional, tabelă virtuală, schema externă) asigură posibilitatea modificării structurii datelor (schema conceptuală), acest lucru fiind ascuns aplicaţiilor • Independentafizica – abilitatea de a modificaschema internafara a modificavedereaconceptuala • Schema conceptuală asigură posibilitatea modificării aranjării datelor pe suport secundar sau a indecşilor, acest lucru fiind de asemenea ascuns aplicaţiilor • Celmai important avantaj al utilizariiunui SGBD : aplicaţiile sunt izolate faţă de modificările la nivel conceptual sau la nivel fizic prin cele trei nivele de abstractizare

  14. Independentadatelor • Independenta - abilitatea de a modifica un nivel in arhitectura BD, fara a afectacelelalteniveluri ale schemei BD • Independentalogica – capacitatea de a modifica schema conceptualafara a afectavedereaexterna (programele de aplicatie, necesareaccesului la date) • Vederile (view în modelul relaţional, tabelă virtuală, schema externă) asigură posibilitatea modificării structurii datelor (schema conceptuală), acest lucru fiind ascuns aplicaţiilor • Independentafizica – abilitatea de a modificaschema internafara a modificavedereaconceptuala • Schema conceptuală asigură posibilitatea modificării aranjării datelor pe suport secundar sau a indecşilor, acest lucru fiind de asemenea ascuns aplicaţiilor • Celmai important avantaj al utilizariiunui SGBD : aplicaţiile sunt izolate faţă de modificările la nivel conceptual sau la nivel fizic prin cele trei nivele de abstractizare

  15. Funcţiile SGBD • Transformarea datelor • Datele introduse de utilizator nu au întotdeauna structura identică cu cea definită în baza de date (conversii automate de tip de date la tipulsuportat de SGBD) • Gestiunea aplicaţiilor (crearea de aplicatii de acces la date) • Limbaj de descriere a datelor ( LDD) – structura de date • Limbaj de manipulare a datelor (LMD) – accesul la date

  16. Funcţiile SGBD • Importul şi exportul datelor • Conversia datelor pentru prelucrarea cu alt SGBD sau cu aplicaţii terţe (de ex. Excel, CSV, MS-SQL to MySQL…. Etc.) • Controlul securităţii datelor • Care sunt utilizatorii ce au acces la date • La ce date are acces fiecare utilizator • Ce operaţii se pot efectua de fiecare utilizator cu datele la care are acces

  17. Funcţiile SGBD • Asigurarea integrităţii datelor • Restricţii de integritate, de ex. SGBD-ul poate asigura că vârsta unei persoane la introducerea în BD este cuprinsă între x si y • Controlul accesului concurent la date • Fiecare utilizator are impresia că lucrează de unul singur (serializarea operaţiilor de acces la date) • Gestiunea copiilor de siguranţă şi a recuperării datelor(pentrusituatii de cadere in sistem – backup/restore de date )

  18. Administratori de BD • Coordoneazaactivitatile la nivelulintreguluisistem software cu BD, cunostintespecificedespresistemulinformatic al intreprinderii, resurse, cerinte. • Responsabilitati: • Definireaschemeiconceptualesifizice a BD • Specificareaconstrangerilor de integritate • Definireastructurii de stocaresi a metodelor de acces la date • Modificari in schema siorganizareafizica a datelor • Asigurareaaccesuluisecurizatpentrudiversiutilizatoriai BD (politici de securitatesiautorizare) • Monitorizareperformante, responsabilitati in schimbareadiverselorcerintepemasuracebazele de date evolueaza – (“database tuning”)

  19. Arhitectura unui SGBD “Ramakrishnan, Database systems”

  20. Cum funcţionează? • SGBD-ul acceptă comenzi SQL generate de ovarietatedeinterfeţe utilizator • SGBD-ul produce planuri de evaluare a interogărilor, pe care le execută asupra datelor din BD, şi returnează răspunsuri • Un utilizator emite o interogare, aceastaeste analizată decatre SGBD şi este prezentatăunuioptimizator, care foloseşteinformaţiadespre felul în care sunt stocatedatelepentru a produce un plan de execuţieeficient • Unplandeexecuţieeste o reprezentaresub formă de arbore de operatii(cu adnotaţiice conţin informaţiidetaliate suplimentarelegate de metodelede acces la date, ordineaevaluariiexecutiei, ş.a.)

  21. Codul ce implementează operatorii arborelui operatorstădeasupra stratului “File and Access Methods” • Nivelul “File and Access Methods” suportă o structurade pagini neordonate, sauindecşi, urmăreşte cum sunt aranjatepaginileîn fişier şi organizeazădateleîn interiorul uneipagini • Nivelul“buffer manager” este responsabil cu aducereapaginilor de pe discînmemoria internă • Nivelul “disk space manager” este cel mai de jos strat al unui SGBD şi se ocupă de administrarea spaţiuluipe suport extern, unde sunt stocate datele • Nivelurile“TransactionManager”, “LockManager” şi “Recovery Manager”asigurăaccesul concurent şi recuperarea datelor în caz de incidente Prin implementarea unor protocoale de blocare a accesului , prin planificarea cu atenţie a cererilor utilizatorilor şi prin păstrarea într-un jurnal a tuturor modificărilor asupra BD

  22. Procesul de proiectare Ciclul de dezvoltare a uneiaplicatii cu BD • Colectareacerintelorsianalizalor • Proiectareaconceptuala • Proiectarealogica • Rafinareaschemei BD • Proiectareafizica- implementarea BD • Proiectareaaplicatieisielemente de securitate • Testaresimentenanta • din ‘Database management systems, R Ramakrishnan’

  23. ER- notatiaclasica

  24. Notatia UML

  25. Exemplu • Baza de date ce stocheaza info despre • Comanda ( order) are o cheie numerica, un client, o data, cantitate totala,lista de componente ( parti) • O componenta - cantitate si pret si este oferita de un furnizor • fiecare parte are o cheie numerica, un nume un pret si poate fi oferita de furnizori multiplii • un furnizor are o cheie si un nume si poate furniza mai multe parti • Un client are o cheie si un nume • fiecare furnizor si client sunt dintr-o anumita tara ( nation) • fiecare tara apartine unui continent

  26. Modelul relational Modelul relational: E.F.Codd, 1970 –IBM (SystemR - primul SQL)) Are la bază fundamentare matematică Asigură completa separare a structurii logice de structura fizică Model de date complet • Componente structurale cu constrangeri • Componente dinamice cu operații Rezolvă problemele modelelor anterioare A devenit modelul dominant de date ( produsecomerciale Oracle, DB2, MySQL) Presupunastazicercetari in domeniulcontroluluiconcurentei , managementuluitranzactiilor, optimizariiinterogarilorsiprocesarilor

  27. Modelul relațional • Informația este reprezentată ca relații între valori • Relația (reprezentată ca o tabelă) este unicaunitate de organizare a datelor • Utilizatorii și programatorii trebuie să cunoască doar descrierea abstractă a relațiilor • Structura fizică (modalitățile de stocare a datelor, pointeri, algoritmii de hashing, structurile arborescente de acces) sunt ascunse utilizatorilor și programatorilor • Oferă un limbaj declarativ pentru interogarea și actualizarea bazei de date (SQL)

  28. Schema relationala -formal DEF1. Schema relaţiei: R = {A1,A2, ...Ai,...An} (o mulţime de atribute) DEF2. Relaţia r(R): o mulţime de n-tupluri t, unde: fiecaretuplu t este o mulţime de n perechiordonate<Ai,vi>,unde 1 ≤i ≤n, t = {<A1,v1>,<A2,v2>,...<Ai,vi>, ...<An,vn>} vi este valoarea atributului Ai, vi ∈D(Ai) Din punct de vedere logic, ordinea valorilor atributelor într-un tuplu nu conteaza;

  29. Chei relationale Super - Cheiea uneirelatii - un subset al atributelorrelatieicesatisfaceproprietatea de identificareunicapentrufiecaretuplaa relatieiprinvalorileatributelorcecompuncheia Cheiecandidat - este o super cheieminimala(pentruaceeasientitate pot existamaimulteatribute cu rolde cheie) • Pentruoricerelatie se desemneazadupaanumitecriterii o cheieprivilegiata din setulcheilorcandidat ca sicheieprimara (distinctiaintreaceastasicelelalteestedoaroperationala)

  30. Cheie primara/straina Cheiaprimara – esteceautilizata din setul de chei candidate pentruidentificareaunica a tuplelorrelatiei In oricerelatieexista cu certitudine o cheie, gasireauneichei = determinareasetului minimal de atributeceoferaidentificareunica Cheie straina - set de atribute dintr-o relatie ce refera o cheie primara din alta relatie

  31. Constrangeri • De domeniu • De chei • De integritate a entitatilor • Integritatereferentiala • De tip check

  32. Constrangeri Constrangeri de domeniu • specificafaptul ca fiecareatribut A trebuiesa fie atomic si din domeniuldom(A). Constrangeri de chei • Elementeleunui set suntdistincte = > tuplelerelatieisuntdistincte => douatuple nu posedaacelasi set de valoripentruatributele sale t1[SK] ≠ t2[SK]

  33. Constrangeri Constrangeri de integritate a entitatilor • Dateleincorecte nu pot fistocate in baza de date • Valorilecheiiprimarenu pot finule Atributelece nu continvalori NULL pot fi specificateprinintermediulconstrangerii NOT NULL Constrangeri de integritatereferentiala • Specificateintredouarelatii, utilizatepentru a mentineconsistentaintretuplelerelatiilor • o tupladintr-o relatiecerefera o tupla din altarelatietrebuiesarefere o tuplaexistenta • Cheiastrainaasiguraintegritateareferentiala

  34. Constrangeri • Constrangerileenuntatesunt Constrangeri FUNDAMENTALE parte a modelului relational, suntsuportate de celemaimulte SGBD • Altetipuri de constrangeri pot fi specificate distinct prinanumitecaracteristici de limbaj – proceduristocate, triggere, asertiuni Ex. un angajat nu poate lucra decat la un singur proiect, un angajat trebuie sa fie asignat la cel putin un proiect

  35. Sisteme total relationale Principii de integritatepentru un SGBD relational • Integritateadomeniului – SGBD verificasintacticsi semantic oricevaloare din BD sauoperatiefolosinddefinitiadomeniului • Integritateaentitatii – relatiei - referaconditiileimpusecheilorprimare de a aveavaloriunicesinenule • Integritateareferintei: daca A e cheieprimara in relatia R1 si B estecomponentauneicheiprimaremultiatribut in relatia R2, B fiinddefinitapeacelasidomeniu ca si A, multimeavalorilorlui B in R2 trebuieinclusa in multimeavalorilorlui A in R1 • Un sistem SGBD este total relational daca • Asiguraprincipiileenuntate • Furnizeaza un LMD echivalentalgebreirelationale

  36. Elemente de algebra relationala Operatori (unari/binari)utilizatipentruconstruireainterogarilor Operatoriipemultimi • Operatoriipemultimi :reuniunea, intersectia, diferenta, produscartezian Operatorirelationalispeciali • Operatoriceeliminapartidintr-o relatie : selectia, proiectia • Operatiicecombinatupledin douarelatii : produscartezian , Join, reuniunea, diferenta Operatoriaditionali

  37. Definitii • E - expresia de baza in algebra relationala-> o relatie din BD • Fie E1 and E2expresiirelationale ,urmatoarelereprezintaexpresiialgebricerelationale E1 E2, reuniunea E1–E2 diferenta E1 x E2 produscartezian s(E1), selectia - Seste o lista de atribute din E1 p (E1), proiectia - Ppredicatpesteatributele din E1  x(E1), redenumirea - x noulnumepentru E1

  38. Continut • Elemente de proiectare a unei BD • Transformare model ER/EER/UML in model relational • Dependentefunctionale- rol, tipuri, concepte • Teorianormalizariibazelor de date • Formenormale

  39. Proiectareconceptuala Schemelerelatiilor – elementele constitutive ale unei BD Schema contine - nume, structurarelatiei, atributele sidomeniilelor de date Problema de proiectare : • alegereasetului de scheme de relatiiprin care se modeleazaoptimentitatile • gruparea optima a atributelor in scheme • specificareatipurilor de asocieriintretipuri de entitati

  40. Proiectareconceptuala (1) Dependentadatelor: intreatributelerelatiilorexistalegaturilogice(..dependente)ceinfluenteazaoperatiilecurente de exploatare a BD Tipuri de dependente : functionale ,multivalorice, de cuplare Anumite scheme de relatiiintroducredundantadatelorrelativ la anumiteatribute, ce pot conduce la anomalii : de adaugare, stergere, de actualizare Alegereaunui model conceptual corectpentru o BD relationalaREPREZINTA determinareauneidescompunericapabilesaizolezedependentelesisaelimineANOMALIILE de accesare a datelor

  41. Proiectarea conceptuala (2) Proiectareaeronata a unei BD, poate conduce la : • Informatieredundanta( aceeasivaloare de date in m.mlocuri) - reduce performantaaccesului la date siconsumaspatiu M/HDD • Dificultati in reprezentareaanumitorinformatii/date • Dificultati in verificareaconstrangerilorde integritate (PK-FK) Obiective in proiectareacorecta a BD- gruparea in relatii a atributelora.i. sa existe : • Reprezentarecorecta a relatiilorexistenteintreatribute • Minimizarea/evitarearedundanteidatelor • Suportpentruverificareaconstrangerilor de integritate

  42. ER->Relational-conversieentitatiputernice • Se converteste fiecare entitate puternica intr-o relatie • Atributele entitatii devin atribute in relatie • Se includ doar atributele simple in relatie, pentru atributele compuse se vor crea atribute distinctein relatie, pentru fiecare componenta de atributcompus • Atributele multivaloare vor fi tratate distinct ( …alterelatii) • Cheia primara a relatiei este cheia din atributele entitatii

  43. Conversieentitatislabe • Se vaconvertifiecareentitateslabaintr-o relatieceposedacheistrainecatrerelatiile (entitatile) ce permit identificareasa. • (Generalizare) Astfel , pentrufiecareentitateslaba W, cu entitatileputernicece o identifica E1, E2,… En ,se vacrea o relatie Rdupa cum urmeaza: • identificarelatiile R1, R2, R3… Rnpentruentitatile E1, E2… En • cheiaprimara a relatiei R se constituie din cheileprimare ale relatiilor R1, R2… Rnsi (eventual)cheiapartiala a entitatiislabe • se creeaza o cheiestraina in R catrecheiaprimaradin fiecare din relatiile R1, R2… Rn

  44. Conversiaasocierilor 1:1 • Se convertescasocierilebinare 1:1 folosindreferinta de tip cheiestraina , de la o relatiecatrecealalta • Ex. Fiind data asociereabinara 1:1 ,numita R , intreentitatileEisiEj: • se identifica in mod corespunzatorrelatiileRisiRj • se vaalegeuna din relatii , de ex relatiaRi • se adaugaatributele din R in Ri • se adaugaatributelecheiprimare din RisiRjsi se creeaza o referinta de tip cheiestraina de la RjcatreRi • se declaraatributelecheieprimara din Rj ca fiindunice (Unique) • Nota: Se poatealegeRisauRjinsauzual se alegerelatia cu participareobligatorie

  45. Convesiaasocierilor 1:N • Se convertesteasociereabinara 1:N ca referinta de tip cheiestrainadinsprepartea N a asocieriicatrepartea 1 a asocierii • Ex. Fie asociereabinara de tip 1:N numita R intredouaentitatiEisiEj • se identificarelatiilecorespondente • fie Rjpartea N a asocierii • se adaugaatribute din R in Ri • se adaugaatributelecheiiprimare din Rj in Risi se creeazareferinta de cheiestraina de la RjcatreRi • Nota- esteobligatorieselectiapartii N a asocierii ca relatiececontinecheiastraina

  46. Conversiaasocierilor M:N • Se convertescasocierilebinare M:N intr-o nouarelatie cu cheistrainecatreceledouaentitatiparticipantein asociere • Fie asociereabinara M:N intreentitatileEi, Ej: • se identificarelatiilecorespondenteRi, Rj • se creeazanouarelatie R cereprezintaasociereaastfel : • R contineatributeleasocierii • cheiaprimarapentru R esteo cheiecompusace se constituie din cheileprimare ale relatiilorRisiRj • se adaugaatributelecheieprimara din RisiRj in R si se creeaza o cheiestrainareferintacatreRi din R sicatreRj din R

  47. Conversiasubclaselor • Se convertescsubclaselesisuperclaseleprincreareauneirelatiipentrufiecaresubclasa/superclasa. Se leagasubclasele la superclasefolosindcheilestraine. • Fie o superclasa C sisetul de subclase S1, S2…Sn • se creeaza o relatie R pentru C • cheiaprimarapentru R estecheieprimarapentrusuperclasa • se creeazarelatiile R1, R2..Rnpentrusubclasele S1, S2..Sn • cheiaprimarapentrufiecareRiestecheiaprimara a superclasei • pentrufiecareRi se creeaza o cheiestraina in R ,folosindatributelecheiiprimare

  48. Formenormale- concepte 1NF 4NF 2NF 3NF Nivelurile de normalizare definite in termeniitipurilor de dependente, impunconditii din ce in cemai restrictive asuprarelatiilor : astfel • orelatieaflatape un anumitnivel de normalizaresatisface TOATE RESTRICTIILE CERUTE DE NIVELURILE INFERIOARE Observatii • normalizareapoateafecta NEGATIV eficienta cu care suntrezolvateinterogarile(bazele de date necesitacuplare) • Normalizareaesteutilapentruaplicatii cu BD cepresupunoperatiifrecvente de actualizare, stegere, adaugaresimaiputin in sistemecepresupun INTEROGARI complexe BCNF 5NF

  49. Prima forma normala Def. aux. Un domeniu de atributeeste ATOMIC , dacaelementele sale suntunitatiindivizibile (ex nonatomice – atribute set, compozite…) DEF: O schema de BD relationala se afla in prima forma normala FN1, dacasinumaidaca , toateatributele sale iaunumaivaloriatomice valorilenonatomice : • complicastocareadatelor • incurajeazaredundantadatelor • interpretarigreoaie a valorilornonatomice in programele de aplicatie Atomicitatea nu este o proprietate INTRINSECA a elementelordomeniului referamodul in care elementeledomeniuluisuntutilizate

  50. A doua forma normala FN2 - rezolvaprobleme determinate de DF intreatribute prime sineprimepentrurelatii cu chei COMPUSE Trecereauneirelatii din FN1 -> FN2 impuneeliminareadependentelorfunctionalepartiale ,ale atributelorneprimefata de oricarecheie a relatiei DEF: O relatie R este in a doua forma normala FN2 , dacaeste in FN1 sioriceatributneprim , este total dependent fata de oricarecheie a relatiei …Oriceatributce NU e cheieprimara (neprim)este dependent total de cheiaprimara

More Related