1 / 20

Baze de Date - Introducere - Universitatea din Craiova,

Baze de Date - Introducere - Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica. Introducere. Definitie : Un sistem de gestiune a bazelor de date (SGBD) este o colecție de date interconectate și o mulțime de programe cu ajutorul cărora se accesează datele.

ranee
Download Presentation

Baze de Date - Introducere - Universitatea din Craiova,

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. Baze de Date • -Introducere- • Universitatea din Craiova, • Facultatea de Automatica, Calculatoare si Electronica

  2. Introducere • Definitie: Un sistem de gestiune a bazelor de date(SGBD) este o colecție de date interconectate și o mulțime de programe cu ajutorul cărora se accesează datele. • Definitie:Colecția de date persistente, conectate logic, exhaustivă se numește bază de date. • Scopul primar al unui SGBD este de a stoca și extrage eficient informații din baza de data. • Sistemele de baze de date sunt proiectate pentru a administra cantități mari de date. • Administrarea datelor presupune atât definirea structurilor pentru stocarea informației cât și mecanisme pentru manipularea(prelucrarea) informației. • Astfel, sistemele de gestiune a bazelor de date trebuie să asigure siguranța informației stocate împotriva eventualelor căderi de sistem sau accesului neautorizat.

  3. Aplicații ale SGBD • Bazele de date sunt extrem de utilizate. • Câteva din aplicațiile cele mai reprezentative sunt: • Bancare: gestiunea informațiilor legate de clienți, conturi, tranzacții bancare. • Transport aerian: gestiunea informațiilor legate de rezervări si planificări. • Universități: gestiunea informațiilor legate de studenți, cursuri, note, examene, profesoi. • Tranzacții și carduri pentru credite: gestiunea cumparaturilor pe cardurile de credit, generarea situatiilor lunare. • Telecomunicații: gestiunea inregistrarilor apelurilor, facturarea lunara, etc. • Finanțe: gestiunea informatiilor despre vanzari, stocuri, etc. • Vânzări: gestiunea clientilor, produselor, informatii legate de vanzari. • Resurse umane: gestiunea informatiilor despre angajati, salarii, taxe, beneficii, etc. • Dupa cum se poate observa, bazele de date sunt o parte esentiala a majoritatii aplicatilor din prezent.

  4. SGBD vs Sisteme de Fisiere • Sistemul stocheaza inregistari in diferite fisiere si este nevoie de programe care sa extraga/citeasca/adauge informatiile din/in fisiere. • Inainte de aparitia SGBD-urilor, organizatiile isi stocau informatiile in astfel de sisteme de fisiere. • Pastrarea informatiilor in sistemul de fisiere are numeroase dezavantaje: • redundanta si inconsistenta datelor – deoarece fisierele si programele sunt folosite si modificate pe perioade indelungate de timp, aceeasi informatie poate fi duplicata sau inconsistenta in mai multe locuri. • dificultatea in accesarea datelor. • izolarea datelor- deoarece datele sunt stocate in diverse fisiere si acestea pot avea diferite formate, scrierea unor programe care sa extraga datele este dificila. • probleme de integritate- valorile datelor stocate in baza de date trebuie sa satisfaca anumite tipuri de contrangeri de consistenta. • problema de atomicitate-uneleoperatii trebuie executate impreuna (ori toate, ori nici una). Este dificila asigurarea atomicitatii intr-un sistem de fisiere conventional. • anomaliile accesului concurent. • probleme de securitate.

  5. Baze date. Concepte • Necesitatea asigurării independenţei aplicaţiilor în raport cu structura datelor au impus necesitatea de a vizualiza structura datelor la patru niveluri de abstractizare: • Nivelul extern (al utilizatorului)– este cel mai de sus nivel al abstractizarii si simplifica interactiunea utilizatorului cu SGBD, deoarece utilizatorii pot avea nevoie doar de anumite informatii din baza de date. Sistemul poate furniza mai multe vederi ale aceeasi baze de date. • Nivelul conceptual - este nivelul de abstractizare care descrie ce date sunt stocate in baza de date si ce legaturi exista intre aceste date. Nivelul conceptual descrie intreaga baza de date in termenii unui numar mic de structuri de date simple. Implementarea acestor structuri simple de la nivelul conceptual poate implica structuri de date complexe la nivel fizic. Acest nivel este corespunzator unei viziuni globale asupra bazei de date independentă de implementare, din punctul de vedere al proiectantului. • Nivelul logic/implementabil – este corespunzator unor viziuni particulare asupra datelor, din punctul de vedere al proiectantului de aplicaţii şi al utilizatorului; • Nivelul fizic – este cel mai de jos nivel al abstractizarii si descrie cum sunt datele stocate pe disc. La acest nivel, structurile de date de nivel jos sunt descrie in detaliu.

  6. Modele de date • Modelul de date reprezinta o colectie de instrumente conceptuale pentru descrierea datelor, a legaturilor dintre date, a semanticii datelor si a constrangerilor de consistenta. • Din categoriamodelelorconceptualefac parte: • Modele ER (Entity-Relationship Model) • Modele OOM (Object-Oriented Model) • Modele ORM (Object-Role Model) • Modele UML (Universal Modeling Language) • Din categoriamodelelorimplementabilefac parte: • Model ierarhic; • Model reţea; • Model relaţional; • Model obiectual; • Model obiect-relaţional

  7. Modelulentitate –legatura (entity – relationship E-R) • Modelul E-R se bazeazapemodelarealumiirealefolosindcolectii de obiecte, numiteentitatisipelegaturile (relationships) dintreentitati. O entitateeste un lucrusauobiect din lumeareala care se distinge de alteobiecte. De exempluoricepersoanaeste o entitatesauconturileuneibancisunttoateentitati. • Entitatilesuntdescrise in baza de date de o multime de atribute. De exemplu, Nr_ContsiBalanta pot descrie un cont dintr-o bancasisuntatributepentruentitatea Cont. Similar, entitatea Client estedescrisa de atributele ID, Nume, Strada, Oras, Telefon. • O legaturaeste o asociereintremaimulteentitati. De exemplu, depoziteazaeste o legaturaintre client si cont –urilepe care le are intr-o banca, ca in figura de maijos.

  8. Modelulentitate –legatura (entity – relationship E-R) ID Telefon Balanta Cont depoziteaza Client Nume Nr_Cont Strada Oras Schema conceptuala a bazei de date poate fi descrisa grafic de diagrama E-R, care are urmatoarele componente: • Dreptunghiuri reprezinta entitati. • Elipsa reprezinta atribute. • Romburi reprezinta legaturile/asocierile intre entitati tip. • Liniile leaga entitatile tip cu legaturile tip.

  9. Modelul relational • Modelul relational folosestecolectii de tabelepentru a reprezentadatelesilegaturiledintreele. Fiecaretabel are maimultecoloanesifiecarecoloana are numeunic. • Modelul relational estecelmaicunoscut model de date siceamai mare majoritate a SGBD curente se bazeazapemodelul relational. • Modelul relational estemaiaproape de implementare, de nivelul de jos al abstractizariidecatmodelul E-R. Proiectareabazei de date se realizeaza, de obicei, folosindmodelul E-R siapoiacestaestetranslatat in model relational. • In modelul relational simplu din figuraurmatoare, s-au reprezentat 3 tabele: prima tabelacontineinformatiidespreclienti, cea de-a douadespreconturi din bancasicea de-a treiaindicaceconturi au clientiibancii.

  10. Modelul relational

  11. Limbajelebazelor de date • Un SGBD ofera un limbaj de definire a datelor(DDL) pentru a specifica schema bazei de date si un limbaj de manipulare a datelor(DML) pentru a realizainterogarisimodificari ale bazei de date. • In practica, acestelimbaje nu sunt separate, elesuntparti ale unuisingurlimbaj al bazei de date, cum arfi de exemplu SQL. • DDL - cu ajutorulacestuilimbaj de definire a datalor, se vacrea schema bazei de date printr-un set de expreresii. De exemplu, creareatabeleicont in limbajul SQL: • create table cont • (NRCont char(10), • Balanta integer) • DML- manipulareadatelorpresupune: • • gasireainformatieicautate in baza de date • • inserareainformatieinoi in baza de date • • stergereaanumitorinformatii din baza de date • • modificareainformatieistocate in baza de date

  12. Accesareabazei de date din programele de aplicatii • Aplicatiile care interactioneaza cu baze de date suntscrise de obicei in limbajegazda cum arfi C, C++ sau Java. Pentru a accesabaza de date, comenzile DML trebuieexecutate din limbajulgazda. • Exista 2 moduri de a realizaacestlucru: • Prinintermediuluneiinterfete program (un set de proceduri) care pot satrimitacomenzi DDL si DML la baza de date si pot saprimeascarezultatelecautariidin baza de date. Standardul Open Database Connectivity (ODBC) definit de Microsoft pentrulimbajul C estefolosit ca siinterfataintreaplicatiisibaze de date. Standardulpentru Java se numeste Java Database Connectivity (JDBC). • Prinextinderealimbajuluigazda care sacuprindasiapeluri DML.

  13. Utilizatorii si administratorii bazei de date • Persoanele care lucreaza cu baza de date pot ficategorizate in: • • Utilizatoriibazei de date • • Administratoriibazei de date

  14. Utilizatorii si administratorii bazei de date • Existamaimultetipuri de utilizatoriaisistemului de gestiune a bazelor de date, diferentiati de modul in care interactioneaza cu sistemul. • Diferitetipuri de interfete au fostproiectatepentrudiferitetipuri de utilizatori. • Utilizatoriinaivisuntutilizatoii care interactioneaza cu baza de date prinintermediulaplicatiilorscrisedeja. De exemplu, clientuluneibancidorestesatrasfere o suma de banidintr-un cont in altul. Atuncivatrebuisaapeleze o aplicatie de transfer care ii vasolicitautilizatoruluisuma de banisicontul din care face transferulsicel in care face transferul. • Programatorii de aplicatiisuntprogramatoriprofesionisti care scriuaplicatii. Acestiafolosesc diverse instrumentesilimbaje de programarepentruconstruirea de aplicatiipentrubaza de date. • Utilizatoriisofisticatiinteractioneaza cu sistemulfarasascrieprograme. Acestialucreaza direct cu baza de date folosindlimbajul de definieresimanipulare a bazei de date.

  15. Utilizatorii si administratorii bazei de date • Rolurile administratorului bazei de date sunt: • • Definirea schemei bazei de date. • • Definirea structurilor de stocare si a metodelor de acces. • • Acordarea de privilegii pentru accesarea datelor. • • Efectuareade proceduri cum ar fi: • -periodic se realizeaza back-up bazei de date • -asigurarea spatiului pe disc necesar • -monitorizarea activitatilorasupra bazei de date

  16. Structuraunui SGBD • 1. Storage manager – Manager stocare date - este un modul care ofera o interfataintredatele de niveljosstocate in baza de date siprogrameleaplicativesiinterogariletrimisesistemului. Acestacuprinde: • Managerul de autorizaresistocare: testeazasatisfacerearegulilor de integritatesiverificaautorizareautilizatorilorpentru a accesadatele. • Managerul de tranzactii: asigura ca baza de date ramane in stare consistenta in urmacaderilorsauerorilor de sistemsiexecutareatranzactiilorconcurentefara conflict. • Managerul de fisiere: administreazaalocareaspatiuluipe disc sistructurile de date folositepentru a reprezentainformatiastocatape disc. • Managerulmemoriei tampon: esteresponsabilpentrucitireadatelor de pe disc in memoriaprincipalasi decide ce date suntpastrate in memoriaprincipala. Acest manager reprezintaparteacritica a sistemului de baze de date siimplementeazacatevastructuri de date ca si parte a implementariifizice a sistemului: • Fisierele de date: stocheazachiarbaza de date. • Dictionarul de date: stocheazametadatedesprestructurile de date ale bazei de date. • Indecsiioferaacces rapid la dateleaccesate.

  17. Structuraunui SGBD • 2. Procesorul de interogari (cereri) - include urmatoarelecomponente: • Interpretorul DDL interpreteazacomenzile DDL siinregistreazadefinitiile in dictionarul de date. • Compilatorul DML translateazacomenzile DML din limbajul de interogareintr-un plan de evaluare care contineinstructiuni de nivel inferior. O interogarepoatefitranslatata in maimulteplanuri alternative de evaluare, toateoferindacelasirezultat. Compilatorul DML efectueaza de asemeneaoptimizareainterogarilor care presupunealegereaplanului de evaluare cu costulcelmaimicdintrealternativeleexistente. • Motorul de evaluarea interogariiexecutainstructiunile de nivel inferior generate de compilatorul DML.

  18. Arhitectura aplicatiilor cu baze de date • De obicei, aplicatiile cu baze de date pot avea o arhitectura: • pe 2 nivele (two-tier) - aplicatia este partitionata intr-o componenta care se gaseste pe masina client, si care invoca functionalitatile sistemului de baze de date care se gaseste pe masina server. Interfetele aplicatiilor , cum ar fi ODBC si JDBC, sunt folosite pentru interactiunile client/server. • pe 3 nivele (three-tier) – aplicatia de pe masina client nu contine apeluri directe la baza de date, ele interactioneaza print intermediul unui server de aplicatii. Serverul de aplicatii comunica cu sistemul de baze de date.

More Related