Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » afaceri » turism
Baza de date in turism

Baza de date in turism


Baza de date in turism

1. Concepte de baza privind proiectarea bazelor de date

Din simpla observatie a pietei aplicatiilor profesionale, in tara noasta interesul pentru managementul sistemelor informatice in administrarea afacerilor de turism, a crescut considerabil in ultimii ani. Prin urmare, totalitatea informatiilor manageriale devin colectii de date structurate in articole si care descriu o entitate , o asociatie intre entitati, un eveniment de evolutie sau de actualitate. Exista o serie intreaga de definitii ale bazelor de date astfel:

O baza de date  poate fi definita ca un ansamblu de date elementare sau structurate, accesibile unei comunitati de utilizatori. Mai concret, o baza de date este un ansamblu de fisiere intercorelate, care contine nucleul de date necesare unui sistem informatic sau aplicatie informatica.



Baza de date este un ansamblu strucutrat unitar al fisierelor de baza ale sistemului informatic inregistrate pe suport adresabil de mare capacitate, care raspunde calitatilor: centralizarea, coordonarea, integrarea si difuzia informatiilor care asigura satisfacerea tuturor necesitatilor de prelucrare ale tuturor componentelor sistemului. Banca de date se constituie dintr-o baza de date impreuna cu tot ansamblul programelor pentru memorarea, actualizarea si cautarea selectiva a informatiilor, independent de o anume aplicatie.

Unii specialisti, cum ar fi C. Delobel si M. Abida, au definit bazele de date ca fiind " un ansamblu structurat de date inregistrate pe suporturi accesibile calculatorului pentru a satisface simultan mai multi utilizatori de o maniera selectiva si in timp oportun".

G. Gardarin, insista asupra faptului ca " pentru ca un ansamblu de date neindependente sa fie o baza de date, acestea trebuie sa fie interogabile prin continut, dupa orice criteriu precum si sa fie posibila regasirea structurii datelor".

Prof. univ. O. Basca relateaza faptul ca, o baza de date contine toate informatiile necesare despre obiectele ce intervin intr-o multime de aplicatii, relatiile logice dintre aceste informatii si tehnicile de prelucrare corespunzatoare. In bazele de date are loc o integrare a datelor, in sensul ca mai multe fisiere sunt privite in ansamblu, eliminandu-se informatiile redundante. Este permis accesul simultan la aceleasi date, situate in acelasi loc sau distribuite spatial, a mai multor persoane prin mai multe tipuri de interogari.

1.1. Clasificarea bazelor de date

In functie de conditiile concrete in care se realizeaza, o baza de date se incadreaza intr-o anumita categorie, avand anumite caracteristici. Astfel, criteriile ce se au in vedere la proiectarea si realizarea bazelor de date pot constitui, in acelasi timp, si criterii de clasificare a bazelor de date. Dintre acestea, cele mai importante sunt considerate a fi urmatoarele:

domeniul de aplicatii;

modul de organizare, structurare si accesare a datelor;

gradul de centralizare a datelor;

modul de prelucrare.

Dupa domeniul de aplicatii, bazele de date pot fi de doua feluri:

baze de date universale, care satisfac toate cerintele in cadrul unei anumite structuri organizatorice si functionale ( ex. la nivelul unei entitati economice);

baze de date specializate, care satisfac cerintele unor anumite sectoare de activitate( ex. baza de date privind sistemul de sanatate, baze de date privind activitatea de cercetare, de invatamant, etc).

In functie de modul de organizare, structurare si accesare a datelor, cele mi cunoscute tipuri de baze de date sunt:

v    bazele de date de tip retea au la baza organizarea si structurarea datelor dupa modelul de tip retea;

v    bazele de date ierarhice se caracterizeaza prin faptul ca elementele componente au relatii de subordonare de tip unul la multi, astfel incat fiecare entitate are in subordine una sau mai multe entitati si este subordonata, la randul ei, unei singure entitati superioare, conform modelului ierarhic de organizare a datelor;

v    bazele de date relationale au la baza modele de date relationale;

v    bazele de date orientate pe obiecte, numite si baze de date obiectuale, sunt constituite pe modele de date complexe, structurate pe obiect. Conceptul de obiect defineste o entitate informationala atat ca structura, cat si ca functii( comportament). Acestea sunt superioare celorlalte prin faptul ca se construiesc o singura data si pot fi utilizate de nenumarate ori, ceea ce asigura crearea rapida de aplicatii complexe.

In functie de gradul de centralizare a datelor, bazele de date pot fi de doua tipuri:

bazele de date centralizate

bazele de date distribuite

Bazele de date centralizate sunt colectii de date grupate, atat din punct de vedere fizic, cat si logic, intr-un punct central unde se asigura prelucrarea integrata a acestora. Bazele de date care fac parte din aceasta categorie se pot caracteriza printr-un grad ridicat de protectie si securitate a datelor;

Bazele de date distribuite reprezinta colectii de date care, din punct de vedere fizic, sunt dispersate in diferite puncte( statii) ale unei retele, iar din punct de vedere logic sunt integrate in cadrul unui sistem informatic, fie prin relatii functionale, fie prin aceea ca sunt copii ale aceluiasi fisier, astfel incat acestea constituie o colectie unica de date. Altfel spus, o baza de date distribuita este un ansamblu de baze de date gestionate de catre diferite site-uri si aparand pentru utilizator ca o baza unica. De aceea, datorita dispersarii si autonomiei colectiilor de date, bazele de date distribuite nu asigura o buna protectie si securitate a datelor.

