Documente Academic
Documente Profesional
Documente Cultură
MG LP11
MG LP11
Lucrarea practică 11
Indicaţii generale:
Interogarea unei baze de date este cea mai des întâlnită activitate, din punctul de
vedere al medicului-utilizator. Veţi exersa în această lucrare practică sortări (ordonari),
interogări, dar şi reorganizări ale structurii.
Introducerea datelor în tabele nu este practicată de obicei la nivel de înregistrare
completă. O înregistrare poate fi completată în mai multe etape, de către mai mulţi
utilizatori, care nu au neapărat aceleaşi drepturi de vizualizare. Veţi exersa şi crearea de
formulare de introducere de date.
Problema vizualizării selective a datelor, mai ales atunci când avem de-a face cu
multe tabele sau cu tabele având o structură „bogată” este şi ea deosebit de importantă. Pe
ecran ar trebui să avem afişate doar datele ce ne interesează. Veţi exersa şi crearea de
vizualizări.
În această lucrare practică:
a) veţi interoga o bază de date;
b) veţi crea formulare de introducere a datelor;
c) veţi vizualiza parţial date din tabele distincte.
Teme
43: restructurări şi înlocuiri
44: interogarea prin filtre
45: formulare de introducere
46: vizualizări
151
MG - Lucrarea practică 6 2015/2016 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
Tabelul este organizat în foarte multe câmpuri. Pentru a-i modifica structura, în
fereastra de comenzi, comandaţi:
MODI STRU
(prescurtarea de la Modify Structure. Dacă fereastra de comenzi nu este vizibilă, apelaţi
Command Window din meniul Window).
Apoi, în caseta de dialog Table Designer adăugaţi un câmp nou, numit verific, de
tip Logical, la sfârşitul listei de câmpuri.
Valoarea T (true)
pentru acest câmp apare în
dreptul un pacient care are
infarct antero-septal în
antecedente (ceea ce s-a
înregistrat în tabel prin
valoarea „as” plasată în
câmpul ima).
Pentru a umple
automat cu valori câmpul
verific veţi folosi comanda
REPLACE împreună cu o
expresie formată cu ajutorul
operatorului $:
string$nume_câmp
unde string este o secvenţă oarecare de caractere. Operaţia simbolizată de $ are un rezultat
logic, şi anume T (true) – pentru un anumit pacient – dacă şi numai dacă secvenţa string
este conţinută în valoarea câmpului nume_câmp pentru acel pacient; în caz contrar
rezultatul este F (false).
Sintaxa comenzii REPLACE este destul de complexă. Trebuie indicate înregistrările
152
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 11 2015/2016
asupra cărora se va acţiona, de asemenea câmpurile asupra cărora se va acţiona şi, evident,
valorile care vor fi introduse. Aceste valori pot fi obţinute şi prin calcule. Pentru a afla
detalii asupra comenzii REPLACE puteţi folosi comenzile meniului Help sau navigarea în
Web.
Concret, ar trebui să modificaţi, în toate înregistrările, valoarea câmpului verific.
Comandaţi:
REPLACE ALL verific WITH "as"$ima
care, în urma executării, schimbă în T valorile câmpului verific din înregistrările ce
conţin „as” în câmpul ima. Valoarea F (false) este implicită.
Tema 44: interogarea prin filtre
Interogarea unei baze de date se poate efectua prin intermediu filtrelor de selecţie.
Creaţi ca exemplu un filtru de selecţie simplu, numit nume_FILTRU prin care veţi
selecta doar datele despre pacienţii cu infarct antero-septal în antecedente. Pentru aceasta
folosiţi comanda
CREATE QUERY nume_FILTRU
Se va deschide o fereastră Query Designer în cadrul căreia se specifică parametrii
filtrului (interogării). Înainte de aceasta se va deschide însă o casetă de dialog Open în care
trebuie să specificaţi tabelele de date folosite pentru a realiza filtrarea. (În cazul nostru
doar tabelul LP11_1.dbf.) Apăsaţi apoi pe butonul Close în caseta de dialog Add Table or
View. În felul acesta filtrarea se face numai cu datele unui singur tabel.
Sintaxa generală a comenzii de filtrare este următoarea:
CREATE QUERY nume_fişier | ?
Criteriul de filtrare (interogare) va putea fi salvat direct în nume_fişier, extensia
implicită a fişierelor de tip filtru (interogare) fiind QPR. Dacă în locul numelui de fişier se
foloseşte caracterul ‚?’, atunci va fi deschisă o casetă de dialog Open în care se va
prezenta lista filtrelor existente, urmând a se alege unul dintre acestea.
Criteriul de
filtrare (interogare)
va fi format pe baza
denumirilor de
câmpuri (ce
reprezintă de fapt
valorile corespunză-
toare), a unor valori
concrete, precum şi
pe baza
comparatorilor =, <
,>, Like, Between
etc.
(Ar trebui să
fie clar ce înseamnă
fiecare.)
În fereastra Query Designer, pagina (tableta) Fields, puteţi selecta câmpurile
folosite pentru filtrare, trecându-le prin apăsarea butonului Add în dreapta, în zona
Selected fields. Puteţi selecta chiar toate câmpurile, apăsând butonul Add All.
În pagina (tableta) Filter vi se permite să specificaţi destul de comod condiţiile de
153
MG - Lucrarea practică 6 2015/2016 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
filtrare. Selectaţi zona Field Name şi, cu un clic, deschideţi lista câmpurilor din care
selectaţi LP11_1.verific.
În zona Example tastaţi (fără a neglija punctele) „.T.” iar comparaţia o veţi face
selectând „Like” în zona Criteria. (Dacă nu aţi fi încadrat valoarea logică T prin puncte,
atunci ea ar fi fost interpretată nu ca valoare, ci ca denumire de câmp!)
Dacă se doreşte negarea logică a criteriului de selecţie se poate bifa butonul Not.
Informaţi-vă asupra posibilităţilor oferite de butonul Case precum şi de zona Logical.
În momentul în care se doreşte finalizarea activităţii de filtrare se apelează la
opţiunea Close din caseta de control (sau se tastează [Ctrl]+[F4], sau se apasă butonul
marcat cu X din colţul dreapta-sus) a ferestrei Query Designer. Ca urmare, criteriul de
selecţie – care selectează pacienţii pentru care în câmpul verific apare valoarea logică .T. –
a fost salvat în fişierul nume_FILTRU.qpr.
A „vedea” pe ecran rezultatul filtrării este însă acţiunea care ne interesează
prioritar. Pentru aceasta puteţi inspecta conţinutul dosarului de salvare a fişierelor, în care
ar trebui să se afle fişierul nume_FILTRU.qpr. După un dublu-clic pe acesta se va
deschide o fereastră Query de tip „browse” în care vor fi afişate doar valorile din
înregistrările selectate prin filtrare.
Părăsiţi acum
fereastra Query (de
exemplu cu opţiunea
Close din caseta de
control). Asiguraţi-vă în
meniul Windows,
comanda Data Session,
că tabelul de date activ
este LP11_1.
Sortaţi-l, folosind
comanda SORT dată în fereastra de comenzi, după câmpul varsta. Numiţi
nume_CORONARE tabelul obţinut în urma sortării.
Închideţi toate fişierele de lucru şi deschideţi numai tabelul de date
nume_CORONARE.dbf. Creaţi, bazându-vă pe acest tabel de date, un nou filtru care să
implice numai câmpurile nrcrt, numpren, chirurg, varsta şi sexf.
Ştiind că în câmpul chirurg este înregistrat chirurgul care a operat pacientul (pentru
confidenţialitate, doar prin iniţiale), criteriul de filtrare va fi chirurg Like „si”. Numiţi fişierul
acestui filtru nume_CHIRURG. Vizualizaţi pe ecran rezultatul filtrării, observând ordinea
în care sunt afişate înregistrările.
Dacă ordinea nu este cea dorită (după vârsta pacienţilor), atunci procedaţi în felul
următor: deschideţi (FileOpen) fişierul-filtru nume_CHIRURG.qpr, acţionaţi în pagina
(tableta) Order By selectând câmpul LP11_1.varsta apoi plasându-l cu butonul [Add>] în
lista Ordering Criteria, după care salvaţi modificarea efectuată. Reluaţi vizualizarea.
Efectuaţi încă o modificare, acţionând în pagina (tableta) Filter prin adăugarea unui
criteriu suplimentar de filtrare, anume sexf Like .T. după ce vă asiguraţi că pe linia
criteriului anterior alegerea pentru zona Logical este „AND”!
Tema 45: formulare de introducere
Introducerea datelor în tabelele de date, în special atunci când aceste tabele au o
structură complexă, se efectuează prin intermediul unor aşa-numite „formulare” (Forms).
Un formular permite introducerea parţială a unei înregistrări, „ascunzând” utilizatorului
154
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 11 2015/2016
Trecem rapid peste prima selecţie (întrucât folosim un singur tabel): pentru a intra în etapa
1-a (principală), cea a selectării câmpurilor care vor apărea în formular. Concret, vom
selecta câmpurile numpren, chirurg, sexf, varsta şi fumator, pe care le vom trece din
lista Available fields în lista Selected fields prin simpla apăsare a butonului ►.
După etapa 1:
155
MG - Lucrarea practică 6 2015/2016 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
156
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 11 2015/2016
157
MG - Lucrarea practică 6 2015/2016 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
158
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 11 2015/2016
159