Curs I Introducere Baze de Date.

51
Baze de date Curs 1 BIM, An I Lector univ. Gladiola ANDRUSEAC 2014-2015

description

.

Transcript of Curs I Introducere Baze de Date.

Slide 1

Baze de date

Curs 1

BIM, An I

Lector univ. Gladiola ANDRUSEAC2014-2015

Cuprins1.1. Introducere1.2. Ce este o baz de date? 1.3. Clasificarea sistemelor de baze de date 1.3.1. Clasificare dup modelul de date;1.3.2. Clasificare dup numrul de utilizatori;1.3.3. Clasificare dup modalitatea de realizare.

1.4. Securitatea i protecia datelor in bazele de date2

Principalele obiectivede ce sunt importante n viaa de zi cu zi b.d.n ce domenii se folosesc bazele de datece tipuri de operaii se pot realiza asupra datelor ce reprezint efectiv o baz de datece avantaje i ofer utilizarea bazelor de dateclasificarea bazelor de datecare sunt caracteristicile fiecrui model de baze de datede ce este important protecia i securizarea datelordiferite moduri de protejare a datelor3

Introduceren ultimii ani, dezvoltarea sistemelor de baze de date reprezint unul dintre cele mai importante aspecte n domeniul tehnologiei informaiei, avnd un impact decisiv asupra modului de organizare i funcionare a numeroaselor instituii i servicii.Acestea sunt companiile de comunicaie, intreprinderile de comer, serviciile bancare, serviciile de transport, asigurrile, universitile etc. Acestea sunt dependente de funcionarea corect i nentrerupt a sistemelor de baze de date.

Sistemele de baze de date sunt o component important a vieii de zi cu zi n societatea modern. Zilnic, majoritatea persoanelor desfoar activiti care implic interaciunea cu o baz de date: depunerea sau extragerea unei sume de bani din banc, rezervarea biletelor de tren sau de avion, cutarea unei cri ntr-o bibliotec computerizat, gestiunea angajailor dintr-o firm, cumprarea unor produse etc.4

Bazele de date pot avea mrimi (numr de nregistrri) i complexiti extrem de variate, de la cteva zeci de nregistrri (de exemplu, baza de date pentru o agend de telefon a unei persoane) sau pot ajunge la milioane de nregistrri (de exemplu, baza de date pentru crile dintr-o bibliotec, baza de date cu stocarea angajailor unei firme sau baza de date unde se pstreaz informaii despre situaia studenilor etc).Marea majoritate a sistemelor de baze de date existente n momentul de fa sunt relaionale i exist un numr mare de astfel de sisteme comerciale care pot fi achiziionate i folosite pentru propriile dezvoltri.

Modelul relaional de baze de date a fost introdus n anul 1970 de ctre E.F.Codd.5

Utilizatorii unei baze de date au posibilitatea s efectueze mai multe categorii de operaii asupra datelor stocate aici:

Introducerea de noi date (insert)tergerea unor date existente n baza de date (delete)Actualizarea datelor stocate (update)Interogarea bazei de date (query) pentru regsirea anumitor informaii, selectate dup un criteriu ales.6

Ce este o Baz de Date?n sens larg, o baz de date (database) este o colecie de date corelate din punct de vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de utilizatori. n acest sens, bazele de date pot fi create i meninute manual (fiele de eviden a crilor dintr-o bibliotec) sau computerizat aa cum sunt majoritatea bazelor de date n momentul de fa. O definiie ntr-un sens mai restrns a unei baze de date este: O baz de date este o colecie de date centralizate, creat i meninut computerizat, n scopul prelucrrii datelor n contextul unui set de aplicaii. Prelucrarea datelor se refer la operaiile de introducere, tergere, actualizare i interogare a datelor.7

Banc de dateO banc de date se definete ca fiind format din: Baza de date: colecia de date aflate n interdependen, mpreun cu descrierea lor; sistemul de gestiune al bazei de date (SGBD): un set de programe specializate, destinat gestiunii i prelucrrii datelor din baza de date; un set de proceduri manuale i automate specifice domeniului pentru care se proiecteaz baza de date, mpreun cu reglementrile administrative destinate bunei funcionri a sistemului.

