Introducere baza de-date

7,230 views

Published on

Teoria bazelor de date, prezentata pe MS Office Access

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,230
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
240
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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>

×