Sunteți pe pagina 1din 10

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Lucrare de Studiu Individual nr. 1


Disciplina: Implimentarea limbajului SQL
Tema: Scenariu de creare și populare a bazei de date

Grupa: P-1823
Elev: Josan Mihai
Profesor: Nebunelea Diana

Chișinău, 2020
1
Cuprins
Listening...........................................................................................................................................3
Descriere..........................................................................................................................................6
Tabelul Secții................................................................................................................................6
Tabelul Medici..............................................................................................................................7
Tabelul Pacienți............................................................................................................................8

2
Listening
CREATE DATABASE Spital;
CREATE TABLE Sectii(
IdSectie INT ,
NrEtaj INT NOT NULL,
NumeSectie Char(20),
PRIMARY KEY(IdSectie)
)

INSERT INTO Sectii VALUES


(01, 1, 'Neurologie'),
(02, 1, 'Pediatrie'),
(03, 2, 'Chirurgie'),
(04, 2, 'Cardiologie'),
(05, 3, 'Pneumologie'),
(06, 3, 'Dermatologie'),
(07, 4, 'Oncologie'),
(08, 4, 'Ginecologie'),
(09, 5, 'Oftamologie'),
(10, 5, 'Neonatologie')
SELECT*FROM Sectii;

CREATE TABLE Medici(


IdMedic INT,
NumeMedic CHAR(20),
PrenumeMedic CHAR(20),
PatronimicMedic CHAR(20),
NumeSectie CHAR(20) FOREIGN KEY REFERENCES Sectii(NumeSectie),
PRIMARY KEY(IdMedic)
)

INSERT INTO Medici VALUES


(01, 'Josan', 'Mihai', 'Vasile', 'Neurologie'),
(02, 'Jian', 'Veronica', 'Serghei', 'Neurologie'),
(03, 'Gherasim', 'Vlada', 'Vladimir', 'Pediatrie'),
(04, 'Ciobanu', 'Igor', 'Veceslav', 'Pediatrie'),
(05, 'Avornic', 'Vlad', 'Ion', 'Chirurgie'),
(06, 'Spataru', 'Dionisie', 'Mihail', 'Chirurgie'),
(07, 'Jimbei', 'Adelina', 'Daniel', 'Cardiologie'),
(08, 'Gonta', 'Carolina', 'Vasile', 'Cardiologie'),
(09, 'Anghel', 'Ion', 'Marius', 'Pneumologie'),
(10, 'Bobeica', 'Loredan', 'Stanislav', 'Pneumologie'),
(11, 'Plosnita', 'Dumitru', 'Ion', 'Dermatologie'),

3
(12, 'Parlea', 'Cristian', 'Dumitru', 'Dermatologie'),
(13, 'Turcan', 'Darius', 'Vasile', 'Oncologie'),
(14, 'Andrusceac', 'Stepan', 'Alexandru', 'Oncologie'),
(15, 'Cornitel', 'Daniel', 'Anatol', 'Ginecologie'),
(16, 'Zop', 'Valentin', 'Marin', 'Ginecologie'),
(17, 'Plesca', 'Aurica', 'Vasile', 'Oftamologie'),
(18, 'Buzdugan', 'Dumitru', 'Daniel', 'Oftamologie'),
(19, 'Lasco', 'Catalin', 'Ion', 'Neonatologie'),
(20, 'Budurin', 'Denis', 'Nicolae', 'Neonatologie')
SELECT*FROM Medici;

CREATE TABLE Pacienti(


IdPacient INT,
NumePacient CHAR(20),
PrenumePacient CHAR(20),
PatronimicPacient CHAR(20),
NumeSectie CHAR(20) FOREIGN KEY REFERENCES Sectii(NumeSectie),
Diagnostic CHAR(20),
TimpPetrecut CHAR (10),
PRIMARY KEY(IdPacient)
)

INSERT INTO Pacienti VALUES