Bazele de date distribuite se impart in patru categorii: omogene, eterogene, multibaze si baze federative.

Dupa modul de prelucrare a datelor, bazele de date pot fi de doua tipuri:

bazele de date operationale sunt utilizate in principal in scenarii de tipul OLTP( On-Line Transaction Processing), cand datele sunt introduse si actualizate zilnic. Datele stocate in acest tip de baza de date sunt dinamice, continutul acestora fiind disponibil la putin timp dupa actualizare;

bazele de date analitice sunt utilizate in cazul scenariilor de tip OLAP( On-Line Analytical Processing), in care datele stocate sunt istorice si dependente de timp. Acest tip de date sunt statice, actualizarea lor realizandu-se rar.

Pe langa aceste tipuri de baze de date prezentate mai sus, mai exista o serie de baze de date mai "speciale". Astfel, mai exista:

- bazele de date multidimensionale reprezinta un ansamblu de date constituite prin extractie sau transformare de date din bazele de date interne sau externe, variind in timp, organizate multidimensional si explorate folosind interogari conventionale sau tehnici specifice de analiza simpla( OLAP) sau de analiza avansata( Data Mining). Aceste baze de date pot constitui suport pentru desfasurarea unor activitati cum a fi analiza vanzarilor si marketing, urmarirea si fidelizarea clientilor, raportare financiara si consolidare, prognozare, planificare pe termen mediu si lung.

- bazele de date deductive permit interpretarea unui volum mare de date prin intermediul datelor si regulilor pe care le inmagazineaza. Permit astfel realizarea unor deductii pe baza datelor existente. Tehnologia bazelor de date deductive poate fi folosita intr-o arie extinsa de domenii, cum ar fi: sisteme suport pentru asistarea deciziei, sisteme expert, etc.

- bazele de date active reactioneaza la evenimente pentru a controla integritatea referentiala, pentru a gestiona redundantele, pentru a autoriza sau a interzice accesul la datele sale si, nu in ultimul rand, pentru a administra comportamentul reactiv al aplicatiilor cu baze de date. Acest tip de baze de date integreaza intr-o maniera procedurala regulile de productie ale inteligentei artificiale.

- baze de date on-line.

1.2. Proprietatile bazelor de date

Bazele de date prezinta o serie de proprietati, fiecare avand o importanta deosebita. Astfel, proprietatile bazelor de date sunt:

a)     centralizarea descrierii informatiei;

b)     independenta programelor fata de structura datelor;

c)     non-redundanta informatiilor;

d)     distribuirea informatiilor catre mai multi utilizatori;

e)     asigurarea consistentei datelor prin actualizari unice;

f)      protectia si securitatea datelor;

g)     accesul la date prin prelucrari multiple;

h)     interfata interactiva cu utilizatorul la nivelul aplicatiilor dedicate sau realizate de un utilizator printr-un limbaj de programare, specific fiecarui SGBD, cat mai indepartat de complexitatea reala a structurii logice si fizice a bazei de date.

1.3. Obiective fundamentale ale unei baze de date

Bazele de date prezinta o serie de obiective pe care trebuie sa le indeplineasca, obiective care reies din proprietatile si functiile, cat si din tipologia bazelor de date. Astfel, principalele obiective ale unei baze de date sunt:

centralizarea datelor permite suprimarea redundantei, asigurarea unicitatii inregistrarii si controlul centralizat asupra datelor;

integritatea datelor asigura fiabilitatea si coerenta bazei de date. Pentru aceasta sunt necesare anumite restrictii de integritate, cum ar fi apartenenta la o anumita lista de valori sau la un anumit format, reguli de coerenta cu alte date;

securitatea datelor. Baza de date trebuie sa fie protejata impotriva unei distrugeri fizice sau logice. De aceea, exista o serie de instrumente care permit crearea unor puncte de repriza si gestiunea unui jurnal de tranzactii, instrumente care cresc secutitatea datelor inregistrate in baza de date;

confidentialitatea datelor este asigurata prin proceduri de identificare a utilizatorilor prin nume sau cod, autentificare prin parole si autorizarea accesului diferentiat prin drepturi de creare, consultare, modificare sau stergere pentru anumite segmente de date;

partajarea datelor permite inlantuirea tranzactiilor solicitate simultan pe aceeasi inregistrare din baza de date, prin blocarea cererilor in asteptare si deservirea ulterioara a acestora.

1. Sistemul de gestiune al bazei de date

Pachetul de date care joaca rolul unui sistem de operare pentru baza de date se numeste sistem de gestiune a bazei de date( S.G.B.D.). In principal, el permite organizarea datelor pe suport periferic si ofera procedurile de cautare si selectie a datelor.

Sistemul de gestiune al unei baze de date prezinta anumite functii. Acestea sunt urmatoarele:

descrierea S.G.B.D. pune la dispozitia utilizatorului instrumente de descriere a ansamblului de date ce vor fi stocate in baza de date. Descrierea se poate face la nivel logic( nivelul perceperii ei de catre utilizatori) si la nivel fizic( nivelul organizarii datelor pe suport);

utilizarea S.G.B.D. Functia are ca scop sa ofere utilizatorului posibilitatea de a dialoga cu baza de date pentru cautarea, selectarea si modificarea de date;

integritatea S.G.B.D. Pentru diminuarea riscului de inregistrare eronata a datelor, risc care creste odata cu volumul de date, se ofera utilizatorului posibilitatea definirii regulilor de validare, numite restrictii de integritate;

