Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Proiectul logic baze de date

Proiectul logic baze de date


In acest capitol vom vedea, pe un exemplu, cum se proiecteazǎ un sistem cu bazǎ de date relationalǎ.

Vom proiecta un sistem cu baza de date pentru gestiunea unui cabinet de consiliere si orientare a elevilor.

1 Pasul 1: Proiectarea logica a bazei de date relationale


Pasul 1.1.  Identificarea tipurilor de entitati

In urma studierii documentelor implicate in cadrul gestiunii cabinetului de consiliere si orientare a elevilor se disting urmatoarele entitati:

Elev

Psiholog

Membrii_familiei

Fisa_individuala

Trasaturi_individuale

Metode_psihodiagnostice

Factori

Procese_psihice


In documentarea tipurilor de entitati includem o descriere amanuntita a fiecarei entitati:


Nume tip de entitate

Descriere

Elev

Toti elevii care au solicitat serviciile cabinetului de consultare si orientare a elevilor

Psiholog

Totalitatea psihologilor care activeaza in cadrul cabinetului

Membrii_familiei

Toti membrii familiei unui elev

Fisa_individuala

Toate datele legate de evidenta elevilor din cadrul cabinetului de consiliere si orientare scolara

Trasaturi_individuale

Totalitatea trasaturilor individuale ale unui elev

Metode_psihodiagnostice

Totalitatea metodelor psihodiagnostice care i-au fost aplicate unui elev

Factori

Totalitatea factorilor care intervin in metodele psihodiagnostice

Procese_psihice


Totalitatea proceselor psihice care determina trasaturile individuale


Pasul 1.2.  Identificarea tipurilor de relatii.

Tipurile de relatii care intervin intre tipurile de entitati prezente in sistem sunt expuse in continuare:


Tip de entitate

Tip de relatie

Tip de entitate

Elev

detine

Fisa_indivduala

Psiholog

completeaza

Fisa_indivduala

Fisa_indivduala

contine informatii despre

Membrii_familiei

contine informatii despre

Trasaturi_individuale

contine informatii despre

Metode_psihodiagnostice

Metode_psihodiagnostice

determina

Trasaturi_individuale

au

Factori

Trasaturi_individuale

sunt compuse din

Procese

Determinarea cardinalitatii si a participarii tipurilor de relatii:

Tip de entitate

Tip de relatie

Tip de entitate

Cardinalitate

Participare

Elev

detine

Fisa_indivduala

1:1

T:T

Psiholog

completeaza

Fisa_indivduala

1:N

P:T

Fisa_indivduala

contine informatii despre

Membrii_familiei

M:N

T:T

Fisa_indivduala

contine informatii despre

Trasaturi_individuale

M:N

T:T

Fisa_indivduala

contine informatii despre

Metode_psihodiagnostice

M:N

T:T

Metode_psihodiagnostice

determina

Trasaturi_individuale

M:N

T:T

Metode_psihodiagnostice

au

Factori

1:N

P:T

Trasaturi_individuale

sunt compuse din

Procese

1:N

P:T

Pasul 1.3.  Identificarea si atribuirea de atribute la tipurile de entitati si tipurile de relatii si determinarea domeniilor de definitie a atributelor.



Tip entitate

Atribut

Domeniu

Elev

Cod_elev

AutoNumber

Nume

Text(50)

Prenume

Text(50)

Data_nasterii

Date/Time

Judetul

Text(30)

Localitatea

Text(30)

Strada

Text(30)

Numar

Number

Bloc

Text(10)

Scara

Text(1)

Apartament

Number

Scoala

Text(50)

Sex

Text(1)

Varsta

Number

Telefon

Number

CNP

Number

Alte_observatii

Memo

Psiholog

Cod_psiholog

Autonumber

Nume

Text(30)

Prenume

Text(30)

Specializare

Text(40)

Data_nasterii

Date/Time

Fisa_indivduala

Nr_fisa

Autonumber

Cod_elev

Number

Data_intocmirii

Date/Time

Cod_trasaturi

Number

Cod_psiholog

Number

Cod_metoda

Number

Id_membru

Number

Tip_familie

Text(30)

Rel_intre_parinti

Memo

Rel_elev_parinti

Memo

Rel_elev_frati

Memo

Conduita_la_lectii

Memo

Stil_de_munca

Text(50)

