proiect sgbd

32
UNIVERSITATEA „VALAHIA” DIN TÂRGOVIŞTE PROIECT LA MODULUL SGBD

Upload: barbu-raluca

Post on 01-Oct-2015

28 views

Category:

Documents


1 download

DESCRIPTION

...

TRANSCRIPT

Proiect SGBD

UNIVERSITATEA VALAHIA DIN TRGOVITEPROIECTLA MODULUL SGBD2006UNIVERSITATEA VALAHIA DIN TRGOVITE

Evidena petiiilor

n cadrul Instituiei Prefectului judeului TeleormanCUPRINS1. Necesitatea evidenei computerizate a petiiilor

42. Evidena petiiilor

43. Modelul Entitate-Asociere

54. Modelul relaional

85. Crearea tabelelor

96. Crearea formularelor de introducere a datelor

167. Interogri

188. Rapoarte

249. Bibliografie

261. Necesitatea evidenei computerizate a petiiilorPornind de la ideea c Instituia prefectului, ca instituie public, este n slujba ceteanului i avnd n vedere multitudinea de scrisori, pe care am sa le numesc petiii, care necesit soluionare, am realizat n Microsoft Access un program de eviden a petiiilor din cadrul Prefecturii jud. Teleorman.Acesta ofer multe faciliti n comparaie cu evidena scris a petiiilor, n sensul c se pot scoate mult mai uor i rapid situaii cu privire la totalul petiiilor, la petiiile nesoluionate, cutari rapide dup numele persoanelor care depun petiii.Vreau s menionez din start c, n conformitate cu Ordonana Guvernului nr. 27 / 2002, privind reglementarea activitii de soluionare a petiiilor, orice petiie depus la prefectur va primi n mod obligatoriu un raspuns.2. Evidena petiiilor

Am s descriu n continuare traseul pe care o petiie l urmeaza n cadrul prefecturii i modalitatea de lucru cu aceasta.Ceteanul, adic petiionarul, depune petiia la registratura prefecturii sau o poate transmite prin serviciul postal. n mod obligatoriu, aici este verificat dac este semnat i dac are menionat adresa petiionarului, pentru ca s i se poat transmite un raspuns, care este obligatoriu, conform legislaiei n vigoare.

La registratura prefecturii, petiia este consemnat ntr-un registru al petiiilor unde va avea un numr de nregistrare, fiecrei petiii corespunzndu-i un numr de nregistrare, o dat cnd a fost depus i o descriere pe scurt a coninutului ei, ncadrat n probleme diverse, de la retrocedri de terenuri, litigii de natur divers pn la modificari n titlurile de proprietate, etc., ca obiect al petiiei. Secretarul general al prefecturii repartizeaza petiiile personalului din cadrul aparatului propriu, pentru soluionare. Persoanele care primesc petiiile spre soluionare pot fi din compartimente diverse, ca Investiii, Drumuri, Juridic, i altele; ele primesc petiia n funcie de problematica pe care aceasta o trateaz.

Persoana care este desemnat pentru soluionare, analizeaz i elaboreaz un rspuns. Indiferent dac rspunsul este n favoarea, sau n defavoarea ceteanului, el trebuie elaborat i transmis ceteanului. Prin urmare, rspunsul este nregistrat la registratura prefecturii, cu acelasi numr cu care a fost nregistrat petiia corespunztoare, operaie numit descrcare i va fi datat. Dup care, urmeaz transmiterea lui, prin serviciul potal, ceteanului.

3. Modelul Entitate-Asociere

Din considerentele expuse la punctul 2, am definit urmtoarele entiti:

Petiionar entitate care definete ceteanul care scrie o petiie, cu urmtoarele atribute:

IDp numrul de ordine pe care petiionarul l primete n registru, odat cu nregistrarea petiiei;

NumeP numele petiionarului;

Adresa adresa petiionarului.

Stabilesc IDp drept cheie pentru aceast entitate.

Un cetean poate s nu scrie nici o petitie sau poate scrie n petiii, de aici rezultnd cardinalitatea entitatii petitionar ca fiind (0,n).

Petiie entitate care definete scrisoarea depus la prefectur, cu urmtoarele atribute:

NrInreg numarul de nregistrare al petiiei;

Data data la care a fost nregistrat la prefectur;

Obiect descrierea pe scurt a coninutului petiiei.

Stabilesc NrInreg drept cheie pentru aceasta entitate.O petiie depus la prefectur poate aparine unui cetean i numai unuia, rezult cardinalitatea (1,1).

ntre cele doua entiti, Petiionar i Petiie s-a stabiliat o asociere (1:N); entitatea Petitionar, avnd cardinalitatea (0,n) devine dominant n aceasta relaie, deci entitate printe, iar entitatea Petitie este considerat fiu.

PersSolut entitate care definete persoana desemnat din cadrul prefecturii s solutioneze petitia, cu urmatoarele atribute:

IDs numarul ordine al persoanei desemnate;

NumeS numele persoanei desemnate;

Compartiment numele compartimentului din care face parte.

Stabilesc IDs drept cheie pentru aceasta entitate.

O persoan care soluioneaz petiii poate primi una sau mai multe petiii, rezult cardinalitatea (1,n).

ntre cele doua entitati, Petitie si PersSolut s-a stabiliat o asociere (1:N); entitatea PersSolut, avand cardinalitatea (1,n) devine dominanta n aceasta relatie, deci entitate parinte, iar entitatea petitie este considerata fiu.

Raspuns entitate care definete rspunsul scris al persoanei desemnate spre solutionare, cu urmatoarele atribute:

NrInregR numarul de inregistrare al raspunsului;

DataR data la care a fost inregistrat la prefectura;

Stabilesc NrInregR drept cheie pentru aceasta entitate.

O persoana care soluioneaz poate emite unul sau mai multe rspunsuri, rezult cardinalitatea (1,N), iar un raspuns emis poate aparine uneia si numai uneia dintre persoanele desemnate, rezulta cardinalitatea (1,1) ntre cele dou entitati, PersSolut i Raspuns s-a stabiliat o asociere (1:N); entitatea PersSolut, avand cardinalitatea (1,n) devine dominanta in aceasta relatie, deci entitate parinte, iar entitatea Raspuns este considerata fiu.

Stabilim o asociere i ntre entitatile Raspuns si Petitionar.

Un rspuns apartine unui i numai unui petiionar, rezult cardinalitatea (1,1), iar un petiionar poate primi unul sau mai multe rspunsuri, rezult cardinalitatea (1,n).

ntre entitatile Raspuns i Petitionar s-a stabiliat o asociere (1:N); entitatea Petitionar, avnd cardinalitatea (1,n) devine dominanta n aceasta relatie, deci entitate parinte, iar entitatea Raspuns este considerata fiu.4. Modelul relaional

Conform regulilor de trecere de la modelul Entitate-Asociere la modelul relaional, entitile se transform n tabele, atributele n coloane ale tabelei, iar atributele menionate cheie devin cheie primar n tabel.n asocierea dintre entitatile Petitionar si Petitie, prima fiind dominanta in relatie deoarece are cardinalitatea (0,n), cea de-a doua entitate va primi drept cheie straina, cheia primara a entitatii parinte. Deci IDp, devine cheie straina n tabela Petitie.n asocierea dintre entitatile PersSolut si Petitie, prima fiind dominanta in relatie deoarece are cardinalitatea (1,n), cea de-a doua entitate va primi drept cheie straina, cheia primara a entitatii parinte. Deci IDs, devine cheie straina in tabela Petitie.

n asocierea dintre entitatile PersSolut si Raspuns, prima fiind dominanta in relatie deoarece are cardinalitatea (1,n), cea de-a doua entitate va primi drept cheie straina, cheia primara a entitatii parinte. Deci IDs, devine cheie straina in tabela Raspuns.

n asocierea dintre entitatile Petitionar si Raspuns, prima fiind dominanta in relatie deoarece are cardinalitatea (1,n), cea de-a doua entitate va primi drept cheie straina, cheia primara a entitatii parinte. Deci IDp, devine cheie straina in tabela Raspuns.5. Crearea tabelelor

Odata stabilite entitatile, atributele si asocierile, am trecut la crearea urmatoarelor tabele:Petitionar

IDpNumePAdresa

Petitie

NrInregDataObiectIDpIDs

PersSolut

IDsNumeSCompartiment

Raspuns

NrInregRDataRIDsIDp

Pentru crearea tabelelor am folosit optiunea Design View, in Microsoft Access.La tabela Petitionar am definit atributele astfel:

IDp de tip Number, Indexat (No Duplicates); as fi putut sa-l fac Autonumber, dar spre a evita anumite probleme in momentul stergerii unei inregistrari, am preferat prima varianta; NumeP de tip Text, cu o lungime de 50 caractere, Indexat (Duplicates OK) numele se pot repeta;

Adresa de tip Memo, se pot scrie fraze lungi, atat caractere cat si numere;

La tabela Petitie am definit atributele astfel:

NrInreg de tip Number, Indexat (No Duplicates);

Data de tip Data, format Short Date;

Obiect de tip Memo;

IDp, cheie straina care provine din tabela Petitionar, de tip Number, Indexat (Duplicates OK); aici valorile le ia implicit din tabela Petitionar, deci Row Source Petitionar; am stabilit numarul coloanelor pentru afisare la 2 si am fixat latimile coloanelor la 2; IDs, cheie straina care provine din tabela PersSolut, de tip Number, Indexat (Duplicates OK); aici valorile le ia implicit din tabela PersSolut, deci Row Source PersSolut; am stabilit numarul coloanelor pentru afisare la 2 si am fixat latimile coloanelor la 2.