(01, 'Negrei', 'Ion', 'Ion', 'Neurologie', 'Epilepsie', '3 zile'),
(02, 'Bulat', 'Gheorghe', 'Veceslav', 'Neurologie', 'Amnezie', '6 zile'),
(03, 'Damir', 'Andreea', 'Ion', 'Neurologie', 'Epilepsie', '10 zile'),
(04, 'Gabureac', 'Andriana', 'Vladimir', 'Pediatrie', 'Tuse Convulsivă', '2 zile'),
(05, 'Rusu ', 'Andrian', 'Daniel', 'Pediatrie', 'Rahitism', '7 zile'),
(06, 'Pavalachi', 'Adrian', 'Marin', 'Pediatrie', 'Malnutritie', '5 zile'),
(07, 'Proca', 'Marin', 'Eduard', 'Chirurgie', 'Pileflebita', '10 zile'),
(08, 'Prodan', 'Valeria', 'Ion', 'Chirurgie', 'Mastita', '8 zile'),
(09, 'Palai', 'Maxim', 'Anatol', 'Chirurgie', 'Gangrena', '3 zile'),
(10, 'Buza', 'Daniel', 'Emanoil', 'Pneumologie', 'Fibroza chistica', '2 zile'),
(11, 'Cernega', 'Vasile', 'Adrian', 'Pneumologie', 'Pneumotorax', '4 zile'),
(12, 'Mira', 'Daniela', 'Ion', 'Pneumologie', 'Absces pulmonar', '6 zile'),
(13, 'Mura', 'Corina', 'STanislav', 'Dermatologie', 'Foliculita', '8 zile'),
(14, 'Ternovetchi', 'Diana', 'Petru', 'Dermatologie', 'Melasma', '4 zile'),
(15, 'Zagornea', 'Angela', 'Daniel', 'Dermatologie', 'Eczema', '2 zile'),
(16, 'Duca', 'Dumitra', 'Dumitru', 'Oncologie', 'Cancer mamar', '3 zile'),
(17, 'Calmis', 'Emilia', 'Marius', 'Oncologie', 'Tumoare gastrica', '7 zile'),
(18, 'Negrei', 'Marcel', 'Ion', 'Oncologie', 'Cancer colorectal', '4 zile'),
(19, 'Bulat', 'Mihaila', 'Vasile', 'Ginecologie', 'Amenoreea', '8 zile'),
(20, 'Damir', 'Catalina', 'Alexandru', 'Ginecologie', 'Leucoreea', '2 zile'),
(21, 'Negru', 'Daniela', 'Ion', 'Ginecologie', 'Galactoreea', '3 zile'),

4
(22, 'Duca', 'Dionisie', 'Stepan', 'Oftamologie', 'Strabism', '3 zile'),
(23, 'Gabureac', 'Andrei', 'Ion', 'Oftamologie', 'toxoplasmoza', '9 zile'),
(24, 'Turcan', 'Ion', 'Ion', 'Oftamologie', 'Orbiree', '5 zile'),
(25, 'Bors', 'Mihai', 'Alexandru', 'Neonatologie', 'Rinita', '7 zile'),
(26, 'Cosarca', 'Alexandra', 'Daniel', 'Neonatologie', 'Sinus frontal', '4 zile'),
(27, 'Vataman', 'Damian', 'Mihail', 'Neonatologie', 'Cerumen', '2 zile'),
(28, 'Buzdugan', 'Dumitra', 'Anatol', 'Cardiologie', 'Endocardita', '6 zile'),
(29, 'Proca', 'Ion', 'Andrian', 'Cardiologie', 'Aritmie cardiaca', '5 zile'),
(30, 'Ermurachi', 'Cornel', 'Ion', 'Cardiologie', 'Miocardita', '9 zile')
SELECT*FROM Pacienti;

5
Descriere
Am crear o mică bază de date cu informații despre un spital, secțiunile, medicii și pacienții
acestuia.
În primul rand creăm baza de date, CREATE DATABASE Spital;
După care putem începe a crea tabele.

Tabelul Secții
CREATE TABLE Sectii(
IdSectie INT ,
NrEtaj INT NOT NULL,
NumeSectie Char(20),
PRIMARY KEY(IdSectie)
)
 Creăm tabelul.
 Facem un atribut ID de tip int pentru ca vor fi numere , IdSectie.
 NrEtaj de tip int, ce reprezintă etajul în care se află secția.
 NumeSectie de tip char fiindcă sunt caractere ce reprezintă numele secției.
 Setăm atributul IdSectie ca cheie primară, deoarece este singurul atribut ce nu are
