1 / 60

Introducere in BAZE de DATE Concepte i ntroduc tive

Introducere in BAZE de DATE Concepte i ntroduc tive. Cosmina Ivan cosmina.ivan@cs.utcluj.ro Departamentul de Calculatoare UNIVERSITATEA TEHNICA CLUJ NAPOCA. Argument.

Télécharger la présentation

Introducere in BAZE de DATE Concepte i ntroduc tive

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 DATEConcepte introductive Cosmina Ivan cosmina.ivan@cs.utcluj.ro Departamentul de Calculatoare UNIVERSITATEA TEHNICA CLUJ NAPOCA

  2. Argument • Implementarea diverselor sisteme ICT necesita BD ca parte componenta specifica, BD – solutia optima pentrustocareasimanipulatreainformatiei PERSISTENTE. • Ca dezvoltator de sistem (arhitect) sunt necesare o serie de cunostinte • Interogarea/ actualizarea BD – SQL si algebra relationala necesare extragerii datelor din BD existente • Programarea aplicatiilor cu BD – limbaje necesare accesului la BD in mod programatic cu scopul procesarii tranzactiilor (modificariidatelor) sau generarii de rapoarte • Proiectarea BD – conceperea unei noi aplicatii necesita proiectarea celei mai potrivite BD • Noitehnologii de organizare/acces la date – structuri XML, frameworkuriobiectuale de acces la date (Hibernate Fw, Entity Fw), baze de date nonrelationaleutilizatemasiv de gigantiiactualiaidomeniului ( Google, Yahoo) -Mongo DB…..

  3. ..Argument • Date electronicecresc exponential – costulstocariilorscade drastic • Seturile de date cresc in diversitatesivolum: bibliotecidigitale, video interactiv…structuri cu bilioane de inregistrari • Integreazaconcepte diverse din stiinta calculatoarelor : limbaje, algoritmi, logica… • Datelesuntpretioase…. – maipretioasedecat SW, necesitamanagement eficient(stocare, interogare, protectie) • Datelenecesitastructuralitatepentru a fi utile • Domeniulbazelor de date– contributiiremarcabile in domeniulstiinteicalculatoarelor … • O serie de tehnologiipentru SGBD comerciale , cu largaraspandire (... MySQL, Oracle, Postgresq, MS-SQL, Dbforge)

  4. ..Aplicabilitate • Sisteme de gestiune • Sistemebancaresi de trading ( London stock exchange -1 mil trades/day) • Sisteme de rezervari online • Comert electronic, GIS, BD stiintifice • Biblioteci /arhivedigitale - archive.org(150 mil pages) , open.library.org (23 mil books) Tipuri de BD • De uz general • BD multimedia, BD GIS (Geographic Information Systems) • Sisteme Data Warehouses & Online Analytical Processing (OLAP) • BD timp real, active – inteligente…… Importanta • Nu existăaplicaţie realăfără BD ( Google,Amazon, E-bay, …Web) • Pe piaţa software există unnumăr mare de SGBD-uri, pentru toate tipurile de sisteme de calcul, sisteme de operareşi tehnologii de acces la date • SGBD-urileaparîn topuripelocul 3, din listacelor mai vânduteproduse

  5. Organizatoric • Curs – Miercuri 12-14, amf.40 • Activitati practice – regulament ftp • Resursebibliografice (bibliotecaUTCN/Departament, Internet, ftp://ftp.utcluj.ro/pub/users/civan • Evaluare • Laborator – 20% =4 temeobligatorii, realizate individual • Proiect – 30% - individual, din lista de sugestii/ideiipropriiacceptate • Examen final – 50% • Optional – temasuplimentara/ REFERAT • toatecomponentele (L+P si E) suntobligatorii, nota de trecerepentrufiecare, in caz de nepromovare se va reface componenta • nu se poate intra in examinareafinalafara “ filtreleanterioare”

  6. Obiective • Model relational /algebra relationala • Limbaj specific domeniului BD- SQL • Interogari SQL simple/complexe a datelordintr-o BD • Elemente de proiectarea datelorrelationale (diagrame EER, UML) • Intelegereamecanismelor/ instrumentelornecesareconstruiriiaplicatiilor cu baze de date • Generarea de rapoarteasupradatelorpersistate • Introducere in concepteavansatedin domeniulbazelor de date – securitate, tranzactii, structuri XML siobiectuale • Familiarizarea cu tooluriutilizate in domeniulbazelor de date (My SQKL Workbench, Microsoft SQL Server)

  7. Asteptari • Studiu individual ( bibliografie, Internet.. ) • Dezvoltarea/implementareaunuiproiect • alegerea/implementarea unui domeniu de interes • Analiza/proiectareauneibaze de date EER/UML • Cod SQL pentruinterogare/actualizare BD • Dezvoltareauneiinterfeteutilizator (Java, JavaScript/JSP, HTML, PhP) de acces la date

  8. Referintebibliografice • Note de curs/lab/materiale (RO) la adresa web - ftp://ftp.utcluj.ro//pub/users/civan/BD TEXTBOOK la marile universitati (MIT, Berkeley, UCL...) • Thomas Connoly, Database systems a practical approach to design, implementation and management, Addison Wesley, ed 4 … ed5 (2009) – txt book la diverse mariuniversitati SUA/Anglia – ftp, complexa, viziuneinginereasca (modelare UML, abordaredomenii de aplicabilitate BD) • 3. R.Elmasri and S. Navathe, Fundementals of Database Systems, Benjamin/Cummings Pub. Company, 2010 …… extrem de multelucrari in domeniu, trateazaconcepteleteoretice cat siaplicabilitateapracticagenerata de SGBD utilizat. Multematerialepe site-urileproducatorilor de SGBD-uri. INTERNETUL – resursaimensa de referinte- vezi selectie IBD_plan de lucru

  9. CURSURI online (2) J Widom,L. Ullman, Introduction to database systems concepts, 2011 ( Internet) Stanford University ……autotestare https://class.stanford.edu/courses/DB/2014/SelfPaced/about ....nu reprezintacertificarepe un anumoit SGBD tip Microsoft, Oracle..!!!!

  10. Terminologie • Atomicitate • Atribut • 1NF/2NF/3NF/4NF • Chei • Concurenta • Cardinalitate • Consistenta • DDL/DML • Proceduristocate • Tranzactii • Data Mining • Data Warehouse • Diagrame ER • Index • Izolare • Join • Metadate • Query • Replicare • Vederi (View)

  11. Modelulbazei de date

  12. …alt model

  13. Continut curs • Introducere in BD : Baze de date , SGBD , utilizatori de BD, componenteSGBD,conceptespecificesiarhitecturi • Limbajerelationale (SQL) si algebra relationala-tool pentruverificareacorectitudiniiformularilor de acces la date (interogari) • Constrangeriasupradatelorrelationalesiexprimarealor • Modelareadatelor– ModelulRelational,EER /UML • Elemente de proiectare a BD relationale- normalizarea • Nivelulfizic. Stocaresiindexareadatelor. • Elemente de administraresi de securitate a datelor • Procesareatranzactiilorsicontrolulconcurentei • Aplicatii cu BD ( interfete de programare) • Tendinte/evolutie SGBD… BD-OO, noSQL…

  14. Continut curs I • Utilizari ale sistemelor de baze de date • Caracteristici ale sistemelorbazatepefisiere. Problematica • Definitii : BD - baza de date, SGBD – Sistem de gestiune a bazelor de date • Istoriculdezvoltariisistemelor cu baze de date • Avantajesidezavantaje ale utilizarii SGBD • Functiileunui SGBD • Componentemajore ale unui SGBD • Arhitecturi de sisteme cu baze de date

  15. Istoric • 1950-1960: • Procesare de date cu stocarepebenzimagnetice – accessecvential, aparmodeleprerelationaleierarhicsiretea • 1970: • acces direct la date • Largutilizatemodeleleierarhicsiretea • Ted Codddefinestemodelul de date relational siconceptul de abstractizare a datelor, regasit in sistemele de cercetare • IBM Research - System R prototype • UC Berkeley - Ingres prototype • SGBD initial evoluate din sisteme de procesarebazatepefisiere, vizualizareadatelorapropiatamoduluilor de stocare (modeleleierarhicsiretea) • … Wikipedia Modelul de date relational

  16. 1980: • Cercetarilebazatepeprototipurirelationale au evoluat in sistemecomerciale => SQL standard industrial • Sisteme BD Paralelesidistribuite,sisteme cu BD OR si OO • 1990: • Arhitecturi client server a sistemelor cu BD • Aplicatiispecifice : sistemelesuportdecizionalsipentru data – mining, data warehouses (terabyte ) • Standardul SQl99, Comert electronic (~2000), • >2000: • Arhitecturipetreiniveluri a sistemelor cu BD • StandardeXML – Xquery, BD OO si in WWW largraspandite • Noicapabilitatipentrunoiclase de aplicatii (multimedia, timp real). BigTable, Hadoop • SGBD comercialebazatepemodelul relational cunosc o largaraspandire : Microsoft SQL Server, Oracle , Sybase Adaptive Server, DB2 • > industrie de >10 billion $ • evolueaza SGBD open source performantesi din ce in cemailargutilizate- MySQL, PostgreSQL…. • SGBD/BD in Cloud, abordari noSQL

  17. 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

  18. 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 • Controleazaaccesulconcurentla date ROL : reducerea dependenţei aplicaţiilor în raport cu structura datelor

  19. SGBD - functionalitati Definirea bazei de date - tipuri de date, structuri, constrangeri Construirea/incarcarea continutului initial de date Manipularea bazei de date regasire – interogare, generare de rapoarte modificare – inserare/stergere si actualizare continut accesarea BD - aplicatii desktop/web Partajarea continutului – utilizatori concurenti, simultan Mentenanta, protectie/securitate a datelor, prezentare si vizualizare date.....

  20. 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 vizualizareconceptualaa datelor

  21. Modele de date Conceptuale – nivel inalt, semantic – ofera concepte apropiate de modul in care utilizatorii percep datele Fizice – nivel jos, intern – ofera concepte ce descru detaliile modului in care datele sunt stocate in sistem De Implementare – reprezentationale – ofera concepte interemdiare, folosite der SGBD comerciale (de ex. Relational)

  22. 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

  23. Sistem de fisiere –limitari (1) • 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

  24. Sistem de fisiere – limitari (2) • 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 – unidimensional vs SBD - multidimensional

  25. 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 • Investitieinitialaridicatain hardware, software , training • Generalitateaoferita de SGBD pentrudefinireasiprocesareadatelorestepestenivelulcerintelor • Complexitateindusa de securizare, controlulconcurentei, recuperare la caderi

  26. Pro - contra • CandSEutilizeaza BD • Este necesararezolvareapersistenteidatelor • Volume mari de date persistate • Date structurate • Accesconcurentsi/saudistribuit pt mai multi useri • Integritatea datelor • Securizarea accesului • CandNU SEutilizeaza BD • Investitie mare - costuri • Aplicatia e simpla ,definitasinemodificabila • Nu e necesaraccesmultiutilizator • Solutiealternativa – colectie de fisieregestionate de programe de acces

  27. Cum… • sa …. gestionamvolume maride date persistente, omogenesistructurate , utilizate in mod partajat de catremai multi utilizatori/procesesipentru care trebuiementinutaintegritateaiaraccesultrebuiesecurizat in mod controlat • SOLUTIE – dezvoltarea de aplicatii cu baze de date – colectii de date siprogramece permit manipulareacorectasieficienta a datelormasive • O astfel de aplicatieesteimplementataeficientfolosind un sistem de gestiune a bazei de date siinterfete de acces la date dintr-un limbaj de programare de nivelinalt.

  28. Interfete de acces la BD • User friendly – bazate pe meniuri, forme, grafice • Stand-alone – interfete SQL interactive • Interfete de program – DML incapsulat in limbaj de programare • Browser Web – interfata uzuala actual • Voce -.... • Interfete parametrice - ... Bancar • Specifice DBAdmin – creare conturi, administrare, parametrizare sistem, modificari scheme si cai de acces la date. • INTERFETE de PROGRAM - SQL embedded, SQLJ, JDBC.ODBC, PL/SQL...

  29. Ceeste o schema de BD ? • Schema unei BD – descriereauneicolectiiparticulare de date folosind un anumitmodel de date • Reflectaanumiteaspecte: numele , tipularticolelor de date, anumiteconstrangeri • Este specificata la definireauneinoibaze de date, se modificarelativrar • Meta-date = date despre date , saucatalogulbazei de date • Diagramaschemei : conventie de reprezentare a schemei • Schema bazei de date utilizează un limbaj de definire a datelor (DDL – Data Definition Language). • Manipulareadatelorînbaza de date (inserare, ştergere, actualizare, saurecuperare de valori de date) se poate face cu ajutorullimbajului de manipularedatelor (DML – Data Manipulation Language

  30. Schema fizică Schema fizica- specificădetalii suplimentare legate de stocarea datelor ( tip, dimensiune , structura de fisiere, mod de organizarea 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

  31. 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)... CREATE, ALTER.....

  32. User User User Vedere 1 Vedere 2 Vedere n ... Designer BD Nivel Conceptual Nivel fizic Administrator BD Niveluri de abstractizare • 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 • Schema ANSI -SPARC

  33. 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 ce acceseaza datele • 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

  34. Abordare BD-SGBD SEPARARE program-date = INDEPENDENTA DATELOR CONTROLUL REDUNDANTEI – SGBD cotroleaza redundanta si permite evitarea datelor inconsistente ( .. daca doar una din copii este actualizata....) ABSTRACTIZAREA DATELOR – utilizarea unui model de date pentru a ascunde detaliile de stocare si a oferi utilizatorilor o vedere conceptuala asupra Bazei de date SUPORT pentru VEDERI MULTIPLE – fiecare user poate vedea in mod diferit Baza de date, doar cu datele proprii de interes PARTAJAREA datelor si Tranzactii MULTI-USER - useri concurenti, subsistem de recovery la caderi, OLTP AUTODESCRIPTIV - catalogul SGBD reține tipurile de date, structurile, constrangerile=METADATE ... SGBD poate lucra cu diferite aplicatii de acces la BD

  35. 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/utilizarea datelor

  36. Funcţiile SGBD (2) • 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

  37. Funcţiile SGBD (3) • 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(tip CHECK) • 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– exista solutii de tipbackup/restore de date )

  38. DDL • Limbaj de definire a schemeibazei de date (DDL) - specificastructura de stocaresimetodele de accesutilizate • Compilatorul DDL genereaza un set de tabelestocate indictionarul de date • Un dictionar de date continemetadate(date despre date) • Schema BD ( si cheile primare) • Constrangeri de integritate( tip de date, domeniu de valori) • Constrangeri de domeniu • Integritatereferentiala (constrangeriaplicabilereferintelorintretabele) • Asertiuni ( declaratii de valori permise)asupra datelor • Autorizari de accesla date

  39. DML • Limbajpentrua accesasimanipuladateleorganizate conform unuianumitmodel de date (cunoscut sub numele de limbaj query - de interogare a datelor) • Clase de limbaje DML : • Nivelinalt (nonprocedural - SQL) • Declarativ – suntspecificatedateleceruteinsafara a specificamodul de acces • Permit Operatii cu BD complexe • Niveljos (procedural) • Utilizatorulspecificace date suntcerutesi cum pot fi accesate • Integrat in limbaje de programare de uz general(ex. JDBC Java database acces connectivity – in Java)

  40. Actori in sisteme cu BD Utilizatoridiferentiatiprinmodul in care interactioneaza cu sistemul • Programatorii de aplicatii– interactiuni cu sistemulprinapeluri DML ( SQL, SQL incapsulat in Java…JSP,ASP..) • Utilizatorisofisticati– formuleazainterogariperformanteintr-un limbajspecializat – SQL • Administrator de baza de date – gestioneazaaspecte legate de mentinereabazei de date (schema, securizareacces, modificari de nivelfizic – indexare…) • Utilizatori de sistem – invocaprogramele de aplicatii • Ex : acces la BD din Web , sisteme ATM

  41. 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”)

  42. Proiectarea BD • Identificareaentitatilorsi a relatiiloracestorala nivel de aplicatiealaturi de informatiadespreacesteentitati • constrangerile de integritatesiregulile de business necesar a fi implementate: diferiteaplicatii au cerinte/perspective diferiteasupradatelor Procesul de proiectare a structuriigenerale a BD: • Proiectarelogica – Deciziicereferaschema BD . • Proiectareapresupune o colectieoptima de scheme de relatii • Decizii de business – ceatribute se impun a fi inregistrate in BD? • Deciziispecificedomeniului– ce scheme de relatiisuntnecesaresi cum vor fi distribuiteatributele la niveluldiverselor scheme de relatii • Proiectarefizica – Deciziecevizeazaorganizareafizica a BD

  43. Proiectarea BD- Redundanta Procesul de proiectare presupune determinarea tabelelor, schemelor acestora si a relatiilor dintre ele. SCOPUL proiectarii BD – evitarea redundantei REDUNDANTA este prezenta daca informatia este stocata de mai multe ori Redundanta conduce la anomalii de actualizar/ stergere a datelor si la date inconsistente SCOP proiectarea corecta si NORMALIZAREA datelor = eliminarea redundantei REDUNDANTA Controlata – daca este permisa duplicarea informatiei si aceasta este CONTROLATA de catre SGBD

  44. Controlulconcurentei • Executiaconcurenta a programelor– a accesuluila date esteesentialapentruperformantaSGBD • (accese la disc frecvente, relativlente =>estenecesaramentinereaocupata a procesorului, prinprocesareaconcurenta a maimultorprogrameutilizator…) • Intretesereaincorecta a actiunilordiverselorprogramepoate conduce la inconsistentein date => SGBD asiguraprinmanagerul de control al concurentei , controlulinteractiunilorintretranzactiileconcurentepentru a asiguraconsistentabazei de date ( CONTINUT CORECT)

  45. Managementultranzactiilor • Tranzactie - colectie de operatiiceefectueaza o singurafunctielogicaintr-o aplicatie cu BD • o secventaatomica de actiuniasuprauneibaze de date (citiri/scrieri) • FiecaretranzactieexecutataCOMPLETlasa BD intr-o stare consistenta,dacaaceasta a fostintr-o stare consistenta la inceputultranzactiei • Managerul tranzactiilor– componentaceasiguraca BD saramanaintr-o stare consistenta, corectaindiferent de caderi in sistem (tensiune, SO sau de nefinalizareaexecutieiuneitranzactii) • Proprietatileuneitranzactii : • Atomicitate ,Consistenta,Izolare,Durabilitate…

  46. Recuperareadatelor • SGBD – asiguraatomicitatea (all or nothing),chiardacasistemul cade in mijloculuneitranzactii • Solutieabordata : se mentine o ISTORIE a actiunilor SGBD la executiaunui set de tranzactii (.log) • Inainteaoricareimodificariasupra BD se vasalva in mod corespunzator o intrare in fisierul .log (exista un protocol specializat, relativ complex…. ) • Dupa o cadere in sistem , efecteleunortranzactiipartiale pot fi anulate (folosindacestfisier .log)

  47. Arhitectura unui SGBD “Ramakrishnan, Database systems”

  48. 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.)

  49. 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

  50. Clase de arhitecturi • Arhitectura cu server de fisiere • Arhitectura client server two tier ( pe doua niveluri) • Arhitectura client server three tier ( treiniveluri) • Arhitecturi N tier • Arhitecturi P2P

More Related