NOȚIUNI GENERALE PRIVIND TEORIA BAZELOR DE DATE [307460]
CUPRINS
INTRODUCERE
Evoluția din domeniul TIC este bazată pe informație și pe tehnologiile avansate de transmitere și de prelucrare a acesteia. Astfel, a [anonimizat].
[anonimizat], întrucât prin intermediul acestei dezvoltări fără precedent se pun bazele unor centre moderne cu resurse informaționale cu un volum ridicat, o compoziție mare și o durată de viață mai lungă. [anonimizat].
[anonimizat] (colectarea, gestionarea, prelucrarea și stocarea documentelor și a informațiilor), toate acestea pentru îmbunătățirea serviciilor de informare.
[anonimizat], cu ajutorul căruia se ușurează procesele de stocare a documentelor abonaților și cele de gestiune a cărților dintr-o bibliotecă. Se propune obținerea unei performanțe ridicate în această activitate.
[anonimizat], [anonimizat] a bazelor de date relaționale. [anonimizat] a activității unei biblioteci prin intermediul diagramelor UML. [anonimizat] a fost constituit.
NOȚIUNI GENERALE PRIVIND TEORIA BAZELOR DE DATE
O bază de date conține informațiile necesare despre obiectele ce intervin într-o aplicație, relațiile logice dintre aceste informații și tehnicile de prelucrare corespunzătoare. [anonimizat], eliminându-se cele care nu sunt necesare.
O baza de date poate fi de două feluri: integrată și partajată. O bază de date integrată este acea bază de date ce reprezintă unificarea mai multor fișiere de date distincte. O [anonimizat]. Acest lucru mai este cunoscut și sub denumirea de sisteme multiutilizator.
Un sistem de gestiune a bazelor de date reprezintă un nivel de software existent între baza de date fizică și utilizatorii sistemului. [anonimizat]. Sistemul de gestiune a bazelor de date permite utilizatorului accesul la date folosind un limbaj apropiat de modul obișnuit de modul de exprimare pentru a obține informații. Astfel, un sistem de gestiune a bazelor de date este o interfață între utilizator și sistemul de operare.
Orice sistem de gestiune a bazelor de date are în componența sa un limbaj de descriere a datelor. Acest limbaj permite descrierea fiecărei componente a structurii unei baze de date, a relațiilor dintre componente și a restricțiilor în reprezentarea informațiilor.
De asemenea, un sistem de gestiune a bazelor de date conține și un limbaj de prelucrare a datelor. Acesta permite operații asupra datelor aflate în baza de date, cum ar fi încărcarea bazei de date, modificarea unui element, inserarea sau ștergerea unui element, căutarea unor informații și realizarea de diferite statistici asupra datelor.
Utilizatorii sistemelor de gestiune a bazelor de date sunt de trei tipuri:
Programatori de aplicație – scriu programele în limbaje de programare specifice;
Utilizatori – accesează baza de date folosind un limbaj de interogare numit „query language”;
Administratori de baze de date – stabilesc structura bazei de date, modul de memorare al datelor, acordă drepturi de acces la baza de date, asigură securitatea datelor, modifică și întreține baza de date.
MODELUL RELAȚIONAL
Modelul relațional a revoluționat reprezentarea datelor. Acesta a fost propus și introdus de catre IBM. Modelul relațional nu este complicat, fiind bazat pe teoria ansamblurilor și pe logică matematică. Astfel, se pot reprezenta o multitudine de tipuri de structuri de date din domenii diferite, având o complexitate mai redusă sau mai ridicată.
Modelul relațional se definește prin: structura de date, operatorii care acționează asupra structurii și restricțiile de integritate.
Pentru a defini structura de date au fost introduse următoarele concepte:
Domeniu – un ansamblu de valori caracterizat prin nume; poate fi implicit sau explicit;
Tabela (relația) – un subansamblu al produsului cartezian al mai multor domenii; este, de asemenea, caracterizat printr-un nume prin care se definesc atributele aceleiași clase de entități;
Atributul – coloana unei tabele; este caracterizat printr-un nume;
Cheia – un atribut sau un ansamblu de atribute cu rol de identificare a tuplului dintr-o tabelă; cheile pot fi primare sau alternate, simple sau commune, externe.
Tuplul – linia dintr-o tabelă; nu este caracterizat de un nume, iar ordinea tuplurilor și atributelor dintr-o coloană nu prezintă nicio importanță;
Schema tabelei – formată din numele tabelei, și este urmat de numele atributelor între paranteze rotunde; se precizează domeniul asociat pentru fiecare atribut în parte;
Schema bazei de date – se reprezintă printr-o diagramă de structură în care se evidențiază și legăturile dintre tabele; legăturile dintre tabele se fac construind asocieri între tabele cu ajutorul atributelor de legătura, iar aceste legături pot fi: 1:1, 1:m, m:n.
Operatorii modelului relațional sunt atât operatori din algebra relațională, cât și operatori din calculul relațional.
Operatorii din algebra relațională sunt aplicați asupra tabelelor, mai exact asupra relațiilor, prin expresii algebrice relaționale. Acestea sunt compuse din operatori relaționali și operanzi (tabelele), iar rezultatul este format dintr-o singură tabela. Astfel, au fost introduși șase operatori de bază (reuniunea, diferența, produsul cartezian, selecția, proiecția și joncțiunea), doi operatori derivați (intersecția și diviziunea) și alți operatori speciali, grupați în două categorii (pe mulțimi și speciali).
Calculul relațional este bazat pe calculul predicatelor de ordinal întâi și este un domeniu al logicii. Predicatul este o relație care se stabilește între anumite elemente. Această relație poate fi confirmată, dar poate fi și neconfirmată. Variabila poate fi atât de tip tuplu, cât și de tip domeniu. Operatorii utilizați în calculul relațional sunt: universal (∀) și existențial (∃). Expresia relațională de calcul este formată din: operația de efectuat, variabile, condiții, formule bine definite și cuantificatori. Pentru implementarea lor, acești operatori folosesc comenzi specifice în limbaje de manipulare a datelor din sistemele de gestiune a bazelor de date relaționale. Comenzile respective sunt utilizate în operații de interogare.
Transformarea se referă la modificarea unui singur atribut sau a mai multor atribute cu ajutorul unor relații. Rezultatul, o tabelă, se poate utiliza la rândul său într-o altă transformare.
Grafica este folosită de către toate categoriile de utilizatori în informatică și se referă la cererea pe care o face acesta alegând sau completând un ecran structurat grafic.
Restricțiile de integritate ale modelului relațional se împart în două categorii: structurale și comportamentale.
Restricțiile structurale sunt clasificate sub diferite categorii. Există restricții structurale ce se referă la dependențele dintre date: funcționale, multivaloare, joncțiune etc. Acestea se iau în considerare în momentul în care se aplică tehnicile de proiectare a bazelor de date relaționale. De asemenea, cele mai importante trei categorii de restricții structurale sunt:
Restricția entității – atributele din cheia primară dintr-o tabelă nu trebuia să ia valoarea NULL;
Restricția de unicitate a cheii – trebuie să existe valori diferite ale atributelor ce constituie cheie primară într-o tabelă;
Restricția referențială – valorile cheii externe dintr-o tabelă trebuie să existe printre valorile cheii primare din tabelă la care se face referința.
BAZE DE DATE RELAȚIONALE
Bazele de date relaționale folosesc modelul relațional. Acestea au o fundamentare teoretică puternică prin intermediul cercetărilor la IBM în domeniul bazelor de date realizate de E.F.Codd. În cadrul laboratoarelor de cercetare de la IBM, acesta a pus bazele celor 13 reguli care definesc o bază de date relațională pornind de la reguli de algebră și calcul relațional. Aceste reguli stau la baza creării limbajelor de interogare și a lansării pe piață a primei baze de date.
O bază de date relațională este un ansamblu organizat de tabele împreună cu relațiile dintre ele.
Pentru realizarea unei baze de date relațională trebuie îndeplinite o serie de obiective, pentru a putea asigura minimizarea costului de prelucrare a datelor, reducerea timpului de răspuns, realizarea unei flexibilități și deschideri pentru aplicații mai mari și, în același timp, protejarea ridicată a datelor.
Obictivele cele mai importante sunt:
Partiționarea – utilizatorii pot folosi în moduri diferite aceleași date;
Deschiderea – datele trebuie să fie adaptabile la schimbările care pot apărea;
Eficiența – costuri cât mai scăzute pentru stocarea și prelucrarea datelor;
Reutilizarea – datele existente pot fi utilizate în diferite aplicații informatice;
Regăsirea – datele trebuie să fie găsite de către toate tipurile de utilizatori, acestea fiind grupate după diferite criterii;
Accesul – modul de localizare a datelor;
Modularizarea – bazele de date relaționale trebuie să se poată face modular atât pentru posibilitatea lucrului în echipă, cât și pentru generalitate;
Protecția bazei de date – trebuie asigurată atât securitatea, cât și integritatea datelor;
Redundanța – minimă și controlată prin implementarea unui model de date pentru bazele de date, dar și prin utilizarea unei tehnici de proiectare a bazelor de date relaționale;
Independența datelor față de programe – se realizează atât la nivel logic, cât și la nivel fizic.
Bazele de date relaționale au cunoscut diferite etape de evoluție și s-au făcut remarcate ca un tip special de aplicații informatice care realizează organizarea datelor în funcție de un model de date specific.
Pentru a realiza o bază de date relațională trebuie parcurse următoarele etape: analiza de sistem, proiectarea noului sistem, realizarea componentelor logice, punerea în funcțiune și dezvoltarea acestuia.
Analiza de sistem se efectuează pentru a evidenția cerințele aplicației și studiul care a fost făcut în vederea realizării acesteia, dar și pentru a evalua aceste cerințe. Studiul situației deja existente este realizat prin: definirea caracteristicilor generale ale unității, identificarea activităților desfășurate, identificarea resurselor existente și a necesităților de prelucrare. Analiza este o activitate conceptuală, de modelare, relizându-se din punct de vedere structural, din punct de vedere dinamic și din punct de vedere funcțional.
Proiectarea structurii bazei de date se poate realiza pe baza modelelor realizate în activitatea de aniliză, deoarece înainte de proiectarea bazei de date se alege tipul de sistem de gestiune a bazei de date. Această alegere se concluzionează ținând cont atât de cerințele aplicației și ale utilizatorului (volumul datelor și operațiile care vor fi aplicate asupra lor), cât și de performanțele tehnice ale sistemului de gestiune a bazei de date (modelul de date care va fi implementat).
Proiectarea unei baze de date relațională se realizează atât prin proiectarea schemelor bazei de date relaționale, cât și prin proiectarea modulelor funcționale specializate. Pentru acest lucru, cea mai utilizată tehnică pentru bazele de date relaționale este reprezentată de normalizare.
Realizarea componentelor logice este în strânsă legătură cu ieșirile, intrările, prelucrările și colecțiile de date. Astfel, componentele logice sunt programe de aplicație dezvoltate conform modulelor funcționale.
Punerea în funcțiune și exploatarea se realizează prin testarea funcțiilor bazei de date relațională atât cu date test, cât și cu date reale.
Dezvoltarea sistemului are loc după punerea în funcțiune a acestuia și reprezintă schimbările care se fac asupra bazei de date relaționale în urma acționării anumitor factori: progres tehnic, organizaționali, schimbarea metodologiei etc.
NORMALIZAREA BAZEI DE DATE
Normalizarea este o procedură ce se realizează prin imprimarea unor noi facilităti privind manipularea datelor și inlăturarea treptată a neajunsurilor. Aceasta este o metodă ce utilizează descompunerea unei tabele în două sau mai multe tabele, păstrând atribute de legătură.
Forma Normală 1 (FN1). O tabelă este în FN1 dacă toate atributele ei conțin valori elementare, adică nu conține aribute compuse sau repetitive.
Forma Normală 2 (FN2). O tabelă este în FN2 dacă este în FN1 și fiecare atribut noncheie al tabelei este dependent funcțional complet de cheie. Eliminarea dependențelor incomplete se face prin descompunerea tabelei inițiale în două tabele, ambele conținând atributul intermediar.
Forma Normală 3 (FN3). O tabelă este în FN3 dacă este în FN2 și fiecare atribut noncheie depinde de atributul cheie în mod netranzitiv, adică între atributele noncheie nu există dependențe.
Forma Normală 4 (FN4). O tabelă este în FN4 dacă se află în FN3 și se elimină redundanțele, adică nu conține dependențe multivaloare.
Forma Normală 5 (FN5). O tabelă este în FN5 dacă este în FN4 și sunt eliminate dependențele joncțiune.
Normalizarea datelor are și dezavantaje, cum ar fi creșterea timpului până la accesul la date și fragmentarea bazei de date.
SISTEME DE GESTIUNE A BAZELOR DE DATE RELAȚIONALE
Teoria relațională este un ansamblu de concepte, metode și instrumente care a dat o fundamentare riguroasă realizării de SGBDR performante. (Lungu, 2007)
1.3.1. REGULILE LUI E.F.CODD
E.F. Codd, un cercetător de la IBM a formulat 13 reguli care exprimă cerințele pentru ca un SGBD să fie relațional.
R0. Gestionarea datelor la nivel de relație: limbajele utilizate trebuie să opereze cu relații.
R1. Reprezentarea logică a datelor: toate informațiile din BDR trebuie stocate și prelucrate ca tabele.
R2. Accesul la date: LMD trebuie să permită accesul la fiecare valoare din BDR.
R3. Valoarea NULL: trebuie să se permită declararea și prelucrarea valorii NULL ca dată lipsă sau inaplicabilă.
R4. Metadatele: informațiile despre descrierea BDR se stochează în dicționar și tratează ca și tabele, la fel ca datele propiu-zise.
R5. Limbajele utilizate: SGBDR trebuie să permită utilizarea mai multor limbaje, dintre care cel puțin unul să permită definirea tabelelor, definirea restricțiilor de integritate, manipularea datelor, autorizarea accesului, tratarea tranzacțiilor.
R6. Actualizarea tabelelor virtuale: trebuie să se permită ca tabelele virtuale să fie și efectiv actualizabile, nu numai teoretic actualizabile.
R7. Actualizările în baza de date: manipularea unei tabele trebuie să se facă prin operații de regăsire dar și de actulizare.
R8. Independența fizică a datelor: schimbarea stucturii fizice a datelor nu afectează programele.
R9. Independența logică a datelor: schimbarea structurii de date a tabelelor nu afectează programele.
R10. Restricțiile de integritate: acestea, trebuie să fie definite prin LDD și stocate în dicționarul BDR.
R11. Distribuirea geografică a datelor: LMD trebuie să permită ca programele de aplicație să fie aceleași atât pentru date distribuite cât și petru date centralizate.
R12. Prelucrarea datelor la nivel de bază: dacă SGBDR posedă un limbaj de nivel scăzut, acesta nu trebuie utilizat pentru a evita restricțiile de integritate.
MODELAREA SISTEMULUI INFORMATIC DE GESTIUNEA ACTIVITĂȚII UNEI BIBLIOTECI
În viața de zi cu zi avem de a face cu o mulțime de modele. Spre exemplu, atunci când vorbim despre un automobil, ne vin în minte caracteristici ale acestuia cum ar fi viteza sau aspectul. Astfel, am redus un obiect complicat la unul mult mai simplu, întrucât alte caracteristici cum ar fi carburantul sau prețul au fost neglijate în mod intenționat.
În general, nu se poate trece la a realiza ceva fără a avea în minte, la început vag, dar mai apoi din ce în ce mai detaliat, un model al obiectului pe care ne dorim să îl construim.
Sistemele informatice reprezintă modele informaționale ale activităților din toate domeniile: comerț, administrație, servicii etc. Proiectul unui sistem informatic reprezintă planul de realizare al unui sistem. Pentru acest lucru se pornește de la un model care reduce sistemul final la elementele lui esențiale.
Modelul este reprezentarea abstractă a unui sistem ce permite planificarea studiului, analizei, concepției și verificării performanțelor sistemului înainte de realizarea acestuia. De asemenea, acesta permite crearea documentației de proiectare, fapt ce ușurează comunicarea între echipele de proiectare. Modelul este folositor în trei faze ale proiectării: specificarea cerințelor noului sistem, activitatea de analiză a sistemului proiectat și activitatea de formulare a soluției informatice pentru sistemul proiectat și realizarea acestuia.
Modelarea sistemului informatic are scopul de a prezenta modul în care se desfășoară activitatea sistemului informatic. Pentru modelarea sistemului informatic la biblioteca “Biblioteca pentru toți” am ales să prezint cu ajutorul a 3 diagrame:
Diagrama cazurilor de utilizare
Diagrama claselor
Diagrama de secvență
NOȚIUNI GENERALE UML
Avansarea tehnologiei a făcut ca standarul de modelare obiect sa fie UML.
Unified Modeling Language este un limbaj de tip standard cu ajutorul cǎruia se descriu specificații și modele pentru software. Acest limbaj a fost dezvoltat pentru reprezentarea complexitǎții programelor orientate obiect, al cǎror fundament este structurarea programelor pe clase și obiecte. Datoritǎ eficienței și claritǎții în reprezentarea unor elemente abstracte, UML nu este utilizat numai în domeniul IT, existând astfel aplicații ale acestuia și pentru managementul de proiecte și multe alte domenii.
UML este un limbaj standard pentru vizualizarea, construirea și documentarea de modele pentru software. Acesta a fost creat de OMG în 1997.
UML este un limbaj ilustrativ diferit de alte limbaje de programare cum ar fi C++ sau Java.
Astfel, UML poate fi descris ca un limbaj de modelare având ca scopuri generale prezentarea, vizualizarea, construirea și documentarea unui sistem software. Acesta este utilizat, de asemenea, și pentru modelarea sistemelor non-software cum ar fi fluxul de producție într-o fabricǎ etc.
Deși nu este un limbaj de programare, se pot genera diferite coduri într-o gamǎ largǎ de limbaje utilizând diagramele UML. Limbajul de Modelare Unificat este în strânsǎ legǎturǎ cu analiza și proiectarea orientate pe obiecte. Dupǎ câteva standardizǎri, UML a devenit un standard OMG .
DIAGRAMA CAZURILOR DE UTILIZARE
Diagrama cazurilor de utilizare este utilizată pentru a defini comportamentul unui sistem, a unui subsistem sau a unei entități, fără a specifica structura internă. Aceasta este utilizată în etapa de analiză și prezintă funcționalitatea sistemului din punct de vedere al interacțiunilor interne.
Elementele componente ale unei diagrame a cazurilor de utilizare sunt:
Actor – o entitate internă sistemului, ce are rolul de a defini interacțiunile pe care le poate avea cu acesta;
Cazuri de utilizare – o succesiune de evenimente sau de acțiuni pe care le realizează actorii atunci când interacționează;
Relații – de includere (atunci când un comportament se repetă identic în situația mai multor cazuri de utilizare) sau de excludere (atunci când un caz de utilizare este similar cu un alt caz de utilizare, însă face ceva în plus față de acesta).
Fig. 2.1 Diagrama cazurilor de utilizare privind solicitarea unui abonament și a unui împrumut
Nume de caz: Imprumut
Actori: Abonatul, bibliotecarul și sistemul de operare
Obiectiv: Acordarea de abonamente și efectuarea imprumuturilor de catre abonati
Cazuri de utilizare: Potentialul abonat solicita acordarea unui abonament in cadrul bibliotecii. Bibliotecarul introduce datele acestuia in baza de date pentru a verifica conditiile de eligibilitate. Daca sunt indeplinite conditiile, i se elibereaza abonamentul și solicita un imprumut, acordandu-i-se și acesta. Daca abonatul nu indeplineste conditiile (este minor), persoanei nu i se elibereaza abonamentul.
DIAGRAMA CLASELOR
O diagramǎ a claselor este un graf ale cǎrui noduri sunt clasele din sistem și ale cǎrui arce sunt relațiile dintre clase. Diagrama claselor este probabil cea mai importantǎ diagramǎ UML. O astfel de diagramǎ poate conține interfețe, pachete, legǎturi, și chiar instanțe, cum ar fi obiectele. (Novac Ududec, 2011)
Scopul acestei diagrame este reprezentat de prezentarea structurii de clase din cadrul unui model. În aplicațiile orientate pe obiect, clasele au operații, atribute și relații cu alte clase. Diagrama claselor are ca obiect fundamental un dreptunghi împǎrțit în trei compartimente: compartimentul de sus conține numele clasei, cel din mijloc conține o listǎ de atribute, iar compartimentul de jos conține o listǎ de operații.
Fig. 2.2 Diagrama de clase
Diagrama claselor este un caz particular al relației de asociere
Modelează o relație de tip parte-întreg
Poate avea toate elementele unei relații de asociere, însă în general se specifică numai multiplicitatea
Se folosește pentru a modela situațiile între care un obiect este format din mai multe componente.
Diagrama claselor prezentata in fig. 2.4 contine urmatoarele elemente:
5 clase denumite astfel: Autor, Carte, Împrumut, Abonat și Tip_abonament.
4 relații 1 la mai mulți ȋntre: Autor și Carte, Carte și Împrumut, Împrumut și Abonat, Abonat și Tip_abonament.
DIAGRAMA DE SECVENȚĂ
Diagramele de secvențǎ sunt reprezentǎri alternative pentru interacțiuni între obiecte. Ele reprezintǎ interacțiunile între obiecte din punct de vedere temporal, contextul obiectelor nefiind prezentat în mod explicit, accentul concentrându-se pe exprimarea interacțiunilor. (Novac Ududec, 2011)
Diagrama de secvențe prezintǎ colaborǎrile între obiecte în cadrul unui anumit scenariu. Principalul obiectiv al acestei diagrame constǎ în exprimarea fluxului mesajelor între obiecte, în timp secvențial.
În primul rând, diagrama de secvențe aratǎ ordonarea în timp secvențial a interacțiunilor între obiecte, iar în al doilea rând, aceasta aratǎ obiectele care participǎ la o interacțiune și succesiunea mesajelor care sunt schimbate.
Fig. 2.3 Diagrama de secvență privind solicitarea unui abonament și a unui împrumut
Ȋn concluzie, limbajul UML, prin intermediul diagramelor ajută la modelarea sistemului informatic. Aceste diagrame au scopul de a ușura proiectarea sistemului informatic, deoarece programatorului ȋi este mai ușor să proiecteze un sistem atunci când are deja create diagramele
PROIECTAREA SISTEMULUI INFORMATIC DE GESTIUNEA ACTIVITĂȚII UNEI BIBLIOTECI
Scopul aplicației este acela de a gestiona activitatea unei biblioteci, accentul punându-se pe împrumuturile solicitate de abonați, pe evidența cărților din bibliotecă, dar și pe problemele ce reies din aceste activități și anume gestionarea abonaților, a împrumuturilor, a cărtilor, a tipurilor de abonamente, precum și administrarea abonamentelor către abonați.
PREZENTAREA APLICAȚIEI
Aplicația propune proiectarea unei baze de date realizată cu ajutorul programului Microsoft Office Access 2016, utilă în cadrul bibliotecii Biblioteca pentru toți, pentru evidența abonaților, pentru extragerea informațiilor din baza de date a bibliotecii, și pentru introducerea de noi abonați sau ștergerea celor care nu mai vor să dețină abonamente la bibliotecă.
Aplicația are o interfață dinamică, ușor de utilizat, sub forma unor tabele pe baza cărora sunt modelate interogări pentru extragerea diverselor informații despre anumiți abonați, autori sau cărți.
Obiectivele aplicației sunt reprezentate atât de accesul rapid la date, cât și de stocarea unui volum foarte mare de informații fără a ocupa un spațiu foarte mare fizic sau logic.
Ȋn cadrul acestei aplicații, datorită faptului că fiecare abonat este identificat cu ajutorul unui cod unic, datele acestora pot fi găsite cu ușurință, fără a se mai pune problema atunci când există mai mulți abonati cu același nume.
Accesul la această aplicație îl au doar persoanele autorizate din biblioteca. Acestea sunt direct răspunzătoare de eventualele erori care pot apărea în baza de date.
CREAREA TABELELOR, INTEROGĂRILOR, FORMULARELOR ȘI RAPOARTELOR
Proiectarea bazei de date este un proces complex în care se utilizează diferite metode și tehnici pentru a transpune o activitate din lumea reală pe calculator, respectându-se termenii organizării datelor. Primul pas în proiectarea bazei de date este reprezentat de crearea tabelelor și de realizarea legăturilor între acestea. Se ține cont de faptul că structura logică a tabelelor trebuie să respecte teoria normalizării bazelor de date.
Pentru crearea Bazei de Date deschidem Microsoft Access 2016 și alegem Blank Database.
Fig. 3.1 Deschiderea Microsoft Access 2016
CREAREA TABELELOR
Pentru crearea tabelelor se selecteaza CREATE -> TABLE.
Fig. 3.2 Crearea unui tabel
Tabelele au rolul de a stoca datele. Acestea sunt alcătuite din rânduri și coloane. Pentru a putea introduce date în tabele trebuie introducem atribute. care au nume și tip de date.
Tabela Autor
Tabela Autor este folosită pentru gestionarea autorilor din bibliotecă și conține date utile în procesul de identificare al acestora.
Structura tabelei este următoarea: AUTOR (COD_AUTOR NUMBER, NUME_AUTOR SHORT TEXT, PRENUME_AUTOR SHORT TEXT, NAȚIONALITATE SHORT TEXT)
Câmpul „COD_AUTOR” este cheia primară a tabelei fiind folosit pentru identificarea în mod unic a autorilor.
Fig. 3.3 Tabela AUTOR
Tabela Carte
Structura tabelei este următoarea: CARTE (COD_CARTE NUMBER, COD_AUTOR NUMBER, TITLU SHORT TEXT, EDITURA SHORT TEXT, AN_APARIȚIE NUMBER, GEN SHORT TEXT, NR_EXEMPLARE NUMBER, NR_EXEMPLARE_ÎMPRUMUTATE NUMBER, DISPONIBILITATE_CARTE CALCULATED).
Câmpul “COD_CARTE” reprezintă cheia primară a tabelei. Câmpul „COD_AUTOR” este cheia externă a tabelei, fiind folosită la realizarea legăturii cu tabela AUTOR. Câmpurile “NR_EXEMPLARE” și „NR_EXEMPLARE_ÎMPRUMUTATE” sunt folosite pentru a preciza numărul total de cărți, respectiv de cărți împrumutate din bibliotecă. Cu ajutorul câmpului „DISPONIBILITATE_CARTE” se specifică numărul de exemplare disponibile din bibliotecă, număr ce se calculează ca diferență între numărul total de cărți și numărul de cărți împrumutate.
Fig. 3.4 Tabela CARTE
Tabela ÎMPRUMUT
Structura tabelei este următoarea: ÎMPRUMUT (COD_ÎMPRUMUT NUMBER, COD_CARTE NUMBER, DATA_ÎMPRUMUT DATE/TIME, DATA_RESTITUIRE DATE/TIME).
Câmpul “COD_ÎMPRUMUT” este cheia primară a tabelei, în timp ce câmpul „COD_CARTE” este cheia externă a tabelei. Câmpul „ DATA_ÎMPRUMUT” nu poate fi ulterioară datei curente și nici anterioara datei la care biblioteca a fost înființată (05.01.2010).
Fig. 3.5 Tabela ÎMPRUMUT
Tabela ABONAT
Structura tabelei este următoarea: ABONAT (COD_ABONAT NUMBER, COD_ÎMPRUMUT NUMBER, NUME_ABONAT SHORT TEXT, PRENUME_ABONAT SHORT TEXT, DATA_NAȘTERII DATE/TIME, ADRESA SHORT TEXT, NR_TELEFON NUMBER).
Câmpul “COD_ABONAT” este cheia primară a tabelei, iar câmpul „COD_ÎMPRUMUT” este cheie externă. Câmpul DATA_NAȘTERII este folosit pentru a înregistra abonați care au cel puțin 18 ani.
Fig. 3.6 Tabela ABONAT
Tabela TIP_ABONAMENT
Tabela TIP_ABONAMENT este folosită pentru a înregistra toate tipurile de abonamente pe care le solicit fiecare abonat în parte. Structura tabelei este următoarea: TIP_ABONAMENT (COD_TIP_ABONAMENT NUMBER, COD_ABONAT NUMBER, DENUMIRE SHORT TEXT, VALABILITATE NUMBER, LIMITĂ_NR_CĂRȚI NUMBER, TARIF_ABONAMENT NUMBER).
Câmpul „COD_ABONAT” este cheie externă. Câmpul DENUMIRE conține cele patru tipuri de abonamente disponibile ale bibliotecii: Bronze, Silver, Gold, Platinum. Valabilitatea abonamentelor este exprimata in luni, aceasta neputând fi mai mica de o lună și mai mare de patru ani. În funcție de tipul abonamentului, exista o limită a numărului de cărți ce pot fi împrumutate (5, 10, 15, 20), precum și un tarif ce se percepe pentru toată durata abonamentului (50, 100, 150, 200).
Fig. 3.7 Tabela ABONAT
Odată create toate tabelele, trebuie să facem legături între acestea. Comanda este DATABASE TOOLS -> RELATIONSHIPS
Fig. 3.8 Relațiile între tabele
Următorul pas este introducerea datelor în baza de date:
Fig. 3.9 Introducerea datelor în tabele
CREAREA INTEROGĂRILOR
Pentru crearea interogărilor se folosește comanda CREATE -> QUERY WIZARD
Fig. 3.10 Crearea unei interogări
Interogările “filtrează” informațiile din baza de date astfel încât permit afișarea informațiilor dorite în anumite situații pe baza unor criterii impuse de către administratorul bazei de date. Interogările pot fi create cu ajutorul funcției Query Design al SGBD-ului Access sau prin scrierea codului SQL corespunzător. Interogările reprezintă cererile adresate tabelelor pentru extragerea datelor și afișarea organizată a acestora într-un anumit mod. Prin interogare selectăm anumite câmpuri aflate în structura tabelelor. Utilizarea interogărilor ne ajută să vizualizăm, să ștergem sau să modificăm mai ușor datele.
1) Evidența abonaților cu un anumit tip de abonament
Evidența abonaților cu un anumit tip de abonament se realizează prin intermediul unei inteorgări de parametrizare. Aceasta afișează toți abonații bibliotecii care au acel tip de abonament pe care administratorul bazei de date îl introduce de la tastatură. Deoarece câmpurile se află în tabele diferite, va trebui să asociem cele două tabele prin intermediul operațiunii INNER JOIN. Sintaxa interogării este următoarea:
SELECT TIP_ABONAMENT.DENUMIRE, ABONAT.NUME_ABONAT, ABONAT.PRENUME_ABONAT, ABONAT.DATA_NASTERII, ABONAT.ADRESA, ABONAT.NR_TELEFON
FROM ABONAT INNER JOIN TIP_ABONAMENT
ON ABONAT.COD_ABONAT = TIP_ABONAMENT.COD_ABONAT
WHERE (((TIP_ABONAMENT.DENUMIRE)=[Introduceti denumirea abonamentului]));
Fig. 3.11 Rezultatul interogării – evidența abonaților cu abonament “Platinum”
2) Evidența autorilor de o anumita naționalitate
În anumite situații, odată cu creșterea în dimensiuni a bazei de date și implicit a tabelei AUTOR se poate dori sortarea acestora după naționalitate pentru o mai bună gestiune. Pentru a afișa atât datele de identificare ale autorului, cât și titlul cărții trebuie folosita operațiunea INNER JOIN, deoarece câmpurile se află în tabele diferite. Acest lucru se realizează prin intermediul unei interogări a cărei sintaxă este următoarea:
SELECT AUTOR.NUME_AUTOR, AUTOR.PRENUME_AUTOR, AUTOR.NATIONALITATE, CARTE.TITLU
FROM AUTOR INNER JOIN CARTE
ON AUTOR.COD_AUTOR = CARTE.COD_AUTOR
WHERE (((AUTOR.NATIONALITATE)=[Introduceti nationalitatea autorului]));
Fig. 3.12 Rezultatul interogării – evidența autorilor români
3) Evidența autorilor în funcție de nume
Utilizăm o interogare cu parametru (pentru a permite introducerea numelui autorului dorit) dar care folosește în același timp date din mai multe tabele, pentru care vom folosi operațiunea INNER JOIN.
Sintaxa interogării:
SELECT CARTE.TITLU, CARTE.EDITURA, CARTE.AN_APARITIE, CARTE.GEN, CARTE.DISPONIBILITATE_CARTE, AUTOR.PRENUME_AUTOR, AUTOR.NUME_AUTOR
FROM AUTOR INNER JOIN CARTE
ON AUTOR.COD_AUTOR = CARTE.COD_AUTOR
WHERE (((AUTOR.NUME_AUTOR)=[Introduceti numele autorului]));
Fig. 3.13 Rezultatul interogării – cărțile autorului George Călinescu existente în bibliotecă
4) Afișarea tuturor cărților din bibliotecă
Sintaxa interogării este următoarea:
SELECT AUTOR.NUME_AUTOR, AUTOR.PRENUME_AUTOR, CARTE.TITLU, CARTE.EDITURA, CARTE.GEN, CARTE.AN_APARITIE
FROM AUTOR INNER JOIN CARTE
ON AUTOR.COD_AUTOR = CARTE.COD_AUTOR
ORDER BY AUTOR.NUME_AUTOR;
Fig. 3.14 Rezultatul interogării – evidența cărților din bibliotecă
5) Afișarea cărților aparținând unei anumite edituri
Pentru a alege editura dorită folosim tot o interogare cu parametru, iar sintaxa acesteia este următoarea:
SELECT CARTE.TITLU, AUTOR.PRENUME_AUTOR, AUTOR.NUME_AUTOR, CARTE.EDITURA, CARTE.AN_APARITIE
FROM AUTOR INNER JOIN CARTE
ON AUTOR.COD_AUTOR = CARTE.COD_AUTOR
WHERE (((CARTE.EDITURA)=[Introduceti numele editurii]));
Fig. 3.15 Rezultatul interogării – evidența cărților editurii “Grupul Editorial Art”
6) Afișarea cărților de un anumit gen
Este o interogare folosită pentru a ține evidența cărților în funcție de gen. Pe lângă titlul cărții și genul acesteia vom afișa și alte informații precum numele și prenumele autorului, anul apariției și editura.
Sintaxa interogării este următoarea:
SELECT CARTE.TITLU, AUTOR.NUME_AUTOR, AUTOR.PRENUME_AUTOR, CARTE.EDITURA, CARTE.AN_APARITIE, CARTE.GEN
FROM AUTOR INNER JOIN CARTE
ON AUTOR.COD_AUTOR = CARTE.COD_AUTOR
WHERE (((CARTE.GEN)=[Introduceti genul cartii]));
Fig. 3.16 Rezultatul interogării – evidența cărților aparținând genului “Literatura Romana”
7) Afișarea împrumuturilot dintr-un anumit an
Sintaxa interogării este următoarea:
SELECT ABONAT.NUME_ABONAT, ABONAT.PRENUME_ABONAT, ABONAT.DATA_NASTERII, ABONAT.ADRESA, ABONAT.NR_TELEFON, IMPRUMUT.DATA_IMPRUMUT
FROM IMPRUMUT INNER JOIN ABONAT
ON IMPRUMUT.COD_IMPRUMUT = ABONAT.COD_IMPRUMUT
WHERE (((Year([IMPRUMUT].[DATA_IMPRUMUT]))=[Introduceti anul imprumutului]));
Fig. 3.17 Rezultatul interogării – evidența împrumuturilor din anul 2016
8) Calculul valorii totale a abonamentelor
Utilizăm o interogare care folosește o funcție de grupare și anume funcția SUM.
Sintaxa interogării:
SELECT Sum(TIP_ABONAMENT.TARIF_ABONAMENT) AS VALOARE_TOTALA
FROM TIP_ABONAMENT;
Fig. 3.18 Rezultatul interogării – valoarea totală a abonamentelor bibliotecii
9) Evidența împrumuturilor unui anumit abonat
Sintaxa interogării este următoarea:
SELECT ABONAT.NUME_ABONAT, ABONAT.PRENUME_ABONAT, IMPRUMUT.DATA_IMPRUMUT, CARTE.TITLU
FROM (CARTE INNER JOIN IMPRUMUT ON CARTE.COD_CARTE = IMPRUMUT.COD_CARTE) INNER JOIN ABONAT ON IMPRUMUT.COD_IMPRUMUT = ABONAT.COD_IMPRUMUT
WHERE (((ABONAT.NUME_ABONAT)=[Introduceti numele abonatului]));
Fig. 3.19 Rezultatul interogării – evidența împrumuturilor abonatului Radu Cătălin
10) Evidența tipurilor de abonamente ale abonaților născuți într-un anumit an
Este o interogare utilizată pentru a vedea tipurile de abonamente ale abonaților născuți într-un anumit an, interogare a cărei sintaxă este următoarea:
SELECT ABONAT.NUME_ABONAT, ABONAT.PRENUME_ABONAT, ABONAT.DATA_NASTERII, ABONAT.ADRESA, ABONAT.NR_TELEFON, TIP_ABONAMENT.DENUMIRE
FROM ABONAT INNER JOIN TIP_ABONAMENT
ON ABONAT.COD_ABONAT = TIP_ABONAMENT.COD_ABONAT
WHERE (((Year([ABONAT].[DATA_NASTERII]))=[Introduceti anul nasterii abonatului]));
Fig. 3.20 Rezultatul interogării – evidența tipurilor de abonamente ale abonaților născuți în anul 1994
11) Afișarea tipurilor de abonamente în valoare unică
Sintaxa interogării este următoarea:
SELECT DISTINCT TIP_ABONAMENT.DENUMIRE, TIP_ABONAMENT.VALABILITATE, TIP_ABONAMENT.LIMITA_NR_CARTI, TIP_ABONAMENT.TARIF_ABONAMENT
FROM TIP_ABONAMENT
ORDER BY TIP_ABONAMENT.TARIF_ABONAMENT;
Fig. 3.21 Rezultatul interogării – evidența tipurilor de abonamente în valoare unică
CREAREA FORMULARELOR
Pentru crearea formularelor se folosește comanda CREATE -> FORM WIZARD
Fig. 3.22 Crearea unui formular
Formularele reprezintă ferestrele primare folosite pentru introducerea sau afișarea datelor în Microsoft Access. Formularele permit prezentarea datelor într-o manieră care îl scutește pe utilizator de preocupările legate de modul de stocare al acestora în cadrul bazei de date. Se pot crea formulare pentru o serie de utilizări diferite: introducerea unor noi date în tabele, editarea celor existente, afișarea datelor, ștergerea acestora.
Principalul mod de realizare al formularelor este prin intermediul opțiunii Form Wizard. Principalul avantaj al utilizării formularelor este reprezentat de multitudinea de opțiuni în ceea ce privește designul acestora. Prin intermediul opțiunii Design View (modul proiectare) putem adăuga butoane, hiperlink-uri, imagini, diagrame etc.
Pentru început am realizat formularele pentru introducerea datelor în tabele.
Fig. 3.23 Formular tabela AUTOR
Butoanele și realizează navigarea între înregistrări în interiorul formularului.
Cu ajutorul butonului “Adaugă autor” putem adăuga noi date în interiorul tabelei, date pe care le putem salva apăsând butonul “Salvează”.
Fig. 3.24 Adăugarea unei înregistrări noi în tabela AUTOR
Prin intermediul butonului “Șterge” putem elimina înregistrări din tabelă. De fiecare dată când apăsăm butonul apare un mesaj care ne avertizează că ștergerea înregistrării respective poate avea consecințe nedorite (ștergerea unor înregistrări din alte tabele) asupra bazei de date datorită relațiilor dintre tabele.
Pentru crearea formularelor de introducere a datelor pentru celelalte tabele am folosit același design ca în cazul formularului pentru tabela AUTOR.
Fig. 3.25 Formular tabela CARTE
Fig. 3.26 Formular tabela ÎMPRUMUT
Fig. 3.27 Formular tabela ABONAT
Fig. 3.28 Formular tabela TIP_ABONAMENT
În cazul formularelor pentru înregistrări designul este mai simplist, conținând doar butoanele pentru navigare.
Figura 3.29 Formular pentru interogarea care afișează toate cărțile din bibliotecă
Figura 3.30 Formular pentru interogarea care afișează abonații care au abonamente “Silver”
Figura 3.31 Formular pentru interogarea care afișează abonații născuți în anul 1982
CREAREA RAPOARTELOR
Pentru crearea rapoartelor se folosește comanda CREATE -> REPORT WIZARD
Fig. 3.32 Crearea unui raport
Rapoartele sunt utilizate pentru a afișa și a rezuma datele din baza de date. Ele furnizează o modalitate de distribuire sau de arhivare a unor instantanee de date, fie prin imprimare, fie prin conversia în fișiere PDF sau XPS, fie prin export în alte formate de fișier. În timp ce formularele sunt proiectate în principal pentru lucrul pe ecran (deși și ele pot fi tipărite), rapoartele sunt proiectate în primul rând pentru tipărire. O altă deosebire este aceea că în timp ce formularele sunt implementate pentru a ușura accesul la datele din tabele și modificarea acestora, rapoartele nu modifică niciodată datele.
Ca și în cazul formularelor, opțiunea Design View ne permite prelucrarea designului rapoartelor.
Fig. 3.33 Raport tabela AUTOR
Fig. 3.34 Raport tabela ABONAT
Rapoartele oferă de asemenea posibilitatea prelucrării datelor în scopul obținerii unor rezultate sintetice: totaluri, subtotaluri etc.
Fig. 3.34 Raport care afișează împrumuturile din anul 2015
INTERFAȚA APLICAȚIEI
Pentru a reuni toate elementele create avem nevoie de o interfață pe care am realizat-o cu ajutorul formularelor Access și a facilităților oferite de acestea și anume posibilitatea adăugării de butoane, hiperlink-uri și imagini. Interfața conține o pagină principală prin intermediul căreia putem deschide cele trei formulare corespunzătoare meniurilor Vizualizare informații, Afișări și Rapoarte. În stânga am realizat un mic meniu prin adăugarea a trei butoane cărora le-am asociat hiperlink-uri către cele trei formulare. În partea din dreapta am adăugat două butoane: Despre noi și Contact. De asemenea, am inserat un label în interiorul căruia am scris denumirea bibliotecii. Ca background am ales o poză din interiorul unei biblioteci.
Interfața este compusă din mai multe formulare “legate” prin butoane. Pentru a începe interfața facem comanda CREATE -> BLANK FORM și vom obține un formular gol în care putem adăuga butoane, text, imagini sau putem schimba culoarea de fundal.
Fig. 3.35 Crearea unui formular
Prima pagină a aplicației este cea care face legătura cu celelalte pagini ale aplicației.
Fig. 3.36 Pagina principală a interfeței
Prin intermediul meniului Vizualizare informații avem acces la formularele de introducere a datelor în tabele, putând astfel modifica informațiile conținute în baza de date.
Fig. 3.37 Pagina “Vizualizare informații”
Am adăugat cinci butoane, fiecare dintre acestea deschizând unul din formularele de introducere a datelor create anterior. De exemplu, apăsând butonul “Carte” se va afișa:
Fig. 3.38 Afișare “Carte”
Cu ajutorul meniului Afișări putem accesa formularele create pentru interogări. Designul meniului este asemănător cu cel al meniului Vizualizare informații. Am adăugat 10 butoane care ne deschid formularele.
Fig. 3.39 Meniul “Afișări”
De aici putem alege un buton, de exemplu vom alege butonul “Evidența cărților de un anumit gen”.
Fig. 3.40 Formular “Evidența cărților de genul Literatura Universală”
Meniul Rapoarte ne oferă un acces rapid la rapoartele realizate anterior, în cazul în care dorim să analizăm anumite situații. Accesul se realizează prin apăsarea pe unul din cele 9 butoane inserate.
Fig. 3.41 Meniul “Rapoarte”
Spre exemplu, dacă algem raportul cu “Împrumuturi într-un anumit an”, va trebui mai întâi să introducem anul dorit
Fig. 3.42 Introducere an
Fig. 3.43 Raport cu “Împrumuturile din anul 2010”
Pe pagina principală mai găsim încă 2 butoane care ne duc către pagini cu informații despre bibliotecă și pentru abonați.
Primul buton este “Despre noi”. Acesta ne duce către o pagină în care găsim informații despre biblioteca “Biblioteca pentru toți”.
Fig. 3.44 Pagina “Despre noi”
Al doilea buton este “Contact”. Pagina care se deschide în urma accesării acestui buton conține datele de contact ale bibliotecii.
Fig. 3.44 Pagina “Contact”
CONCLUZII
Odată cu dezvoltarea fără precedent a tehnologiei informației, calculatorul a devenit o componentă de neînlocuit a activității de zi cu zi, pătrunzând în toate aspectele vieții economice, sociale și culturale. Acest lucru se datorează faptului că folosirea calculatoarelor ne ușurează foarte mult munca. Prin urmare, din ce în ce mai multe companii recurg la folosirea unor rețele de calculatoare pentru stocarea informațiilor necesare în activitatea desfășurată. Informațiile sunt organizate de regulă în baze de date care pot gestiona o cantitate foarte mare de date și prezintă o serie de avantaje importante. Aceste baze de date sunt implementate și administrate cu ajutorul sistemelor de gestiune a bazelor de date.
Bibliotecile folosesc bazele de date în primul rând pentru a ține evidența cărților și a împrumuturilor care au loc în cadrul acestora. Pe lângă acestea, baza de date poate conține informații despre abonați, tipurile de abonamente precum și despre autorii cărților existente în bibliotecă. Pentru a realiza baza de date am folosit SGBD-ul relațional Microsoft Access. Așa cum am exemplificat în cadrul aplicației, prin intermediul Microsoft Access se pot realiza: tabelele în care sunt stocate informațiile sub formă de înregistrări, interogările care acționează asupra bazei de date pentru a afișa doar informațiile dorite în anumite situații, formularele cu ajutorul cărora se pot introduce datele și rapoartele care conțin informații listate utilizate pentru a analiza unele aspecte importante privind activitatea bibliotecii. Interfața, creată pentru a ușura accesul utilizatorilor la informațiile conținute în baza de date, a fost realizată de asemenea cu ajutorul unor facilități oferite de către SGBD-ul Microsoft Access.
BIBLIOGRAFIE
Dușmănescu Dorel, Baze de date, Ed. Universității din Ploiești, 2005
Lungu Ion, Baze de Date Oracle limbajul SQL, Ed. ASE, București, 2007
Novac Ududec, C., (2011), Ingineria sistemelor de programare, Editura Alma Mater, Bacǎu
Lect. Univ. Dr. Ramona-Mihaela Pǎun, (2012), Modelarea proceselor de afaceri utilizând UML
Tănăsescu Ana, Pătrașcu Aurelia, Proiectarea Sistemelor Informatice, Ed. Universitară, București, 2013
http://arheologie.ulbsibiu.ro/publicatii/carti/ai/1d.htm
http://www.biblioteca-digitala.ase.ro/biblioteca/pagina2.asp?id=cap1
https://books.google.ro/books?id=B_NvAgAAQBAJ&pg=SA7-PA7&lpg=SA7-PA7&dq=cercetari+IBM+E.F.Codd&source=bl&ots=BzhN1UrXWg&sig=BeLHOVb_3QumOynXaS26JIiM93M&hl=ro&sa=X&ved=0ahUKEwj4ue_mpKLNAhXDshQKHZpuAGUQ6AEIJjAB#v=onepage&q=reguli&f=false
http://www.visual-paradigm.com/support/documents/vpumluserguide.jsp
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: NOȚIUNI GENERALE PRIVIND TEORIA BAZELOR DE DATE [307460] (ID: 307460)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