tupluri care se repeat.

INSERT INTO Sectii VALUES


(01, 1, 'Neurologie'),
(02, 1, 'Pediatrie'),
(03, 2, 'Chirurgie'),
(04, 2, 'Cardiologie'),
(05, 3, 'Pneumologie'),
(06, 3, 'Dermatologie'),
(07, 4, 'Oncologie'),
(08, 4, 'Ginecologie'),
(09, 5, 'Oftamologie'),
(10, 5, 'Neonatologie')
SELECT*FROM Sectii;

Cu Funcția INSERT INTO *tabel* VALUES, adăugam valori în tabel.


Iar cu funcția SELECT*FROM *tabel* afișăm toate datele din tabel.

6
Tabelul Medici
CREATE TABLE Medici(
IdMedic INT,
NumeMedic CHAR(20),
PrenumeMedic CHAR(20),
PatronimicMedic CHAR(20),
NumeSectie CHAR(20) FOREIGN KEY REFERENCES Sectii(NumeSectie),
PRIMARY KEY(IdMedic)
)

 Creăm tabelul Medici.


 Atribut ID de tip INT deoarece va conține numere reprezentând ID-ul medicului.
 Atributele de tip CHAR NumeMedic, PrenumeMedic și PatronimicMedic ce va
conține caractere și setând o limită de 20 caractere.
 Atributul NumeSecție de tip CHAR că va conține caractere, îi facem o legătura cu
Tabelul Secții și anume cu atributul NumeSectie.
 Setăm atributul IdMedic ca cheie primară.

INSERT INTO Medici VALUES


(01, 'Josan', 'Mihai', 'Vasile', 'Neurologie'),
(02, 'Jian', 'Veronica', 'Serghei', 'Neurologie'),
(03, 'Gherasim', 'Vlada', 'Vladimir', 'Pediatrie'),
(04, 'Ciobanu', 'Igor', 'Veceslav', 'Pediatrie'),
(05, 'Avornic', 'Vlad', 'Ion', 'Chirurgie'),
(06, 'Spataru', 'Dionisie', 'Mihail', 'Chirurgie'),
(07, 'Jimbei', 'Adelina', 'Daniel', 'Cardiologie'),
(08, 'Gonta', 'Carolina', 'Vasile', 'Cardiologie'),
(09, 'Anghel', 'Ion', 'Marius', 'Pneumologie'),
(10, 'Bobeica', 'Loredan', 'Stanislav', 'Pneumologie'),
(11, 'Plosnita', 'Dumitru', 'Ion', 'Dermatologie'),

7
(12, 'Parlea', 'Cristian', 'Dumitru', 'Dermatologie'),
(13, 'Turcan', 'Darius', 'Vasile', 'Oncologie'),
(14, 'Andrusceac', 'Stepan', 'Alexandru', 'Oncologie'),
(15, 'Cornitel', 'Daniel', 'Anatol', 'Ginecologie'),
(16, 'Zop', 'Valentin', 'Marin', 'Ginecologie'),
(17, 'Plesca', 'Aurica', 'Vasile', 'Oftamologie'),
(18, 'Buzdugan', 'Dumitru', 'Daniel', 'Oftamologie'),
(19, 'Lasco', 'Catalin', 'Ion', 'Neonatologie'),
(20, 'Budurin', 'Denis', 'Nicolae', 'Neonatologie')
SELECT*FROM Medici;

Am inserat în tabelul Medici valori, iar la final afișăm tot tabelul.

Tabelul Pacienți

CREATE TABLE Pacienti(


IdPacient INT,
NumePacient CHAR(20),
PrenumePacient CHAR(20),
PatronimicPacient CHAR(20),
NumeSectie CHAR(20) FOREIGN KEY REFERENCES Sectii(NumeSectie),
Diagnostic CHAR(20),
TimpPetrecut CHAR (10),
PRIMARY KEY(IdPacient)
)

8
 Creăm tabelul Pacienti.
 Atribut ID de tip INT.
 Atributele de tip CHAR NumeMedic, PrenumeMedic și PatronimicMedic ce va
conține caractere și setând o limită de 20 caractere.
 Atributul NumeSecție de tip CHAR că va conține caractere, îi facem o legătura cu
