Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introducere baza de-date

7,468 views

Published on

Teoria bazelor de date, prezentata pe MS Office Access

Published in: Education
  • Be the first to comment

Introducere baza de-date

  1. 1. BAZE DE DATE Introducere în teoria bazelor de date
  2. 2. Concepte în organizarea datelor <ul><li>Entitate </li></ul><ul><li>Atribut </li></ul><ul><li>Valoare </li></ul><ul><li>Entitate – obiect (concret sau abstract) reprezentat prin proprietăţile sale. </li></ul><ul><li>Proprietatea – exprimată prin perechea </li></ul><ul><li>(atribut, valoare) </li></ul><ul><li>O entitate are mai multe atribute. </li></ul><ul><li>Fiecărui atribut i se asociază o mulţime de valori. </li></ul>
  3. 3. Exemple <ul><li>“ Floarea x are culoarea ro ş ie” </li></ul><ul><ul><li>Floarea x – obiect </li></ul></ul><ul><ul><li>Culoarea – atribut </li></ul></ul><ul><ul><li>Roşu – valoarea atributului </li></ul></ul><ul><li>P ersoan a X: (Nume, Popescu); (CNP, 1 600519400535 ); (Data naşterii, 19.05.1960); (Profesie, economist). </li></ul>
  4. 4. Concepte (continuare) <ul><li>Atribut = câmp, caracteristică </li></ul><ul><li>Este caracterizat de natura valorilor pe care le poate lua: numerice, alfanumerice, dată calendaristică, etc.., </li></ul><ul><li>Un atribut care identifică în mod unic o entitate se numeşte atribut cheie . </li></ul>
  5. 5. Concepte (continuare) <ul><li>Data (terminologia prelucrării automate a datelor) </li></ul><ul><ul><li>Data este definită ca un model de reprezentare a informaţiei într-un format accesibil unui calculator . </li></ul></ul><ul><ul><li>Din punct de vedere logic data se defineşte prin: </li></ul></ul><ul><ul><ul><li>i dentificator (ex. “Prof”) </li></ul></ul></ul><ul><ul><ul><li>a tribut (ex. Profesia) </li></ul></ul></ul><ul><ul><ul><li>v aloare (ex. inginer, economist,…) </li></ul></ul></ul>
  6. 6. Structuri de date <ul><li>Structurile de date sunt colecţii de date între care s-au stabilit o serie de relaţii care conduc la un anumit mecanism de selecţie şi de identificare a componentelor acesteia. </li></ul>
  7. 7. Structuri de date (continuare) <ul><li>În funcţie de suportul de stocare structurile de date pot fi: </li></ul><ul><ul><li>în memoria internă a calculatorului (în timpul prelucrării datelor) , definite de noţiunile: listă, coadă, stivă; </li></ul></ul><ul><ul><li>pe suporturi de stocare în vederea prelucrării ulterioare, definite de: fişier şi bază de date. </li></ul></ul><ul><ul><ul><li>Fişierul - o colecţie de informaţii corelate (date de prelucrat, programe, comenzi, … ), omogenă din punct de vedere al naturii datelor şi cerinţelor de prelucrare şi memorată pe un suport de stocare. </li></ul></ul></ul><ul><ul><ul><li>Baza de date - un ansamblu de date structurate, accesibile unei comunităţi de utilizatori . </li></ul></ul></ul>
  8. 8. Conceptul de bază de date <ul><li>Apărut în 1969 </li></ul><ul><li>Ideea: existenţa unui fişier de descriere globală a datelor, prin care se asigură independenţa programelor faţă de date. Accesul utilizatorilor la baza de date se realizează prin acest fişier, care conţine colecţiile de date şi legăturile dintre acestea. </li></ul><ul><li>B az ă de date – una sau mai multe colecţii de date, aflate în interdependenţă, împreună cu descrierea datelor şi a relaţiilor dintre ele. </li></ul><ul><li>O bază de date este creată pentru un anumit scop. </li></ul>
  9. 9. Arhitectura unei baze de date <ul><li>baza de date propriu-zisă - în care se memorează datele; </li></ul><ul><li>sistemul de gestiune a bazei de date (SGBD) – ansamblu de programe care realizează gestiunea şi prelucrarea complexă a datelor, asigurând interfaţa între BD şi utilizatori. </li></ul>
  10. 10. Modele de date <ul><li>Pentru prelucrarea datelor cu ajutorul calculatorului este necesară modelarea realităţii. </li></ul><ul><li>Definirea unui model de date presupune existenţa a 3 elemente: </li></ul><ul><ul><li>Structura modelului </li></ul></ul><ul><ul><li>Operatorii care acţionează asupra structurilor de date (citire, memorare, modificare) </li></ul></ul><ul><ul><li>Restricţiile pentru menţinerea corectitudinii datelor (reguli de integritate) </li></ul></ul>
  11. 11. Modele de date ( continuare ) <ul><ul><li>Structura modelului presupune: </li></ul></ul><ul><ul><li>Definirea obiectelor utilizând elementele generice: </li></ul></ul><ul><ul><ul><li>Câmp – cel mai mic element al structurii care poate fi identificat în vederea prelucrării; </li></ul></ul></ul><ul><ul><ul><li>Înregistrare – ansamblu de câmpuri, elementul generic al structurii </li></ul></ul></ul><ul><ul><li>Stabilirea relaţiilor (asocierilor) între obiecte. </li></ul></ul>
  12. 12. Modele de date - clasificare <ul><ul><li>În funcţie de modul de definire a celor 3 elemente, modelele de date se clasifică în: </li></ul></ul><ul><ul><li>Modele ierarhice (arborescente) </li></ul></ul><ul><ul><li>Modele reţea </li></ul></ul><ul><ul><li>Modele relaţionale </li></ul></ul><ul><ul><li>Modele orientate pe obiect </li></ul></ul><ul><ul><li>(în ordinea apariţiei) </li></ul></ul>
  13. 13. Modelarea datelor <ul><li>În proiectarea bazelor de date modelarea datelor se bazează pe două moduri de abordare: 1. application database sau baza de date tip aplicaţie - metoda &quot; de jos în sus &quot;; </li></ul><ul><li>2. subject database sau baza de date de tip subiect - metoda &quot; de sus în jos &quot;. </li></ul>
  14. 14. Afişarea datelor   Rapoarte tipărite Model de date Bazat pe necesităţile aplicaţiei Utilizatori Schema Cuprinde obiectele în structuri logice  Obiecte      Aplicaţii Proiectate pentru a îndeplini cerinţele utilizatorului Proiectarea începe cu identificarea obiectelor     Model de date Bazat pe obiectele care au legătură cu subiectul Schema Cuprinde obiectele în structuri logice   Bază de date de tip aplicaţie Bază de date de tip subiect
  15. 15. Sistemul de Gestiune a Bazei de Date (SGBD) <ul><li>Reprezintă programul software care asigură : </li></ul><ul><li>definirea bazei de date, </li></ul><ul><li>încărcarea datelor în baza de date, </li></ul><ul><li>accesul la date (interogare, actualizare), </li></ul><ul><li>întreţinerea bazei de date, </li></ul><ul><li>securitatea datelor, </li></ul><ul><li>reorganizarea bazei de date. </li></ul>
  16. 16. Obiectivele unui SGBD <ul><ul><ul><li>asigurarea independenţei datelor (modificarea structurii de memorare sau a strategiei de acces la date să nu afecteze aplicaţia); </li></ul></ul></ul><ul><ul><ul><li>asigurarea unei redundanţe minime (datele să apară o singură dată în bază); </li></ul></ul></ul><ul><ul><ul><li>sporirea gradului de securitate a datelor (interzicerea accesului neautorizat la date); </li></ul></ul></ul><ul><ul><ul><li>asigurarea integrităţii datelor (protecţia faţă de ştergeri nepermise, prin intermediul unor proceduri de validare); </li></ul></ul></ul><ul><ul><ul><li>asigurarea proprietăţii de partajare a datelor (asigurarea accesului mai multor utilizatori la aceleaşi date). </li></ul></ul></ul>
  17. 17. Baze de date relaţionale (BDR) <ul><li>O bază de date relaţională are la bază modelul relaţional, adică este alcătuită din unul sau mai multe obiecte organizate ierarhic, între care s-au stabilit anumite relaţii. </li></ul><ul><li>Se bazează pe o singură structură de date: tabel </li></ul><ul><li>Un tabel conţine informaţii despre un singur subiect (clienţi, ordine de plată...) </li></ul><ul><li>Relaţiile între două tabele sunt unidirecţionale, astfel că o tabelă devine principală , iar cealaltă devine subordonată . </li></ul>
  18. 18. Terminologie BDR <ul><li>Tabel ( table ): informaţie despre un singur subiect. </li></ul><ul><li>Atribut ( attribut ): o unitate specifică a informaţiei despre un subiect; coloană sau câmp în tabel. </li></ul><ul><li>Legătură ( relationship ): modul în care informaţia dintr-un tabel este legată de informaţia din alt tabel. </li></ul><ul><li>Asociere ( join ): procesul de legare a tabelelor prin datele corelate. </li></ul>
  19. 19. Funcţiile unui SRGBD <ul><li>Definirea datelor : categorii de date, tipul acestora, legături, reguli de validare, formatare. </li></ul><ul><li>Manipularea datelor : selectarea oricărui câmp de date, filtrarea datelor, sortarea, corelarea cu alte informaţii şi totalizarea rezultatelor, actualizare, ştergere, copiere în alt tabel. </li></ul><ul><li>Controlul datelor : definirea utilizatorilor cu drept de citire, actualizare şi inserare date, partajarea datelor. </li></ul>
  20. 20. Crearea bazelor de date relaţionale cu programul MS ACCESS
  21. 21. De ce este necesară folosirea BD Access în locul programelor de calcul tabelar ? <ul><li>Număr mare de date (în multe fişiere sau în fişiere prea mari); greu de urmărit legăturile; depăşirea limitelor sistemului de calcul; </li></ul><ul><li>La introducerea datelor noi nu se pot menţine legăturile între documente; </li></ul><ul><li>Greu de controlat corectitudinea introducerii datelor şi a integrităţii acestora; </li></ul><ul><li>Greu de partajat datele. </li></ul>
  22. 22. SRGBD MS Access <ul><li>Are cele 3 funcţii ale unui SRGBD pentru volume mari de date </li></ul><ul><li>Se pot defini relaţii între colecţiile de date (reprezentate prin tabele) </li></ul><ul><li>Permite partajarea şi accesul la date pentru mai mulţi utilizatori </li></ul><ul><li>Poate rula stand-alone sau client/server </li></ul><ul><li>În modul client/server se pot aloca drepturi asupra obiectelor BD şi se pot crea copii multiple ale BD master prin replicare , urmând sincronizarea copiilor de către utilizatori </li></ul><ul><li>Poate prelua şi manevra date din programe spreadsheet, fişiere text, baze de date dBase, Paradox, FoxPro. </li></ul>
  23. 23. SRGBD MS Access... <ul><li>Conţine un limbaj puternic de programare Visual Basic for Application (VBA) pentru scrierea de module şi macrocomenzi complexe </li></ul>
  24. 24. Funcţii de bază ca SGBD R <ul><li>1. Organizarea datelor (Tables) </li></ul><ul><li>2. Legarea tabelelor şi extragerea datelor (Query) </li></ul><ul><li>3. Introducerea şi editarea datelor (Forms) </li></ul><ul><li>4. Prezentarea datelor (Reports) </li></ul>
  25. 25. Funcţii suport SGBD <ul><li>Macrocomenzile ( macro ) sunt secvenţe de acţiuni care automatizează operaţiile repetitive din baza de date. </li></ul><ul><li>Modulele şi funcţiile ( modules ) sunt secvenţe de program scrise în limbajul VBA. </li></ul><ul><li>Securitatea ( security ) constă în funcţii care, într-un mediu multiuser permite sau nu accesul la baza de date a unor utilizatori. </li></ul><ul><li>Tipărirea ( print ) permite tipărirea tuturor obiectelor care se văd pe ecran în Access (cu excepţia macrocomenzilor). </li></ul>
  26. 26. Tabel Tabel Tabel Interogarea datelor Formular Raport Organizarea datelor Macrocomenzi Module Securitate Tipărire Funcţii suport
  27. 27. În concluzie: <ul><ul><li>O bază de date M S Access este un fişier cu extensia “. mdb” care conţine următoarele obiecte: </li></ul></ul><ul><ul><ul><li>Tables (Tabele) </li></ul></ul></ul><ul><ul><ul><li>Queries (Interogări) </li></ul></ul></ul><ul><ul><ul><li>Forms (Formulare) </li></ul></ul></ul><ul><ul><ul><li>Reports (Rapoarte) </li></ul></ul></ul><ul><ul><ul><li>Macro (Comenzi macro) </li></ul></ul></ul><ul><ul><ul><li>Modules (Subrutine şi funcţii) </li></ul></ul></ul><ul><ul><ul><li>Pages (Pagini de acces la date). </li></ul></ul></ul>
  28. 28. Tabele ( Tables ) <ul><ul><li>Obiecte definite de utilizator pentru stocarea datelor. Conţin informaţii despre un singur subiect. </li></ul></ul><ul><ul><li>Sunt similare foilor de calcul tabelar care organizează datele pe linii şi coloane. </li></ul></ul><ul><ul><li>MS Access îşi construieşte propriile tabele pentru stocarea datelor sau importă structuri de date din alte aplicaţii. </li></ul></ul><ul><ul><li>Max. 32768 de tabele din care cel mult 254 de tabele pot fi deschise simultan. </li></ul></ul>
  29. 29. Interogări ( Queries ) <ul><li>Obiecte ce permit o vizualizare personalizată a datelor din unul sau mai multe tabele. </li></ul><ul><li>Sunt cereri adresate tabelelor pentru extragerea sau organizarea datelor după anumite criterii în vederea afişării lor. </li></ul><ul><li>Interogările sunt proiectate cu ajutorul unei interfeţe grafice accesibile şi sunt memorate în limbajul SQL ( Structured Query Language ). </li></ul>
  30. 30. Formulare ( Forms ) <ul><li>Obiecte proiectate pentru introducerea datelor în tabele sau pentru afişarea personalizată a datelor din tabele. Sunt mai atractive în utilizare decât tabelele. </li></ul><ul><li>Formularele pot conţine subformulare pentru a afişa datele asociate şi butoane specifice pentru a realiza anumite sarcini. </li></ul>
  31. 31. Rapoarte ( Reports ) <ul><li>Obiecte proiectate pentru a extrage datele din tabele şi a le afişa în vederea tipăririi. </li></ul><ul><li>Pot fi vizualizate pe ecran sau la imprimantă. </li></ul><ul><li>Rapoartele complexe sunt bazate pe interogări </li></ul><ul><li>Într-un raport datele pot fi organizate în diferite moduri, se pot realiza sinteze sau prezenta sub formă de diagramă . </li></ul>
  32. 32. Macro ( Macros ) <ul><li>Obiecte care reprezintă o definire structurată a uneia sau mai multor acţiuni care definesc un eveniment. </li></ul><ul><li>Macrocomenzile sunt succesiuni de comenzi executate de Access pentru a automatiza anumite operaţii. </li></ul><ul><li>Exemplu: deschiderea unui formular sau tipărirea unui raport cu ajutorul unor butoane de comandă incluse în formulare. </li></ul>
  33. 33. Module ( Modules ) <ul><li>Obiecte ce conţin proceduri personalizate (subrutine sau funcţii) scrise în limbajul VBA </li></ul><ul><li>Oferă posibilitatea controlării mai fine a acţiunilor şi corectarea erorilor. </li></ul><ul><li>Modulele pot proveni iniţial şi din macrocomenzi salvate în format VBA. </li></ul>
  34. 34. Module Funcţii sau subrutine Macros Interogări Tabele Formulare Rapoarte A A A Execută funcţie Defineşte Formulare, Rapoarte, Tabele Rulează interogări sau deschide tabel e Acţiune Date Execut ă funcţie Imprimare /Vizualizare/ Filtrare Deschidere/Filtrare
  35. 35. Pagini de acces la date (DAP) (Pages) <ul><li>Obiecte (pagini web) destinate vizualizării obiectelor din baza de date (tabele, interogări) în Intranet sau Internet. </li></ul><ul><li>Au un rol important în publicarea informaţiilor în Internet </li></ul><ul><li>Sunt un element de bază în comerţul electronic </li></ul>
  36. 36. Proiectarea bazelor de date <ul><li>Pentru a realiza o bază de date trebuie parcurse următoarele etape principale: </li></ul><ul><ul><ul><li>Analiza sistemului pentru care se realizează baza de date. </li></ul></ul></ul><ul><ul><ul><li>Proiectarea structurii bazei de date ( modelul conceptual, rela ţional, fizic al datelor). </li></ul></ul></ul><ul><ul><ul><li>Încărcarea datelor în baza de date. </li></ul></ul></ul><ul><li>Exploatarea şi întreţinerea bazelor de date se referă atât la actualizarea datelor cât şi la reproiectarea structurii acestora. </li></ul>
  37. 37. Proiectarea structurii BD <ul><li>Identificarea sarcinilor majore (funcţii care vor fi în final reprezentate sub forma unui formular sau raport). </li></ul><ul><li>Schiţarea fluxului de sarcini (task-uri). </li></ul><ul><li>Identificarea datelor (stabilirea datelor cerute de fiecare task şi forma în care vor fi prelucrate). </li></ul><ul><li>Organizarea datelor după subiect  tabele. </li></ul><ul><li>Proiectarea unui prototip şi a unei interfeţe utilizator. </li></ul><ul><li>Construirea aplicaţiei. </li></ul><ul><li>Testare şi eventual modificare. </li></ul>
  38. 38. Conceptele proiectării unei BD Access <ul><li> Evitarea înregistrărilor multiple prin normalizare . </li></ul><ul><li>Metoda normalizării : pornind de la mulţimea atributelor (câmpurilor de date) şi de la dependenţele funcţionale dintre acestea, se elimină anomaliile de înregistrare şi actualizare a datelor. </li></ul>
  39. 39. Teste pentru normalizarea unei BD <ul><li>Regula #1: Câmpuri unice </li></ul><ul><li>“ Fiecare câmp din tabel trebuie să reprezinte un tip unic de informaţie” </li></ul><ul><li>Regula #2: Chei primare </li></ul><ul><li>“ Fiecare tabel trebuie să aibă un identificator unic format din unul sau mai multe câmpuri şi denumit cheie primară (sau principală )” </li></ul>
  40. 40. Teste pentru normalizarea unei BD <ul><li>Regula #3: Dependenţa funcţională </li></ul><ul><li>“ Pentru fiecare valoare unică a cheii primare, valorile din coloanele de date trebuie să fie relevante şi să descrie complet subiectul tabelului” </li></ul><ul><li>Se verifică două aspecte: </li></ul><ul><li>Dacă fiecare câmp este dependent funcţional de cheia primară ce defineşte tabelul (să nu apară informaţii irelevante) </li></ul><ul><li>Dacă s-a inclus toată informaţia relevantă pentru acel subiect în tabel (datele să descrie complet tabelul). </li></ul>
  41. 41. Teste pentru normalizarea unei BD <ul><li>Regula #4: Independenţa câmpurilor </li></ul><ul><li>“ Trebuie să fie posibilă orice schimbare a datelor în orice câmp diferit de cheia primară, fără afectarea datelor din alt câmp.” </li></ul>
  42. 42. Conceptele proiectării unei BD Access (continuare) <ul><li>După stabilirea tabelelor legate de fiecare subiect al BD, datele trebuie puse în legătură. Acest lucru se realizează prin definirea relaţiilor între tabele. </li></ul><ul><li>Relaţiile între două tabele se bazează pe asocierea datei din două câmpuri comune (care au acelaşi nume în cele două tabele). </li></ul><ul><li>În unul dintre tabele câmpul de legătură este cheie primară , iar în celălalt este cheie externă ( străină sau secundară ). </li></ul>
  43. 43. Tipuri de legături între tabele <ul><li>1 la n (unu la mulţi) Este cea mai comună. </li></ul><ul><li>1 la 1 Nu este uzuală, deoarece datele pot fi stocate într-un singur tabel. Utilizare: divizarea unui tabel cu multe câmpuri în mai multe tabele sau izolarea unei părţi din tabel pentru securitate sau mai buna organizare a informaţiei. </li></ul>
  44. 44. Tipuri de legături între tabele <ul><li>n la n (mulţi la mulţi) Este posibilă numai prin definirea unui al treilea tabel, numit tabel de joncţiune (sau de intersecţie), a cărui cheie primară este compusă din cele două chei primare ale tabelelor legate. </li></ul>
  45. 45. Conceptele proiectării unei BD Access (continuare) <ul><li>Integritatea bazei de date </li></ul><ul><li>MS Access poate menţine automat integritatea bazei de date </li></ul><ul><li>Integritatea referenţială este un sistem de reguli incluse în program care asigură validitatea relaţiilor între înregistrările din tabelele corelate, prevenind ştergerea sau modificarea accidentală a datelor corelate. </li></ul>

×