Documente Academic
Documente Profesional
Documente Cultură
CURS 4
Structuri de date. Organizarea datelor. Baze
de date
Data este obiectul de la care pornete orice decizie care se ia n
medicin / ocrotirea sntii. Prin urmare, datele trebuie s fie bine structurate,
complete i exacte; computerul este de ajutor n ndeplinirea acestor cerine.
Structura de date se definete ca o colecie de date pe care s-a definit o
metod de organizare (structur) i un mecanism de selecie i de identificare a
componentelor sale. Componentele structurii sunt identificate prin urmtoarele
elemente:
- nume;
- poziia pe care o ocup n structur, n raport cu relaia de ordine
specificat.
Asupra unei structuri de date se pot efectua urmtoarele operaii:
- creare (definirea efectiv a structurii, la momentul iniial);
- consultare (accesarea elementelor structurii);
- actualizare (modificarea elementelor structurii);
- copiere (la nivelul ntregii structuri sau al elementelor componente);
- sortare (aranjarea elementelor structurii ntr-o anumit ordine);
- reuniune (unificarea a dou sau mai multe structuri);
- descompunere (desfacerea structurii n mai multe sub-structuri
componente).
Structuri de date n sistemele de nregistrare a pacienilor pe
hrtie:
Un sistem de nregistrare a pacienilor pe hrtie este un set ordonat de
documente care conine toate datele medicale referitoare la pacient. Un astfel de
sistem de documente este organizat pe seciuni precise:
- datele administrative ale pacientului: nume, CNP, data naterii, situaia
asigurrii de sntate;
- date medicale permanente: sex, grup de snge, alergii;
- date medicale variabile: eventual nregistrri succesive n timp ale
acestora:
o istoricul pacientului;
o examenul fizic;
o rezultatele analizelor de laborator;
o tratamentul / medicamentele prescrise;
o imagini (radiografii, scintigrame);
o nregistrri
ale
semnalelor
biologice
(electrocardiograme,
spirograme).
Documentele sunt de obicei ordonate cronologic, pe seciuni
corespunztoare primei vizite la medic i vizitelor ulterioare; prin urmare, pentru
a se identifica datele cele mai noi ale pacientului, ce caracterizeaz statusul su
actual, este nevoie s se parcurg toat documentaia i toate seciunile.
Structuri de date n sistemele computerizate de nregistrare a
pacienilor:
Atunci cnd datele pacienilor sunt stocate n computer, cerina gruprii
fizice a tuturor datelor relativ la un pacient n acelai loc dispare, deoarece datele
pot fi regsite foarte uor. Mai mult, este chiar indicat (din motive de eficien) s
se foloseasc baze de date diferite pentru fiecare seciune n parte (BD a
medicamentelor, BD a diagnosticelor identificate, BD a radiografiilor, BD a ECGurilor nregistrate cu interpretarea lor, etc.)
Organizarea datelor ntr-un sistem computerizat de eviden a pacienilor
prezint urmtoarele avantaje comparativ cu sistemele pe hrtie:
- sistemul de nregistrri este dinamic;
- sistemul poate exista simultan n mai multe locaii la un moment dat (n
cazul folosirii unei reele de calculatoare) putnd fi astfel consultat n
paralel;
- sistemul nu este ordonat dup un criteriu fixat, utilizatorul avnd
posibilitatea de a defini propriile criterii de ordonare i de selecie a datelor
care l intereseaz;
- n sistemele pe hrtie utilizatorul trebuie s rsfoiasc toate paginile
pentru a gsi ceea ce l intereseaz la un moment dat, n timp ce n cazul
sistemelor computerizate regsirea datelor este instantanee.
Exist urmtoarele tipuri fundamentale de structuri de date:
NREGISTRAREA:
n programare, se definete ca o combinaie a mai multe date avnd tipuri
diferite; de exemplu, o nregistrare este o structur de date format din 3
numere ntregi, un numr real i un ir de caractere. n SGBD, nregistrarea este
definit ca un set complet de informaii referitoare la un element din baza de
date, fiind format din valori particulare pentru cmpurile bazei de date,
corespunztoare acestui element.
Structuri LINIARE de date:
- Tabloul (Array): este folosit n programare; se definete ca o list de
obiecte care au toate aceeai dimensiune i acelai tip. ntregul tablou este
stocat n memorie ntr-o zon continu, fr ntreruperi ntre elementele
componente. Tablourile pot fi de mai multe dimensiuni; un tablou cu o
singur dimensiune se numete vector; un tablou cu 2 dimensiuni se
numete matrice.
- Lista (Linked List): const dintr-o secven de obiecte, n care fiecare
obiect conine n structura sa o referin (legtur) la urmtorul obiect din
list. Este folosit n programare, deoarece permite implementarea cu
uurin a unor tipuri abstracte de date, ca de ex. stiva, coada, expresiile
simbolice. Principalul avantaj al listelor, spre deosebire de tablouri, este
acela c ordinea obiectelor conectate n list poate fi diferit de ordinea n
care acestea sunt stocate n memoria calculatorului; prin urmare, listele
permit inserarea sau tergerea de obiecte din interiorul lor, din orice
poziie, folosind un numr constant de operaii. Dezavantajul listelor este
ns acela c ele nu permit accesul aleatoriu la componentele lor, i nici
indexarea acestora ntr-o form eficient, astfel nct cutarea unui obiect
ntr-o list nu se realizeaz instantaneu, ci necesit de obicei parcurgerea
majoritii obiectelor listei.
GRAFUL:
Este o structur abstract de date format dintr-o mulime finit de
perechi ordonate, numite arcuri, ntre un numr de elemente numite noduri. Un
arc se noteaz sub forma (x, y) i se spune c merge de la x la y. Nodurile pot
fi pri componente ale structurii, sau pot fi obiecte externe, reprezentate prin
numere ntregi sau referine.
FIIERUL:
Este o colecie de date identificate cu un nume comun; toate datele
memorate n calculator sunt memorate n fiiere. Exist diferite tipuri de fiiere,
identificate prin extensia lor, n funcie de natura datelor pe care le conin i de
programul cu care au fost create (fiiere de tip text, de tip imagine, de tip
animaie, secvena video sau audio, etc.)
Una dintre cele mai performante i mai utilizate metode de organizare a
datelor este banca de date.
O banc de date se definete ca fiind format din urmtoarele elemente:
- baza de date: o colecie de date aflate n interdependen, structurat,
mpreun cu descrierea lor;
- sistemul de gestiune al bazei de date (SGBD): un sistem software ce
coordoneaz gestiunea i prelucrarea datelor din baza de date, folosind n
acest scop sistemul de operare i caracteristicile sistemului de fiiere al
computerului i furniznd o interfa cu utilizatorul independent de
acestea;
Structur arborescent
Avantajul acestui model este acela c datele sunt automat aezate ntr-o
anumit ierarhie. Dezavantajul este ns acela c, pentru a realiza baza de date,
este necesar s identificm de la nceput fiierele (tabelele) care vor trebui
integrate i ierarhia logic a acestora sistemul nefiind suficient de flexibil nct
s permit integrarea ulterioar i a altor fiiere de date. Astfel, atunci cnd se
dorete extinderea sistemului, este necesar reproiectarea sa de la nceput.
2) Modelul reea:
Reprezint o generalizare a modelului ierarhic, care folosete o structur
de date similar, dar renun la restricia c un copil poate avea un singur
printe. Asocierile ntre elemente sunt realizate prin pointeri, exprimai de obicei
prin numerele nodurilor componente. Modelul reea poate fi exprimat la nivel
logic prin modele de tip ierarhic i reciproc.
Structur reea
Avantajul acestui model este flexibilitatea sporit fa de modelul ierarhic
i un grad mai mare de accesibilitate a datelor pentru a accesa datele de la un
anumit nivel din structur, nu este necesar parcurgerea tuturor datelor de pe
nivelele superioare. Dezavantajul este acela c procesul de proiectare i
dezvoltare a bazelor de date construite cu acest model este complex, i necesit
cunoaterea tuturor tipurilor de relaii ntre date de la nceput astfel nct
modificarea acestora necesit eforturi de programare sporite. ntreinerea i
operarea cu baze de date n model reea este costisitoare i consumatoare de
timp.
3) Modelul relaional (Codd, 1970):
Se bazeaz n exclusivitate pe conceptul matematic de relaie n-ar, folosit
ca schem de structurare a datelor. Fiind date mulimile C 1, C2, ....Cn finite, i nu
neaprat distincte, se numete relaie peste aceste mulimi o submulime a
produsului cartezian al lor, C1 C2 ... Cn (unde produsul cartezian este
mulimea tuturor n-uplelor (x1, x2, ... xn) unde x1 C1, x2 C2, ... xn Cn).
Structura de date pe care este construit modelul relaional este TABELUL,
n care informaiile referitoare la o anumit entitate sunt reprezentate pe linii i
pe coloane.
10
11
12
Se noteaz:
A
B
Exemplu: S lum problema simpatiilor: mai multe fete pot simpatiza un biat
i mai muli biei pot simpatiza o fat, considernd fetele i bieii separat (n
fiiere diferite) sau n cadrul aceluiai fiier.