Tabelul Secții și anume cu atributul NumeSectie.
 Atributul TimpPetrecut de tip CHAR fiindcă va conține caractere (ex: 2 zile, 6
zile).
 Setăm atributul IdPacient ca cheie primară.

INSERT INTO Pacienti VALUES


(01, 'Negrei', 'Ion', 'Ion', 'Neurologie', 'Epilepsie', '3 zile'),
(02, 'Bulat', 'Gheorghe', 'Veceslav', 'Neurologie', 'Amnezie', '6 zile'),
(03, 'Damir', 'Andreea', 'Ion', 'Neurologie', 'Epilepsie', '10 zile'),
(04, 'Gabureac', 'Andriana', 'Vladimir', 'Pediatrie', 'Tuse Convulsivă', '2 zile'),
(05, 'Rusu ', 'Andrian', 'Daniel', 'Pediatrie', 'Rahitism', '7 zile'),
(06, 'Pavalachi', 'Adrian', 'Marin', 'Pediatrie', 'Malnutritie', '5 zile'),
(07, 'Proca', 'Marin', 'Eduard', 'Chirurgie', 'Pileflebita', '10 zile'),
(08, 'Prodan', 'Valeria', 'Ion', 'Chirurgie', 'Mastita', '8 zile'),
(09, 'Palai', 'Maxim', 'Anatol', 'Chirurgie', 'Gangrena', '3 zile'),
(10, 'Buza', 'Daniel', 'Emanoil', 'Pneumologie', 'Fibroza chistica', '2 zile'),
(11, 'Cernega', 'Vasile', 'Adrian', 'Pneumologie', 'Pneumotorax', '4 zile'),
(12, 'Mira', 'Daniela', 'Ion', 'Pneumologie', 'Absces pulmonar', '6 zile'),
(13, 'Mura', 'Corina', 'STanislav', 'Dermatologie', 'Foliculita', '8 zile'),
(14, 'Ternovetchi', 'Diana', 'Petru', 'Dermatologie', 'Melasma', '4 zile'),
(15, 'Zagornea', 'Angela', 'Daniel', 'Dermatologie', 'Eczema', '2 zile'),
(16, 'Duca', 'Dumitra', 'Dumitru', 'Oncologie', 'Cancer mamar', '3 zile'),
(17, 'Calmis', 'Emilia', 'Marius', 'Oncologie', 'Tumoare gastrica', '7 zile'),
(18, 'Negrei', 'Marcel', 'Ion', 'Oncologie', 'Cancer colorectal', '4 zile'),
(19, 'Bulat', 'Mihaila', 'Vasile', 'Ginecologie', 'Amenoreea', '8 zile'),
(20, 'Damir', 'Catalina', 'Alexandru', 'Ginecologie', 'Leucoreea', '2 zile'),
(21, 'Negru', 'Daniela', 'Ion', 'Ginecologie', 'Galactoreea', '3 zile'),
(22, 'Duca', 'Dionisie', 'Stepan', 'Oftamologie', 'Strabism', '3 zile'),
(23, 'Gabureac', 'Andrei', 'Ion', 'Oftamologie', 'toxoplasmoza', '9 zile'),
(24, 'Turcan', 'Ion', 'Ion', 'Oftamologie', 'Orbiree', '5 zile'),
(25, 'Bors', 'Mihai', 'Alexandru', 'Neonatologie', 'Rinita', '7 zile'),
(26, 'Cosarca', 'Alexandra', 'Daniel', 'Neonatologie', 'Sinus frontal', '4 zile'),
(27, 'Vataman', 'Damian', 'Mihail', 'Neonatologie', 'Cerumen', '2 zile'),
(28, 'Buzdugan', 'Dumitra', 'Anatol', 'Cardiologie', 'Endocardita', '6 zile'),
(29, 'Proca', 'Ion', 'Andrian', 'Cardiologie', 'Aritmie cardiaca', '5 zile'),
(30, 'Ermurachi', 'Cornel', 'Ion', 'Cardiologie', 'Miocardita', '9 zile')
SELECT*FROM Pacienti;

9
Inserăm în tabel valori, iar la final afisăm to

10

S-ar putea să vă placă și