(VEŽBA za rad kod kuće) Zadatak KAO ZA OCENU
Kreirati bazu podataka Lekovi i u njoj tabele kao na slici:

za ocenu 2:
Kreiranje baze podataka, svih tabela u bazi, bar jedne veze između tabela kao i popunjavanje bar jedne tabele podacima
za ocenu 3:
Kreiranje baze podataka, svih tabela u bazi i svih veza između tabela. Popunjavanje svih tabela sa bar dva reda podacima i izrada jednostavnijeg upita po zahtevu nastavnika.
Na primer: ispisati nazive svih bolesti (i ništa drugo)
za ocenu 4:
Kreiranje baze podataka, svih tabela u bazi, >da postoje sve veze između tabela i podaci u svim tabelama (po bar tri reda).
Izrada upita srednje težine – po zahtevu nastavnika u učionici.
Na primer: ispisati nazive lekova i način korišćenja, u alfabetskom redosledu
za ocenu 5:
… sve kao za ocenu 4, plus da je kompletno projektovana izmena strukture baze podataka:
Osmisliti proširenje baze kojim se omogućava čuvanje podataka o pakovanjima lekova od strane apoteka. Treba voditi računa o tome da jedan lek može da ima više vrsta pakovanja.
Rezervni zadatak (ako ne znate jedan deo):
Izrada upita kojim se u tabelu sa lekovima dodaje cena leka. Zatim svim lekovima uneti cenu 100 i na kraju ispisati sve lekove i njihove cene uvećane za vrednost njihovog LekID-a.
Rešenja:
Kreiranje baze, tabela i unos podataka - uz korišćenje IDENTITY !
CREATE DATABASE Lekovi;
USE Lekovi;
CREATE TABLE Lek (
LekID INT PRIMARY KEY IDENTITY,
NazivLeka nVARCHAR(100),
ProizvodjacLeka VARCHAR(100),
NezasticenoIme VARCHAR(100),
NacinKoriscenja TEXT,
);
CREATE TABLE Bolest (
BolestID INT PRIMARY KEY IDENTITY,
Naziv nVARCHAR(255)
);
CREATE TABLE LekBolest (
LekID INT,
BolestID INT,
Napomena nVARCHAR(255),
CONSTRAINT pk primary key (LekID, BolestID),
CONSTRAINT fk1 FOREIGN KEY (LekID) REFERENCES Lek(LekID),
CONSTRAINT fk2 FOREIGN KEY (BolestID) REFERENCES Bolest(BolestID)
);
INSERT INTO Lek(NazivLeka, ProizvodjacLeka, NezasticenoIme, NacinKoriscenja)
VALUES ('Aspirin','Bayer' ,'acetil salicilna kiselina' , 'po potrebi ili 3 x dnevno'),
('Andol','Galenika','acetil salicilna kiselina','po potrebi ili 3 x dnevno'),
('Brufen','Hemofarm','ibuprofen','po potrebi ili 3 x dnevno');
INSERT INTO Bolest(Naziv)
VALUES ('prehlada'),('grip'),('kijavica'),('sinusitis');
INSERT INTO LekBolest(LekID,BolestID,Napomena)
VALUES (1,1,'za starije od 12 godina'), (1,2,'za starije od 12 godina'), (2,1,'za starije od 12 godina'), (2,2,'za starije od 12 godina');
Kreiranje baze, tabela i unos podataka - BEZ identity !
CREATE DATABASE Lekovi;
USE Lekovi;
CREATE TABLE Lek (
LekID INT PRIMARY KEY,
NazivLeka nVARCHAR(100),
ProizvodjacLeka VARCHAR(100),
NezasticenoIme VARCHAR(100),
NacinKoriscenja TEXT,
);
CREATE TABLE Bolest (
BolestID INT PRIMARY KEY,
Naziv nVARCHAR(255)
);
CREATE TABLE LekBolest (
LekID INT,
BolestID INT,
Napomena nVARCHAR(255),
CONSTRAINT pk primary key (LekID, BolestID),
CONSTRAINT fk1 FOREIGN KEY (LekID) REFERENCES Lek(LekID),
CONSTRAINT fk2 FOREIGN KEY (BolestID) REFERENCES Bolest(BolestID)
);
INSERT INTO Lek(LekID, NazivLeka, ProizvodjacLeka, NezasticenoIme, NacinKoriscenja)
VALUES (1,'Aspirin','Bayer' ,'acetil salicilna kiselina' , 'po potrebi ili 3 x dnevno'),
(2,'Andol','Galenika','acetil salicilna kiselina','po potrebi ili 3 x dnevno'),
(3,'Brufen','Hemofarm','ibuprofen','po potrebi ili 3 x dnevno');
INSERT INTO Bolest(BolestID, Naziv)
VALUES (1,'prehlada'),(2,'grip'),(3,'kijavica'),(4,'sinusitis');
INSERT INTO LekBolest(LekID,BolestID,Napomena)
VALUES (1,1,'za starije od 12 godina'), (1,2,'za starije od 12 godina'), (2,1,'za starije od 12 godina'), (2,2,'za starije od 12 godina');
uz slike sa table u učionici:
Plan rada - redosled kreiranja tabela

..


.

slika - proširani dijagram baze


.
I na kraju .... slika kako je na kraju izgledela kompletna tabla u učionici

.
Ako je potrebno postaviti i sql upite - ako je nekome potrebno - pošaljite poruku kroz sistem pa će i to biti postavljeno ....
.