Sunteți pe pagina 1din 11

UNIVERSITATEA ROMNO AMERICAN

FACULTATEA DE INFORMATIC MANAGERIAL

Proiect Baze de Date


Sistem Informatic de gestiune a unei baze
de date dintr-un spital

Student: Toma Alin Gabriel


Grupa:619
Lector univ.drd. Ionel Iacob

Cerita:
O policlinica privata doreste sa implementeze un sistem informatic de gestiune spitaliera
prin care va putea asigura o evidenta clara a : pacientilor (date personale ale pacientului,
diagnostic), a medicilor, a medicamentatiei si analizelor prescrise pacientilor cat si a rezultatelor
acestora, a repartizarii medicilor pe cabinete.
Reguli de gestiune:
1.
2.
3.
4.
5.
6.
7.

Un pacient poate efectua mai multe analize.


Un pacient poate fi consultat de mai multi medici depinzand de problema medicala
Un medic poate consulta pacinetii intr un singur cabinet
Un medic poate da ori cate retete este nevoie
Plata analizelor se face de catre pacient in momentul inregistrarii
Numerotarea cabinetelor se va face cu 3 cifre
Codul numeric personal al pacientului trebuie sa fie format in 13 cifre si sa inceapa cu
1 sau 2.
8. Pacientii vor primii in urma analizelor recomadare catre medical specialist.

a) Identificare entitatilor:
Pacientii spitalului Tabela PACIENTI

Pacientii care sunt consultati de catrea medici, care lucreaza in spital Tabela
MEDICI
Cabinetele in care medicii consulta pacientii Tabela CABINETE

Retetele sunt eliberate de catre medici Tabela RETETE


Medicamentele sunt recomandata de catre medici si sunt scrise pe reteta- Tabela
MEDICAMENTE
Analizele apar cu pretul si denumirea in Tabelta LABORATOR ANALIZE

Pacientii fac analize medicale - Tabela ANALIZE


Pacinetii sunt consultati Tabela CONSULTATII

b) Identificarea atributelor

PACIENTI
Cod_pacient
Nume
Prenume
CNP
Data_integistrarii
Adresa
Telefon

Cod_medicamen
t
Denumire
Unitate_masura

CONTINE
Cod_reteta
Cod_medicamen
t
Cantitate

CABINET
Nr_cabinet
Cod_medic
Specializare

RETETA
Cod_reteta
Diagnostic
Cod_medic

CONSULTATII

LABORATOR
ANALIZE
Cod_analiza
Denumire
pret

ANALIZE

MEDICAMENTE

MEDICI
Cod_medic
Nume_medic
Pregatire
Specialitate

Cod_medic
Cod_pacient
Data_consultatiei
Diagnostic
Recomandare

PRIMESC
Cod_pacient
Cod medicament
Data
Dozaj

c) Modelul enitate-asociere

Cod_pacient
Cod_analiza
Data_analiza
Rezultat

d) Stabilirea dependentelor functionale complete(identificarea cheilor primare)

Tabela
PACIENTI
MEDICI
CABINET
CONSULTATII
RETETA
ANALIZE
MEDICAMENTE
LABORATOR ANALIZE
PRIMESC

Cheie primara
Cod_pacient
Cod_medic
Nr_cabinet
Cod_reteta

Cheie externa
Cod_client,
Cod_medic
Cod_medic, Cod _pacient
Cod_medic
Cod_pacient, Cod_analiza

Cod_medicament
Cod_analiza
Cod_pacient,
Cod_medicament
Cod_reteta ,
Cod_medicament

CONTINE

IMPLEMENTARE ORACLE

CLEAR SCREEN
DROP TABLE Pacienti
CREATE TABLE Pacienti
(
Cod_Pacient

VARCHAR2(8),

Nume

VARCHAR2(10),

Prenume

VARCHAR2(15),

CNP

NUMBER(13),

Data_inregistrarii

DATE,

Adresa

VARCHAR2(20),

Telefon

NUMBER,

CONSTRAINT
);

pk_codpacient

PRIMARY KEY(Cod_Pacient)

DESCRIBE Pacienti;
DROP TABLE Medici;
CREATE TABLE Medici
(
Cod_Medic

VARCHAR2(8),

Nume_medic

VARCHAR2(15),

Pregatire

VARCHAR2(9),

Specialitate

VARCHAR2(15),

CONSTRAINT

pk_codmedic

PRIMARY KEY(Cod_Medic),

);
DESCRIBE Medici;

DROP TABLE Cabinet


CREATE TABLE Cabinet
(
Nr_cabinet

VARCHAR2(3),

Specializare

VARCHAR2(15),

Cod_Medic

VARCHAR2(8),

CONSTRAINT

pk_nrcabinet

PRIMARY KEY(Nr_cabinet),

CONSTRAINT

fk_codmedic

FOREIGN KEY(Cod_Medic)

REFERENCES Medici(Cod_Medic)
);
DESCRIBE Cabinet;