8

Conceptul modern de banc de date este caracterizat n plus de ideea de gestiune independent a structurii bazei de date, care se concretizeaz prin posibilitatea modificrii structurii i organizrii fizice a datelor, fr a modifica programele de aplicaie.

Utilizatori: administratorul bazei de date: o persoan (sau mai multe) nsrcinat cu gestiunea global a bazei de date, care are toate drepturile de acces, la toate elementele componente ale bazei de date; programatorii de aplicaie: persoane specializate, care realizeaz i controleaz sistemul de gestiune al bazei de date (programele i aplicaiile); utilizatorii obinuii: care au acces doar la datele din baza de date, cu care lucreaz folosind programele deja implementate (dar pe care nu le pot modifica), n scopul de a obine anumite informaii particulare din banca de date.

9

ProprietiOrice baz de date are urmtoarele proprieti implicite:

Baza de date este o colecie logic coerent de date ce arecel puin un neles.

Baza de date este destinat, construit i populat de date despre un domeniu bine precizat. Ea are un grup de utilizatori i se adreseaz unui anumit grup de aplicaii.

O baz de date reprezint cteva aspecte ale lumii reale crend orizontul propriu. Schimbrile orizontului sunt reflectate n baza de date.10

Avantaje Controlul centralizat al datelor, putnd fi desemnat o persoan ca responsabil cu administrarea bazei de date. Vitez mare de regsire i actualizare a informaiilor. Sunt compacte: volumul ocupat este mult mai redus Flexibilitatea ce const n posibilitatea modificrii structurii bazei de date fr a fi necesar modificarea programelor de aplicaie Redundan sczut a datelor memorate, care se obine prin partajarea datelor ntre mai muli utilizatori i aplicaii. Posibilitatea introducerii standardelor privind modul de stocare a datelor, ceea ce permite interschimbarea datelor ntre organizaii Meninerea integritii datelor prin politica de securitate (drepturi de acces difereniate n funcie de rolul utilizatorilor), prin gestionarea tranzaciilor i prin refacerea datelor n caz de funcionare defectuoas a diferitelor componente hardware sau software. Independena datelor (SGBD) fa de suportul hardware utilizat.11

Sistemul de gestiunea a bazelor de date ofer o vizualizare a datelor, care nu se modific atunci cnd se schimb suportul de memorare fizic, ceea ce asigur imunitatea structurii bazei de date i a aplicaiilor la modificri ale sistemului hardware utilizat.

11

Clasificarea sistemelor de baze de date

Dup modelul de date

Dup numrul de utilizatori

Dup modul de realizare

12

1. Clasificare dup modelul de date

Modelul ierarhic

Modelul reea

Modelul relaional

Modelul obiectual

13

Modelul ierarhicn modelul de date ierarhic (Hierarchical Model) o baz de date se reprezint printr-o structur ierarhic de nregistrri de date (records) conectate prin legturi (links). Modelul ierarhic a fost primul model folosit pentru dezvoltatea bazelor de date.

O schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipurile de nregistri, iar arcele sunt tipurile de legturi. Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe legturi ctre noduri de pe nivelul imediat inferior (noduri fii).14

Modelul reeaModelul de date reea (Network Model) folosete o structur de graf pentru definirea schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entiti (nregistrri = records), iar muchiile grafului reprezint n mod explicit asocierile (legturile = links) dintre tipurile de entiti.

La fel ca i modelul ierarhic, dezavantajul principal al modelului reea este acela c fiecare interogare trebuie s fie prevazut nc din faza de proiectare, prin memorarea explicit a legturilor ntre tipurile de entiti. n plus, complexitatea reprezentrii datelor n modelul reea este deosebit de ridicat, iar programatorii trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.15