confidentialitatea S.G.B.D. Daca o baza de date este partajata intre mai multi utilizatori, anumite subansamble de date trebuie protejate la accesul din partea utilizatorilor care nu au drept de acces la ele. S.G.B.D. ofera un procedeu de verificare a drepturilor de acces;

acces concurent. In cazul in care aceleasi date sunt cerute de mai multi utilizatori in acelasi timp, un S.G.B.D. trebuie sa detecteze cazurile de conflict de acces si sa le trateze pe baza unui principiu asemanator sistemelor de operare;

securitatea in functionare. In cazul unui incident in functionare, un S.G.B.D. trebuie sa salveze starea dinaintea incidentului, pentru a putea relua lucrul  dupa reparare.

Fiind structuri cu o importanta deosebita, sistemele de gestiune a bazelor de date trebuie sa atinga anumite obiective. Dintre obiectivele sistemului de gestiune a unei baze de date, cele mai importante sunt:

v           Independenta fizica. Aceasta presupune realizarea independentei structurilor de stocare in raport cu structurile de date din lumea reala;

v           Independenta logica a datelor se refera la posibilitatea adaugarii de noi articole sau extinderea structurii conceptuale, fara ca aceasta sa impuna rescrierea programelor existente;


v           Manipularea datelor de catre neinformaticieni. Aceasta presupune utilizarea unui limbaj cat mai apropiat de limbajul natural, ceea ce permite exploatarea cu usurinta a bazei de date de catre utilizatorii finali;

v           Eficacitatea accesului la date se realizeaza prin limbaje de manipulare a datelor( limbaj procedural) sau prin limbaj nonprocedural, care permite utilizatorului sa descrie ceea ce vrea sa obtina fara a da modul in care poate sa obtina;

v           Administrarea centralizata a datelor presupune definirea structurii datelor si a modului de stocare a acestora, permitand organizarea coerenta si eficace a informatiei;

v           Neredundanta datelor presupune neduplicarea fizica a datelor.

v           Coerenta datelor pesupune satisfacerea constrangerilor statice sau dinamice, locale sau generale;

v           Partajarea datelor presupune utilizarea datelor de mai multe aplicatii ce efectueaza operatii asupra bazei de date;

v           Securitatea si confidentialitatea datelor presupune protectia impotriva accesului neautorizat sau rau intentionat, prin mecanisme care permit identificarea si autentificarea utilizatorilor. Un S.G.B.D. trebuie sa asigure securitatea fizica si logica a bazei de date si sa garanteze ca doar utilizatorii autorizati efectueaza operatii asupra bazei de date. Aceasta functie este deosebit de impoprtanta si se realizeaza prin gestiunea autorizatiilor, controlul validitatii operatiilor si protectia datelor impotriva accesului neautorizat prin parolare, criptare etc.

2. Modele de reprezentare a datelor

In tehnica proiectarii bazelor de date trebuie sa se tina seama de modurile de structurare a datelor. Exista doua astfel de moduri de structurare a datelor si anume:

- Prima forma de structurare se refera la modul de asociere a datelor pentru a forma descrierile tipurilor de entitati. Este vorba de modul de agregare a valorilor pentru a forma tipul entitate;

- A doua forma de structurare a datelor este data de modul de reprezentare a relatiilor( legaturilor) intre diferite multimi de entitati ale bazei de date. Modelele de date aparute difera intre ele prin modul in care se pot realiza legaturile dintre multimile de entitati.

In functie de aceste moduri de reprezentare a datelor in cadrul bazelor de date, dar si de legaturile intre multimile de entitati, modelele de reprezentare a datelor se impart in sase categorii:

modelul ierarhic;

modelul retea;

modelul relational;

modelul obiect;

modelul obiect-relational;

modelul fizic.

Modelul ierarhic

In ordine cronologica, modelul ierarhic a fost primul model de reprezentare a datelor utilizat in bazele de date, avand la baza o structura arborescenta, in care un nod parinte poate avea mai multe noduri copil, in timp ce un nod copil poate avea un singur nod parinte.

Acest model de date a fost utilizat incepand cu anii 1969-1970, prin intermediul sistemului de gestiune IMS( Integrated Management System), promovat de firma IBM, sistem ce folosea un limbaj de descriere a datelor.

Modelul de date ierarhic foloseste doua forme de structurare, inregistrarile pentru reprezentarea tipurilor de entitate si legaturile explicite pentru specificarea relatiilor si conexiunilor generice intre entitati.

Structurile de date din cadrul modelului ierarhic pot fi descrise prin diagrama de structura a datelor, un instrument de abstractizare, reprezentare si analizare a proprietatilor modelului conceptual al bazei de date.

Diagrama de structura este un graf orientat reprezentand tipuri de entitati si legaturilor functionale intre acestea. Nodurile grafului corespund tipurilor de entitati, arcele grfului reprezentand legaturile functionale intre tipurile de entitati de la capetele sale, orientarea arcului este opusa sensului functionalitatii legaturii.

Modelul de date ierarhic foloseste pentru reprezentarea relatiilor intre entitati legaturi explicite de tip parinte-fiu ceea ce face ca legaturile de tip 1:1 si 1:N sa fie bine reprezentate. Modelul ierarhic nu exclude reprezentarea legaturilor de tip M:N dar acestea sunt reprezentate cu pretul introducerii duplicatelor.

