prezent are 1
DESCRIPTION
atestat oracleTRANSCRIPT
-
Prof. ndrumtor: Truic Loredana
Realizat de: Apipie Anamaria Cristina Istrate Lavinia Georgiana
-
Managerul clinicii Health Center dorete s rein ntr-o baz de date informaiile referitoare la clinic: serviciile oferite, evidena personalului i a pacienilor. Aceast baz de date trebuie s fie optimizat astfel nct s corespund cerinelor. De asemenea, trebuie s fie flexibil s permit dezvoltarea sau extinderea activitilor centrului.Clinica Health Center ofer consultaii medicale, servicii de recuperare medical (fizioterapie i gimnastic de recuperare) i posibilitatea efecturii de analize medicale. n acest scop dispune de mai multe cabinete i laboratoare specializate. SCENARIU
-
n fiecare cabinet funcioneaz unul sau doi doctori pe baza unui anumit orar. Unitatea medical nu furnizeaz servicii chirurgicale i nici nu are posibilitatea de a spitaliza pacieni.La fiecare consultaie, medicul nregistreaz datele pacientului. Clinica, pe lng medici i asisteni mai are i ali angajai: cei care se ocup de partea financiar i de relaiile cu clienii, persoane care se ocup de curenie s.a.Fiecare client achit contravaloarea serviciilor oferite prin una sau mai multe facturi.
SCENARIU
-
Reprezentarea necesitilor clinicii trebuie realizat astfel nct s fie un model ct mai apropiat de modul n care se desfoar activitile ei. Datele trebuie stocate astfel nct s fie permis o cutare ct mai eficient. Design-ul bazei trebuie s fie flexibil astfel nct s poat fi adugate noi programri, s apar noi cabinete, s fie realizat o eviden a angajailor.n viitor se poate avea n vedere crearea unei pagini web care s conin informaiile referitoare la clinic, potenialii clieni putnd avea acces la datelele legate de serviciile furnizate i personalul medical, dar nu i la datele pacienilor.
SCENARIU
-
Diagrama entitate-relaie iniial:CLINICA#id*nume*adresa*telefono mail
CABINET# numar*tipo comentariiPACIENT#id(#)CNP*nume*prenume*data_naterii*adresa*ocupaie*loc_munco telefono mailPERSONAL#id(#)CNP*nume*prenume*data_naterii*adresa*vechime*salariu*telefono specializareo mailPOST#cod*cerineo observaiiTRATAMENT#id*start_date*tipo end_dateFACTUR#id*data*valoareareaparineares fie programats fie platits plteas arepentruNREGISTRARE#nr*datao diagnosticincludepentrucompletas fie completat s ocupe s fie ocupat ares lucreze
-
a) ntre angajai exist o relaie de subordonare, figurat n ERD prin intermediul unei relaii recursive de la entitatea personal la ea nsi.b) Pe un post poate fi la un moment dat un singur angajat, dar un angajat i poate schimba postul, dac promoveaz. Unele posturi pot fi vacante.c) Datele unui pacient pot fi nregistrate numai de ctre medic. Fiecare medic dispune de un cont propriu i o parol astfel nct un medic nu poate avea acces dect la datele propriilor pacieni.CONSTRANGERI
-
d) O nregistrare aparine unui singur pacient i este netransferabil.e) Tratamentul poate fi o reet medical sau poate fi furnizat de un cabinet specializat prin serviciile oferite.f) Pentru un tratament end_date trebuie s fie ulteriar datei la care a inceput tratamentul. g) Reeta trebuie s conin cel puin un medicamenth) Data i ora la care se efectueaz programarea trebuie s fie ulterioare datei curente (data i ora sistemului)
CONSTRANGERI
-
MAPAREA RELATIILOR
PACIENT
# id
(#)CNP
*nume
*prenume
*data_nasterii
*adresa
*ocupaia
*loc_munc
o telefon
o mail
s plteasc
s fie pltit
FACTURA
# id
*data
*valoare
-
MAPAREA RELATIILOR
FACTURI
Key Type
Optionality
Column Name
pk
*
id
*
data
*
valoare
fk
*
pacient_id
PACIENTI
Key Type
Optionality
Column Name
pk
*
id
uk
*
cnp
*
nume
*
prenume
*
data_nasterii
*
adresa
*
ocupatia
*
loc_munca
o
telefon
o
mail
-
MAPAREA RELATIILOR
CLINICA
#id
*nume
*adresa
*telefon
o mail
aparine
are
CABINET
#numar
*etaj
o comentarii
-
MAPAREA RELATIILOR
CLINICI
Key Type
Optionality
Column Name
Pk
*
Id
*
Nume
*
Adresa
*
Telefon
o
Mail
CABINETE
Key Type
Optionality
Column Name
pk
*
numar
*
etaj
o
comentarii
fk
o
clinica_id
-
MAPAREA RELATIILOR
PACIENT
# id
(#)CNP
*nume
*prenume
*data_nasterii
*adresa
*ocupaia
*loc_munc
o telefon
o mail
are
pentru
are
pentru
CABINET
#numar
*etaj
o comentarii
PROGRAMARE
* data
* ora
-
PROGRAMRIKey TypeOptinalityColumn Name*Datapk, fk*pacient_idpk, fk*cabinet_id
PACIENIKey TypeOptionalityColumn Namepkiduk*cnp*nume*prenume*data_naterii*adresa*acopaia*loc_muncotelefono mail
CABINETEKey TypeOptionalityColumn Namepk*numr*etajo comentarii
-
s fie oferitoferCABINET #numar*etajo comentarii
-
SERVICIIKey TypeOptionalityColumn Namepk*cod*nume*tip_serviciuocontraindicaiiotip_analizotip_consultfkocabinet_id
CABINETEKey TypeOptionalityColumn Namepk*numar*etajocomentarii
-
s fie completat completaNREGISTRARE# nr*datao diagnostic
-
PERSONALKey TypeOptionalityColumn Namepk *iduk*cnp*nume*prenume*data_nasteri*adresa*vechime*salariu*telefonomail*tip_personalospecialitateouser_nameopasswordotip_asistentofunctiafkomanager_id
INREGISTRARIKey TypeOptionalityColumn Namepk*nr*dataodiagnosticfk*personal_id
-
COMENZI SQLCrearea tabelelor
CREATE TABLE pacienti(
id VARCHAR2(6) PRIMARY KEY,
cnp VARCHAR2(15) NOT NULL,
nume VARCHAR2(20) NOT NULL,
prenume VARCHAR2(20) NOT NULL,
data_nasterii DATE,
adresa VARCHAR2(40),
ocupaia VARCHAR2(20),
loc_munc VARCHAR2(25),
telefon VARCHAR2(10),
mail VARCHAR2(30));
-
COMENZI SQLInterogariComanda DESCRIBE afieaz structura tabelului. Sintaxa este:DESCRIBE ;Exemplu: afiarea structurii tabelei PACIENTIDESCRIBE pacienti;are ca efect, afiarea structurii n urmtorul format:
-
COMENZI SQLInterogari
Comanda SELECT * afieaz toate liniile unui tabel. Sintaxa:
SELECT * FROM ;
Exemplu: afiarea liniilor din tabela PACIENTI
SELECT * FROM pacienti
-
COMENZI SQLInterogari
Pentru a obine un subset al datelor, modificm instruciunea SELECT astfel:
SELECT
FROM
WHERE
-
Exemple: 1. afiai datele persoanelor nscute dup 1970SELECT nume,prenume,data_nasterii,telefonFROM pacientiWHERE TO_CHAR(data_nasterii,'RRRR')>=1970
-
COMENZI SQLInterogari
2. afiati numarul total de pacieni
select count(*) As "Numarul pacientilor"
from pacienti
-
Inserarea liniilor ntr-un tabel se realizeaz cu ajutorul comenzii INSERT.Sintaxa comenzii INSERT este: INSERT INTO (, , ....) VALUES (, , ....) COMENZI SQLInterogari
-
COMENZI SQLInterogari
Exemplu. Pentru inserarea unei linii n tabela PACIENTI se utilizeaz comanda:INSERT INTO pacienti (id, cnp, nume, prenume, data_nasterii, adresa, telefon)VALUES (14400, 208018511009,Ion,Anca,08-JAN-85,Oradea, Aleea Teilor, nr.70, 0743097800);
SELECT *FROM pacienti;