Activitatea_in_cadrul_clasei

Text(50)

Conduita_in_familie

Memo

Antecedente

Memo

Boli_ereditare

Memo

Greutate

Number

Inaltime

Number

Diagnostic

Text(30)

Clasa

Text(5)

Medie_generala

Number

Alte_observatii

Memo

Membrii_familiei

Id_membru

Autonumber

Nume

Text(30)

Prenume

Text(30)

Judetul

Text(30)

Localitatea

Text(30)

Strada

Text(30)

Numar

Number

Bloc

Text(10)

Scara

Text(1)

Apartament

Number

Calitatea_membrului

Text(10)

Sex

Text(1)

Varsta

Number

Ocupatie

Text(30)

Trasaturi_individuale

Cod_trasatura

Autonumber

Nume_trasatura

Text(20)

Proces

Cod_proces

Autonumber

Nume_proces

Text(20)

Cod_trasatura

Number

Metode_psihodiagnostice

Cod_metoda

Autonumber

Nume_metoda

Text(20)

Punctaj_brut

Number

Punctaj_standard

Number

Interpretare

Text(30)

Cod_trasatura

Number

Profil_psihologic

Memo

Concluzii

Memo

Factor

Cod_factor

Autonumber

Nume_factor

Text(20)

Cod_metoda

Number


Pentru intelegerea domeniilor atributelor din tabelul anterior, sunt explicati termenii folositi:

Text(x) - este un text sau combinatii de texte si numere, dimensiunea fiind de 'x' caractere

Memo - este un text de mare dimensiune cum sunt descrieri sau note

Number- reprezinta un numar

Autonumber - este un numar cu incrementare automata

Alte tipuri de atribute (campuri) ati vǎzut in capitolul 4.


Pasul 1.4.  Determinarea atributelor care compun cheile candidate si primare.

Urmatorul tabel prezinta cheile ce intervin in cadrul sistemului:


Tip de entitate

Chei candidat

Cheie primara

Elev

Cod_elev

Cod_elev

CNP

Psiholog

Cod_psiholog

Cod_psiholog

CNP

Fisa_individuala

Nr_fisa

Nr_fisa

Membrii_familiei

Cod_familie

Cod_familie

Trasaturi_individuale

Cod_trasatura

Cod_trasatura

Procese

Cod_proces

Cod_proces

Metode_psihodiagnostice

Cod_metoda

Cod_metoda

Factori

Cod_factor

Cod_factor




Pasul 1.5.  Desenarea diagramei entity-relationship:


Trebuie sa reactualizam si  lista atributelor pentru tipurile de entitati: Fisa_trasaturi, Fisa_metode si Fisa_membrii .

Tip entitate

Atribut

Domeniu

Fisa_trasaturi

Cod_fis_tra

AutoNumber

Nr_fisa

Number

Cod_trasatura

Number

Fisa_metode

Cod_fis_met

Autonumber

Nr_fisa

Number

Cod_metoda

Number

Fisa_membrii

Cod_fis_mem

Autonumber

Nr_fisa

Number

Id_membru

Number


Pasul 2.1. Proiectarea modelului conceptual pe un model logic local 

1.     Eliminarea relatiilor N:M.

2.    

Nu este cazul exemplului nostru. Acesta  nu contine astfel de tipuri de relatii.

 
Eliminarea relatiilor complexe.

3.     Eliminarea relatiilor recursive.

4.     Eliminarea relatiilor cu atribute.

5.     Eliminarea relatiilor de tip 1:1.

6.     Eliminarea relatiilor redundante.

Pasul 2.2 Crearea relatiilor pentru modelul logic local.

Entitati tari:

Elev Cod_elev, Nume, Prenume, Data_nasterii, Judetul, Localitatea, Strada, Numar, Bloc, Scara, Apartament, Scoala, Sex, Varsta, Telefon, CNP,Alte_observatii

Cheie primara: Cod_elev


Psiholog Cod_psiholog, Nume, Prenume, Specializare, Data_nasterii

Cheie primara: Cod_psiholog

Membrii_familiei(Id_membru, Nume, Prenume, Judetul, Localitatea, Strada, Numar, Bloc, Scara, Apartament, Calitatea_membrului, Sex, Varsta, Ocupatie)

Cheie primara:Id_membru


Trasaturi individuale(Cod_trasatura, Nume_trasatura)