Modelul relaionalModelul de date relaional (Relational Model) se bazeaz pe noiunea de relaie din matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Tabel = entitateFiecare linie din tabel reprezint o inregistrare de entitate i este compus din mulimea valorilor atributelor entitii respective, fiecare atribut corespunznd unei coloane a tabelului.Modelul de date relaional a fost propus de cercettorul E.F.Codd de la compania IBM (1970). Chiar dac noiunile de relaie i tabel difer n esena lor, relaia reprezentnd o mulime de entiti i tabelul o reprezentare vizual a acesteia, cele dou denumiri se pot folosi, n general pentru acelai scop.16

Modelul relational - CaracteristiciDatele sunt percepute de utilizatori ca tabele

Operatorii relaionali care pot fi folosii pentru prelucrarea datelor genereaz un tabel rezultat din tabelele operanzi

Asocierea dintre tabele se realizeaz prin intermediul egalitii valorilor unor atribute comune, ceea ce permite rezolvarea oricrei interogri.

Limbaj de programare (SQL)17

Limbajul SQLPe lng avantajul unui model de date precis i simplu, sistemele de baze de date relaionale mai beneficiaz i de un limbaj de programare recunoscut i acceptat, limbajul SQL (Structured Query Language), pentru care au fost emise mai multe standarde de ctre Organizaia Internaional de Standardizare (International Standardization Office-ISO).

Majoritatea sistemelor de gestiune a bazelor de date (SGBD) relaionale actuale implementeaz versiunea din anul 1992 a standardului pentru limbajul SQL, denumit SQL 92 sau SQL2.18

Modelul de date obiect-relaionalExist i unele domenii, n special cele care manipuleaz tipuri de date complexe, cum ar fi PAC, GIS, medicin etc, n care modelul relaional s-a dovedit a fi insuficient de expresiv i cu performane de execuie reduse.

Modelul de date obiect-relaional (Object-Relational Model) reprezint extinderea modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea bazelor de date care definesc i prelucreaz tipuri de date complexe.

n esen, modelul obiect-relaional pstreaz structurarea datelor n relaii (reprezentate ca tabele), dar adaug posibilitatea definirii unor noi tipuri de date, pentru domeniile de valori ale atributelor.

19

Caracteristicile modelului obiectual1. Abstractizarea - programele sunt organizate ca i colecii de obiecte cooperante, fiecare obiect fiind o instan a unei clase.

2. Motenirea - Fiecare clas reprezint abstractizarea unui tip de entitate din realitatea modelat, iar clasele sunt membre ale unei ierarhii de clase, corelate ntre ele prin relaii de motenire. Tipurile de date definite de utilizator pot fi extinse prin mecanismul de motenire.

3. ncapsularea - Orice obiect este ncapsulat, ceea ce nseamn c reprezentarea lui (adic structura intern a acelui obiect) nu este vizibil utilizatorilor, care au acces doar la funciile (metodele) pe care acel obiect este capabil s le execute.

4. Modularizarea - Clasele i obiectele unui program orientat obiect sunt grupate n module, care pot fi compilate separat i ntre care exist granie bine definite i documentate, ceea ce reduce complexitatea de manevrare a datelor.20

2. Clasificare dup nr. de utilizatori

sisteme multiutilizator - permit accesul concurent (n acelai timp) a mai multor utilizatori la aceeai baz de date.

sisteme monoutilizator - permit accesul doar al unui utilizator (la un moment dat).21

3. Clasificare dup realizare1. integrateBaze de date integrate: baza de date i programele de manevrare a ei alctuiesc un tot unitar, fiind n mod obligatoriu instalate pe acelai calculator; astfel, datele sunt accesibile unui singur utilizator la un moment dat;

Un sistem de baze de date centralizat (Centralized Database System) este un sistem de baze de date n care datele i sistemul de gestiune sunt stocate pe un singur calculator.

22

2. Baze de date client-server: implementate n reele de calculatoare de tipul client-server.

Pe server, un calculator puternic care conduce reeaua este de obicei memorat baza de date, n timp ce pe staiile de lucru din reea sunt memorate diferitele pachete de programe pentru manevrarea ei, singura condiie pe care o respect acestea fiind c trebuie s aib o interfa unic pentru comunicarea cu serverul. Aceast interfa este de obicei realizat de SQL (Structured Query Language), un limbaj de interogare standard.

