Disciplina: Informatică medicală și biostatistică [605291]
UNIVERSITATEA „OVIDIUS” CONSTANȚA
FACULTATEA DE MEDICINĂ
Disciplina: Informatică medicală și biostatistică
LUCRARE DE LICENȚ Ă
SOFTWARE PENTRU MANAGEMENTUL
PROGRAM ĂRILOR IN CADRUL
CABINETULUI MEDICAL
COORDONATOR:
Ș. L. Dr. TONY LAURENȚIU HANGAN
Absolvent: [anonimizat]
2017
2
CUPRINS
Partea generala
Introducere ………………………….. ………………………….. ………………………….. ………….. 1
Capitolul I – Baza de date ………………………….. ………………………….. ………………….. 3
I.1 Clasificarea bazelor de date ………………………….. ………………………….. ……….. 4
I.1.1 Baza de date ierarhice ………………………….. ………………………….. …………….. 5
I.1.2 Baza de date retea ………………………….. ………………………….. …………………… 6
I.1.3 B aza de date relationala ………………………….. ………………………….. …………… 7
I.1.4 Baza de date distribuite ………………………….. ………………………….. …………… 8
I.1.5 Baza de date multimedia ………………………….. ………………………….. …………. 9
I.1.6 Baza de date orientate pe obiect ………………………….. ………………………….. 11
I.1.7 Baza de date deductive ………………………….. ………………………….. ………….. 14
I.1.8 Baza de date functionale ………………………….. ………………………….. ……….. 15
I.2 Clasificare dupa numarul de utilizatori ………………………….. …………………… 16
I.3 Clasif icare dupa numarul de statii ………………………….. ………………………….. 16
Capitolul II – Baze de date relationale ………………………….. ………………………….. . 17
Capitolul III – Baze de date personalizate in Microsoft Access ……………………… 29
Capitolul IV – Baza de date medicale ………………………….. ………………………….. .. 38
Partea speciala
I. Scop si obiective ………………………….. ………………………….. ……………………. 56
II. Material si metoda ………………………….. ………………………….. …………………. 57
III. Concluzii ………………………….. ………………………….. ………………………….. ….. 77
Bibliografie ………………………….. ………………………….. ………………………….. …………. 79
PARTEA GENERALĂ
1
INTRODUCERE
În istoria civilizației umane informația a avut întotdeauna un rol foarte
important. Odată cu dezvoltarea socio -economică rolul informațiilor a crescu t tot
mai mult. Găsirea la timp a informațiilor de care avem nevoie, prelucrarea și
folosirea acestora în timp util a devenit o condiție esențială în orice domeniu de
activitate. Dezvoltarea tehnologică și apariția calculatoarelor electronice au condus
la noi posibilități de prelucrare și utilizare a informației. Astfel calculatorul a
condus la folosirea pe scară tot mai largă a sistemelor informatice ca și
componente ale sistemelor informaționale.
Sistemul informatic cuprinde date, sisteme de stocare și tr ansmitere a
datelor, software (programe), metode, calculatoare implicate în prelucrarea datelor,
etc… Capacitatea calculatorului de a prelucra un volum mare de date într -un timp
relativ scurt îl face indispensabil astăzi aproape în toate domeniile de act ivitate.
Utilizarea noilor tehnologii informatice va conduce cu siguranță la eficientizarea
activităților din domeniile respective. Domeniul medical este unul dintre cele m ai
importante pentru dezvoltarea și prosperare a economiilor și țărilor. Pe fondul
descoperirilor ca urmare a cercet ării în domeniu, sectorul medical a cunoscut în
ultimii ani o cre ștere semnificativ ă a calit ății serviciilor medicale. Informatica
medical ă susține ritmul accelerat de dezvoltare și ajut ă persoanele implicate prin
metode mode rne de asisten ță și îndrumare în procese.
Astfel, informatica medical ă se ocup ă cu obț inerea și mentenan ța resurselor,
dispozitivelor și metodelor necesare pentru a optimiza achizi ționarea, stocarea,
recuperarea și utilizarea de informa ții în domeniul s ănătății și biomedicinei în
zonele de asisten ță și îngrijire medical ă, stomatologie, farmacie, cercetare și
asigurare medical ă obligatorie.
2
Utilizarea sistemelor informatice în medicin ă au ca final beneficiar
pacientul: program ările sunt gestionate, doctor ul (elementul decizional) are acces
necondi ționat și imediat la întreg istoricul pacientului eliminându -se asftel gre șeli
în planul de tratament, utilizarea sistemelor expert pentru diagnoza, casieria este
gestionat ă automat, standardizarea și uniformizarea p rocedurilor și metodelor.
Toate aceste servicii sunt gândite pentru a oferi un cadru modern de lucru având ca
element central excelen ța.
3
CAPITOLUL I
BAZA DE DATE
Prin bază de date se înțelege orice colecție de date sau informații, care este
organizată special, în vederea consultării rapide a datelor de către utilizatorul unei
aplicații, care rulează pe un calculator. Bazele de date sunt structurate astfel încât
să faciliteze memorarea, regăsirea, modificarea și ștergerea datelor, prin diferite
operații specifice. Bazele de date se pot memora pe disc sau pe bandă magnetică,
pe disc optic sau pe orice alt fel de tip de memorare secundară. În ultimii ani,
dezvoltarea sistemelor de baze de date reprezintă unul dintre cele mai importante
aspecte în domeniul tehnologiei informației, având un impact decisiv asupra
modului de organizare și funcționare a numeroaselor instituții și servicii. Acestea
sunt companiile de comunicație, intreprinderile de comerț, unitatile sanitare,
serviciile bancare, servici ile de transport, asigurările, universitățile etc. Acestea
sunt dependente de funcționarea corectă și neîntreruptă a sistemelor de baze de
date. Sistemele de baze de date sunt o componentă importantă a vieții de zi cu zi în
societatea modernă. Zilnic, maj oritatea persoanelor desfășoară activități care
implică interacțiunea cu o bază de date: depunerea sau extragerea unei sume de
bani din bancă, rezervarea biletelor de tren sau de avion, căutarea unei cărți într -o
bibliotecă computerizată, gestiunea angajaț ilor dintr -o firmă, cumpărarea unor
produse etc. Bazele de date pot avea mărimi (număr de înregistrări) și complexități
extrem de variate, de la câteva zeci de înregistrări (de exemplu, baza de date pentru
o agendă de telefon a unei persoane) sau pot ajun ge la milioane de înregistrări (de
exemplu, baza de date pentru cărțile dintr -o bibliotecă, baza de date cu stocarea
angajaților unei firme sau baza de date unde se păstrează informații despre situația
studenților , a pacientilor etc).
4
1.1 Clasificarea Baz elor De Date:
Pe plan interna țional exist ă mai multe grupuri specializate în standardizarea
conceptelor ce apar în dezvoltarea bazelor de date, cele mai importante fiind
DBTG, CODASYL, ANSI/X3/SPARC, grupul IBM.
Bazele de date sunt extrem de variate în fun cție de criteriile luate în
considerare. O clasificare a lor se poate face în funcție de mai multe criterii cum ar
fi:
➢ după orientare, pot fi: generalizate sau specializate;
➢ după amploarea geografică, pot fi: locale sau distribuite;
➢ după limbajele utilizat e, pot fi: autonome, atunci când au limbaje proprii,
sau pot fi cu limbaj gazdă sau mixte.
Criteriul principal de clasificare a bazelor de date îl reprezintă modelul
conceptual utilizat în descrierea structurii conceptuale și logice a datelor. În funcție
de acest criteriu bazele de date pot fi:
➢ ierarhice;
➢ rețea;
➢ relaționale;
➢ distribuite;
➢ multimedia;
➢ orientate obiect;
➢ deductive;
➢ funcționale.
5
1.1.1. Baze de date ierarhice
Se bazeaz ă pe structuri de reprezentare arborigente și de tip uri de rela ție “1
la 1” si “1 la m”. Cu ajutorul modelului conceptual “ierarhic” structura conceptual ă
a bazei de date poate fi reprezentat ă sub forma unui graf ascendent în care nodurile
exprim ă colec ții de date, iar arcele reflect ă relații de asociere între înregistr ările
colec țiilor de date superioare ș i cele inferioare.
Modelul ierarhic are ca structur ă de baz ă structura arborescent ă în care
fiecarui nod al arborelului îi corespunde un tip de înregistrare, format din unul sau
mai multe c âmpuri, reprezen tând atributele ce descriu entit ăți. Descrierea acestei
structuri poate fi f ăcută utiliz ând diagrame de structur ă.
Fig. I: Diagrama de structura ierarhica
6
Caracteristicile acestui model sunt:
➢ accesu l direct este posibil numai la î nregistrarile din colec ția de date
rădăcină;
➢ accesul la înregistrarile colec țiilor de date inferioare se face prin specificarea
tuturor colec țiilor care se g ăsesc pe drumul unic, deci toate colec țiile de date
aflate în subordonare ierarhica între colec ția rădăcină și colec ția cercetat ă;
➢ toate înregistr ările din colec țiile bazei de date, cu excep ția colec ției de date
rădăcină, au c âte o înregistrare superioar ă.
Acest modul are unele limite, în special la opera țiile de actualizare a bazei
de date. Astfel, ad ăugarea de înregistr ări în colec țiile de date se poate face numai
cu precizarea colec ției de date superioare, iar ștergerea unei înregistr ări, genereaz ă
ștergerea tuturor înregistr ărilor subordonate. Doar colec ția de date r ădăcină nu este
afectat ă de acest inconvenient.
1.1.2. Baza de date retea
Este un model complet, bazat pe structura de reprezentare “re țea” și tipurile
de asocieri “1 la 1”, “1 la m” si “m la n”. Cu ajutorul modelului conceptual “re țea”,
structura conceptuala a bazei de date poate fi repre zentat ă sub forma unui graf
general, f ără limite în care nodurile exprim ă colec ții de date, iar acelea reflect ă
relații de asociere. Modelul de date re țea are o structur ă asem ănătoare cu cea
arborescent ă, cu diferen ța că un nod dependent (copil) poate avea mai mult dec ât
un singur p ărinte. Caracteristicile acestui model sunt urm ătoarele:
➢ acceptarea oric ărei colec ții de date la nivelul 1, prin indicarea explicit ă a
asocierilor dintre acestea;
➢ accepta existent ă temporar ă a înregistr ărilor f ără legături cu alt e înregistr ări;
➢ permite reprezentarea unic ă a înregistr ărilor în baza de date.
7
Potrivit acestui model, leg ăturile fizice pe suport se fac prin intermediul unor
caracteristici distincte ale structurilor sale (pointeri), a caror înregistrare exprim ă
adresa p e suport a î nregistr ării superioare sau a înregistr ării inferioare.
1.1.3. Bazele de date rela ționale :
Tind a fi cele mai utilizate deoarece acestea pot fi definite, utilizate, partajate
și controlate de foarte multe limbaje de programare. Conceperea sche mei conform
modelului rela țional depinde exclusiv de leg ăturile inter obiecte. Modelul
relațional permite:
➢ descriere simpl ă sub forma tabelar ă;
➢ actualizarea datelor f ără anomalii de stocaj;
➢ manipularea neprocedural ă a datelor.
Un model rela țional cuprinde trei elemente:
➢ structura datelor – care poate fi reprezentat ă sub forma unei mul țimi de
tabele de date numite “rela ții” ce se asociaz ă între ele prin intermediul unor
chei; deci, B.D.R. reprezint ă un ansamblu de rela ții prin care se reprezint ă
atât datele cât și legăturile dintre date;
➢ reguli de integritate, care guverneaz ă utilizarea cheilor în model, ele fiind de
fapt ni ște “cerin țe” pe care trebuie s ă le îndeplineasc ă datele con ținute în
bază. Aceste reguli pot fi: – structurale, câ nd sunt inerente model ării datelor;
– de comportament, c ând sunt specifice unei aplicaț ii particulare;
➢ operatorii care sunt specifici limbajelor algebrice și definesc opera țiile care
se pot efectua asupra rela țiilor, în scopul realiz ării func țiilor de prelucrare a
bazei de date , respectiv consultarea, inserarea, modificarea și ștergerea
datelor.
8
1.1.4. Baze de date distribuite :
Realizarea de sisteme informati ce complexe prin intermediul rețe lelor locale
de calculatoare au impus creerea de baze de date distribuite.
O baz ă de dat e distribuit ă reprezint ă o baz ă de date logic integrat ă, dar fizic
distribuit ă pe mai multe sisteme de calcul interconectate între ele.
Utilizatorul o “vede” ca pe o singur ă bază de date (logic integrat ă),
cunosc ând doar schema conceptual ă sau a șa numit ă schema global ă, și nu modul
de parti ționare, replicare și distribuire a datelor.
Rezul tă că utilizatorul global cunoa ște și are acces la schema global ă a bazei
de date (sau la o subschema a acesteia) pe care o exploateaz ă conform autoriz ării și
drepturilor sale de acces î n aceea și manier ă în care ar lucra cu o baz ă de date
local ă.
Baza de date este pozi ționat ă și distribuit ă pe mai multe sisteme de calcul,
fiecare parti ție a acesteia fiind perceput ă, la nivelul nodului de re țea unde este
stocat ă, ca o baz ă de date centralizat ă care poate fi administrat ă și exploatat ă local.
Realizarea bazelor de date distribuite impune solu ționarea urm ătoarelor
probleme:
➢ posibilitatea accesului nemijlocit la baza de date distribuit ă, perceput ă de
utilizator ca o baz ă de date centralizat ă;
➢ asigurarea transparen ței aloc ării fizice a datelor fa ță de utilizator;
➢ portabilitatea software -ului, lucru deosebit de important av ând în vedere
faptul ca bazele de date sunt gestionate pe diverse tipuri de calculatoare, cu
diverse SGBD -uri, sau chiar sisteme de operare;
9
➢ asigurarea unui sistem eficient de catalogare. Programele de aplica ție trebuie
să fie disponibile în toate nodurile re țelei pentru a realiza o exploatare
eficient ă a aplica țiilor globale;
➢ asigurarea independen ței logice, fizic e și distributive a datelor. Independen ța
distributiv ă face ca în condi țiile schimb ării modului de distribu ție a parti ției
bazei de date, aplica țiile și schema conceptual ă global ă să nu fie influen țate.
➢ prevenirea cre șterii redundan ței sau a inconsisten ței datelor în condi țiile
dezvolt ării de noi aplica ții;
➢ administrarea eficient ă a cererilor;
➢ utilizarea eficient ă a resurselor re țelei de calculatoare.
1.1.5. Baze de date multimedia :
Un sistem modern de prelucrare a informa țiilor poate trata practic orice
informa ție înregistrabil ă pe un suport magnetic sau optic (date numerice, texte,
grafic ă, sunete, voce, imagini video).
Însuși procesul de introducere a datelor într-o baz ă de date nu mai impune
structurarea și codificarea documentelor într-un anume fel, d atele put ând fi
prelucrate, ca atare, prin scanare sau înregistrarea audio sau video, ata șându-se
doar un set de caracteristici, un index cu informa ții pentru reg ăsire, consultare și
modernizare.
Bazele de date multimedia stocheaz ă texte, grafice, imagini și sunet,
utiliz ând tabele tridimensionale, dezvoltate pe linii și coloane puternic structurate
in sistem digital.
Realizarea unor astfel de baze de date ridic ă probleme deosebite de realizat,
și anume:
➢ gestionarea integral ă a unor volume mari de date prezint ă o structur ă
complex (obiecte);
10
➢ definirea și accesul la obiecte folosind limbaje declarative;
➢ realizarea opera țiilor specifice asupra obiectelor (reg ăsire, completare,
editare);
➢ realizarea interfe ței (convivale) la îndem âna utilizatorilor.
Gestion area acestor date “netradi ționale” necesit ând volume mari de stocare,
nu se poate realiza dec ât utilizâ nd tehnologii de ultim ă oră, de tipul CD -ROM –
urilor concepute pentru astfel de utiliz ări. Domeniile de utilizare a bazelor de date
multimedia se dovedes c a fi pe c ât de numeroase pe atâ t de diverse:
➢ birotic ă;
➢ documentare tehnic ă, medical ă;
➢ cartografie;
➢ instruire asistat ă de calculator etc…
Un SGBD suportând aplicații multimedia trebuie să poată realiza prelucrări
clasice asupra imaginilor și să gestion eze legăturile dintre acestea. Se impune astfel
necesitatea unor tehnici de căutare și acces clasice pentru bazele de date și tehnici
specifice prelucrării imaginii.
Pentru gestionarea și actualizarea documentelor multimedia pot fi utilizate
două soluții:
➢ creerea unei baze de date multimedia pornind de la bazele de date
clasice ce suportă diferite formate. În bazele de date create, de
exemplu cu FoxPro, Access, Paradox sau dBASE, se pot include și
prelucra astăzi sunete și imagini video la fel de ușor cum s -a prelucrat
până nu de mult doar cu text, numere și grafică;
➢ realizarea de baze de date multimedia specializate și orientate pe
gestiunea documentelor.
11
O mare cantitate de date poate fi cu adev ărat util ă numai în condi țiile
utiliz ării unor metode adecvate de organizare și regăsire. Modelul datelor utilizat în
cadrul BDI trebuie sa ofere datelor o structura flexibil ă care s ă permit ă
încorporarea în baza de date atât a caracteristicilor structurale, cât și a celor
comportamentale ale realit ății reflectate in forma țional.
BDI prin facilit ățile de interferen țiere pe care le au , dobândesc un caracter
dinamic cu un comportament relativ autonom, care ini țiază acțiuni f ără interventii
externe asupra ei.
1.1.6. Baze de date orientate pe obiect :
Permit creerea de obi ecte complexe, din componente mai simple, fiecare
având propriile atribute și propriul comportament.
Bazele de date orientate obiect sunt rezultatul aplic ării tehnologiei orientate
pe obiecte în domeniul stoc ării și regăsirii informa țiilor. Aceasta ofer ă posibilitatea
de a reprezenta structuri de date foarte complexe cu ajutorul obi ectelor.
Un model de date orientate pe obiecte are la baz ă noțiunea de entitate
conceptual ă și define ște un obiect ca o colec ție de propriet ăți care descriu entitatea.
Nu exist ă un “model orientat pe obiecte” propriu -zis, care sa descrie în mod
coerent structura și func ționarea unei baze de date orientate pe obiecte.
Principalele concepte care stau la baza unui model orientat pe obiecte sunt:
➢ obiectul – reprezint ă o unitate identi ficabil ă și cu con ținut propriu, care se
deosebe ște de ceea ce o înconjoar ă;
➢ încapsularea – este o caracteristic ă ascuns ă a stării obiectului prin care,
deși structura obiectului și modul de ac țiune al metodelor sale nu pot fi
accesate și actualizate direc t de c ătre un agent extern, totu și acestea pot fi
modificate indirect prin intermediul mesajelor;
12
➢ persisten ța – care este o proprietate a datelor sau obiectelor care implic ă
existen ța mai îndelungat ă a acestora fa ță de procesul care le -a creat. Este
propri etatea prin care starea bazei de date asigur ă execu ția unui proces
pentru a fi refolosit ulterior în alt proces;
➢ clasa – care cuprinde obiecte care au acela și fel de atribute și
comportament;
➢ tipul – care sintetizeaz ă elementele comune ale unui set de obie cte cu
acelea și caracteristici;
➢ moștenirea – este un concept puternic care, conduce la posibilitatea de
reutilizare a codului deoarece într-o baz ă de date orientat ă obiect, clasele
sunt aranjate într -o ierarhie, în care fiecare clas ă moșteneste toate
atributele și metodele superclasei din care face parte;
➢ polimorfismul – se refer ă la faptul c ă, la primirea unei mesaj, stabilirea
metodei care se aplic ă se face în mod dinamic, în func ție de clasa
obiectului în cauz ă;
➢ identitatea – este un mijloc de a distinge un obiect de altul, ea asigur ând
și persisten ța datelor;
➢ domeniul.
Nu exist ă un consens general asupra modelului de date orientate obiect.
Aceasta presupune urm ătoarele aspecte:
➢ obiectele sunt entit ăți de baz ă care î ncorporeaz ă structuri de date și
opera ții;
➢ fiecare obiect are asociat un identificator care este unic și asigurat de
sistem;
➢ clasele descriu tipuri generice pe obiecte;
13
➢ clasele sunt înrudite prin mo ștenire. Clasele sunt legate între ele prin
relații de superclas ă respectiv subclas ă, pentru a fo rma ierarhii de clase;
➢ definirea unei clase este mecanismul de specificare a schemei bazei de
date.
Schema bazei de date cuprinde toate clasele care au fost definite pentru o
aplica ție particular ă.
➢ definirea unei clase poate include tipuri de date definite de sistem sau de
utilizator cum ar fi: voce, grafic ă, imagine.
O schem ă complet ă de baz ă de date poate consta din una sau mai multe
ierarhii de clase împreun ă cu rela țiile structurale. Schema bazei de date poate fi
modificat ă dinamic, în func ție de necesi tățile utilizatorilor.
Modificarea schemei presupune:
➢ definirea unei taxonomii și a unui model al schimb ărilor. Taxonomia
define ște un set de schimb ări semnificative ale schemei, iar modelul
furnizeaz ă o baz ă pentru specificarea semanticilor schimb ărilor
schemei;
➢ implementarea schimb ărilor schemei. Pot fi identificate dou ă tipuri de
schimbare a schemei unei baze de date orientate pe obiecte:
1. Schimb ări referitoare la modul de definire al unei clase – care include
schimb ările atributelor și metodelor defin ite pentru o dat ă, cum ar fi schimbarea
numelui sau domeniului unui atribut, ad ăugarea, ștergerea unui atribut sau metode.
2. Schimb ări referitoare la structura ierarhic ă de clase care include ad ăugarea
sau ștergerea unei clase și schimbarea rela țiilor sup erclasa/subclasa dintre o
pereche de clase.
14
Bazele de date orientate pe obiect se caracterizeaz ă prin u șurința cu care
lucreaz ă cu diferite tipuri de date.
Termenul de sistem de baz ă de date orientat obiect, folosit pentru prima dat ă în
1984, a fost legat de sistemul GEMSTONE, care este o extensie a limbajului
orientat obiect SmallTalk.
Tuplurile sunt reprezentate prin obiecte, variabilele de instan ță jucând rol de
atribute. Acest tip de reprezentare nu permite definirea cu u șurință a structurilor
complexe . Performan țele realizate nu au fost satisf ăcătoare.
SGBD ORION, un alt sistem de baz ă de date orientate obiect, pune accentul pe
cereri ce utilizeaz ă predicate, gestiunea versurilor, obiecte compuse, evolu ția
dinamic ă a schemei și gestiunea datelor multim edia.
Alte sisteme de gestiune al bazelor de date orientate obiect sunt: IRIS, Object –
SQL, O2.
1.1.7. Bazele de date deductive :
Baza de date deductiv ă (BDDe) este una din realiz ările extrem de conving ătoare
din domeniul baz elor de date inteligente (BDI). BDI trebuie s ă permit ă tratarea
unei mari cantit ăți de date, provenind din diferite surse, sub diferite forme de
prezentare (texte, imagine, sunet etc.).
În deceniul opt s -a consacrat un nou concep t, cel al bazelor de date inteligente
(BDI). Acestea sunt r ezultatul progreselor înregistrate în domeniul unor tehnologii
informatice de v ârf: baze de date multimedia, programarea orientat ă obiect, precum
și tehnologiile de realizare a ra ționamentelor automate (programarea logic ă).
Bazele de date inteligente s -au manifestat și în domeniul inteligen ței artificiale
(mai precis al bazelor de cuno știnte), fiind considerate “pun ți” de trecere din spre
bazele de date c ătre bazele de cuno ștințe.
15
Realizarea de SGBD -uri inteligente (SGBDI) a marcat un pas calitativ
importan t, acestea fiind capabile s ă opereze cu dinferen țe (ra ționamente).
Utilizatorul are astfel posibilitatea de a manipula direct semantic ă bazei de date,
SGBD -ul putând rezolva cereri complexe reprezentând caracter recursiv și chiar să
realizeze ra ționamente pentru deducerea datelor solicitate de utilizator, chiar atunci
când acestea nu se afl ă explicit memorate în baza de date.
1.1.8. Baze de date functionale
Sunt definite ca un ansamblu de func ții numerotate. Func țiile sunt utilizate at ât
pentru definirea a tributelor de entitate, deci pentru descrierea entit ăților, c ât și
pentru exprimarea asocierilor dintre entit ăți. Descrierea datelor și a rela țiilor dintre
acestea cu ajutorul no țiunii de func ție face ca manipularea datelor s ă se poat ă
realiza pe baza prog ramării func ționale, s ă fie deci o manipulare func țional ă.
Modelul func țional al datelor generalizeaz ă ideea conform c ăreia rezultatul unei
funcții este dependent func țional de argumente, în sensul c ă nu este necesar ă
reprezentarea precis ă nici a argumente lor și nici a rezultatelor aplic ării func ției, ci
numai a tipului lor.
Modelul func țional face referiri la dou ă tipuri de elemente, și anume:
➢ entitatea – care reprezint ă un anumit tip de date, care identific ă un
obiect unic în baza de date și uzual, un obi ect unic din realitate;
➢ funcția – care poate fi interpretat ă drept o grupare de mul țimi. O
funcț ie de un argument reprezint ă un procedeu, o regul ă de asociere a
unei valori dintr -un domeniu cu o alt ă valoare.
16
1.2 Clasificare a după numărul de utilizatori : Majoritatea sistemelor de
baze de date sunt sisteme multiutilizator, adică permit accesul concurent (în acela și
timp) a mai multor utilizatori la aceeași bază de date. Există și un număr redus de
sisteme monoutilizator, adică suportă accesul doar al unui ut ilizator (la un moment
dat).
1.3 Clasificare după numărul de stații pe care este stocată baza de date. O
altă clasificare este cea după numărul de stații pe care este stocată baza de date .
Există două categorii de sisteme de baze de date: centralizate și d istribuite.
Un sistem de baze de date centralizat (Centralized Database System) este un
sistem de baze de date în care datele și sistemul de gestiune sunt stocate pe un
singur calculator.
Un sistem de baze de date distribuit (Distributed Database System) poate
avea atât datele, cât și sistemul de gestiune, distribuite pe mai multe calculatoare
interconectate printr -o rețea de comunicație.
17
CAPITOLUL II
BAZE DE DATE RELA ȚIONALE
Acesta este cel mai folosit model de date folosit astăzi în întreaga lume, fiind
un model de tip entitate -relație bazat pe elaborarea unui model conceptual.
Modelul relațional al unei baze de date permite extinderea bazelor de date la
nivelul calculatoarelor personale nemaifiind obligatorie utilizarea echipamentelor
costisitoare cerut e de minicalculatoare sau de calculatoarele de tip mainfraime.
Modelul a fost dezvoltat de către Dr. E. F. Codd de la San Jose Research
Laboratories ce aparțineau firmei IBM în anul 1970. Cele mai importante
caracteristici ale modelului relațional sunt s implitatea, suportul teoretic solid,
precum și cele trei elemente componente de bază. Un astfel de model este simplu
deoarece el poate fi descris cu ajutorul unui număr mic de concepte care se referă
la relații (structuri de date bidimensionale ce au prop rietăți speciale), rânduri
(datele aflate în cadrul relațiilor), coloane (câmpurile datelor din rândurile
corespunzătoare) și chei (mecanismul de identificare și asociere a rândurilor aflate
în unul sau mai multe tabele). Modelul relațional este definit pr in: structura de
date, operatorii care acționează asupra structurii și restricțiile de integritate.
1) Conceptele utilizate pentru definirea structurii de date sunt: domeniul,
tabela (relația), atributul, tuplul, cheia și schema tabelei.
Domeniul este un ansamblu de valori caracterizat printr -un nume. El poate fi
explicit sau implicit.
Tabela/relația este un subansamblu al produsului cartezian al mai multor
domenii, caracterizat printr -un nume, prin care se definesc atributele ce aparțin
aceleași clase de entități.
Fiecare relatie este compusa din tupluri sau inregistrari si atribute sau
campuri. (Figura 2)
18
Fig. II – Structura unei tabele
Atributul este coloana unei tabele, caracterizată printr -un nume.
Cheia este un atribut sau un ansamblu de atribute care au rolul de a
identifica un tuplu dintr -o tabelă. Tipuri de chei: primare/alternate, simple/comune,
externe.
Tuplul este linia dintr -o tabelă și nu are nume. Ordinea liniilor (tupluri) și
coloanelor (atribute) dintr -o tabelă nu trebuie să prezinte n ici-o importanță.
Intensia – structura unei relații împreună cu specificațiile și constrângerile
de domeniu aplicate. Se modifică rar.
Extensia – starea relației (valorile din cadrul unei relații se pot modifica).
Reprezintă conținutul curent al bazei de date ce corespunde schemei bazei de date
și se modifică frecvent.
Gradul – numărul de atribute dintr -o relație.
Cardinalitatea – numărul de tupluri dintr -o relație.
19
Baza de date relațională – reprezintă o colecție de relații ce pot fi
modificate (tabele). O astfel de colecție este descrisă sub forma unui set de scheme
de relații din cadrul bazei de date, numite scheme relaționale ale bazei de date.
Relațiile sunt alcătuite din două părți:
– instanța – un tabel cu rânduri și coloane;
– schema – specifică nu mele relației împreună cu numele și tipul fiecărei
coloane.
Schema tabelei este formată din numele tabelei, urmat între paranteze
rotunde de lista atributelor, iar pentru fiecare atribut se precizează domeniul
asociat.
Schema bazei de date poate fi reprez entată printr -o diagramă de structură în
care sunt puse în evidență și legăturile dintre tabele. Definirea legăturilor dintre
tabele se face logic construind asocieri între tabele cu ajutorul unor atribute de
legătură. Atributele implicate în realizarea le găturilor se găsesc fie în tabelele
asociate, fie în tabele distincte construite special pentru legături. Atributul din
tabela inițială se numește cheie externă iar cel din tabela finală este cheie primară .
Termenul de relație este folosit în sensul său ma tematic acceptat:
Se dă o schemă de relație R = r(A1, …, An) pe un set de domenii {D1, D2…,
Dn}. O relație n -ară r reprezintă un subset al produsului cartezian al acestor
domenii: D1 x D2 x … x Dn.
Proprietățile unei relații sunt:
➢ relațiile sunt alcă tuite din rânduri și coloane;
➢ într-o relație nu are importanță ordinea de apariție a rândurilor sau
coloanelor;
➢ între tabele nu există o asociere explicită (nici una vizibilă cuiva care
accesează datele);
20
➢ fiecare înregistrare poate fi identificată în mod u nic;
➢ fiecare rând din cadrul unui tabel are același set de coloane;
➢ fiecare coloană are un singur tip de dată (nu sunt acceptate redefiniri
pentru diferite valori).
Datorită acestor proprietăți și a fundamentului matematic, modelul relațional
permite proie ctanților concentrarea mai întâi asupra semanticii datelor și a relațiilor
dintre ele și abia apoi asupra implementarii fizice a semanticii respective pentru a
se adapta cât mai bine cerințelor și specificațiilor impuse.
2) Operatorii modelului relațional sun t operatorii din algebra relațională și
operatorii din calculul relațional.
Algebra relațională este o colecție de operații formale aplicate asupra
tabelelor (relațiilor), și a fost concepută de E.F. Codd.
Operațiile sunt aplicate în expresiile algebrice relaționale care sunt cereri de
regăsire. Acestea sunt compuse din operatorii relaționali și operanzi.
Operanzii sunt întotdeauna tabele (una sau mai multe). Rezultatul evaluării
unei expresii relaționale este format dintr -o singură tabelă.
Calculul rela țional se bazează pe calculul predicatelor de ordinul întâi
(domeniu al logicii) și a fost propus de E.F. Codd.
Predicatul este o relație care se stabilește între anumite elemente și care
poate fi confirmată sau nu.
Construcția de bază în calculul relațio nal este expresia relațională de calcul
tuplu sau domeniu (funcție de tipul variabilei utilizate).
Expresia relațională de calcul este formată din: operația de efectuat,
variabile (tuplu respectiv domeniu), condiții (de comparație, de existență), formule
bine definite (operanzi -constante, variabile, funcții, predicate; operatori),
cuantificatori.
21
Pentru implementarea acestor operatori există comenzi specifice în limbajele
de manipulare a datelor (LMD) din sistemele de gestiune a bazelor de date
relaționale (SGBDR). Aceste comenzi sunt utilizate în operații de regăsire
(interogare).
3) Restricțiile de integritate ale modelului relațional sunt structurale și
comportamentale.
Restricțiile structurale sunt:
➢ Restricția de unicitate a cheii. Într -o tabelă nu tr ebuie să existe mai
multe tupluri cu aceeași valoare pentru ansamblul cheie;
➢ Restricția referențială. Intr -o tabelă t1 care referă o tabelă t2, valorile
cheii externe trebuie să figureze printre valorile cheii primare din t2
sau să ia valoarea null (nepre cizat);
➢ Restricția entității. Intr -o tabelă, atributele din cheia primară nu
trebuie să ia valoarea NULL.
Cele trei restricții de mai sus sunt minimale.
Pe lângă acestea, există o serie de alte restricții structurale care se referă la
dependențele dintre date: funcționale, multivaloare, joncțiune etc. (sunt luate în
considerare la tehnicile de proiectare a bazelor de date relaționale – BDR).
Bazele de date relaționale (BDR) utilizează modelul de date relațional și
noțiunile aferente. BDR au o solidă funda mentare teoretică, în special prin
cercetările de la IBM conduse de E.F.Codd.
BDR este un ansamblu organizat de tabele (relații) împreună cu legăturile
dintre ele. Concepte utilizate la organizarea datelor în BDR și respectiv fișiere sunt
prezentate mai j os:
22
Tab. I – Concepte utilizate în organizarea datelor
Fișiere Fișier Înregistrare Câmp Valori
BDR Relatie (tabel) Tuplu (linie) Atribut
(coloana) Domeniu
valori
Tabel II – Avantajele BDR
CRITERIU BDR FISIERE
Independenta datelor logică și fizică fizică
Niveluri de structurare conceptual, logic și
fizic logic și fizic
Deschidere si portabilitate mare mică
Reprezentarea si utilizarea
datelor simplificat prin model complicat
Structura de date se pastreaza în dicționarul BDR în programe
Atunci c ând dorim să realizăm o bază de date relațională trebuie să știm clar
ce avem de făcut, adică să stabilim obiectivele activității noastre.
➢ Partiționarea semnifică faptul că aceleași date trebuie să poată fi folosite în
moduri diferite de către diferiți ut ilizatori;
➢ Deschiderea se referă la faptul că datele trebuie să fie ușor adaptabile la
schimbările care pot apărea (actualizarea structurii, tipuri noi de date etc.);
➢ Eficiența are în vedere stocarea și prelucrarea datelor, care trebuie să se facă
la cost uri cât mai scăzute, costuri care să fie inferioare beneficiilor obținute;
23
➢ Reutilizarea înseamnă faptul că fondul de date existent trebuie să poată fi
reutilizat în diferite aplicații informatice;
➢ Regăsirea este o actvitate frecventă pe bazele de date și de aceea cererile de
regăsire trebuie să poată fi adresate ușor de către toate categoriile de
utilizatori, după diferite criterii;
➢ Accesul înseamnă modul de localizare a datelor și acest lucru trebuie să
poată fi realizat prin diferite moduri de acces, ra pid și ușor;
➢ Modularizarea presupune faptul că realizarea BDR trebuie să se poată face
modular pentru generalitate și posibilitatea lucrului în echipă;
➢ Protecția bazei de date trebuie asigurată sub ambele aspecte: securitatea și
integritatea datelor;
➢ Redundanța se asigură în limite acceptabile prin implementarea unui model
de date pentru baze de date și prin utilizarea unei tehnici de proiectare a
BDR. Se asigură astfel, o redundanță minimă și controlată;
➢ Independența datelor față de programe trebuie as igurată atât la nivel logic
cât și și fizic.
Bazele de date relaționale au evoluat ca un tip special de aplicații
informatice, și anume cele care au organizarea datelor în memoria externă conform
unui model de date specific. De aceea, în metodologia de re alizare a BDR se
parcurg, în cea mai mare parte, cam aceleași etape ca la realizarea unei aplicații
informatice, cu o serie de aspecte specifice. Pe de altă parte, în literatura de
specialitate, sunt diferite propuneri de metodologii de realizare a bazelor de date.
Activitățile (etapele) parcurse pentru realizarea unei BDR sunt: analiza de
sistem, proiectarea noului sistem, realizarea componentelor logice, punerea în
funcțiune, dezvoltarea.
24
1) Scopul analizei de sistem este de a evidenția cerințele aplicației și
resursele utilizate (studiul), precum și de a evalua aceste cerințe prin
modelare (analiza).
Studiul situației existente se realizează prin: definirea caracteristicilor
generale ale unității, identificarea activităților desfășurate, identificarea resurs elor
existente (informaționale, umane, energetice, echipamente, financiare etc.),
identificarea necesităților de prelucrare. Analiza este o activitate de modelare
(conceptuală) și se realizează sub trei aspecte: structural, dinamic și functional.
Proiectar ea schemei conceptuale pornește de la identificarea setului de date
necesar sistemului. Aceste date sunt apoi integrate și structurate într -o schemă
(exemplu )
a) Analiza structurală evidențiază, la nivel conceptual, modul de
structurare a datelor și a legătur ilor dintre ele. Cea mai utilizată
tehnică este entitate -asociere. Aceasta conține:
➢ Identificarea entităților: fenomene, procese, obiecte concrete
sau abstracte (substantivele din prezentarea activității descrise)
(exemple de entități: Persoane, Produse, B eneficiari).
➢ Identificarea asocierilor dintre entități ca fiind legăturile
semnificative de un anumit tip (verbele din prezentarea
activității descrise).
➢ Identificarea atributelor ce caracterizează fiecare entitate în
parte (exemple de atribute: Marca, Nu me, Adresă).
➢ Stabilirea atributelor de identificare unică a real izărilor entității,
drept chei. Rezultatul analizei structurale este modelul static
(structural) numit și diagrama entitate -asociere. Diagrama
entitate -asociere (EntityRelationship) poate fi generată cu
produse software tip CASE (Computer Aided Software
25
Engineering), ca de exemplu Oracle Designer. Pornind de la o
astfel de diagramă, se pot construi, în actvitatea de proiectare,
schemele relațiilor (tabelelor).
b) Analiza dinamică evidențiază com portamentul elementelor
sistemului la anumite evenimente. Una din tehnicile utilizate este
diagrama stare -tranziție. Aceasta presupune:
➢ Identificarea stărilor în care se pot afla componentele
sistemului.
➢ Identificarea evenimentelor care determină trecerea unei
componente dintr -o stare în alta.
➢ Stabilirea tranzițiilor admise între stări.
➢ Construirea diagramei stare -tranziție.
Rezultatul analizei dinamice este modelul dinamic.
c) Analiza funcțională evidențiază modul de asigurare a cerințelor
informaționale (f luxul prelucrărilor) din cadrul sistemului, prin
care intrările sunt transformate în ieșiri. Cea mai utilizată tehnică
este diagrama de flux al datelor. Conform acestei tehnici se
delimitează:
➢ Aria de cuprindere a sistemului.
➢ Se identifică sursele de date .
➢ Se identifică modul de circulație și prelucrare a datelor.
➢ Se identifică apoi rezultatele obținute.
Rezultatul analizei funcționale este modelul funcțional.
26
2) Proiectarea structurii bazei de date se face pe baza modelelor realizate
în activitatea d e analiză. Inainte de proiectarea bazei de date se alege tipul de
sistem de gestiune a bazei de date. Alegerea SBGD -ului se face ținând cont de
două aspecte: cerințele aplicației (utilizatorului) și performanțele tehnice ale
SGBD -ului.
Cerințele aplicației se referă la: volumul de date estimat a fi memorat și
prelucrat în BDR; complexitatea problemei de rezolvat; ponderea și frecvența
operațiilor de intrare/ieșire; condițiile privind protecția datelor; operațiile necesare
(încărcare/validare, actualizare, r egăsire etc.); particularitățile activității pentru care
se realizează baza de date.
Performanțele tehnice ale SGBD -ului se referă la: modelul de date pe care -l
implementează; ponderea utilizării SGBD -ului pe piață și tendința; configurația de
calcul mini mă cerută; limbajele de programare din SGBD; facilitățile de utilizare
oferite pentru diferite categorii de utilizatori; limitele SGBD -ului; optimizările
realizate de SGBD; facilitățile tehnice; lucrul cu mediul distribuit și concurența de
date; elementele multimedia; instrumentele CASE; interfețele de comunicare;
posibilitatea de autodocumentare; instrumentele specifice oferite.
Proiectarea BDR se realizează prin proiectarea schemelor BDR și
proiectarea modulelor funcționale specializate. Schemele bazei d e date sunt:
conceptuală, externă și internă.
a) Proiectarea schemei conceptuale pornește de la identificarea
setului de date necesar sistemului. Aceste date sunt apoi integrate
și structurate într -o schemă (exemplu: pentru BDR relaționale cea
mai utilizată t ehnică este normalizarea). Tehnica de normalizare
este utilizată în activitatea de proiectare a structurii BDR și constă
în eliminarea unor anomalii (neajunsuri) de actualizare din
27
structură. Anomaliile de actualizare sunt situații nedorite care pot
fi gen erate de anumite tabele în procesul proiectării lor (anomalia
de ștergere, anomaliile de adă ugare, anomalia de modificare).
Normalizarea este o teorie construită în jurul conceptului de
forme normale (FN), care ameliorează structura BDR prin
înlăturarea tr eptată a unor neajunsuri și prin imprimarea unor
facilități sporite privind manipularea datelor. Normalizarea
utilizează ca metodă descompunerea (top -down) unei tabele în
două sau mai multe tabele, păstrând informații (atribute) de
legătură.
b) Proiectare sc hemei externe are rolul de a specifica viziunea
fiecărui utilizator asupra BDR. Pentru acest lucru, din schema
conceptuală se identifică datele necesare fiecărei viziuni. Datele
obținute se structurează logic în subscheme ținând cont de
facilitățile de uti lizare și de cerințele utilizator. Schema externă
devine operațională prin construirea unor viziuni (view) cu
SGBD -ul și acordarea drepturilor de acces. Datele într -o viziune
pot proveni din una sau mai multe colecții și nu ocupă spațiul
fizic.
c) Proiectare a schemei interne presupune stabilirea str ucturilor de
memorare fizică a datelor și definirea căilor de acces la date.
Acestea sunt specifice fie SGBD -ului (scheme de alocare), fie
sistemului de operare. Proiectarea schemei interne înseamnă
estimarea spați ului fizic pentru BDR, definirea unui model fizic
28
de alocare (a se vedea dacă SGBD -ul permite explicit acest lucru)
și definirea unor indecși pentru accesul direct, după cheie, la date.
Proiectarea modulelor funcționale ține cont de concepția generală
a BD R, precum și de schemele proiectate anterior. În acest sens,
se proiectează fluxul informațional, modulele de încărcare și
manipulare a datelor, interfețele specializate, integrarea
elementelor proiectate cu organizarea și funcționarea BDR.
3) Realizarea comp onentelor logice . Componentele logice ale unei BD sunt
programele de aplicație dezvoltate, în cea mai mare parte, în SGBD -ul
ales. Programele se realizează conform modulelor funcționale proiectate
în etapa anterioară. Componentele logice țin cont de ieșiri , intrări,
prelucrări și colecțiile de date. În paralel cu dezvoltarea programelor de
aplicații se întocmesc și documentațiile diferite (tehnică, de exploatare,
de prezentare).
4) Punerea în funcțiune și exploatarea . Se testează funcțiile BDR mai întâi
cu dat e de test, apoi cu date reale. Se încarcă datele în BDR și se
efectuează procedurile de manipulare, de către beneficiar cu asistența
proiectantului. Se definitivează documentațiile aplicației. Se intră în
exploatare curentă de către beneficiar conform docu mentației.
5) Dezvoltarea sistemului . Imediat după darea în exploatare a BDR, în mod
continuu, pot exista factori perturbatori care generează schimbări în
BDR. Factorii pot fi: organizatorici, datorați progresului tehnic, rezultați
din cerințele noi ale benef iciarului, din schimbarea metodologiilor etc.
29
CAPITOLUL III
BAZE DE DATE PERSONALIZATE IN MICROSOFT ACCESS
Microsoft Access este unul din cele mai cunoscute sisteme de gestiune a
bazelor de date relaționale pe platforme de calculatoare personale. Micr osoft
Access dispune de un sistem de control al bazei de date (database engine) și o
intefață grafică pentru interacțiunea cu utlizatorul. Aplicațiile de baze de date în
MS Access se pot dezvolta cu multă ușurință datorită generatoarelor de aplicații
(wiza rds) care permit proiectarea vizuală a bazelor de date, a formularelor (forms)
pentru interfețele grafice și a rapoartelor (reports).
ACCESS este atât un sistem de stocare a datelor, cât și un sistem de gestiune
a acestora. Una dintre facilitățile sale importante este interfața grafică ușor de
înțeles care permite crearea interogărilor, formularelor și rapoartelor – facilitate
care lipsește din multe baze de date mai mari și mai complexe. O caracteristică
importantă a bazelor de date ACCESS este faptul că toate componentele sale
tabele, formulare, interogări și rapoarte se păstrează într – un singur fișier. Acest
lucru face ca operațiunile din interiorul bazei de date să se facă rapid. Acest fișier
are extensia mdb sau accdb și poate fi copiat cu ușurință d intr –o locație în alta.
Principalele caracteristici ale sistemului de gestiune a bazelor de date
ACCESS sunt:
➢ Lucrează sub sistemul de operare Windows;
➢ Este deschis comunicării cu alte sisteme de gestiune a bazelor de
date cum ar fi FoxPro sau Paradox;
➢ Este compatibil cu tehnologia ActiveX care permite realizarea
aplicațiilor client/server;
30
➢ Permite aplicarea unor aplicații complexe prin utilizarea limbajului
Visual Basic;
➢ Permite comunicarea cu SQL Server, un alt produs Microsoft care
gestionează baze de date;
➢ Permite accesul la baze de date din re țeaua Internet, fiind un
instrument util pentru publicarea informațiilor în paginile Web;
➢ Conține instrumente wizard care permit utilizatorului crearea facilă
a unor obiecte componente ale bazei de date (tab ele, formulare,
interogări, rapoarte);
➢ Oferă posibilitatea creării unei cópii a bazei de date;
➢ Permite utilizarea instrumentului wizard pentru crearea a peste 20
de tipuri comune de aplicații;
➢ Permite utilizarea obiectelor ACCESS în alte aplicații rulat e sub
Windows.
➢ Permite utilizarea de adrese și legături Internet.
O bază de date ACCESS poate fi definită ca o colecție de obiecte:
➢ Tabele (tables);
➢ Cereri de interogare (queries);
➢ Formulare (forms);
➢ Rapoarte (reports);
➢ Pagini Web (pages);
➢ Comenzi macro (macros);
➢ Module (modules);
31
Obiectele cele mai importante, memorate într -o bază de date sunt tabelele
bazei. În accepțiunea programului Access, un tabel este format dintr -un număr de
linii (rânduri) și dintr -un număr de coloane. Prima lin ie a tabelului are un rol
special, ea este linia de antet (cap de tabel) a tabelului. Fiecare celulă a liniei de
antet conține un nume de câmp. Celelalte linii ale tabelului sunt articolele
(înregistrările) tabelului. Fiecărui nume de câmp îi este asociat un tip de dată și o
dimensiune (lungime), exprimată în octeți.
Tipul unui câmp stabilește domeniul de valori al câmpului, adică valorile
care se pot memora în câmpul respectiv. Astfel, de exemplu, într -un câmp tip Text
se pot memora până la 255 caractere (proprietatea FieldSize a câmpului are
valoarea maximă 255).
Într-un camp Number se pot memora valori numerice. Proprietatea FieldSize
a câmpului stabilește domeniul de valori permise. Dacă, de exemplu, această
proprietate este configurată cu valoarea Byte, atunci în câmpul respectiv se pot
memora numere întregi din intervalul [0,255].
Articolul 1
Articolul 2
…….
Articolul n
Unui tabel îi pot fi adăugate nu numai articole noi , ci și câmpuri noi,
iar unele câmpuri pot fi desființate, adică structura tabelului poate fi modificată.
Nume camp1 Nume camp2 …… Nume camp n
32
Formulare servesc în primul rând pentru a facilita introducerea
articolelor unui tabel, cu ajutorul unui șablon vizibil pe ecran. Folosindu -le, este
posibilă și navigarea între articolele deja introduse și editarea articolel or.
Formularele potafișa câte un singur articol odată, astfel cǎ introducerea de valori în
câmpurilearticolului afișat va fi foarte simplă și sigură. Formularele pot afișa
articolele înordinea definită de utilizator și permit selectarea numai a articolelor ,
careîndeplinesc anumite criterii.
Programul Access realizează o înlănțuire între formular și tabel: informația
tastată în formular va fi memorată în tabelul aferent formularului. Există
posibilitatea utilizării unui singur formular pentru a introduce art icole, simultan, în
mai multe tabele.
Formularele sunt înzestrate cu o bară de instrumente, prevăzută cu butoane
de comandă pentru parcurgerea articolelor deja introduse, precum și cu un buton
pentru introducerea unui articol nou. Pe bară se afișează număr ul articolului actual
precum și numărul total de articole.
Cereri de interogare (queries) sunt obiecte care permit vizualizarea
informațiilor obținute prin prelucrarea datelor din una sau mai multe tabele și/sau
alte cereri de interogare. Interogările ser vesc la selectarea – pe baza anumitor
criterii – a anumitor articole din tabele.
Articolele selectate pot fi afișate într -o ordine stabilită de utilizator. Există
posibilitatea combinării datelor provenite din mai multe tabele asociate, deci
rezultatele in terogării pot fi vizual izate într -o singură fereastră.
În majoritatea cazurilor, programul Access permite editarea datelor afișate
într-o interogare; modificările efectuate vor fi salvate în tabelul, care a furnizat
datele.
33
Rapoartele servesc la extragere a datelor din tabele și interogări și la
trimiterea lor la imprimantă, sau în vederea afișării pe ecranul monitorului.
Articolele imprimate pot fi grupate și sortate. Rapoartele pot conține antete și
subsoluri de pagină (afișate la începutul și la sfârșitu l fiecărei pagini, în care pot fi
introduse, de exemplu, nume de câmpuri, numărul paginii curente) precum și un
antet și un subsol de raport (afișate pe prima, respectiv ultima pagină a raportului,
în care se poate include, de exemplu, sigla unei instituți i sau un rezumat al tuturor
datelor, ca sumă a valorilor dintr -un câmp specificat).
Pagini Web (pages) reprezintă un obiect care include un fișier HTML și alte
fișiere suport în vederea furnizării accesului la date prin intermediul Internet -ului.
Comenzi macro (macros) reprezintă un obiect care conține o definiție
structurată a uneia sau mai multor acțiuni pe care ACCESS le realizează ca un
răspuns la un anumit eveniment.
Module (modules) reprezintă un obiect care conține proceduri definite de
utilizator, scrise în limbajul Visual Basic.
Pe lângă obiectele prezentate, pe interfața de pornire, mai există câteva butoane
(Open, Design, New, un buton de ștergere și câteva de afișare a obiectelor) a căror
înțelegere și rol este ușor de dedus, de aceea nu vor mai fi prezentate.
Macros/Macrocomenzi permite realizarea unor sarcini de rutină prin
automatizarea lor. Într -o singură comandă, de exemplu putem crea
o macrocomandă pentru deschiderea și imprimarea automată a uni raport. Numărul
maxim de operații defi nite per macrocomandă este 999.
Groups /Grupuri se pot crea grupuri cu elementele din baza de date ce
au legătura între ele.
34
Tipuri de date MICROSOFT Access
Vom vorbi în continuare despre crearea de tabele în mediul Microsoft
Access și despre alocarea un ui tip de date corespunzător pentru câmpurile din
tabele.
Tabelele reprezintă obiectele din cadrul bazei de date în care se stochează
datele. Un tabel este constituit din câmpuri, care sunt coloane ale acelui tabel și
cărora li se atribuie câte un nume, f iecare având un tip de date și o dimensiune bine
precizată. Această abordare structurată a datelor asigură bazelor de date puterea și
viteza de lucru de care au nevoie. Se va alege personal numele fiecărui câmp, tipul
și proprietățile acestora, în funcție de dorințe. Înțelegerea corectă a tipurilor de
câmpuri disponibile și a proprietăților acestora ne oferă posibilitatea creării unor
structuri bune și eficiente pentru stocarea și gestionarea datelor.
Microsoft Access permite folosirea numelor pentru câmpu ri cu o lungime de
până la 64 de caractere inclusiv spațiile înglobate. Este indicat ca numele să fie
scurt, fără spații și denumirea lui să fie cât mai sugestivă. Trebuie precizat tipul de
date pe care îl conține fiecare câmp.
Aceste tipuri de date dispo nibile în Access sunt:
➢ Text – Majoritatea câmpurilor folosite în baza de date sunt de tipul text. Pe
lângă câmpurile care au tipul evident text, cum ar fi: Nume, Adresa,
câmpurile text se mai pot folosi și pentru numerele care nu au funcție
matematică. De exemplu, se folosesc câmpurile text pentru stocarea
numerelor de telefon, a codului poștal etc. Dimensiunea prestabilită a unui
câmp text în Access este de 50 caractere, dar putem alege orice dimensiunea
între 1 și 255.
35
➢ Memo – Dimensiunea unui câmp de tipu l Memo este de 64KB (kiloocteți),
asta însemnând că putem stoca aproximativ 16 pagini de text scris la un rând
pentru fiecare înregistrare. Câmpurile memo constau numai din text. Pot fi
incluse secvențe de salt la început de rând sau salt la rând nou, dar nu se
acceptă opțiuni de formatare a textului sau indentarea unui paragraf.
➢ Număr – Tipul număr (Number) include mai multe tipuri care diferă prin
modul de stocare și viteza de răspuns. Acestea sunt:
1. tipul Byte (Octet), care acceptă numai valori întreg i pozitive până la 255;
2. tipul Integer (întreg), care acoperă domeniul numerelor întregi de la –
32768 la 32768;
3. tipul Long Integer (Întreg lung), care reprezintă numerele întregi până
dincolo de limitele de plus și minus 2 miliarde;
4. tipul Single, care acoperă domeniul numerelor fracționare cu până la 7
cifre semnificative;
5. tipul Double, care acoperă domeniul numerelor fracționare cu până la 14
cifre semnificative;
6. tipul ReplicationID (IdentificatorDuplicare), care este reprezentată pe 16
octeți și a fost creată cu scopul de a asigura un identificator unic global (GUID:
Globally Unique Identifier) pentru bazele de date în cazul cărora trebuie realizată
sincronizarea unor mari cantități de date suplimentare, de la mai multe situri.
➢ Dată calen daristică/Oră – Microsoft Access stochează intern datele
calendaristice sub forma unor numere în virgulă mobilă pe 8 octeți, ora fiind
reprezentată ca o fracțiune dintr -o zi. În general este suficientă în majoritatea
situațiilor opțiunea Short Date (Forma scurtă a datei), deși s -ar putea să
dorim ca anul să fie reprezentat pe formatul de 4 cifre.
36
➢ Valută – Tipul valută (Currency) acoperă valorile în dolari întregi până la 15
cifre și valorile zecimale până la sutimi de cent. Ca reprezentare internă,
tipul v alută este un număr în virgulă fixă. Acest format asigură o precizie
sporită calculelor financiare, dar este mai lent decât tipurile de numere
întregi sau în virgulă mobilă.
➢ Număr cu incrementare automata – În Microsoft Access, datele de tip
număr cu incre mentare automată (AutoNumber) pot fi secvențiale sau
aleatoare. Microsoft Access permite stabilirea dimensiunii unui număr cu
incrementare automată, prestabilit fiind întreg lung. Numerele cu
incrementare automată sunt atribuite chiar în momentul în care î ncepem să
adăugăm o înregistrare nouă. În cazul ștergerii unei înregistrări existente, nu
există nici o posibilitate de creare a unei alte înregistrări cu același număr.
➢ Da/Nu – Tipul Da/Nu (Yes/No) stochează numai valori true sau false
(adevărat sau fals ). O astfel de valoare poate fi afișată în una din formele
True/False, Yes/No sau On/Off.
➢ Obiect OLE – Tipul de câmp OLE este destinat păstrării datelor provenite de
la alte programe, care s -au înregistrat ele însele ca servere OLE în
Windows.Aceasta perm ite bazei de date să stocheze documentele create de
programe de prelucrare a textelor, seturi de foi de calcul, ilustrații, sunete,
videoclipuri, etc.
➢ Program wizard de căutare – Programul wizard de căutare (Lookup Wizard)
nu este câtuși de puțin un alt t ip de câmp. El reprezintă o metodă
convenabilă de crearea a unui câmp care îndeplinește funcția de căutare într –
un alt tabel.
37
Opera ții cu obiectele (componentele) bazei de date :
➢ New/Nou – deschide fereasta de creare a unui element nou de tipul celui
selec tat în lista de obiecte;
➢ Open/Deschide – afișează elementul selectat în panoul din dreapta –
obiectele create în baza de date vor fi afișate prin selectarea lor și apăsarea
pe ”Open”;
➢ Views/Vizualizare – Butoane moduri de afișare permite selectarea modului
de afișare în panoul din dreapta: pictograme mari, pictograme mici, listă,
detalii;
➢ Design/Proiectare – afișează elementul selectat în panoul din dreapta în
modul de vizualizare si design proiect;
➢ Delete/Șterge – elimină elementul selectat în panoul din d reapta;
➢ Save/Salvare – bazei de date Access. O bază de date este salvată automat la
închiderea sa.
➢ Close/Închidere – închide obiectul selectat realizând salvarea automata.
38
CAPITOLUL IV
BAZE DE DATE MEDICALE
Proiectarea unei baze de date con stă din proiectarea logică și fizic ă a
acesteia, pentru a corespunde cerințelor utilizatorilor pentru un anumit set de
aplicații. În general, vom considera că proiectarea corectă a unei baze de date
trebuie să parcurgă următoarele etape:
➢ Analiza cererilor și strângerea de informații referitoare la aplicație.
➢ Proiectarea conceptuală a bazei de date.
➢ Alegerea unui sistem de gestiune al bazelor de date.
➢ Proiectarea logică a bazei de date.
➢ Proiectarea fizică a bazei de date.
➢ Implementarea bazei de date și a aplicației.
Înainte de a se proiecta efectiv o bază de date, este necesar să se cunoască ce
rezultate așteaptă potențialii utilizatori să obțină de la baza de date respectivă și
documentarea asupra informațiilor ce sunt disponibile pentru aceasta. De
asemenea, este necesară și definirea cât mai exactă a aplicației.
Având cerințele formulate se poate trece la elaborarea schemei conceptuale
utilizând un model de nivel înalt. Schema conceptuală reprezintă o descriere
concisă a datelor utilizatorului, incluzâ nd descrierea detaliată a tipurilor de date, a
relațiilor și restricțiilor acestora.
39
Proiectarea fizică a bazei de date reprezintă procesul de alegere a structurilor
de memorare și de acces la fișierele bazei de date, pentru a obține performanțe cât
mai bu ne pentru aplicația proiectată. Deciziile de proiectare fizică se pot lua numai
după o analiză a aplicațiilor care se vor executa și în principal, a interogărilor și
tranzacțiilor pe care acestea le vor lansa. În urma analizei se pot sintetiza informații
care să dea imaginea de ansamblu a utilizării atrib utelor relațiilor bazei de date.
Ultima etapă este cea de implementare efectivă a bazei de date și a aplicației.
Aici se crează pe baza modelului definit obiectele bazei de date, se populează cu
date baza d e date, se verifică constrângerile, se crează interfețele cu utlizatorul și
rapoartele neceare cu datele extrase din baza de date.
Modelul entitate -relație este cel mai utilizat model conceptual de nivel înalt,
care reprezintă schema conceptuală a bazei de date cu ajutorul entităților și a
relațiilor dintre acestea. O entitate este un obiect al lumii reale, cu o existență
independentă și poate reprezenta un obiect fizic, o activitate, un concept; are o
serie de proprietăți numite atribute, ce descriu entita tea respectivă. Cu toate că nu
reprezintă același lucru, pentru denumirea de entitate se mai folosește și denumirea
de tabel al bazei de date, iar pentru attribute – câmpurile tabelului.
• Tabelă (entitate) este o colecție de informații logice relaționale tratată ca o
unitate;
• Înregistrare (n -uplu): O tabelă este compusă din înregistrări sau rânduri.
Fiecare înregistrare este tratată ca o simplă unitate. Fiecare înregistrare este legată
de înregistrări ale altei tabele.
• Câmpuri (atribute): Înregistrăr ile sunt constituite din câmpuri (coloane).
Un câmp este o particulă atomică a bazei de date ce reprezintă cea mai mică
cantitate de informație care poate fi manipulată. Toate înregistrările dintr -o tabelă
au aceleași câmpuri.
40
Atributelor li se asociază va lori care au ca scop identificarea entității.
Această atribuire de valori pentru fiecare atribut formează o înregistrare a tabelului
respectiv.
Unele atribute pot fi divizate în mai multe părți cu semnificație
independentă. Un astfel de atribut este un atribut complex .
Atributele care nu sunt compuse se numesc atribute atomice . Valoarea
atributelor complexe se formează prin concatenarea valorilor atributelor atomice.
Multe atribute au valoare unică pentru o entitate particulară și sunt numite
atribute cu o singură valoare .
Atributele derivate sunt atributele ce se pot determina din alte atribute.
În anumite situații, o entitate poate să nu aibă valori pentru toate atributele
asociate ei, în acest caz folosindu -se o valoare specială numită atributul null .
În proiectarea bazelor de date se definesc relații sau asocieri între mulțimile
de entități componente, pentru a reprezenta anumite aspecte ale realității pe care o
modelează baza de date.
O relație este o corespondență între entități din una sau mai multe m ulțimi de
entități. Gradul unei relații este dat de numărul de mulțimi de entități asociate.
Relațiile pot fi binare (între 2 mulțimi de entități) sau multiple (între mai
mult de 2 entități). Relațiile binare sunt împărțite în trei categorii, după numărul
elementelor din fiecare din cele două mulțimi puse în corespondență de relația
respectivă.
Relația stabile ște o conexiune între dou ă tabele ce sunt corelate logic unul cu
celalalt, și ajut ă la continuarea îmbun ătățirii structurilor de tabel și la reducere a
datelor redundante. Rela ția este mecanismul care permite extragerea datelor din
mai multe tabele simultan.
41
O rela ție corect definit ă asigur ă integritatea la nivel de rela ție, care, la r ândul
ei, garanteaz ă că relația însăși este solid ă și de încredere.
Modelul rela țional clasific ă relațiile ca fiind de tip unu la unu (1:1) , unu la
mai mul ți (1:m) și mai mul ți la mai mul ți (m:m).
O rela ție între tabele dintr -o pereche este stabilit ă în mod implicit prin
intermediul valorilor echivalente ale unui c âmp comun .
Atâta timp c ât un utilizator cunoa ște rela țiile dintre tabelele incluse într-o
bază de date, poate ob ține acces la date într-un num ăr aproape nelimitat de moduri.
Două tabele au o rela ție unu la unu (1:1) când o singur ă inregistrare din
primul tabel este corelat ă cu o singur ă înregistrare din al doilea tabel și o singur ă
înregistrare din al doilea tabel este corelat ă cu o singur ă înregistrare din primul
tabel.
Un tabel serve ște ca tabel “p ărinte”, iar al doilea îndepline ște rolul de tabel
“copil”. Rela ția se stabile ște prin preluarea unei copii a cheii primare a tabelului
părinte și încorporarea acestuia în structura tabelului copil, unde devine tot o cheie
primar ă.
Acesta este un tip special de rela ție, deoarece este unicul în cadrul c ăruia
ambele tabele pot folosi executiv aceea și cheie primar ă.
O înregistrare din tabelul 1 este corelat ă cu o singur ă înregistrare din tabelul
2, iar o înregistrare din tabelul 2 este corelat ă cu o singur ă înregistrare din tabelul
1.
42
Figura I – Relatia 1:1
Între dou ă tabele exist ă o rela ție unu la mai mul ți (1:m) când o înregistrare
din primul tabel poate fi corelat ă cu una sau mai multe înregistr ări din al doilea
tabel, dar o înregistrare din al doilea tabel poate fi corelat ă cu o sin gură înregistrare
din primul tabel.
Un tabel serve ște ca tabel “p ărinte”, iar al doilea îndepline ște rolul de tabel
“copil”. Rela ția se stabile ște prin preluarea unei copii a cheii primare a tabelului
părinte și încorporarea acestuia în structura tabelului copil, unde devine o cheie
extern ă.
Aceasta reprezint ă cea mai comun ă categorie de rela ție care exist ă între dou ă
tabele dintr -o baz ă de date și este crucial ă din punct de vedere al integrit ății
datelor, întruc ât contribuie la eliminarea datelor duplicate și reducerea la un
minimum absolut a datelor redundante.
O înregistrare din tabelul 1 poate fi corelat ă cu una sau mai multe înregistr ări
din tabelul 2, iar o înregistrare din tabelul 2 poate fi corelat ă doar cu o singur ă
înregistrare din tabelul 1. (Figu ra II)
43
Figura II – Relatia 1:m
În aplica ția, de exemplu, Eviden ță_magazie, tabelele Furnizori, respectiv Clien ți
sunt într-o rela ție unu la mai multe cu tabelele Intr ări, respectiv Ie șiri, dup ă
câmpurile comune nume_furnizor , respectiv nume_client , deoarece se pot
achizi ționa de la acela și furnizor mai multe produse și se pot livra mai multe
produse unui singur client de mai multe ori. (Figura III)
Figura III – Relații între tabele
44
Între dou ă tabele exist ă o rela ție mai mul ți la mai mul ți (m:m) dacă o
înregistrare din primul tabel poate fi corelat ă cu una sau mai multe înregistr ări din
al doilea tabel și o inregistrare din al doilea tabel poate fi corelat ă cu una sau mai
multe înregistr ări din primul tabel.
O rela ție din aceasta categorie se stabi lește cu ajutorul unui tabel de legatur ă,
care faciliteaz ă asocierea înregistr ărilor dintr -un tabel cu înregistr ările din celalalt
tabel și asigur ă lipsa oric ăror probleme la opera țiile de ad ăugare, ștergere sau
modificare a datelor corelate.
O înregistrar e din tabelul 1 poate fi corelat ă cu una sau mai multe înregistr ări
(dar nu obligatoriu cu toate) din tabelul 2, iar o înregistrare din tabelul 2 poate fi
corelat ă cu una sau mai multe înregistr ări din tabelul 1. (Figura IV)
Figura IV – Relația m:m
Aces t tip de rela ție este al doilea ca frecven ță de apari ție între dou ă tabele
dintr -o baz ă de date. Ea este ceva mai dificil de identificat dec ât o rela ție unu la
mai mul ți.
Constrângerile de integritate sunt reguli care se definesc la proiectarea unei
baze de date și care trebuie să fie respectate de -a lungul existenței acesteia.
45
Entitățiile unei baze de date reflectă realitatea modelată și de aceea valorile pe care
le conțin trebuie să respecte anumite reguli, care să corespundă celor din realitate.
Constr ângerile se pot clasifica astfel:
• în cadrul tabelei
• sau între tabele.
Constrângerile din cadrul unei tabele sunt reguli care se impun în cadrul unei
singure tabele și asigură integritatea datelor acesteia. Ele sunt de 3 categorii:
➢ constrângeri de do meniu (se impun valorilor atributelor și asigură
integritatea domeniilor atributelor);
➢ constângeri de nuplu (de înregistrare din tabelă);
➢ constrângeri impuse de dependențe de date (dependențe funcționale).
Constrângerile între tabele sunt reguli care se i mpun între două sau mai multe
relații. Cele mai importante sunt constrângerile de integritate referențială, care se
realizează prin intermediul cheilor străine și asigură asocierea corectă a tabelelor.
Constrângerile de domeniu sunt condiții impuse valori lor atributelor pentru ca
acestea să corespundă semnificației pe care o au în realitatea modelată. În
reprezentarea unei entități printr -un tabel, valorile atributelor sunt reprezentate pe
coloane. Din această cauză aceste constrângeri se mai numesc și con strângeri de
coloană. Exista trei tipuri de constrângeri de coloană:
➢ Constrângerea NOT NULL . Valoarea NULL este o valoare particulară, care
nu reprezintă valoarea 0, ci lipsă de informație. Această valoare NULL poate
apărea când nu se cunosc respectivele i nformații. Nu orice atribut poate lua
valoarea NULL; În astfel de situații la definirea relațiilor se impune
atributului constrângerea NOT NULL, însemnând că acest atribut nu poate
lua valoare NULL în orice înregistrare din tabelă.
46
➢ Constrângerea DEFAULT . Această constrângere este folosită pentru
stabilirea unei valori implicite (DEFAULT) pentru un atribut al entității. În
cazul în care la inserarea unui nuplu (înregistrări) nu se specifică valoarea
unui atribut (câmp), atunci acesta primește valoarea implic ită (dacă a fost
definită) sau valoarea NULL (dacă nu a fost definită o valoare implicită
pentru atributul respectiv, dar sunt admise valori NULL). Dacă nu a fost
definită o valoare implicită și nici nu sunt admise valori NULL se generează
o eroare.
➢ Constr ângerea CHECK este după cum îi spune și numele o constrângere de
verificare.
Constrângerile referitoare la n -upluri (înregistrările din tabelă) -Cheia
primară:
O entitate este definită ca o mulțime de n -upluri. Deci, n -uplurile entității
trebuie să fie di stincte, acest lucru însemnând că într -o entitate nu pot exista două
sau mai multe n -upluri care că conțină acceași combinație de valori pentru fiecare
atribut.
O cheie primară a unei entități (tabele) este o submulțime de atribute ale
entității care are următoarele proprietăți:
➢ este unică, adică orice combinație de valori ale atributelor acestei chei este
unică pentru orice stare a relației;
➢ este stabilă, adică informația corespunzătoare ei nu se modifică niciodată
prin operații de actualizare a datelor;
➢ nu se admit valori NULL pentru nici unul din atributele cheii respective;
47
Constrângeri între tabele – Cheia straina:
Relațiile dintre tipurile de entități definite în modelul conceptual al unei baze de
date se realizează în modelul relațional prin int ermediul cheilor străine.
O cheie străină este o submulțime de atribute ale unei entități E1 care referă
entitatea E2 și îndeplinește următoarele condiții: atributele cheii străine din E1 sunt
definite pe domenii compatibile cu cele ale atributelor cheii din entitatea E2, și
cheia din entitatea E2 este cheie primară în această relație.
Această cheie străină determină o asociere între câmpurile unor tabele cu cele
ale altei tabele și creează abilitatea de realizare a unirii tabelelor respective prin
interm ediul operațiilor JOIN. Integritatea referențială este proprietatea bazei de
date care garantează că oricare valoare a unei chei străine se regăsește printre
valorile cheii corespunzătoare din relația referită, sau cheia străină are valoarea
NULL (dacă atr ibutele acesteia nu sunt supuse constrângerii NOT NULL).
Indexul unei tabele este o structură de date adițională memorată în baza de date
care permite accesul rapid la înregistrările tabelei prin ordonarea acestora. Indecșii
sunt de mai multe tipuri:
• Index primar; • Index de grup;
• Index secundar; • Index multinivel.
Limbajul standard SQL
Termenul SQL reprezintă o prescurtare a Structured Query Language.
Utilizat inițial de că tre firma IBM pentru produsul DB2, limbajul de interogare
al bazelor de date relaționale SQL a devenit la mijlocul deceniului trecut un
standard în domeniu.
48
Comenzile principale în cazul limbajului SQL se referă la cele cinci operații de
bază care se pot e fectua într -un limbaj relațional:
➢ Crearea/ștergerea unei tabele;
➢ Inserarea de noi linii intr -o tabelă;
➢ Ștergerea unor linii dintr -o tabelă;
➢ Modificarea unor linii dintr -o tabelă;
➢ Listarea selectivă a datelor din una sau mai multe tabele.
În acest mediu există două moduri pentru crearea interogărilor:
➢ modul de scriere efectivă a cererilor în partea de Queries;
➢ modul grafic mult mai prietenos utilizatorului numit Design View.
Crearea unei tabele:
Comanda de creare de noi tabele în baza de date curentă î n limbajul SQL
standard este CREATE TABLE. Sintaxa simplificată pentru această comandă este
următoarea:
CREATE TABLE nume_tabela
(coloana_1 descriere_1,
coloana_2 descriere_2, ………………………., coloana_n descriere_n,
[alte_descrieri]), unde coloana_x este num ele coloanei, iar descriere_x conține
tipul valorilor acelei coloane și alte e lemente de descriere pentru ea.
În descrierea unei coloane se poate specifica, pe lângă tipul valorilor sale și alte
constrângeri de integritate ca:
➢ NOT NULL indică faptul că va lorile aferente coloanei respective nu pot
avea valori de tip null, care nu înseamnă zero, ci lipsă de informație.
➢ PRIMARY KEY indică faptul că coloana specificată cu această
constrângere va fi cheie primară pentru acest tabel.
49
➢ FOREIGN KEY necesită ca fi ecare valoare din coloană să existe într -o
coloană corespondentă dintr -o tabelă referită. Constrângerea FOREIGN
KEY poate face referire doar la coloane care sunt PRIMARY KEY sau
UNIQUE în tabela referită.
➢ DEFAULT indică o valoare implicită care îl ia un c âmp al unei tabele.
Ștergerea unei tabele se face cu comanda DROP TABLE. Sintaxa acestei
comenzi în limbajul SQL standard este: DROP TABLE nume_tabelă.
Modificarea structurii unei tabele în limbajul SQL standard se face cu
comanda ALTER TABLE. Această coma ndă este folosită pentru a adăuga coloane
la tabele de bază din baza de date sau pentru a șterge anumite constrângeri. O nouă
coloană adaugată prin această comandă va avea valoarea null în toate înregistrările
care existau în tabelă.
Inserarea de noi linii într-o tabelă :
Comanda INSERT care permite inserarea de noi linii într -o tabelă are
următoarea sintaxă simplificată în limbajul SQL standard: INSERT INTO
nume_tabela [(nume_coloana,…)] VALUES (valoarea_coloana_1,
valoare_coloana_2,…) Această comandă ne p ermite inserarea manuală de noi
înregistrări. Dacă este prezentă lista de coloane (nume_coloana, …) înseamnă că se
dau doar valori pentru aceste coloane, pentru celelalte asignându -se valori de null.
Ștergerea unor linii dintr -o tabelă:
Sintaxa simplifica tă a comenzii SQL în limbajul standard care șterge liniile
dintr -o tabelă este următoarea: DELETE FROM nume_tabela [WHERE conditie]
[LIMIT numar_linii]. Efectul acestei comenzi este de ștergere a liniilor care
îndeplinesc condiția din clauza WHERE. LIMIT s e folosește pentru a specifica
numărul maxim de linii care se pot șterge cu acea comandă. În cazul în care clauza
WHERE lipsește, toate liniile tabelei vor fi eliminate.
50
Modificarea unor linii dintr -o tabelă :
Sintaxa simplificată a comenzii SQL î n limbajul standard care modifică liniile
dintr -o tabelă este următoarea: UPDATE nume_tabela SET colana1=valoare1,
coloana2=valoare2, …. [WHERE conditie] [LIMIT numar_linii].
Efectul acestei comenzi este de actualizare a toturor liniilor care îndeplinesc
condiția din clauza WHERE, sau a tuturor liniilor din tabelă, în cazul în care
lipsește această clauză. Noile valori sunt date de clauza SET.
Limbajul de cereri în SQL :
Regăsirea datelor din una sau mai multe tabele se face cu comanda SELECT.
Sintaxa simpli ficată a acesteia este:
SELECT [DISTINCT] lista_rezultat
FROM tabela sau tabele
[WHERE conditie]
[GROUP BY coloana1, coloana2….]
[HAVING conditie_de_grup]
[ORDER BY coloana1 [ASC|DESC],…]
După cum se observă doar clauzele SELECT și FROM sunt o bligatorii,
celelalte reprezentând opțiuni.
În clauza SELECT pot fi prezente, pe lângă nume de coloane, o serie de alte
construcții, cum ar fi:
a. Expresii aritmetice : Operatorii care pot fi utilizați sunt cei uzuali: +, -,*,/
paranteze. De remarcat că o exp resie care conține o valoare nulă se
evaluează la NULL.
b. Alias de colană: În cazul în care clauza SELECT conține expresii,
numele coloanelor din rezultat sunt date de acestea. Dacă se dorește ca în
rezultat coloana respectivă să aibă alt nume, acesta se p oate specifica cu
AS nume_nou.
51
c. Constante (literali): Dacă în lista SELECT se găsesc și constante atunci
pe acele coloane toate liniile rezultatului vor conține valorile respective.
Clauza DISTINCT : În cazul cererilor de până acum din fiecare linie a tabelei
rezultă o linie a rezultatului, chiar dacă uneori unele linii sunt identice. Pentru a
elimina liniile duplicat ale unui rezultat se folosește clauza DISTINCT care apare
între cuvântul cheie SELECT și lista de elemente ale rezultatului.
Clauza ORDER BY : Ordinea în care apar liniile unui rezultat este dată de
modul în care un sistem de gestiune stochează și regăsește informația în tabele. Din
această cauză în limbajul SQL există posibilitatea de a sorta liniile unui rezultat în
funcție de necesităț ile utilizatorului. Criteriile de sortare se definesc cu ajutorul
clauzei ORDER BY.
Aceasta este în mod normal ultima clauză care apare într -o cerere și poate
conține nume de coloane, aliasuri de coloane sau numărul de ordine al coloanei în
rezultat. Cân d sunt specificate mai multe criterii ele se aplică de la stânga la
dreapta.
Clauza WHERE : Până acum, în afara cazurilor în care se utilizează
DISTINCT, din fiecare linie a tabelei rezultă o linie a rezultatului.
Prin folosirea clauzei WHERE se poate sp ecifica o condiție care indică liniile
din tabela care vor avea asociată câte o linie din rezultat.
Operatorii care se pot folosi sunt cei obișnuiți:
• Egal: =
• Mai mic, mai mic sau egal: , ≥
• Diferit: ≠, !=
De asemenea se pot folosi paranteze și con ectori logici:
• AND sau && (pentru și)
52
• OR sau || (pentru sau)
• NOT sau ! (pentru negare, inversarea condiției).
Pe lângă operatorii de mai sus care sunt prezenți în majoritatea limbajelor de
programare există însă în SQL patru operatori specif ici. Aceștia au fost introduși
pentru a simplifica anumite categorii de cereri sau pentru a specifica condiționări
care nu pot fi exprimate prin operatori obișnuiți:
Operatorul BETWEEN :
Sintaxa: between valoare_initiala and valoare_finala
Operatorul b etween indică o plajă de valori incluzând valorile din capetele
acestuia, cele indicate. Este un operator derivat, astfel de condiții putând fi scrise
folosind >=, AND,<= și a fost introdus pentru ca cererile să fie mai apropiate de
exprimarea în limba eng leză.
Operatorul IN :
Sintaxa: IN (v1,v2,…vk)
Operatorul IN indică apartenența la o mulțime de valori (v1,v2,…vk). Este de
asemenea un operator derivat, dar este foarte util pentru simplificarea scrierii
cererilor în cazul în care mulțimea conține un număr mare de valori.
Operatorul IS NULL:
Operatorul IS NULL a fost introdus pentru a se putea testa dacă o valoare a unei
expresii este nulă, deoarece valorile nule nu pot fi detectate cu op eratori de
comparație obișnuiți
Operatorul LIKE:
Sintaxa: LIKE ‘sablon’
53
Operatorul LIKE a fost introdus pentru a se putea testa potrivirea valorii unei
expresii cu un șablon. Șablonul poate conține caractere care vor fi căutate așa cum
sunt și caracterele speciale:
• % însemnând orice șir de caractere (inclusiv unul vid);
• _ însemnând orice character.
De exemplu 'I_S%L' este un șablon pentru un șir de cel puțin 4 caractere care
începe cu litera I, are al treilea caracter S și ultimul caracter este L. Cu acest șablon
se potrivesc de exemplu șirurile: INSTABI L, IXSTL, IOSL.
Operatorul se poate folosi inclusiv pentru expresii de alt tip decât șirurile de
caractere, valoarea acestora fiind întâi convertită la șir de caractere și apoi
verificată potrivirea cu șablonul.
Funcții de grup
Clauzele GROUP BY și H AVING :
Există multe cazuri în care se dorește obținerea de date statistice din
informațiile conținute în baza de date. Pentru aceasta se folosesc funcțiile de grup,
care pe baza înregistrărilor din întreaga tabelă sau a celor care fac parte dintr -un
grup – în cazul existenței clauzei GROUP BY – calculează valoarea statistică
respectivă. Principalele funcții de grup sunt:
a. Funcția COUNT (numărare) având mai multe forme:
COUNT(*) întoarce numărul de înregistrări din grup
COUNT (expr) întoarce numărul de valori nenule pentru expresia argument
COUNT(DISTINCT expr) întoarce numărul de valori distincte pentru
expresia argument.
54
b. Funcția AVG (medie) AVG(expr) întoarce media aritmetică a valorilor
unei expresii.
c. Funcția MIN (valoarea minimă) . MIN(expr) întoarce valoarea minimă a
unei expresii .
d. Funcția MAX (valoarea maximă). MAX(expr) întoarce valoarea maximă
a unei expresii.
e. Funcția SUM (suma valorilor). SUM(expr) întoarce suma valorilor unei
expresii sau NULL în cazul în care în grupul pentr u care se calculează suma este
vid. Valorile nule nu sunt luate în considerare la calcularea sumei.
Așa cum am menționat, în cazul în care cererea nu conține clauza GROUP
BY valoarea funcțiilor este calculată pentru întreaga tabelă specificată în cla uza
FROM.
Clauza GROUP BY :
Clauza GROUP BY se folosește pentru a grupa înregistrările pe baza unor
criterii în scopul calculării de valori statistice pentru fiecare grup în parte. În acest
caz rezultatul cererii va conține câte o linie pentru fiecare grup identificat.
Sintaxa: GROUP BY coloana1 [, coloana2…]
În cazul în care în GROUP BY apar mai multe coloane, un grup va fi construit
din toate înregistrările care au valori comune pe toate coloanele specificate.
Clauza HAVING :
Dacă WHERE introduce o condi ție de filtrare a înregistrărilor, HAVING face
același lucru pentru grupuri: doar grupurile care îndeplinesc condiția conținută în
această clauză vor avea o linie în rezultatul cererii. Condiția specificată prin
HAVING este o expresie logică incluzând func ții de grup sau constante la nivel de
grup.
55
PARTEA SPECIAL Ă
56
I. SCOP ȘI OBIECTIVE
În aceast ă lucrare am încercat să expun usurința gestionă rii activit ății, într – un
cabinet medical , cu ajutorul sistemului informaț ional prin c rearea u nei baze de
date. O bază de date informaț ional ă oferă :
✓ Interfață simplă, familiară, bazată pe standarde în industria
software;
✓ Productivitate sporită a personalului auxiliar (secretara, de exemplu)
prin posibilitatea vizualizării calendarului mai multor m edici în
aceeași interfață sau vizualizarea calendarului unui anumit medic
pentru diverse perioade de timp (zi, trei zile, săptămână, lună);
✓ Adăugarea de programări sau consultații direct în interfața grafică
prin dublu click reduce semnificativ timpul nec esar efectuării unei
programări;
✓ Informația legată de consultații este gestionată unitar,
✓ Istoricul pacientului permite eficientizarea actului medical (un
medic va ști în orice moment care este diagnosticul oferit pentru
orice pacient, precum și care sunt medicamentele prescrise);
✓ Documentele asociate unei consultații (poze, radiografii), dar și alte
observații ale medicului vor fi gestionate, asigurând astfel o calitate
sporită actului medical;
✓ Existența formularelor predefinite permite generarea într -un timp
deosebit de scurt a documentelor medicale (bilete de trimitere,
rețete, scrisori medicale, etc);
✓ Ușurință în utilizare (interfață română/engleza, documentație pentru
fiecare meniu al aplicației software);
57
II. MATERIAL ȘI METOD Ă
Proiectul a fost realizat î n Microsoft Access și vine însotit de explicații,
imagini din interfața grafică ș i cod sql af erent tabelelor, toate adunate î ntr-un
document Word (28 de pagini) .
Elementul central al unui sistem informatic medical este pacientul. Fiecare
pacient din siste m are asociat ă o colecț ie de date. Acestea sunt fie generice (nume,
prenume, CNP, data naș terii, se x, telefon, medic curant), dar ș i alte informa ții care
pot ajuta personalul medical sau nemedical (act de identitare, stare civilă, grupa
sangvină , email, ad rese, card de fidelitate, etc.). Informaț iile generice sunt
obligatorii pentru fi ecare pacient. În cadrul aplicaț iei, sunt necesare instrumente de
cautare dup ă diver se criterii ale pacienților din sistem. Trebuie urmărite modalităț i
rapide și avans ate de c autare a datelor care să înlesnească modul de lucru al
utilizatorilor. Interacțiunea dintre o instituție și terți este cu atât mai importantă
atunci când în discuție este un cabinet medical. Orice tip de cabinet, fie ca este
stomatologic sau de medicină ge nerală, trebuie să dețină un instrument prin
intermediul căruia să poată gestiona ușor activitatea. Fișele pacienților,
consultațiile ce urmează a fi efectuate, programările pentru o perioadă de timp
trebuie să poată fi vizualizate, adăugate sau modificate cât mai rapid. În plus,
pentru orice consultație, medicul trebuie să aibă posibilitatea de a emite o gamă
variată de documente specifice (adeverințe, bilete de trimitere, rețete, etc) pentru o
gestiune corectă a interacțiunii cu un anumit pacient.
Proiect ul cuprinde baza de da te a unui cabinet medical care ține evidenț a
pacienț ilor, tratamentelor, antecedentelor, trimiterilor și a celorlalte documente
emise î ntr-un cabinet medical. În cele ce urmeaz ă, voi descrie experienț a mea
acumulată î ntr-un cabinet me dical, în ceea ce privește crearea unei baze de date ș i
gestiunea informaț iilor medicale .
58
1. Creăm o baz ă de data goal ă, nou ă cu numele “Pacienț i”
2. Adăugă m dou ă tabele noi ș i redenum im tabelele astfel:“tabelPacienți”,
“tabelConsultaț ii”, “tabelProgram”
59
3. Complet ăm tabela “tabelConsultaț ii”
4. Completăm tabela “tabelPacienț i”
60
5. Complet ăm tabela “tabelProgram”
6. Creăm un query nou, numit “queryConsultații”, la care
adăugăm toate cele 3 tabele existente î n baza de date.
61
7. Se dă click dreapta î n fereastra quer y-ului și selectam
“Relationships”.
8. Stabilim relaț iile de tipul “One -To-Many”, precum î n poz ă
62
9. Creăm un formular nou
10. Introducem toate c âmpurile din tabelul “t abelProgram” și apăsă m next .
63
11. Select ăm “columnar” ș i apăsăm next
12. Numim formularul “for mProgram” și apăsăm finish.
64
13. Intrăm în modul “Design View” ș i mărim dimensiunile suprafe ței
“Detail” a formularului.
14. Creăm un subformular nou
65
15. Selectam “Use existing Tables and Queries” și apăsă m next.
16. Introducem toate câ mpurile din tabelul “tabe lProgramari” și apăsă m next.
66
17. Selectăm varianta “Define my own” și introducem î n formular și
subformular câ mpul “idDoctor”. Ap ăsăm next și apoi finish.
18. Introducem un text box și un combo box.
67
19. Dăm click dreapta ș i select ăm properties
20. Redenumim tex tboxul “textDataConsulta ție”, iar combo boxul
“combaOra”.
68
21. Dăm click dre apta pe text box -ul idPaciente ș i alegem “Change To” > “Combo
box”
22. Redenumim controlBox -ul “controlPacient”, incrementam cu 1 valoarea
“Column Count”, iar l ățimile acestora le seta m la “ 0";1"
69
23. În fereastra “Data”, apă săm pe butonul cu 3 puncte din dreptul “Row
Source”
24. Introducem tabelul “tabelPacien ți”
70
25. Introducem câ mpurile idPacient , nume și prenume. Ultimele două le
sortă m ascende nt, dup ă care salvăm modificările ș i închidem fereastra.
26. Selectam textbox -ul textDataClien ți, dup ă care deschidem fereastra
“Events” din propriet ăți și creăm un event nou, apăsâ nd butonul cu 3
puncte din dreptul “Before Update”. Selectă m “Code Builder”.
71
27. Introducem urm ătorul cod î n fereastr ă.
28. Repet ăm pasul 26, î nsă de aceast ă dată creăm un event tip “After Update”
atribuit combo box -ului “comboOra”, apoi introducem urm ătoarele linii de
cod.
72
29. Repet ăm ultimul pas, însă de aceast ă dată creăm un event tip “Enter” atribuit
combo box -ului “co mboOra”, apoi introducem urm ătoarele linii de cod.
30. Repet ăm ultimul pas, î nsă de aceast ă dată creăm un event tip “On Not In List”
atribuit combo box -ului “controlPacient”, apoi introducem urm ătoarele linii de
cod.
73
Proiectul cuprinde baza de date a unu i cabinet medica l care ține eviden ța
pacien ților ș i medicilor . Formularul este:
Formularul afișează o listă cu programă rile fiecarui doctor ce s e află î n baza
de dat e, în func ție de ID -ul acestuia.
Pentru a naviga în lista de doctori prezen ți în baz a de date, se folose ște bara
de navigație aflată î n josul f erestrei. Formularul completează automat câ mpurile ce
cuprind informa țiile doctorului (ID -ul, orele de lucru, orele de pauză , numele și
prenumele). Aceste date sunt importate în mod direct din baza de date.
74
Pentru a adăuga un medic nou î n baza de date, se selecteaz ă ultima înscriere
din baza de date și se completeaz ă câmpurile cu datele medicului respectiv.
Pentru a se realiza o programare/consul tație nou ă, se selecteaza medicul
aferent procesul ui și se aleg din partea dreapt ă a form -ului data și ora programă rii.
Programul va afișa automat orele disponibile î n care nu exist ă alte
program ări și se afl ă în intervalul orar de lucru al respectiv ului medic. Apoi, se
completează ultimul r ând din tablo ul de programă ri cu numele clientului.
75
Formularul are op țiunea de a sorta program ările î n func ție de ora consulta ției
folosind să geata din dreptul coloanei “Ora program ării” și selectarea din submeniul
apărut a op țiunii “Sort ol dest to newest”. Analog, această opțiune este valabil ă
pentru sortarea î n func ție de data consulta ției.
Domeniul medical este unul dintre cele mai importante pentru dezvoltarea și
prosperare a economiilor și țărilor. Pe fondul descoperirilor ca urmare a cercet ării
în domeniu, sect orul medical a cunoscut în ultimii ani o crestere semnificativ ă a
calității serviciilor medicale.
Informatica medical ă susține ritmul accelerat de dezvoltare și ajut ă
persoanele implicate prin metode moderne de asisten ță și îndrumare în procese.
76
Astfel, in formatica medical ă se ocup ă cu ob ținerea și mentenan ța resurselor,
dispozitivelor ș i metodelor necesare pentru a optimiza achizi ționarea, stocarea,
recuperarea și utilizarea de informa ții în domeniul să nătății și biomedicinei în
zonele de asisten ță și îngr ijire medical ă, stomatologie, farmacie, cercetare și
asigurare medical ă obligatorie.
Utilizarea sistemelor informatice în medicin ă au ca final beneficiar
pacientul: program ările sunt gestionate, doctorul (elementul decizional) are acces
necondi ționat și imediat la întreg istoricul pacie ntului eliminându -se asftel greș eli
în planul de tratament, utilizarea sistemelor expert pentru diagnoza, casieria este
gestionat ă automat, standardizarea ș i uniformiz area procedurilor ș i metodelor.
Toate aceste servicii sunt gândite pentru a oferi un cadru modern de lucru
având ca element central excelen ța.
77
III. CONCLUZII
1. O fiș ă separată despre consulta ție ține evidența investigațiilor făcute
pacientului pe toată perioada consulta ției, rezultatele acestor investigații,
tratamentul aplicat pacie ntului și rezultatele obținute î n urma tratamentelor
efectuate.
2. Un pacient este repartizat medicului care coordoneaz ă toate investigațiile și
tratamentele aplicate pacientului.
3. În plus, sunt păstrate informații despre toate interventiile pe care le -a avut
fiecare pacient în parte, și toate tratamentele care i -au fost aplicate cu succes pe
parcursul timpului, la cabinet .
4. În baza de date mai apar și medicamentele care trebuiesc administ rate
pacientului (dac ă este nevoie) și rețeta eliberată de medicul care se ocup ă de
pacientul respectiv.
5. Scopul bazei de date este s ă se ț ină o eviden ță clară a pacien ților, s ă se
implementeze istoricul fiec ărui pacient ș i medicul care s -a ocupat de fie care
consulta ție/interven ție. Î n fiecare tabela din baza de date se ține evidenț a acestor
detalii, iar prin relaț iile dintre ele se poate u șor depista traseul dorit.
6. Obiectivele bazei de date sunt:
a. Să creeze o bază de date capabil ă să înregistreze un fl ux mare de
informa ții și să gestioneze aceste informa ții în timp util;
b. Să țină o eviden ță completă a unui cabinet medical;
c. Să minimizeze timpul alocat că utării unor informa ții despre pacien ți,
medici, istoric pacien ți și medicamente prescrise;
78
7. În plus , se urmăreș te crearea unei baze de date puternice pentru:
a. Mărirea eficien ței de munc ă ;
b. Simplificare a misiunii pacientului ;
c. Stocarea informa țiilor importante despre nevoile cabinetului medical.
8. În această lucrare am încercat să descriu avantajel e folosirii unei baze de
date electronice într-un cabinet medical, prin luarea î n eviden ță a pacienț ilor, a
tratamentelor, investiga țiilor, a program ărilor, etc.
9. Crearea și folosirea unei baze de date î n Microsoft Access e ste util oric ărui
medic, deoar ece interfa ța ei prietenoasă cu utilizatorul face din acestă aplicaț ie o
unealta ideal ă de gestiune.
79
BIBLIOGRAFIE
1. Mocian Ioan, Baze de date – Terminologie, Proiectare, SQL, Access , Editura
MATRIX ROM, 2007.
2. Michael J. Hernandez, Proiec tarea bazelor de date, traducere din limba engleză,
Editura Teora, 2003.
3 Susan Sales Harkins, Ken Hensen, Tom Gerhart, Utilizare Microsoft
Access2000, traducere din limba engleză, Editura Teora, 2000.
4. Năstase Pavel, s.a., Baze de date Microsoft Access 2000, Editura Teora, 2004.
5. Ben Forta, SQL pentru începători, traducere din limba engleză, Editura Teora,
2002.
6. Ioan Doros – Baza de date, Editura Cibernetica MC, Bucuresti, 2010, ISBN
978-973-88451 -6-9;
7. Ioan Mocian – Baza de date – pentru uzul st udentilor , Tiparul executat la
Atelierul de multiplicare al Universității Petru Maior, 2008.
8. Romica Trandafir, Mihai Nistorescu, Ioan Mierlus – Maziliu – Bazele
informaticii si limbaje de programare; Baze de date relationale ; Universitatea
Tehnica de Co nstructii, Bucuresti, 2007.
9. http://www.seap.usv.ro/~valeriul/lupu/cafec/capitolul1.pdf – baze de date
relationale ;
10. http://www.scritub.com/medicina/Informatica -Medicala -si-Biosta23487.php
11.http://curscalculatoare.ro/www/content/lessons/9/1%20%20Notiuni%20generale
,%20Tabele,%20Relatii.pdf
12. https://support.off ice.com/ro -ro/article/Ghid -pentru -rela%C8%9Biile –
%C3%AEntre -tabele -30446197 -4fbe-457b -b992 -2f6fb812b58f
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Disciplina: Informatică medicală și biostatistică [605291] (ID: 605291)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
