Biblioteca

Embed Size (px)

Citation preview

UNIVERSITATEA TRANSILVANIA BRAOV FACULTATEA DE INFORMATIC

BAZ DE DATE

PROIECT DE

ANA-MARIA DUMITRACU2012

PROIECT BAZE DE DATE

Biblioteca colar 2.0un ajutor eficient n inventarierea carilor dintr-o bibliotec i a evidenei tuturor mprumuturilor

ANA-MARIA DUMITRACU

2012

INTRODUCEREn aceast lucrare s-a dorit prezentarea efectiv a modului de utilizare a bazelor de date i a unui limbaj ce se preteaz bazelor de date. 'Biblioteca' este un ajutor eficient n inventarierea crilor dintr-o bibliotec i a evidenei tuturor mprumuturilor. Baza de date a fost proiectat cu ajutorul sistemului MsAccess. Paii generali de urmat n proiectarea unei baze de date sunt:

Pasul 1.

Proiectarea logic a bazei de date relaionale: Crearea unui model conceptual local, pentru vederile utilizatorilor. Pasul 1.1. Identificarea tipurilor de entiti. Pasul 1.2. Identificarea tipurilor de relaii. Pasul 1.3. Identificarea i atribuirea de atribute la tipurile de entiti i tipurile de relaii. Pasul 1.4. Determinarea domeniilor de definiie a atributelor. Pasul 1.5. Determinarea atributelor care compun cheile candidate i primare. Pasul 1.6. Desenarea diagramei entity-relationship. Pasul 1.7. Verificarea modelului conceptual local cu ajutorul utilizatorului. Pasul 2. Crearea i validarea modelului logic local. Pasul 2.1. Proiectarea modelului conceptual local pe un model logic local. Pasul 2.2. Crearea relaiilor pentru modelul logic local. Pasul 2.3. Validarea modelului, utiliznd normalizarea. Pasul 2.4. Validarea modelului din nou, utiliznd tranzaciile. Pasul 2.5. Desenarea diagramei ER. Pasul 2.6. Definirea regulilor de integritate a bazei de date. Pasul 2.7. Verificarea modelului logic local cu ajutorul utilizatorului. Pasul 3. Crearea i validarea modelului logic global de date. Pasul 3.1. Compunerea modelelor logice locale ntr-un model logic global. Pasul 3.2. Validarea modelului logic global. Pasul 3.3. Verificarea posibilitii de a completa baza de date n viitor. Pasul 3.4. Desenarea diagramei ER finale. Pasul 3.5. Verificarea modelului logic global cu ajutorul utilizatorului. Pasul 4. Proiectarea fizic i implementarea bazei de date relaionale: Translatarea modelului logic global n SGBD. Pasul 4.1. Proiectarea relaiilor de baz n SGBD. Pasul 4.2. Crearea regulilor de integritate n SGBD.

Pasul 5.

Proiectarea i implementarea reprezentrii fizice. Pasul 5.1. Analizarea tranzaciilor. Pasul 5.2. Alegerea organizrii fiierelor. Pasul 5.3. Alegerea indecilor secundari. Pasul 5.4. Introducerea unei redundane controlate. Pasul 5.5. Estimarea spaiului pe disc. Pasul 6. Proiectarea i implementarea unui mecanism de securitate. Pasul 6.1. Crearea view-urilor pentru utilizatori. Pasul 6.2. Proiectarea regulilor de acces la baza de date. Pasul 7. Verificarea sistemului operaional. Proiectarea logic a bazei de date se divide n trei pai mari. Primul pas are ca obiectiv, descompunerea proiectrii sistemului informatic n vederi, care se pot discuta cu utilizatorii sistemului. Modelul de date astfel creat, se valideaz prin normalizare i prin tranzacii n pasul doi. n final, se genereaz modelul global al ntreprinderii, care este la rndul lui validat i verificat cu ajutorul utilizatorului sistemului. Implementarea n SGBD ine evident seama de toate facilitile oferite de acesta. Voi prezenta acest program acoperind urmtoarele subiecte: 12

1) Proiectarea bazei de date - modelul E-R, normalizarea 2) Prezentarea programului (realizat n MsAccess) i a meniului de lucru 3) Securitate i integritate. Dezvoltari ulterioare