Avantajul acestui mod de lucru este c baza de date sau programele pot fi folosite simultan sau pe rnd de mai muli utilizatori, fr a fi nevoie ca acetia s aib pe staiile lor de lucru o copie a bazei sau programului respectiv. 23

2. distribuiteUn sistem de baze de date distribuit (Distributed Database System) poate avea att datele, ct i sistemul de gestiune, distribuite pe mai multe calculatoare interconectate printr-o reea de comunicaie.

Baze de date distribuite: n cazul n care exist mai multe tabele constituente ale aceleiai baze de date; acest mod de lucru este necesar n cazul n care baza de date este ampl (conine foarte multe informaii) pentru a se ctiga n viteza de lucru, baza de date se fracioneaz n mai multe tabele componente, legate ntre ele prin relaii. Tabelele se memoreaz separat, n staii de lucru diferite din reeaua de calculatoare, dar fr a influena programele de manevrare a lor.

24

Securitatea i protecia datelor in b.d.

Prin protecia i securitatea datelor se nelege totalitatea mijloacelor, metodelor i a mecanismelor destinate prevenirii distrugerii, modificrii sau folosirii neautorizate a informaiei protejate.25

Concepte privind protecia i securitatea datelor Securitatea datelor totalitatea msurilor de protecie mpotriva distrugerii accidentale sau intenionate, a modificriineautorizate sau a divulgrii acestora. Caracterul secret este un concept ce se aplic la un individ sau organizaie i const n dreptul acestora de a decide ce informaii se pot folosi n comun i n ce condiii. Confidenialitatea se aplic la date i se refer la statutul acordat, acesta reprezentnd nivelul sau gradul de protecie ce trebuie acordat informaiei respective Integritatea se refer la restricia ca sensul datelor s nu difere fa de cel nscris pe documentul surs, impunnd totodat ca datele s nu fie alterate accidental sau voit.

26

Securitatea i protecia datelor1. elementele legale i etice privind drepturile de acces la anumite informaii. Diferite reglementri guvernamentale sau legi existente n majoritatea rilor stabilesc ce informaii privind activitatea instituiilor sau a persoanelor pot fi fcute publice i n ce condiii.2. elementele legate de organizarea sistemelor informatice din punct de vedere al posibilitilor de acces la datele stocate.aspecte de securitate la nivel fizic (hardware);la nivelul sistemului de operare ;la nivelul sistemului de gestiune al bazei de date.27

Tehnici de protecie a b.d.Administratorul bazei de date - system accountUtilizatori user accountProgramele de aplicaii sunt considerate de asemenea utilizatori i se conecteaz pe un anumit cont/parola.Criptarea datelor (Data Encryption), prin care datele importante sunt codate folosind diferii algoritmi de codare, mai ales atunci cnd sunt transmise prin intermediul reelelor de comunicaie.Firewall - pentru aplicaiile web - calculator pe care este instalat un software special care permite accesarea calculatorului pe care este stocat baza de date numai de ctre anumite calculatoare.28

Microsoft Access

29

Baza de date AccessLa nivelul cel mai simplu, o baz de date poate fi privit ca un tabel. Baza de date (BD) = fiier (sau fiiere) cu o anumit structur. Liniile = nregistrri (records), iar coloanele = cmpuri (fields). Coloanele pot fi definite ca avnd diferite tipuri i diferite dimensiuniBaza de date Access cuprinde mai multe tabele care se leag ntre ele prin diferite relaii. Exemplu: presupunem c o anumit persoana notat X n decursul anilor a fost internat la chirurgie nregistrndu-se n calculator date specifice, apoi la clinica de cardiologie i n final la endocrinologie. Aceast persoan este nscris n tabelele informatice personalizate fiecrei clinici medicale unde a fost internat. n cadrul triajului (date de identificare) persoana are un cod unic medical i este nscris astfel n tabelul principal. Legtura dintre aceste tabele se bazeaz pe relaii funcie de codurile unice ale pacienilor; astfel se constituie, baza de date a unui spital. O baz de date const ntr-o colecie organizat de date (date corelate aflate n anumite relaii) specific unui obiectiv de studiu dorit, cu posibilitatea prelucrrii concomitente de mai muli utilizatori.30

