Baza de Date PROIECT
Baza de Date PROIECT
Baza de Date PROIECT
PROIECT BAZE DE
DATE
-Baza de date SPITAL-
Proiect realizat de :
Ichim Ștefana-Laura
Seria A, Grupa 1032
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
(ID_TRATAMENT NUMBER(6),
DESCRIERE VARCHAR2(40),
DURATA_ZILE VARCHAR2(10),
ID_DIAGNOSTIC NUMBER(5),
CONSTRAINT PK_TRATAMENT PRIMARY KEY (ID_TRATAMENT)
);
CREATE TABLE DIAGNOSTICE
(ID_DIAGNOSTIC NUMBER(5),
AFECTIUNE VARCHAR2(50),
DESCRIERE VARCHAR2(60),
ID_PROGRAMARE NUMBER(8),
CONSTRAINT PK_DIAGNOSTIC PRIMARY KEY (ID_DIAGNOSTIC)
);
ALTER TABLE TRATAMENTE
ADD CONSTRAINT FK_ID_DIAGNOSTIC FOREIGN KEY (ID_DIAGNOSTIC)
REFERENCES DIAGNOSTICE(ID_DIAGNOSTIC);
PRENUME VARCHAR2(25),
CNP VARCHAR2(13),
SEX VARCHAR2(8),
TELEFON VARCHAR2(10),
EMAIL VARCHAR2(30),
CONSTRAINT PK_PACIENT PRIMARY KEY(COD_PACIENT)
);
ALTER TABLE PROGRAMARI
ADD CONSTRAINT FK_COD_PACIENT FOREIGN KEY(COD_PACIENT)
REFERENCES PACIENTI(COD_PACIENT);
COD_SECTIE NUMBER(3),
ID_MEDIC NUMBER(6),
CONSTRAINT PK_ASISTENTA PRIMARY KEY (ID_ASISTENTA),
CONSTRAINT FK_COD_SPITAL_ASISTENTE FOREIGN KEY (COD_SPITAL)
REFERENCES SPITALE(COD_SPITAL),
CONSTRAINT FK_COD_SECTIE_ASISTENTE FOREIGN KEY (COD_SECTIE)
REFERENCES SECTII(COD_SECTIE),
CONSTRAINT FK_ID_MEDIC_ASISTENTE FOREIGN KEY (ID_MEDIC) REFERENCES
MEDICI(ID_MEDIC)
);
2. Modificarea datelor-UPDATE:
UPDATE MEDICI
SET SALARIUL=0.1*SALARIUL+SALARIUL
WHERE COD_SPITAL=1234;
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
UPDATE ASISTENTE
SET SALARIUL=(SELECT SALARIUL FROM ASISTENTE WHERE
ID_ASISTENTA=10100)
WHERE COD_SECTIE=114;
3.Să se actualizeze salariul medicilor din tabela medici cu salariul medicului cu id-ul
=210005, doar pentru cei care au salariul < 9000 si lucrează în spitalul 1235.
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
UPDATE MEDICI
SET SALARIUL=(SELECT SALARIUL FROM MEDICI WHERE ID_MEDIC=210005)
WHERE SALARIUL<9000 AND COD_SPITAL=1235;
4.Să se crească cu 2 numărul de paturi din tabela saloane pentru saloanele care au mai
puțin de 5 paturi.
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
UPDATE SALOANE
SET NR_PATURI=NR_PATURI+2
WHERE NR_PATURI<5;
5.Să se actualizeze emailul din tabela asistente cu NULL pentru asistentele care
profesează în secția 114.
UPDATE ASISTENTE
SET EMAIL=NULL
WHERE COD_SECTIE=114;
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
3.Să se selecteze id_medic, nume, prenume, cod_sectie din tabela medici și specializare
din tabela secții pentru medicii din spitalul 1235 și să se realizeze joncțiunea dintre cele 2 tabele.
5.Să se afișeze id_medic, nume, prenume, cod_spital si salariul pentru medicii care nu
lucrează în spitalul 1546 și al căror salariu este mai mic decât al celor care lucrează în spitalul
1546.
6.Să se afișeze salariul maxim, minim și salariul mediu din tabela asistente.
7.Să se afișeze numărul medicilor al căror salariu este mai mic de 12000.
9.Să se afișeze spitalele care au salariul mediu al medicilor cuprins între 7000 și 11000.
11.Să se afișeze programările din 2016. Se va rontunji data programării la prima zi din
luna corespunzătoare dacă data este în prima jumătate a lunii sau la prima zi din luna următoare.
SELECT 'Diagnosticul ' || INITCAP(afectiune) || ' este descris ca fiind o ' ||descriere
FROM DIAGNOSTICE;
ACADEMIA DE STUDII ECONOMICE BUCUREȘTI
Facultatea de cibernetică, statistică și informatică economică
Cerința 4: Gestiunea altor obiecte ale bazei de date: tabele virtuale (view-uri),
indecși , sinonime, secvențe.