1. PROIECTAREA BAZEI DE DATE (MODELUL E-R) NORMALIZAREA

1. Cerinele bazei de date Este vorba despre inventarierea crilor unei biblioteci. n baza de date se vor reine crile cu toate datele (nume, autor, editura, an apariie, domeniu), i persoanele care mprumut (nume, prenume, adresa, telefon). Pentru fiecare carte vom reine dac este la un moment dat mprumutat i cui, mpreun cu data mprumutului. De asemenea, se ofer posibilitatea introducerii unor notie referitoare la fiecare carte sau autor. 2. Tranzaciile cerute. Evidena tuturor crilor din bibliotec - posibilitatea efecturii statisticilor complexe referitoare la cri (n funcie de autor, titlu, loc n bibliotec, domeniu, editur, dac e mprumutat i cui) Evidena autorilor pentru care exist cri n bibliotec Posibilitatea de a efectua cutri rapide de cri sau autori. - posibilitatea de a cuta chiar dup fragmente de nume sau titlu de carte. Adugri mprumuturi i restituiri de cri din bibliotec Evidena persoanelor care mprumut cri din bibliotec, posibilitatea identificrii restanierilor. 3. Crearea modelelor conceptuale locale, bazate pe view-urile utilizatorilor: Primul pas este crearea modelului conceptual local, ce se compune din: tipuri de entiti, tipuri de relaii, atribute, domeniile atributelor, chei candidat, chei primare. ncepem s identificm tipurile de entiti ce apar n problema noastr. Apar nc de la nceput entitile Cri i mprumuturi. Auxiliar identificm entitile Autori, Edituri i Abonai. n continuare identificm tipurile de relaii. Tipurile de relaii se reprezint prin verbe ale relaiilor. Vom determina cardinalul i participarea relaiilor dintre entiti. Cardinalul poate s fie unul dintre urmtoarele: unu-la-unu (1:1), unu-la-multe (1:M), sau multe-la-multe (M:N). Participarea poate s fie parial sau total. n cazul de fa toate entitile se afl n relaie 1:M cu Cri, cu excepia entitilor Autori i mprumuturi, care se afl n relaie N:M cu Cri.

n pasul urmtor identificm atributele ce se asociaz tipurilor de entiti sau tipurilor de relaii. Atributele sunt informaii care caracterizeaz entitile, respectiv relaiile. Aceste atribute le putem gsi n descrierea problemei. n cazul nostru, atributele identificate i asociate entitilor sunt: Tip de entitate Cri Atribute Cota Titlul Gen Nr Total Exemplare Nr Exemplare disponibile Anul editarii Nr Editura Cod Autor Nume Autor Prenume Autor Nr Editura Nume Editura Adresa Editura Telefon Editura Nr cerere Nr abonat Data cerere Anulat Nr abonat Data ntocmirii Seria BI Abonat Numar BI abonat Nume Abonat Prenume Abonat Adresa abonat Telefon abonat Tip de dat N 6 C 44 C 15 N 3 N 3 N 4 N 4 N 5 C 20 C 20 N 3 C 20 C 50 C 11 N 5 N4 D L N 4 D C 2 C 6 C 30 C 30 C 50 C 11

Autori Edituri

mprumuturi

Abonati

Pentru documentaie se descrie fiecare atribut, se menioneaz tipul de date folosit precum i lungimea cmpului, reguli, valoarea implicit, toate aliasurile lui, dac atributul este sau nu compus, dac este derivat sau nu, dac admite mai multe valori i dac admite valoarea nul. n tabelul de mai sus am trecut aceste lucruri. Singurele observaii pe care trebuie s le fac este c am folosit pentru Telefon tipul de dat caracter (11) pentru a introduce prefixul delimitat printr-un punct sau slash - oricum nu voi face ordonare dup Telefon. Acum examinm tabelele i cutm cheile candidat pentru entitile n cauz. Dintre aceste chei candidat vom selecta cheia primar, dup criteriile cunoscute. Cheile primare entitile noastre sunt primele atribute din descrierea fiecrei entiti de mai sus. Se observ uor i cheile externe. Pentru o mai bun nelegere a modelului creat, folosim diagrama ER. Aceast diagram i documentaia creat se refer la modelul local conceptual:

EDITURI

1 N

CRI

Nr Editura Nume Editura Adresa Editura Telefon Editura

N

M

AUTORI

Cota Titlul Gen Nr Total Exemplare Nr Exemplare N disponibile Anul editarii Nr Editura

Cod Autor Nume Autor Prenume Autor

ABONATI

n acest pas eliminm acele structuri din baza de date, care sunt dificil de implementat n sistemul de gestiune al bazelor de date. Pentru a rezolva aceast problem, se vor urma urmtorii pai: Eliminarea relaiilor de tipul N:M. Eliminarea relaiilor complexe. Eliminarea relaiilor recursive. Eliminarea relaiilor cu atribute. Reexaminarea relaiilor de tipul 1:1. Eliminarea relaiilor redundante. Eliminarea relaiilor de tipul N:M Relaia Cri - Autori are cardinalul de N:M. Vom descompune aceast relaie n dou relaii de tipul unu-la-multe (1:M), modificare posibil prin introducerea unei entiti noi, numite Autori-Carte, ce conine cheile primere ale celor dou entiti. Asemanator, introducem o noua entitate numita Detalii mprumut, ce va elimina relaia N:M dintre mprumuturi i Cri.

Nr abonat Data IMPRUMU ntocmirii TURI M Seria BI Abonat Nr cerere Numar BI Nr abonat N abonat Data Nume cerere 1 Abonat Anulat Prenume Abonat Adresa abonat 4. Proiectarea modelului local conceptual n modelul local logic. Telefon abonat

Eliminarea relaiilor complexe n acest pas, eliminm toate relaiile complexe (care sunt ntre mai mult dect dou entiti) din modelul conceptual. Aceast eliminare se poate rezolva prin crearea a noi entiti. Exemplul nostru nu conine nici o relaie complex. Eliminarea relaiilor recursive Pasul acesta este pentru eliminarea tuturor relaiilor recursive, adic acele relaii care pun n relaie o entitate cu el nsi. n exemplul nostru nu avem astfel de cazuri. Eliminarea relaiilor cu atribute Se elimin toate acele relaii, care au asociate atribute. Eliminarea se realizeaz prin adugarea a noi entiti, care vor memora aceste atribute. Nu este cazul exemplului nostru. Reexaminarea relaiilor de tipul 1:1 n foarte multe din cazuri, entitile care sunt relaionate prin relaii cu cardinalul 1:1, se pot ngloba ntr-o singur entitate. De aceea, este indicat reexaminarea relaiilor de tipul unu-la-unu. Exemplul nostru nu conine relaii de acest tip. Eliminarea relaiilor redundante Pot exista cazuri n care s avem relaii redundante. Adic s se poat ajunge de la o entitate la alte prin mai multe drumuri diferite. n acest caz relaiile redundante trebuie eliminate, pentru c noi trebuie s ajungem la o baz de date minimal i foarte stabil. Nu este i cazul exemplului nostru.

Desenarea diagramei ER:

M

AUTORICARTE Cod Autor Cota

EDITURI

1 N

CRI

N

Nr Editura Nume Editura Adresa Editura Telefon Editura

Cota Titlul Gen Nr Total Exemplare Nr Exemplare disponibile Anul editarii Nr Editura

AUTORI

N

Cod Autor Nume Autor Prenume Autor

1 DETALII IMPRUMUT Nr cerere 1 Cota IMPRUMU TURI N

ABONATI

1

Nr cerere Nr abonat N Data cerere Anulat

Nr abonat Data ntocmirii Seria BI Abonat Numar BI abonat Nume Abonat Prenume Abonat Adresa abonat Telefon abonat

