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:
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.
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.
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.
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.
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ă).
La criteriul de selecţie pentru câmpul nume se scrie "Georgescu Paul".
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".
Am ataşat fişierul rezolvat în format .mdb.