SQL
SQL
Primul pas n realizarea unei aplicaii de baze de date este analiza datelor i realizarea unei scheme conceptuale (model conceptual) al acestor date. n aceast etap sunt analizate natura i modul de utilizare a datelor. Sunt identificate datele care vor trebui memorate i procesate, se mpart aceste date n grupuri logice i se identific relaiile care exist ntre aceste grupuri. Analiza datelor este un proces uneori dificil, care necesit mult timp, ns este o etap absolut obligatorie. Fr o analiz atent a datelor i a modului de utilizare a acestora, vom realiza o baz de date care putem constata n final c nu ntrunete cerinele beneficiarului. Costurile modificrii acestei baze de date este mult mai mare dect costurile pe care le-ar fi implicat etapa de analiz i realizare a modelului conceptual. Modificarea modelului conceptual este mult mai uoar dect modificarea unor tabele deja existente, care eventual conin i o mulime de date. Ideea de baz a analizei datelor i construirii modelului conceptual este "s msori de dou ori i s tai o singur dat". Informaiile necesare realizrii modelului conceptual se obin folosind metode convenionale precum intervievarea oamenilor din cadrul organizaiei i studierea documentelor folosite. Odat obinute aceste informaii ele trebuiesc reprezentate ntr-o form convenional care s poat fi uor neleas de toat lumea. O astfel de reprezentare este diagrama entitirelaii, numit i harta relaiilor, sau ERD-ul (Entity Relationship Diagram). Aceste scheme sunt un instrument util care uureaz comunicarea dintre specialitii care proiecteaz bazele de date i programatori pe de o parte i beneficiari, pe de alt parte. Acetia din urm pot nelege cu uurin o astfel de schem, chiar dac nu sunt cunosctori n domeniul IT.
O entitate este un lucru, obiect, persoan sau eveniment care are semnificaie pentru afacerea modelat, despre care trebuie s colectm i s memorm date. O entitate poate fi un lucru real, tangibil precum o cldire, o persoan, poate fi o activitate precum o programare sau o operaie, sau poate fi o noiune abstract. O entitate este reprezentat n ERD printr-un dreptunghi cu colurile rotunjite. Numele entitii este ntotdeauna un substantiv la singular i se scrie n partea de sus a dreptunghiului cu majuscule Pentru a preciza o instan a unei entiti, trebuie s specificm unele caracteristici ale acestui obiect, s-l descriem (precizm de exemplu numele, clasa, coala etc). Aadar, dup ce am identificat entitile trebuie s descriem aceste entiti n termeni reali, adic s le stabilim atributele. Un atribut este orice detaliu care servete la identificarea, clasificarea, cuantificarea, sau exprimarea strii unei instane a unei entiti. Atributele sunt informaii specifice ce trebuie cunoscute i memorate.
Tipuri de legaturi intre tabele: 1-1 legatura dintre cele doua tabele se face pe baza cheilor primare 1-n cheia primara din tabela parinte se adauga in tabela copil sub forma de cheie externa n-n nu se poate implementa practice si se recurge la adaugarea unei tabele suplimentare care va contine cheile primare ale tabelelor initiale si campuri referitoare la asocierea dintre tabelele parinti. Cheia primara din tabela intermediara va fi o cheie compusa. Schema conceptuala a bazei de date.
UID-(Unique Identifier)-e atributul ce identifica in mod unic entitatea(ex: CNP, cod, id,). Daca e nevoie de o combinatie de mai multe atribute care sa identifice in mod unic entitatea , e vorba de un UID compus. Daca se recurge la o modalitate de identificare printr-un cod artificial oferit in mod automat de program, e vorba de UID artificial.
Cine suntem?
Cabinetul nostru medical are o vechime de peste 20 de ani n domeniul sntii publice. Dispunem de aparatur medical de ultim generaie, disponibil n acest domeniu.
Ce vrem? elul nostru este de a dezvolta i implementa sisteme informatice care s asigure mbuntirea serviciilor pe care le ofer cabinetul medical, prin creterea eficienei i a transparenei proceselor informaionale ale acestora.
Scopul bazei de date este sa fie sortate retetele, sa se gestioneze medicamentele care sunt eliberate de catre medic si sa se aiba o legatura a doctorului care au eliberat o reteta si care
au tratat un bolnav. In fiecare tabela din baza de date se tine evidenta acestor detalii, iar prin relatiile dintre ele se poate usor depista traseul dorit. Care sunt obiectivele?
Sa creeze o baza de date capabila sa inregistreze un flux mare de informatii si sa gestioneze aceste informatii in timp util; Sa tina o evident completa a unui cabinet medical; Sa minimizeze timpul alocat cautarii unor informatii despre retetele eliberate si alte medicamente prescrise; In plus, se urmareste crearea unei baze de date puternice pentru: Marirea eficientei de munca Simplificare misiunii pacientului Stocarea informatiilor importante despre nevoile cabinetului medical.
Tema acestui proiect o reprezint gestiunea unei baze de date pentru o clinica medicala. Am ales aceast tem deoarece este o instituie dedicat meninerii sntii care ofer att ngrijire pe o perioad scurt de timp ct i pentru o perioad medie i chiar lung de timp.Ofer ngrijire pentru combaterea diverselor rni sau boli de care sufer pacienii. Aceast baza de date ajut cabinetul medical la evidena retetelor eliberate, a pacientilorcat si a medicamentelor recomandate. O fia separat despre consultatie va ine evidena investigaiilor fcute pacientului pe toat perioada consultatiei,rezultatele acestor investigaii,tratamentul aplicat pacientului i rezultatele obinute in urma tratamentelor efectuate. Un pacient este repartizat medicului care coordoneaza toate investigaiile i tratamentele aplicate pacientului,ns acesta poate solicita i altor colegi s examineze pacientul su.
n plus, sunt pstrate informaii despre toate internarile pe care le-a avut fiecare pacient n parte, si toate tratamentele care i-au fost aplicate cu succes pe parcursul timpului,la cabinetul nostru.
n baza de date mai apar i medicamentele care trebuiesc administrate pacientului si reteta eliberata de medicul specialist care se ocupa de pacientul respectiv.
Entiti
1. PACIENT CONSULTATIE 2. MEDIC CONSULTATIE 3. MEDIC RETETA 4. MEDICAMENT ITEM_RETETA 5. RETETA ITEM_RETETA 6. PACIENT RETETA
Tip relaie
One to Many
Relaii
Un pacient poate avea una sau mai multe consultatii. O consultatie poate fi realizata pentru un singur pacient Un medic specialist poate analiza una sau mai multe consultatii. O consultatie poate fi realizata de un singur medic. Un medic specialist poate elibera una sau mai multe retete pentru un pacient. O reteta poate fi eliberata de un singur medic. Un medicament poate fi trecut pe mai multe retete.Un item poate contine un singur medicament. Un item de pe reteta poate apartine unei singure retete. O reteta poate avea mai multe medicamente. Un pacient poate avea una sau mai multe retete. O reteta poate fi eliberata doar pentru un singur pacient
One to Many
One to Many
One to Many
One to Many
One to Many
n tabelul CONSULTATIE, cheie primara este atributul ID_CONSULTATIE. Avem ceie externa atributul ID_MEDIC, catre entitatea MEDIC (dorim sa stim ce medic analizeaza fisa medicala) si ID_PACIENT, catre entitatea PACIENT. Atributele DATA, DETALII_CONSULTATIE, PRET sunt atribute cu constrangere de tip NOT NULL
Entitatea ITEM_RETETA este reprezentata de toate medicamentele de pe fiecare reteta in parte. Cheie primara este compusa din atributele ID_RETETA si ID_MEDICAMENT. Toate campurile sunt obligatorii in aceasta entitate.
Tabelul MEDIC este reprezentat de medicii care se ocupa de cabinetul medical.Cheie primara este atributul ID.
In entitatea MEDICAMENT, cheie primara este atributul COD. In aceasta entitate nu avem chei externe, insa toate atributele sunt obligatorii.
n entitatea RETETA, cheie primara este atributul NUMAR. Chei externe sunt atributele ID_PACIENT (catre entitatea PACIENT) si ID_MEDIC_SPECIALIST (catre entitatea MEDIC_SPECIALIST). Toate atributele sunt obligatorii.
n entitatea PACIENT, cheie primara este atributul ID. Nu avem chei externe in aceasta entitate. Atribute fara constrangere NOT NULL sunt: BLOC, APARTAMENT, CODPOSTAL.
Pornind de la o idee simpla, am dezvoltat o solutie complexa insa de succes pentru publicul tinta.
Avand in vedere nevoile viitoare, baza de date creata este suficient de flexibila pentru : A descoperi noi trenduri ale bolilor si infectiilor; A monitoriza evolutia pacientilor pe parcursul tratamentului, cat si dupa consultatii. A pune in evidenta medicamentele folosite si reetele eliberate de ctre medici. A monitoriza centrele de dezvoltare cercetare pentru bolile infectioase.
Oracle 9i2 Ghidul dezvoltrii aplicaiilor profesionale, Farmacologie, V. Stroiescu Clinic medical, Constantin Negoi Medicin intern, L.Gherasim Sabau Gheorghe, Baze de date, editura Matrix Rom, Bucuresti 2008 Lungu Ion, Bodea Constanta, Baze de date : organizare, proiectare si implementare, editura All, Bucuresti, 1995 www.romedic.ro www.documed.ro