Validarea modelului prin normalizare n acest pas validm baza de date prin normalizare. Procesul de normalizare este descris amnunit n capitolul 2. Forma Normal Unu (1NF), eliminarea repetiiilor din atribute. Forma Normal Doi (2NF), eliminarea dependenelor pariale de cheia primar. Forma Normal Trei (3NF), eliminarea dependenelor tranzitive de cheia primar. Forma Normal Boyce-Codd (BCNF), eliminarea anomaliilor care au mai rmas. Trebuie s analizm fiecare relaie din diagrama E-R. Verificm dac relaiile sunt n forma normal Boyce-Codd, iar dac gsim unul care nu satisface aceast form normal, ne ntoarcem la paii precedeni i rezolvm problema. Pentru relaiile noastre avem: Nu exist grupuri repetitive n niciunul dintre entiti. Deci relaia este n forma normal unu. Fiecare cheie se compune dintr-un singur atribut. De aceea nu putem avea dependen parial de cheie. Deci relaia este n form normal doi. Nu exist dependene tranzitive de cheie, deci relaia este n form normal trei. Fiecare determinant evideniat este cheie, deci relaia este n form normal Boyce-Codd.

2. PREZENTAREA PROGRAMULUI (REALIZAT N MsACCESS) I A MENIULUI DE LUCRU

Am folosit pe parcursul proiectului tabele, interogari, formulare, rapoarte i chiar macrocomenzi. Acest proiect Biblioteca conine o baz de date format din 9 tabele fiecare cu mai multe cmpuri repartizate n felul urmtor:

Tabela Abonai Tabela Autori Tabela Autori-Carte

Tabela Cri Tabela mprumut Tabela Detalii Restituire Tabela Edituri

Tabela mprumuturiRelaiile dintre tabele, aa cum au fost implementate n MS ACCESS n continuare am creat un query cu ajutorul cruia se poate vedea cu cte zile a ntrziat s restituie cartea un client: Utilizatorul poate introduce un client n baza de date prin intermediul form-ului Formular ce preia datele sale i le introduce n tabela Abonai ce conine cmpuri prin care poate fi foarte uor gsit. n funcie de necesitile utilizatorului am realizat i report-uri: - Abonai

- Abonai ntrziai - Lista autori Rapoartele au fost folosite pentru afiarea i eventuala tiprire a restanierilor, a crilor. Proiectul poate fi modificat n funcie de necesitile bibliotecii, oricand pot fi adugate cmpuri noi, report-uri noi i form-uri noi i de asemenea design-ul poate fi mbuntit. Fiind doar un proiect didactic, am vrut s ilustrez utilizarea interogrilor, a rapoartelor, a formularelor, urmnd ca un soft de bibliotec s fie elaborat n curnd, mpreun cu beneficiarul, bibliotecarul colii.

3. SECURITATE I INTEGRITATE 1. Integritate Este vorba de garantarea c datele introduse n baza de date rmn consistente. Putem identifica cinci tipuri de reguli: necesitatea datelor, domeniile atributelor, integritatea entitilor, integritatea relaiilor, reguli date de ntreprindere. Necesitatea datelor Identificm acele atribute ale bazei de date, care nu admit valoarea nul. Domeniile atributelor Domeniile atributelor identific valorile posibile pe care le poate lua un atribut. Integritatea entitilor Cheia primar a entitilor nu poate lua valori nule. Integritatea relaiilor Relaiile dintre entiti sunt reprezentate prin copierea cheii primare a entitii printe, n cheia strin a entitii fiu. Integritatea relaiilor se refer la faptul c dac cheia strin dintr-o entitate slab conine o valoare, atunci aceast valoare s existe i n entitatea tare la care este asociat prin relaie. Toate aceste probleme au fost rezolvate prin programarea n Access, unde condiiile asupra introducerii datelor au fost foarte strict puse. 2. Securitate Securitatea este asigurat de parol de acces la modificare de date. Practic viitorul utilizator va decide ce module ale programului vor fi interzise celorlali i ce nivel de acces are fiecare persoan care acceseaz baza de date.

VERIFICAREA POSIBILITII DE EXTINDERE N VIITOR Este important ca modelul creat s se poat extinde n viitor. De exemplu, la crearea versiunii pentru o bibliotec mare, fiecare legitimat va avea nregistrate nr.buletin, nr. legitimaie. Modelul global al aplicaiei este extensibil, extinderea putndu-se realiza cu minime modificri.

BIBLIOGRAFIEAlison Balter, nva singur Microsoft Office Access 2003, editura Niculescu, 2006 Paul Iacob, Access la purttor, editura Lux Libris, Braov, 2007 Cornel Ignat, Carmen Petre, Iniere n Access, editura Arves, 2010.