Cheie primara: Cod_trasatura


Metode_psihodiagnostice(Cod_metoda, Nume_metoda, Punctaj_brut, Punctaj_standard, Interpretare, Profil_psihologic, Concluzii)

Cheie primara: Cod_metoda

Entitati slabe:

Proces (Cod_proces, Nume_proces, Cod_trastura)

Cheie primara: Cod_process

Cheie straina: Cod_trasatura


Factor(Cod_factor, Nume_factor, Cod_metoda)

Cheie primara: Cod_factor

Cheie straina: Cod_metoda


Fisa_indivduala Nr_fisa, Cod_elev, Data_intocmirii, Cod_psiholog,  Tip_familie, Rel_intre_parinti, Rel_elev_parinti, Rel_elev_frati, Conduita_la_lectii, Stil_de_munca, Activitatea_in_cadrul_clasei, Conduita_in_familie, Antecedente, Boli_ereditare, Greutate, Inaltime, Diagnostic, Clasa, Medie_generala, Alte_observatii

Cheie primara: Nr_fisa

Cheie straina: Cod_elev, Cod_psiholog


Fisa_trasaturi (Cod_fis_tra, Nr_fisa,Cod_trasatura)

Cheie primara: Cod_fis_tra

Cheie straina: Nr_fisa, Cod_trasatura


Fisa_metode(Cod_fis_met, Nr_fisa,Cod_metoda)

Cheie primara: Cod_fis_met

Cheie straina: Nr_fisa, Cod_metoda


Fisa_membrii(Cod_fis_mem, Nr_fisa, Id_membru)

Cheie primara: Cod_fis_mem

Cheie straina: Nr_fisa, Id_membru


Pasul 2.3 Validarea modelului, utilizand normalizarea.

Pentru teoria legatǎ de normalizare cititorul este indrumat spre [1], [2], [3].

Forma normalǎ 1

In aceastǎ etapǎ, de normalizare, se urmǎreste eliminarea grupurilor repetitive din fiecare tabel.

Analizand fiecare tabel se observǎ cǎ nu existǎ grupuri repetitive, deci baza de date este in forma normalǎ 1.


Forma normalǎ 2

O relatie este in 2NF daca este in 1NF si orice atribut este complet dependent de cheie. Forma normala 2 se verifica doar la relatiile care au o cheie compusa pe pozitia de cheie primara. Daca pentru o relatie, cheia primara se compune dintr-un singur atribut atunci ea este in forma normala 2.

Tabelele bazei de date din sistemul nostru au chei primare care se compun dintr-un singur atribut, in concluzie toate relatiile sunt deja in forma normala 2.


Forma normalǎ 3

O relatie este in 3NF daca este in 2NF si  nu exista nici un atribut care sa nu apartinǎ cheii primare si care sa fie tranzitiv dependent de cheia primara.

Examinand relatiile in forma normala de mai sus, observam ca nu exista dependente tranzitive. Deci relatiile sunt in forma normala 3.  


Pasul 2.4 Validarea modelului utilizand tranzactiile.

Tranzactiile cerute de utilizator sunt:

T1. Crearea si modificare inregistrarilor despre un anumit elev

Datele personale ale unui elev sunt memorate in tabela ELEV. Cheia primara pentru acest tabel este Cod_elev. In momentul in care se incearca introducerea unui nou elev in baza de date, se verifica automat daca acesta exista, caz in care sunt afisate datele elevului si este permisa modificarea anumitor date precum: Adresa, Nume, Prenume. Stergerea unui elev din baza de date nu este permisa, acest lucru datorandu-se faptului ca s-ar putea pierde datele despre membrii familiei elevului respectiv.

T2. Listarea elevilor consiliati de un psiholog

Tranzactia poate fi rezolvata facand o cautare dupa:

Psiholog::Nume="nume psiholog"

Psiholog::Nume,Prenume

Psiholog:: Cod_psiholog

Fisa_individuala::Cod_psiholog

Fisa_individuala::Cod_elev

Elev::Cod_elev

Elev::Nume,Prenume

T3. Listarea psihologilor care lucreaza in cadrul cabinetului de la o anumita data (au completat fise individuale)

Fisa_individuala::Data_intocmirii>"data"

Fisa_individuala::Cod_psiholog

Psiholog:: Cod_psiholog

Psiholog::Nume,Prenume