DROP TABLE Reteta


CREATE TABLE Reteta
(
Cod_reteta

VARCHAR2(5),

Diagnostic

VARCHAR2(15),

Data_reteta

DATE,

Cod_Medic

VARCHAR2(8),

CONSTRAINT

pk_codreteta

PRIMARY KEY(Cod_reteta),

CONSTRAINT

fk_codmedic

FOREIGN KEY(Cod_Medic)

REFERENCES Medici(Cod_Medic)
);
DESCRIBE Reteta;

DROP TABLE Medicamente


CREATE TABLE Medicamente
(
Cod_medicament

VARCHAR2(7),

Denumire

VARCHAR2(15),

Unitate de masura

VARCHAR2(15),

CONSTRAINT

pk_codmedicament

PRIMARY KEY(Cod_medicament),

);
DESCRIBE Medicamente;

DROP TABLE Laborator_Analize


CREATE TABLE Laborator_Analize
(
Cod_analiza

VARCHAR2(5),

Denumire

VARCHAR2(15),

Pret

VARCHAR2(6),

CONSTRAINT

pk_codanaliza

);
DESCRIBE Laborator_Analize;

PRIMARY KEY(Cod_analiza),

DROP TABLE Analize


CREATE TABLE Analize
(
Cod_Pacient

VARCHAR2(8),

Cod_analiza

VARCHAR2(5),

Data_analiza

DATE,

Rezultat

VARCHAR2(15),

CONSTRAINT

fk_codpacient

FOREIGN KEY(Cod_Pacient)

REFERENCES Pacienti(Cod_Pacient)
CONSTRAINT

fk_codanaliza

FOREIGN KEY(Cod_analiza)

REFERENCES Laborator_Analize(Cod_analiza)
);
DESCRIBE Analize;

DROP TABLE Consultatii


CREATE TABLE Consultatii
(
Cod_Medic

VARCHAR2(8),

Cod_Pacient

VARCHAR2(8),

Data_consultatie

DATE,

Diagnostic

VARCHAR2(15),

Recomandare

VARCHAR2(15),

CONSTRAINT

fk_codmedic

FOREIGN KEY(Cod_Medic)

REFERENCES Medici(Cod_Medic)
CONSTRAINT

fk_codpacient

REFERENCES Pacienti(Cod_Pacient)
);

FOREIGN KEY(Cod_Pacient)

DESCRIBE Consultatii;
DROP TABLE Contine
CREATE TABLE Contine
(
Cod_reteta

VARCHAR2(5),

Cod_medicament

VARCHAR2(7),

Cantitate

VARCHAR2(6),

CONSTRAINT

fk_codreteta

FOREIGN KEY(Cod_reteta)

REFERENCES Reteta(Cod_Reteta)
CONSTRAINT

fk_codmedicament

FOREIGN KEY(Cod_Medicament)

REFERENCES Medicamente(Cod_ Medicament)


);
DESCRIBE Contine;

DROP TABLE Primesc


CREATE TABLE Primesc
(
Cod_Pacient

VARCHAR2(8),

Cod_medicament

VARCHAR2(7),

Data

DATE,

Dozaj

VARCHAR2(8),

CONSTRAINT

fk_codpacient

FOREIGN KEY(Cod_Pacient)

REFERENCES Pacienti(Cod_Pacient)
CONSTRAINT

fk_codmedicament

FOREIGN KEY(Cod_Medicament)

REFERENCES Medicamente(Cod_ Medicament)


);
DESCRIBE Primesc;

INSERT INTO Pacienti values( 10, 'Florin','Antonescu', 19318456673,10-01-2012,Str Carei nr


12 sc A, bl.B32,ap23,0723454321);
INSERT INTO Pacienti values( 12, 'Gabriel','Oprea', 17313416663,17-08-2010,Str Cernauti nr
18 sc B, bl.B3,ap7,0726354321);

INSERT INTO Medici values( 111, 'Dr.Specialist Pediatrie Ionel Trifu',medic


pediatru,pediatrie);
INSERT INTO Medici values( 112, 'Dr.Specialist Neurochirurg Popescu Valentin,medic
neurochirurg,nurologie);

INSERT INTO Medicamente values( 232, Nurofen,200mg);


INSERT INTO Medicamente values( 235, Agocalmin,100mg);

INSERT INTO Cabinet SELECT [Cod_Medic]values( 3, 111,Pediatrie);


INSERT INTO Cabinet SELECT [Cod_Medic]values( 3, 112,Neurologie);

INSERT INTO Laborator_analize values( 23456, Colesterol mg/dl,40 Lei);


INSERT INTO Laborator_analize values( 45789, Neutrofile,60 Lei);