Exemple de B.D.Baza de date a univeristii pentru gestiunea colar a studenilor: cuprinde un tabel cu informaii de identificare a studentului, acesta este n relaie cu un alt tabel ce descrie anii de studii absolvii, notele la obiectele obligatorii studiate, restanele, opionale alese, urmeaz un alt tabel cu informaiile financiare, taxele pltite etc.

Baza de date a unei biblioteci: cuprinde mai multe tabele aflate n relaii cum ar fi: tabelul angajailor cu datele de identificare , funcia ocupat, apoi un tabel cu persoanele nscrise ce au drept de mprumut, apoi alt tabel cu lista carilor din bibliotec, apoi i cel mai important posibil un tabel ce descrie pentru fiecare carte, revist persoana i perioada de mprumut, etc.

Baza de date a unui spital: - ce poate cuprinde mai multe tabele ce conin informaii de tip personale de definire a corpului medical, apoi de identificare a pacienilor continund cu datele clinice, de laborator, date specifice medicale i nu n ultimul rnd dar neaprat cu informaiile financiare strict necesare n gestiunea spitalului. 31

Cu MS Access se pot gestiona bazele de date de orice dimensiune (totui finite), de la simple liste gen reete medicale, pn la gestiunea unei ntregi populaii. Se pot crea ntr-un mod rapid, interactiv noi baze de date (folosind de ex. Database Wizard), astfel se pot crea tabele noi deci componente ale bazei de date (BD);Se pot realiza interogri , se pot extrage noi informaii prin calculul de noi funcii asupra datelor existente;Se pot modifica informaiile dintr-o baza de date, se pot actualiza coloanele unui tabel cu informaii din alt tabel;Se pot crea formulare, ce ajut la introducerea i vizualizarea datelor ntr-un mod facil;Se pot crea rapoarte, pentru imprimarea informaiilor. Un avantaj de necontestat al softului este forma prietenoas deci este uor de utilizat, avantaj prin care s-a reuit atragerea unui numr impresionant de susintori. MS Access are bine dezvoltat interfaa destinat lucrului interactiv. 32

CREAREA UNEI BAZE DE DATE ACCESS

O baz de date este format din cel puin un tabel. n concluzie esenial este s crem un tabel component al BD.

Crearea nseamn n prima etap definirea cmpurilor deci coloanelor ce formeaz tabelul (acestea definesc structura tabelului). Va trebui astfel s denumim fiecare coloan i s-i setm tipul. 33

34

34

35

Interfaa programului Access

Moduri de lucru in Access36

Moduri de vizualizare

CampuriTabelele reprezint obiectele din cadrul bazei de date n care se stocheaz datele. Un tabel este constituit din cmpuri, care sunt coloane ale acelui tabel i crora li se atribuie :un nume - Microsoft Access permite folosirea numelor pentru cmpuri cu o lungime de pn la 64 de caractere inclusiv spaiile nglobate.

un tip de data

o dimensiune bine precizat.37

Datasheet View

38

Design View

39

40

Tipuri de date Access

41

Tip de dat de tip TEXTConine caractere alfabetice, caractere speciale, sau numere sau combinaii text, gen caractere alfabetice , caractere speciale i numere. Cmpurile dedicate sunt numele, prenumele, adresa, de asemenea numere ce nu necesit calcule precum numrul de telefon, codul postal etc.

Accept maxim 255 caractere i nu memoreaz spaiile neocupate , se memoreaz doar textul introdus.

Dimensiunea se definete prin FieldSize property.

Dimensiunea prestabilit a unui cmp text n Access este de 255 caractere, dar putem alege orice dimensiune ntre 1 i 255.42

Tip de dat de tip MEMO

Special conceput pentru text de dimensiuni mari. Utilizat pentru descrieri, note, diagnostic, istoric bolnav, etc.