O baza de date ierarhica este formata dintr-un set de inregistrari care sunt interconectate prin intermediul unor legaturi. O inregistrare reprezinta o colectie de campuri, fiecare camp continand o singura valoare, iar prin legatura se intelege o asociere intre doua inregistrari. Fiecarui tip de inregistrare din diagrama de structura ii corespunde, in baza de date, un anumit numar de inregistrari( realizari).

Modelul retea

Modelul retea are la baza structura de tip retea. Acest model este similar cu modelul ierarhic, un nod parinte putand avea mai multe noduri copil, deosebirea constand in faptul ca un nod copil poate avea mai multe noduri parinte.

In ordine cronologica, acest tip de model a fost utilizat incepand cu anul 1970, prin intermediul sistemului IDS( Integrated Data System ), furnizat de firma Honeywell-Bull. Recomandarile standard pentru organizarea datelor in baze de date de tip retea au fost date in 1971 si definitivate in 1973 de catre CODASYL-DTBG (Conference Data System Language-Data Base Task Group). Aceste standarde specifica principiile de organizare si definesc limbajul de descriere si de interogare a bazelor de date tip retea. Raportul original a suferit modificari in anii 1976, 1978, 1978.

In 1974 apare SOCRATE al firmei franceze Compagnie Internationale pour l'Informatique (CII) care respecta standardele bazelor de date in retea.

Reprezentarea modelului retea se realizeaza tot prin intermediul diagramelor de structura, care se aseamana cu un graf. Diferenta este ca nodurile reprezinta tipurile de entitati( date), iar legaturile( arcele) dintre noduri reprezinta legaturile functionale intre entitati.

Dezavantajul modelului de date de tip retea este dat de faptul ca are o structura foarte apropiata de modul de stocare, legaturile intre entitati sunt explicite, realizate prin poinetri a caror gestiune si manipulare revine utilizatorului. Intreaga structura de liste circulare este vizibila utilizatorului. Aplicatiile devin complexe deoarece operatiile de acces la date presupun abilitatea de parcurgere a listelor de pointeri. Altfel spus, acest model de date nu realizeaza corect independenta fizica si logica a datelor.

O baza de date retea este formata, ca si o baza de date ierarhica, dintr-un set de inregistrari care sunt interconectate prin intermediul unor legaturi. Similar cu modelul ierarhic, fiecarui tip de inregistrare din diagrama de structura ii corespunde, in baza de date retea, un anumit numar de inregistrari( relatii).

Modelul relational

Introdus de E.F. Codd[1], modelul relational constituie si astazi cel mai utilizat model de reprezentare a datelor si de gestionare a bazelor de date.

Modelul relational a aparut tarziu, fiind necesara atingerea unui anumit nivel de performanta a sistemelor de calcul. Principiile care stau la baza modelului relational pornesc de la teoria matematica a relatiilor fapt ce permite definirea si deducerea concisa a proprietatilor acestuia.

Modelul relational a devenit unul din cele mai folosit model de date datorita flexibilitatii structurii lor si a usurintei in utilizare. Modelul de date relational este folosit acum in toate SGBD actuale ce dispun de limbaje de descriere si manipulare a datelor de nivel inalt, simple si puternice care asigura o independenta a datelor atat fizica cat si logica. Caracteristica principala a acestor limbaje, denumite generic limbaje relationale, este posibilitatea de a defini relatii noi pe baza unor relatii deja existente. Pornind de la aceste limbaje, in cadrul sistemelor de gestiune a bazelor de date au fost definite interfete flexibile si prietenoase care permite utilizarea bazelor de date de catre categori foarte largi de utilizatori.

Modelul de date relational urmareste o reprezentare omogena a legaturilor ce se stabilesc intre date.

Schema unei relatii este formata din numele relatiei, atributele acesteia si restrictiile de integritate.

Domeniul este o notiune mai cuprinzatoare decat atributul, reprezentand multimea tuturor valorilor posibile care definesc o anumita proprietate a unui obiect, spre deosebire de atribut, care reprezinta multimea valorilor existente, la un moment dat, in coloana pe care o desemneaza in cadrul relatiei. Intr-o relatie pot exista mai multe atribute care iau valori in aceleasi domenii.

Relatiile se prezinta intr-o forma simpla, prin tabele supuse anumitor restrictii:

v    in fiecare coloana toate valorile sunt de acelasi fel;

v    fiecare valoare este un numar sau un sir de caractere( nu trebuie sa fie grup sau ansamblu);

v    ordinea liniilor in tabel nu este predefinita si nu sunt admise duplicatele;

v    coloanele sunt identificate prin nume distincte, care reprezinta atributele relatiei.

Schema relationala a unei baze de date ce foloseste modelul relational de structurare a datelor contine schemele tabelelor( structura tabelelor) si restrictiile de integritate( la nivelul atributelor din tabel, la nivelul tabelului si la nivel inter-tabele).

Restrictiile de integritate sunt reguli care asigura corectitudinea si coerenta datelor. In cazul modelului relational, acestea sunt reprezentate de:

unicitatea cheii( UNIQUE);

referentiala-cheia externa( REFERENTIAL);

integritatea entitatii( NOT NULL);

cheie primara( PRIMARY KEY);

comportament( CHECK);

dependenta datelor la proiectare.

Succesul modelului relational este asigurat de faptul ca:

este un model simplu si, in consecinta, usor;

dispune de o baza solida pentru proiectarea componentelor principale ale bazei de date, numite tabele;

pe specificul lui s-a dezvoltat un set de operatori ce formeaza impreuna algebra  relationala si un limbaj standard de gestiune a bazelor de date relationale, si anume limbajul SQL( Strucutured Query Language).