T4. Listarea metodelor psihodiagnostice aplicate unui elev

Elev::Nume="nume_elev"

Elev::Nume,Prenume

Elev::Cod_elev

Fisa_individuala::Cod_elev

Fisa individuala:: Nr_fisa

Fisa_metoda:: Nr_fisa

Fisa_metoda:: Cod_metoda

Metode_psihodiagnostice:: Cod_metoda

Metode_psihodiagnostice:: Nume_metoda

T5. Listarea trasaturilor individuale ale unui elev

Elev::Nume="nume_elev"

Elev::Nume,Prenume

Elev::Cod_elev

Fisa_individuala::Cod_elev

Fisa individuala:: Nr_fisa

Fisa_trasatura:: Nr_fisa

Fisa_trasatura:: Cod_trasatura

Trasaturi_individuale:: Cod_trasatura

Trasaturi_individuale:: Nume_trasatura

T6. Listarea membrilor familiei unui elev

Elev::Nume="nume_elev"

Elev::Nume,Prenume

Elev::Cod_elev

Fisa_individuala::Cod_elev

Fisa individuala:: Nr_fisa

Fisa_membrii::Nr_fisa

Fisa_membrii::Id_membru

Membrii_familiei:: Id_membru

Membrii_familiei:: Nume, Prenume

T7. Listarea factorilor care intervin in cadrul unei metode psihodiagnostice

Metode_psihodiagnostice:: Nume="nume"

Metode_psihodiagnostice::Cod_metoda

Factor:: Cod_metoda

Factor::Nume_factor

T8. Listarea proceselor care influenteaza o trasatura individuale

Trasaturi_individuale:: Nume_trasatura="Nume"

Trasaturi_individuale:: Cod_trasatura

Proces::Cod_trasatura

Proces:: Nume_proces

T Listarea unor date personale despre toti elevii (Nume, Prenume, Data_nasterii, Scoala, Localitate, Diagnostic)

Elev::Cod_elev

Elev::Nume,Prenume, Data_nasterii,Scoala,Localitatea

Fisa_individuala::Cod_elev

Fisa_individuala::Diagnostic

Pasul 2.5 Desenarea diagramei E-R

In cazul nostru aceasta diagrama nu se modifica


Pasul 2.6 Definirea regulilor de integritate ale bazei de date.


Necesitatea datelor:

Aceste reguli le-am identificat deja, cand am documentat atributele in pasul 1.3.

Reguli asupra domeniului atributelor.

Domeniile de definitie au fost deja identificate cand am documentat domeniile atributelor in pasul 1.3.

Integritatea entitatilor.

Aceste reguli au fost deja identificate, cand am documentat cheile primare in pasul 1.4.

Integritatea relatiilor.

Elev Cod_elev, Nume, Prenume, Data_nasterii, Judetul, Localitatea, Strada, Numar, Bloc, Scara, Apartament, Scoala, Sex, Varsta, Telefon, CNP,Alte_observatii

Cheie primara: Cod_elev

Psiholog Cod_psiholog, Nume, Prenume, Specializare, Data_nasterii

Cheie primara: Cod_psiholog

Fisa_indivduala Nr_fisa, Cod_elev, Data_intocmirii, Cod_psiholog,  Tip_familie, Rel_intre_parinti, Rel_elev_parinti, Rel_elev_frati, Conduita_la_lectii, Stil_de_munca, Activitatea_in_cadrul_clasei, Conduita_in_familie, Antecedente, Boli_ereditare, Greutate, Inaltime, Diagnostic, Clasa, Medie_generala, Alte_observatii

Cheie primara: Nr_fisa

Cheie straina: Cod_elev Nenula, Cascada, referindu-se la Elev

Cod_psiholog Nenula, Cascada, referindu-se la  Psiholog

Trasaturi individuale(Cod_trasatura, Nume_trasatura,)

Cheie primara: Cod_trasatura

Proces (Cod_proces, Nume_proces)

Cheie primara: Cod_process

Cheie straina: Cod_trasatura  Nenula, Cascada, referindu-se la

Trasaturi individuale(Cod_trasatura, Nume_trasatura,)

Metode_psihodiagnostice(Cod_metoda, Nume_metoda, Punctaj_brut, Punctaj_standard, Interpretare, Profil_psihologic, Concluzii)

Cheie primara: Cod_metoda