Dimensiunea unui cmp de tipul Memo este de 64KB (kilooctei), asta nsemnnd c putem stoca aproximativ aproximativ 25 pagini text (2000-3000 caractere/pag)

Cmpurile memo constau numai din text. Pot fi incluse secvene de salt la nceput de rnd sau salt la rnd nou, dar nu se accept opiuni de formatare a textului sau indentarea unui paragraf.43

Tipul de dat de tib NUMBERTipul Number include mai multe tipuri care difer prin modul de stocare i viteza de rspuns:

1. tipul Byte (Octet), care accept numai valori ntregi pozitive pn la 255; dimensiune = 1 byte

2. tipul Integer, care acoper domeniul numerelor ntregi de la -32.768 la 32.768; dimensiune = 2 byte

3. tipul Long Integer - reprezint numerele ntregi pn dincolo de limitele de plus i minus 2 miliarde; dimensiune = 4 byte

44

4. tipul Decimal - numere reale de la -10^28 -1 through 10^28 -1.; dimensiune = 12 byte; precizie 28 zecimale;

5. tipul Single, care acoper domeniul numerelor fracionare cu pn la 7 cifre semnificative; dimensiune = 4 byte; precizie 28 zecimale;

6. tipul Double, care acoper domeniul numerelor fracionare cu pn la 15 cifre semnificative; dimensiune = 8 byte; precizie 15 zecimale;

7. Identificator Global Unic (Globally unique identifier - GUID) - care este reprezentat pe 16 octei i a fost creat cu scopul de a asigura un identificator unic global pentru bazele de date n cazul crora trebuie realizat sincronizarea unor mari cantiti de date suplimentare.

45

Tip de dat DATE/TIME

Microsoft Access stocheaz intern datele calendaristice sub forma unor numere n virgul mobil pe 8 octei, ora fiind reprezentat ca o fraciune dintr-o zi.

n general este suficient n majoritatea situaiilor opiunea Short Date (Forma scurt a datei), dei s-ar putea s dorim ca anul s fie reprezentat pe formatul de 4 cifre.46

Tip de dat CURRENCYPentru valori monetare .

Se evit rotunjirea n cadrul calculelor efectuate.

Acurateea const n 15 numere la stnga punctului zecimal respectiv 4 numere la dreapta. Adica acoper valorile ntregi pn la 15 cifre i valorile zecimale pn la sutimi de cent.

Acest format asigur o precizie sporit calculelor financiare, dar este mai lent dect tipurile de numere ntregi sau n virgul mobil.

Dimensiune 8 bytes.

47

Tip de dat AUTONUMBER

Form de introducere a valorilor numerice unice.

Se pot aloca numere consecutive secvenial, prin incrementare cu 1 respectiv se pot aloca numere aleator alese pentru fiecare nregistrare adugat;

Prestabilit ca fiind Long Integer;

Dimensiune : 4 bytes sau 16 bytes numai pentru Replication ID (GUID).

48

Tip de dat YES/NO

Cmpuri de tip dicotomic de form Da/Nu, Adevrat/FalsPrezent/Absent On/Off.

Dimesniune 1 bit49

Tip de dat OLE OBJECTTipul de cmp OLE este destinat pstrrii datelor provenite de la alte programe, care s-au nregistrat ele nsele ca servere OLE n Windows. Aceasta permite bazei de date s stocheze documentele create de programe de prelucrare a textelor, seturi de foi de calcul, ilustraii, sunete, videoclipuri, etc.

Exemple Obiecte : fiiere imagine, fiiere sunet, documente Microsoft Word, foi callcul Microsoft Excel.

Se pot crea legturi ctre obiectul respectiv sau se pot nsera n bazele de date.

Dimensiune: pn la 1 gigabyte (sau poate fi limitat de spaiul de stocare).

50

Tip de dat HYPERLINK

Cmp ce conine o legtur de tip hyperlink. Poate reprezenta o cale sau o adres URL

Creeaz un cmp ce permite afiarea unor valori prestabilite

51Tip de dat LOOKUP WIZARD