Subiect_10

La un centru de sănătate evidenţa consultaţiilor este ţinută cu ajutorul unui sistem informatic care are la bază două entităţi: PACIENT şi CONSULTAŢIE. Pentru fiecare consultaţie se reţine cnp-ul pacientului, data consultaţiei, numele medicului care efectuează consultaţia, specialitatea şi preţul. Opţional, dacă pacientul a fost diagnosticat cu o boală, se va reţine şi această informaţie. ERD-ul pentru aplicaţie este următorul:

S10 erd

Cerinţe:

a) Construiți baza de date cu tabele corespunzătoare şi relațiile reprezentate in ERD. Populați tabelele cu înregistrări relevante pentru cerințele următoare:

b) Afişaţi toţi pacienţii diagnosticaţi cu diabet sau obezitate de către medicul Popescu Ion.

c) Care este suma plătită la centrul de sănătate de pacientul Georgescu Paul de-a lungul timpului?

d) Câte femei au solicitat consultaţii la cabinetele cu specialitatea "Dentar" în primul semestru al anului 2010?

Rezolvare

a) Construiți baza de date cu tabele corespunzătoare şi relațiile reprezentate in ERD. Populați tabelele cu înregistrări relevante pentru cerințele următoare:

Structura tabelului PACIENT pentru fiecare câmp:

- cnp_p - cheie primară, Data Type: Text - am modificat tipul din AutoNumber în text

- nume - Data Type: Text

proprietăţi modificate

Field Size: 60

Required: Yes

- data_nasterii - Data Type: Date/Time

proprietăţi modificate

Field Size: Short Date

Required: Yes

- sex - Data Type: Text

proprietăţi modificate

Field Size: 8

Required: Yes

Opţional: Aici valoarea se poate alege dintr-o listă cu două elemente.

S10lookup

Structura tabelului CONSULTATIE pentru fiecare câmp:

- cnp_p - Data Type: Text

proprietăţi modificate

Field Size: 13

Required: Yes

- data_consult - Data Type: Date/Time

proprietăţi modificate

Field Size: Short Date

Required: Yes

- medic - Data Type: Text

proprietăţi modificate

Field Size: 60

Required: Yes

- specialitate - Data Type: Text

proprietăţi modificate

Field Size: 50

Required: Yes

- pret - Data Type: Number

proprietăţi modificate

Field Size: Single

Decimal Places: 2

Required: Yes

- diagnostic - Data Type: Text

proprietăţi modificate

Field Size: 60

Required: No

Opţional: Valoarea câmpului cnp_p se poate alege dintr-o listă realizată pe baza unei interogări care selectează codurile numerice personale din tabelul PACIENT. Astfel se poate scuti timpul de copiere a datelor din baza de date PACIENT.

S10LookupCnp

Se realizează relaţia dintre tabele legând

câmpul-cheie primară cnp_p din tabelul PACIENT la

câmpul cnp_p din tabelul CONSULTATIE.

s10relatie

b) Afişaţi toţi pacienţii diagnosticaţi cu diabet sau obezitate de către medicul Popescu Ion.

Se creează o interogare care preia date din ambele tabele - Create - Query Wizard - Simple Query Wizard.

S10interogare1

c) Care este suma plătită la centrul de sănătate de pacientul Georgescu Paul de-a lungul timpului?

Se creează o interogare care preia date din ambele tabele.

Create - Query Wizard - Simple Query Wizard - Summary (la Summary Options se bifează opţiunea Sumă).

S10summary

La criteriul de selecţie pentru câmpul nume se scrie "Georgescu Paul".

S10interogare2

d) Câte femei au solicitat consultaţii la cabinetele cu specialitatea "Dentar" în primul semestru al anului 2010?

Se creează o interogare care preia date din ambele tabele - Create - Query Wizard - Simple Query Wizard. În modul Design View câmpul data_consult se mai adaugă o dată.

La criteriile de selecţie se scriu:

- pentru câmpul sex: "Feminin"

- pentru primul câmp data_consult: <7, după ce în prealabil, la Field, am extras luna din acest câmp (semestrul 1 cuprinde lunile 1-6)

- pentru al doilea câmp data_consult: 2010, după ce în prealabil, la Field, am extras anul din acest câmp

- pentru câmpul specialitate: "Dentar".

s10interogare3

Am ataşat fişierul rezolvat în format .mdb.