In pofida faptului ca modelul relational este cel mai utilizat la ora actuala, el prezinta si o serie de dezavantaje. Dintre acestea, cele mai importante sunt:

nu permite deschiderea structurilor de date complexe( date in format multimedia, documente electronice, grafice etc.);

nu permite definirea unor tipuri de date-utilizator;

nu permite partajarea/reutilizarea structuilor de date;

nu permite declararea prelucrarilor aferente structurilor de date( datele sunt descrise separat de prelucrari).

Modelul obiect

Modelarea orientata obiect se bazeaza pe urmatoarele concepte de baza: obiect, abstractizare, incapsulare, mostenire si polimorfism. In esenta, modelul orientat obiect permite modelarea directa a realitatii prin intermediul obiectelor definite ca entitati cu identitate proprie si caracterizate prin stare si comportament. Orice entitate din lumea reala este un obiect, si reciproc, orice obiect reprezinta entitate din realitate. Obiectele pot "comunica" intre ele prin intermediul mesajelor.

Cronologic, acest model a fost utilizat incepand cu sfirsitul anilor 1960[2]. Ulterior, paradigma modelarii orientate obiecta fost adoptata si de alte limbaje si chiar sisteme de gestiune a bazelor de date .

Un obiect poate fi caracterizat prin intermediul anumitor trasaturi. Dintre acestea cele mai importante sunt: identitatea, comportamentul si starea unui obiect.

Identitatea unui obiect este proprietatea acestuia care il distinge de alte obiecte si este, de regula, o adresa logica invarianta sau un pointer.

Starea unui obiect este definita de valorile sau realizarile atributelor sale. Un atribut poate fi definit printr-un nume si poate lua valori elementare sau complexe. Atributele se pot concretiza in locatii de memorie in care sunt stocate datele aferente.

Comportamentul unui obiect este definit de setul de operatii sau metode aplicabile obiectului respectiv. Aceste operatii sau metode sunt de regula proceduri sau functii care actioneaza asupra atributelor obiectului respectiv.

Un obiect mai poate fi caracterizat prin prisma unei serii de procese importante. Astfel, dintre procesele care interactioneaza cu un obiect, cele mai importante sunt:

v    Abstractizarea. Aceasta este procesul prin care obiectele cu aceleasi atribute si cu un comportament comun sunt grupate in tipuri abstracte de date numite si clase;

v    Incapsularea consta in capacitatea obiectelor sau a claselor de obiecte de a contine la un loc atat date, cat si operatii dintre care doar o parte sunt vizibile in exterior. Astfel, obiectele/clasele de obiecte apar ca niste cutii negre care ascund detaliile de implementare, oferind in schimb o interfata mai simpla pentu rezolvarea unei probleme;

v    Mostenirea este procesul prin care atributele si metodele publice( vizibile la exterior) ale unei clase, numita clasa de baza, sunt preluate automat de o alta clasa inrudita, numita clasa derivata sau subclasa. Mostenirea este o tehnica prin care se incurajeaza reutilizarea/partajarea datelor. Prin intermediul acesteia, se pot realiza operatii sau relatii foarte utile intre clase: clasificare, sortare, generalizare, specializare;

v    Polimorfismul semnifica posibilitatea unui obiect sau instanta a unei clase sa raspunda diferit la primirea aceluiasi mesaj. Acesta poate fi definit prin doua cai: redefinirea metodelor mostenite in clasele derivate si supraincarcarea unei metode in cadrul aceleiasi clase.

Schema unei baze de date orientate obiect se compune din definitii de clase, legaturi intre aceste clase si restrictii de integritate.

Modelul obiect-relational

Modelul obiect-relational a aparut prin imbinarea proprietatilor modelului orientat obiect( structuri de date complexe, mostenite) cu cele ale celui relational( tabele bidimensionale, acces optimizat si concurent, standardizare).

Modelul obiect-relational constituie o extensie a modelului relational. Principala imbunatatire adusa modelului relational o constituie tipurile abstracte de date( TAD) care permit: partajarea datelor, utilizarea structurilor de date complexe, incapsularea si mostenirea.

Tipurile abstracte de date( TAD) reprezinta tipuri de date definite de utilizator, diferite de tipurile implicite, ce pot fi utilizate la definirea tabelelor. Deosebirea fundamentala dintre un TAD si o clasa consta in faptul ca in timp ce clasa admite instansieri directe, un TAD serveste numai ca model la definirea unuia sau mai multor tabele. Aceasta deosebire reprezinta si modul de partajare a datelor in cadrul acestui model.

Complexitatea TAD-ului rezida din faptul ca un camp din structura sa poate fi un tip de date elementar sau o colectie.

In cadrul acestui model, mostenirea se realizeaza prin posibilitatea derivarii unui TAD generic in TAD-uri specializate. Prin mostenire, un TAD derivat poate prelua datele si metodele TAD-ului de baza.

Schema unei baze de date obiect relational contine schemele TAD-urilor, ale tabelelor, relatiile dintre acestea, precum si restrictiile de integritate.

Modelul fizic

Modelul fizic descrie structura sub care inregistrarile se gasesc efectiv pe suportul tehnic de date sau in memoria interna a calculatorului. Fiecare inregistrare logica este scrisa la o anumita adresa fizica reprezentata prin cilindru, pista si cilindru.

3. Crearea unei baze de date in ACCESS