Factor(Cod_factor, Nume_factor, Cod_metoda)

Cheie primara: Cod_factor

Cheie straina: Cod_metoda Nenula, Cascada, referindu-se la

Metode_psihodiagnostice

Membrii_familiei(Id_membru, Nume, Prenume, Judetul, Localitatea, Strada, Numar, Bloc, Scara, Apartament, Calitatea_membrului, Sex, Varsta, Ocupatie)

Cheie primara:Id_membru

Fisa_membrii(Cod_fis_mem, Nr_fisa, Id_membru)

Cheie primara: Cod_fis_mem

Cheie straina: Nr_fisa Nenula, Cascada, referindu-se la Fisa_individuala(

Id_membru Nenula, Cascada, referindu-se la

Membrii_familiei

Fisa_trasaturi (Cod_fis_tra, Nr_fisa,Cod_trasatura)

Cheie primara: Cod_fis_tra

Cheie straina: Nr_fisa Nenula, Cascada, referindu-se la Fisa_individuala(

Cod_trasaturi Nenula, Cascada, referindu-se la

Trasaturi individuale

Fisa_metode(Cod_fis_met, Nr_fisa,Cod_metoda)

Cheie primara: Cod_fis_met

Cheie straina: Nr_fisa Nenula, Cascada, referindu-se la Fisa_individuala(

Cod_metoda Nenula, Cascada, referindu-se la

Metode_psihodiagnostice(

Diagrama E-R finala:




Partea II
Scurta prezentare a aplicatiei implementata in SGBD-ul Access

Baza de date a fost implementata in Access. Aici relatiile dintre entitati sunt descrise astfel:


In momentul deschiderii bazei de date "ConsiliereSiOrientare.mdb" se va deschide meniul principal numit MainBoard. Acesta arata astfel:

Principalele optiuni sunt:

  • Deschide board-ul pentru formulare:

cu ajutorul caruia se vor deschide toate formularele din baza de date.

  • Deschide board-ul pentru vizualizat rapoarte:

cu ajutorul caruia pot fi vizualizate rapoartele.


2 Realizarea help-ului pentru aplicatie


Aplicatia realizatǎ in Access oferǎ suport pentru utilizatorii aplicatiei. Help-ul utilizat in cadrul aplicatiei a fost realizat folosind utilitarul "Shalom", aceasta pentru a descrie modul in care pot fi folosite diferitele formulare de introducere a datelor. Pentru a avea acces la explicatiile suplimentare realizate cu ajutorul programului "Shalom", sub forma unui fisier numit Help.hlp, utilizatorul poate apǎsa butonul F1 sau poate folosi butonul <Wat's this> cu care sunt inzestrate majoritatea formularelor. 

Exemplu:


Dupa efectuarea unui click in campul respectiv se va deschide urmǎtoarea fereastrǎ:



Acelasi efect ar fi putut fi realizat daca cursorul se afla in campul Data Intocmire si se apǎsa tasta F1.


Aplicatia are mai multe niveluri de help, explicatii suplimentare putand fi obtinute astfel:

prin tooltip-uri; in momentul in care pozitionǎm cursorul mouse-ului deasupra unui text box din cadrul unui form si il lǎsǎm pentru cateva secunde vor apǎrea informatii suplimentare referitoare la campul respectiv

prin informatii in status bar - in momentul in care focus-ul este intr-unul din elementele unui formular, in status bar vor apǎrea informatii referitoare la campul respectiv





BIBLIOGRAFIE


[1] Connoly T., Begg C., Strachan A., Data base systems, Addison  Wesley, 1997

[2]  Harrington J.L., Relational database design, AP Professional, 1998.

[3]  Iacob P., Baze de date, Curs Univ. 'Transilvania' Brasov, 2003

[4] Iacob P., Ghid de proiectare a bazelor de date relationale, Univ. 'Transilvania' Brasov, 1997

[5]  Iacob P. Baze de date pentru incepǎtori, Ed. Univ. Pitesti, 2000

biologie

botanica






Upload!

Trimite cercetarea ta!
Trimite si tu un document!
NU trimiteti referate, proiecte sau alte forme de lucrari stiintifice, lucrari pentru examenele de evaluare pe parcursul anilor de studiu, precum si lucrari de finalizare a studiilor universitare de licenta, masterat si/sau de doctorat. Aceste documente nu vor fi publicate.