La tabela PersSolut am definit atributele astfel:

IDs de tip Number, Indexat (No Duplicates);

NumeS de tip Text, cu o lungime de 50 caractere, Indexat (Duplicates OK) numele se pot repeta;

Compartiment de tip Memo;

La tabela Raspuns am definit atributele astfel:

NrInregR de tip Number, Indexat (No Duplicates); avand in vedere faptul ca acest atribut ia valorile NrInreg din tabela Petitie (pentru asa numita operatie de descarcare in registratura) am dat la Row Source: SELECT Petitie.NrInreg, Petitie.Data, Petitie.Obiect FROM Petitie; DataR de tip Data, format Short Date;

IDp, cheie straina care provine din tabela Petitionar, de tip Number, Indexat (Duplicates OK); aici valorile le ia implicit din tabela Petitionar, deci Row Source Petitionar; am stabilit numarul coloanelor pentru afisare la 2 si am fixat latimile coloanelor la 2;

IDs, cheie straina care provine din tabela PersSolut, de tip Number, Indexat (Duplicates OK); aici valorile le ia implicit din tabela PersSolut, deci Row Source PersSolut; am stabilit numarul coloanelor pentru afisare la 2 si am fixat latimile coloanelor la 2.

Dupa finalizarea operatiei de creare a tabelelor se trece la realizarea relatiilor, prin optiunea Relationships:

6. Crearea formularelor de introducere a datelor

Pentru asta, am creat mai nti o interogare Pet, urmnd ca formularul principal de introducere sa-l fac pe aceast interogare:

A rezultat un formular cu subformular, numit Petitionar:

Introducerea persoanelor din cadrul prefecturii, care solutioneaza petitii, se face prin formularul PersSolut, iar prin formularul Raspuns se introduce practic DataR, data la care se inregistreaza raspunsul.7. Interogari

Am urmarit ca acest program sa realizeze in principal urmatoarele functii:1) listare petitii inregistrate la prefectura;

2) listare petitii solutionate;

3) listare petitii nesolutionate; se considera petitii nesolutionate, petitiile care nu au un raspuns inregistrat, deci al carei atribut DataR, nu este completat;

4) sortare dupa numele petitionarului;

5) sortare dupa dupa numele persoanei care solutioneaza.Pentru asta am realizat interogarile urmatoare: Petitii, PetSol, PetNesol, PetitiiNume, PetitiiSol.La interogarile PetSol si PetNesol, am pus la DataR, criteriu de interogare Is Not Null respectiv Is Null, pentru a-mi selecta petitiile solutionate, respectiv nesolutionate.

In limabjul SQL, aceasta interogare poate fi scrisa astfel: SELECT Petitionar.IDp, Petitionar.NumeP, PersSolut.NumeS, Raspuns.NrInregR, Raspuns.DataR

FROM Petitionar INNER JOIN (PersSolut INNER JOIN Raspuns ON PersSolut.IDs = Raspuns.IDs) ON Petitionar.IDp = Raspuns.IDp

WHERE (((Raspuns.DataR) Is Null));

La interogarile de sortare dupa nume petitionar si nume persoana care solutioneaza am folosit pentru atributul NumeP, respectiv NumeS, criteriul Like "*" & [Nume petitionar] & "*", respectiv Like "*" & [Nume persoana solutionare] & "*", pentru a-mi da posibilitatea unei mai bune sortari, indiferent daca scriu numele complet sau partial.

In limbajul SQL:

SELECT Petitionar.IDp, Petitionar.NumeP, Petitionar.Adresa, Petitie.NrInreg, Petitie.Data, Petitie.Obiect, PersSolut.IDs, PersSolut.NumeS, PersSolut.Compartiment

FROM Petitionar INNER JOIN (PersSolut INNER JOIN Petitie ON PersSolut.IDs = Petitie.IDs) ON Petitionar.IDp = Petitie.IDp

WHERE (((Petitionar.NumeP) Like "*" & [Nume petitionar] & "*"));

8. RapoarteAm creat rapoarte pentru listare petitii, petitii solutionate, nesolutionate, sortare nume petitionar si nume persoana care solutioneaza.

9. BibliografieCursul SGBD Universitatea Valahia din TargovistePetiie

NrInreg

Data

Obiect

Rspuns

NrInregR

DataR

PersSolut

IDs

NumeS

Compartiment

scrie

0,n

1,1

elaboreaz

1,1

1,n

este repartizat

1,n

1,1

este transmis

1,1

1,n

1:N

1:N

1:N

1:N

Adresa

NumeP

IDp

Petiionar

(

1

1

(

(

1

(

(

(

(

IDp

IDs

IDs

IDp

(

1

Compartiment

NumeS

IDs

PersSolut

DataR

NrInregR

Rspuns

Obiect

Data

NrInreg

Petiie

Adresa

NumeP

IDp

Petiionar

PAGE 24