Crearea unei baze de date in ACCES presupune crearea in prealabil a unei serii de elemente fara care o baza de date nu poate exista. Altfel spus, o baza de date ACCES poate fi definita ca o colectie de obiecte: tabele, cereri de interogare, formulare, rapoarte, pagini WEB, comenzi macro si module.

Combinarea proprietatilor si  a metodelor intr-un obiect si apoi adaugarea unei prezentari standard asigura utilizatorilor de aplicatii urmatoarele avantaje:

datele si codul de program care le trateaza sunt combinate in cadrul unui singur obiect pe care-l puteti trata ca pe o cutie neagra;

cand este necesar, obiectele pot fi reutilizate;

obiectele pot fi utilizate de orice aplicatie WINDOWS care accepta OLE;

OLE permite o creare usoara a obiectelor.

Spre deosebire de Excel, Access va permite sa stocam si sa administram volume mari de date, organizate in unitati numite inregistrari. O baza de date Access consta din urmatoarele obiecte:

● Tabele - contin toate inregistrarile;

  • Interogari - localizeaza inregistrari specifice;
  • Formulare - afiseaza inregistrarile din tabele, una cite una;
  • Rapoarte - tiparesc loturi de inregistrari;
  • Pagini de acces la date - pun la dispozitie date prin intermediul paginilor Web;
  • Macrocomenzi - actiuni automate uzuale;

● Module - stocheaza declaratii si proceduri Visual Basic, care ne permit sa scriem programe pentru bazele de date, astfel incat acestea sa poata interactiona cu alt software.

3.1. Crearea tabelelor in ACCESS

Tabela( table) reprezinta un obiect definit de utilizator in care sunt stocate datele primare. Aceasta poate stoca datele in formatul rand-coloana. O baza de date ACCESS poate cuprinde cel mult 32768 de tabele, dintre care 254 pot fi deschise in acelasi timp, daca exista resursele necesare.

Crearea unei tabele se poate realiza in trei moduri:

prin utilizarea ferestrei de proiectare( utilizand modul de proiectare Design View);

prin introducerea datelor( Create table by entering data);

prin utilizarea instrumentului Wizard.

Crearea unei tabele in ACCESS pesupune, in principal, prezentarea celor trei caracteristici principale a unei tabele:

- Field Name reprezinta numele campurilor, care nu pot fi mai lungi de 64 de caractere. De asemenea, numele campurilor sunt obligatorii, intr-o baza de date nu pot exista doua campuri cu acelasi nume si nu trebuie sa contina caractere de tipul [,], [.], ['], [!] etc;

- Data Type reprezinta prezentarea tipului de date si este obligatoriu. Tipul unui camp poate fi: text, memo, number, date/time, currency, autonumber, yes/no, OLE object, hyperlink si lookup wizard. Aceste tipuri prezinta fiecare cate o caracteristica determinanta a campului. Astfel:

  • Text - pentru texte sau numere care nu vor fi folosite in calcule;
  • Memo - pentru texte lungi (biografia autorului, rezumatul cartii etc.);
  • Number - pentru numere care vor fi folosite in calcule;
  • Date/Time - pentru date calendaristice;
  • Currency - pentru valori banesti;
  • AutoNumber - pentru numere intregi care isi maresc in mod automat valorile (numarul de ordine, de exemplu);
  • Yes/No - pentru valori logice care pot lua numai doua valori: Yes (adevar), No (fals);
  • OLE Object - pentru imagini (fotografia autorului), sunete (imnul tarii);
  • Hyperlink - pentru adrese Hyperlink. Valorile acestui cimp pot fi adrese Internet (de exemplu, www.google.com) sau locatii (calea spre un fisier
    sau dosar din calculator)
  • Lookup Wizard - reprezinta, de fapt, nu un tip de date, ci o proprietate a cimpului prin care valorile lui pot fi selectate din alt tabel. Acest mod de abordare simplifica procedura introducerii valorilor cimpului si, in plus reduce riscul comiterii unor erori.

- Description reprezinta o descriere optionala a unui camp al unei tabele.

Proprietatile campurilor unei tabele

In afara de tipul cimpului, putem stabili si unele proprietati ale sale, cum ar fi marimea( Field size), numarul cifrelor zecimale( Decimal Places), formatul datei calendaristice, formatul datelor dintr-un camp( Format) etc. Fiecare tip de date are proprietati prestabilite, dar ele pot fi modificate, executind un clic pe cimpul respective si modificind valorile prestabilite care apar in partea de jos.

Cimpurile de tip Text pot avea lungimi cuprinse intre l si 255 de caractere. Implicit, marimea cimpului este de 50, dar ea poate fi modificata in limitele amintite, in functie de lungimea maxima preconizata a valorilor cimpului respectiv.

Mentionam si cu aceasta ocazie, ca pentru cimpurile ce contin numai valori numerice(identificatori numerici), care nu vor fi folosite in calcule, vom prefera tipul Text in locul tipului Number. Acest mod de abordare va facilita ulterior cautarea informatiei in baza de date.

Cimpurile de tip Number au lungimi diferite in functie de optiunea specificata pentru proprietatea Field Size.

Optiunea implicita pentru cimpurile de tip Number este, de regula, Single, dar ea poate fi modificata, utilizind comanda Options din meniul Tools. Pentru cimpurile de tip Number poate fi stabilita si proprietatea Format, in care specificam modul de afisare a valorilor (numarul cifrelor zecimale etc.).

Cimpurile de tip Date/Time au lungimi variabile in functie de formatul datei/orei specificat pentru proprietatea Format a cimpului. De altfel, formatul de reprezentare a datelor calendaristice, la fel ca si delimitatorii dintre data, luna si an, pot sa difere de cele utilizate in aceasta lucrare. Reprezentarea datelor tine de modul in care a fost personalizat sistemul Windows. Pentru a schimba formatul de reprezentare a datelor calendaristice (dar si a orei, a numerelor si a valutei), este necesara efectuarea setarile respective, utilizind aplicatia Regional Options din meniul Control Panel al meniului de baza Start.

Cimpurile de tip logic ( Yes/No) ocupa in memoria calculatorului un octet si pot fi reprezentate in 4 moduri, in functie de optiunea specificata pentru proprietatea Format a acestui cimp, si anume: Yes/No, True/False, On/Off, -1/0. In ultimul caz valoarea - l corespunde starii True (adevar), iar valoarea 0 - starii False (fals).

Daca o buna parte din valorile unui cimp se repeta frecvent, putem specifica o valoare prestabilita (implicita) a cimpului respectiv. Valoarea prestabilita se specifica pentru proprietatea Default Value a cimpului. In procesul introducerii datelor, sistemul atribuie cimpului valoarea prestabilita in mod automat, utilizatorul urmind sa modifice doar valorile care difera de cea prestabilita.

Pentru a diminua riscul introducerii unor valori gresite, putem stabili conditii (reguli) de validare pentru valorile cimpurilor respective. Regulile de validare se stabilesc pentru proprietatea Validation Rule a cimpului. Totodata, pentru proprietatea Validation Text se specifica mesajul care trebuie sa fie afisat in cazul nerespectarii regulii. Mesajul specificat pentru proprietatea Validation Text va fi si el adecvat. In cazul in care regula de validare stabilita prin intermediul proprietatii Validation Rule nu este respectata, va fi afisat mesajul stabilit prin intermediul proprietatii Validation Text. 

Pe langa aceste proprietati mai importante, mai exista o serie de proprietati optionale. Acestea sunt:

  1. Required( cerinta)- in cazul in care valoarea campului Required este Yes, atunci este necesara introducerea unei valori in campul respectiv;
  2. Allow Zero Length( permite lungime zero)- reprezinta o proprietate specifica campurilor de date de tipul Text si Memo. Daca un camp are valoarea acestei proprietati este Yes, iar proprietatea Required este si ea Yes, atunci campul respectiv trebuie sa contina cel putin un caracter;
  3. Indexed( indexat)- dintr-o lista derulanta, poate fi ales un index care permite valorile duplicat si unul care cere ca fiecare valoare din camp sa fie unica;
  4. New Values( valori noi)- reprezinta o proprietate specifica campurilor de date de tipul AutoNumber. Aceasta proprietate poate avea doua valori:

Daca este aleasa valoarea Increment, atunci ACCESS va genera valori noi ale campului AutoNumber, adaugand 1 la cea mai mare valoare existenta;

Daca este aleasa valoarea Random, atunci ACCESS va genera aleator numere intregi ca valori noi pentru campul AutoNumber.

3.2. Crearea interogarilor in ACCESS

O interogare( query) este o definitie a datelor care se extrag: care campuri din tabele, din ce tabele, criterii de selectie, ordinea de sortare etc.

Interogarile afiseaza datele continute in cel mult 16 tabele. Cu ajutorul lor se poate indica modul in care sa fie prezentate datele, alegand tabelele care contin interogarea si cel mult 255 de campuri ale acestora.

Interogarile pot fi de mai multe tipuri, in functie de anumite criterii sau caracteristici. Astfel, in functie de modul de definire si rezultatele actiunii, interogarile pot fi clasificate astfel:

  1. interogari de selectie (folosind conditii logice);
  2. interogari de sortare (indicind cimpul/cimpurile si ordinea sortarii);
  3. interogari de excludere a unor inregistrari din BD, in functie de o anumita conditie;
  4. interogari de modificare a unor inregistrari din BD;
  5. interogari de obtinerea a unor informatii rezultante (in cimpuri noi) in baza informatiei existente;
  6. interogari de obtinere a unor totaluri, medii etc.;
  7. interogarile incrucisate centralizeaza in formatul unei foi de calcul tabelar datele dintr-unul sau mai multe tabele;
  8. interogarile de actiune creeaza noi tabele in bazele de date sau realizeaza modificari majore ale unei tabele;
  9. interogarile parametrice folosesc in mod repetat o interogare si fac numai simple modificari ale criteriilor ei.

Microsoft Access prezinta 4 modalitati de creare a unei interogari si anume:

v    automat, prin intermediul instrumentului Query Wizard;

v    manual, cu ajutorul instrumentului Query Design;

v    comenzi SQL;

v    prin program( bibliotecile ActiveX Data Objects, Data Microsoft Access Objects si obiectele QueryDef).

Dintre aceste modalitati de creare a interogarilor, cele mai des folosite sunt crearea interogarilor manual si prin intermediul comenzilor SQL. Crearea interogarilor prin intermediul comenzilor SQL permite construirea directa a interogarilor pe baza uni limbaj specializat. Daca majoritatea tipurile de interogari pot fi generate folosind QBE, exista interogari ce necesita folosirea unui instrument mai puternic pentru gestionarea acestora, instrument ce se numeste SQL sau Structured Query Language.

3.3. Crearea formularelor in ACCESS

Un formular( form) este compus dintr-o colectie de elemente specifice de proiectare, numite elemente de control sau obiecte de control.

Formularele Access afiseaza datele continute in tabele sau interogari si permit adaugarea altor tabele sau interogari, actualizarea sau stergerea celor existente. In aceste formulare pot fi incluse desene si grafice si in cazul in care exista placa de sunet, povestiri sau muzica.

Formularele Access sunt multifunctionale si permit realizarea diferitelor obiective care nu pot fi indeplinite in modurile de lucru Table View si Query View. Acestea indeplinesc anumite functii, dintre care cele mai importante sunt:

afisarea si editarea datelor;

controlul operatiilor realizate de o anumita aplicatie;

introducerea de date;

afisarea de mesaje;

tiparirea informatiilor.

Avantajele utilizarii fomularelor sunt reprezentate de o interfata mai prietenoasa, posibilitatea definirii unor reguli de validare suplimentare celor definite la nivelul tabelelor si posibilitatea actualizarii mai multor tabele printr-o singura operatiune.

Pe langa avantaje, formularele au si anumite limite. Acestea sunt reprezentate de faptul ca nu pot grupa datele dupa diverse criterii, acest inconvenient fiind eliminat prin utilizarea rapoartelor.

Formularele se clasifica in mai multe tipuri, in functie de 3 criterii principale. Astfel:

dupa sursa de date, formularele pot fi:

v    legate( bound), care permit afisarea si actualizarea datelor din tabele;

v    nelegate( unbound), care permit afisarea sau editarea unor date care nu sunt stocate in tabele.

in functie de modul de afisare, sunt disponibile urmatoarele tipuri de formulare:

v    Single form afiseaza doar inregistrarea curenta;

v    Continuous form, care permite vizualizarea mai multor inregistrari;

v    Datasheet form, care afiseaza datele sub forma de foaie tabelara, pe linii si coloane;

v    Chart form, cae afiseaza datele sub forma grafica.

dupa modul de interactiune cu alte ferestre, formularele pot fide doua tipuri:

v    formularele modale sunt acele formulare care nu permit accesarea obiectelor continute in alte ferestre, pana cand acestea nu sunt inchise sau ascunse;

v    formularele nemodale sunt acele formulare care permit utilizatorilor sa acceseze mai multe ferestre.

Formularele Access pot avea in componenta lor si subformulare. Astfel, subformularele sunt, de fapt, formulare incluse in alte formulare pentru a putea afisa date din mai multe tabele sau cereri de interogare aflate in relatii de tipul unu la unu sau unu la mai multi.

La randul lor, subformularele se impart in doua tipuri principale:

I. foaie de date- pot fi create de o maniera simpla si permit modificari in tabele, in ceea ce priveste dimensiunea si ordinea coloanelor;

II. formular- ofera o mare suplete de prezentare printr-o multitudine de posibilitati de aranjare a datelor, de utilizare a culorilor, de creare a unui antet si subsol de pagina si de includere a unor campuri de tip OLE.

3. Crearea rapoartelor in ACCESS

Rapoartele( reports) reprezinta un tip de fisiere, care tiparesc datele din tabele si interogari in aproximativ toate formatele disponibile. Access permite adaugarea in rapoarte a unor elemente grafice, astfel incat sa poata fi tiparit un catalog complet si ilustrat al produselor dintr-o baza de date.

Rapoartele sunt destinate tiparirii datelor, spre deosebire de formulare, care sunt concepute pentru a afisa datele in interiorul unei ferestre. Acestea nu permit modificarea valorii datelor cu ajutorul casetei TOOLBOX, dar prezinta alte optiuni si anume: previzualizarea si fereastra de proiectare.

Rapoartele pot fi de mai multe tipuri, dupa cum urmeaza:

a)     rapoarte cu o singura coloana, care afiseaza toate campurile unei inregistrari, intr-o coloana;

b)     rapoarte dispuse pe randuri, care afiseaza cate o coloana pentru fiecare camp al tabelei;

c)     rapoarte multicoloana;

d)     rapoarte pentru corespondenta;

e)     rapoarte neasociate.

3.5. Crearea comenzilor macro in ACCESS

Comenzile macro( macros) sunt deosebit de importante in proiectarea bazelor de date, deoarece ele permit automatizarea operatiilor Access. Acestea iau locul codului de programare cerut de alte aplicatii, pentru a executa anumite actiuni ca raspuns la evenimentele initiate de utilizator.

Scrierea comenzii macro echivaleaza cu o serie de completari a unor spatii libere in care pot fi plasate obiecte, prin selectarea lor de pe o lista derulanta. Limbajul de programare al comenzilor macro are un vocabular destul de limitat, dar cu o putere suficienta pentru a putea reusi automatizarea executiei majoritatii operatiilor.

Pentru a se crea o comanda macro, este necesara parcurgerea anumitor etape si anume:

alegerea actiunilor pe care sa le execute comanda macro;

alegerea evenimentului ce va lansa in executie comanda macro;

deschiderea ferestrei de proiectare a comenzilor macro, prin alegerea optiunii de New;

completarea cu actiuni in ordinea impusa de necesitatile obiectivului si specificarea argumentelor fiecarei actiuni;

salvarea ferestrei de comenzi.



Articolul "A Relational Model of Data for Large Shared Data Banks", iunie 1970

Modelul orientat obiect a aparut concomitent cu limbajele de programare Simula67 si Smaltalk, la sfirsitul anilor 1960

Incepand cu anii 1960-1970, modelul orientat obiect a dost utilizat de limbaje de programare ca C++, Pascal sau ADA, si de sisteme de gestiune a bazelor de date ca Ontos, O2, GemStone, Versant sau Jasmine.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.