vežbe za 04/05.maj
Radimo zadatak kao na proveri znanja.
Do ocene 3 se treba uraditi sledeće:
- Kreirati bazu ( naziv baze je petShop)
- Kreirati tabele i ključeve u njima
- Popuniti obe tabele sa po bar 5 redova
Šema baze:

(vodite računa o sledećem: pas može da ima samo jednog vlasnika, a jedan vlasnik može da ima više pasa - ovo vam je potrebno da biste ispravno kreirali FOREIGN KEY)
**deo REŠENJA -kreiranje baze i tabela u njoj **
CREATE DATABASE IF NOT EXISTS petShop;
USE petShop;
CREATE TABLE IF NOT EXISTS Vlasnik(
VlasnikID INT PRIMARY KEY AUTO_INCREMENT,
Ime VARCHAR(255),
Prezime VARCHAR(255),
Adresa VARCHAR(255)
);
CREATE TABLE IF NOT EXISTS Ljubimac(
LjubimacID INT PRIMARY KEY AUTO_INCREMENT,
Ime VARCHAR(255),
Vrsta VARCHAR(255),
VlasnikID INT,
CONSTRAINT F1 FOREIGN KEY (VlasnikID) REFERENCES Vlasnik(VlasnikID)
);
**deo REŠENJA - popunjavanje tabela **
USE petShop;
INSERT INTO Vlasnik(ime, Prezime)
VALUES ('Pera', 'Pap'), ('Sima', 'Pip'), ('Aca', 'Kralj');
INSERT INTO Vlasnik
VALUES (4, 'Ana', 'Karenjina', 'a@a.com'),
(5, 'Tom', 'Sojer', 'tom@lutalica.com'),
(6, 'Pera', 'Kojot', 'suvi@genije.com');
INSERT INTO Ljubimac
VALUES (1, 'Sima', 'papagaj', 1),
(2, 'Aca', 'cipiripi', 2),
(3, 'Maja', 'pudlica', 3),
(4, 'Sima', 'kornjaca', 1),
(5, 'Paja', 'patka', 1);
za ocene 4/5 : kreirati upit/View
varijante upita
> ispisati imena ljubimaca i njihovih vlasnika:
SELECT Lj.Ime, V.Ime
FROM Ljubimac Lj, Vlasnik V
WHERE Lj.VlasnikID=V.VlasnikID
SELECT Ljubimac.Ime, Vlasnik.Ime
FROM Ljubimac, Vlasnik
WHERE Ljubimac.VlasnikID=Vlasnik.VlasnikID
>>Kreirati pogled (View) ljubimacVlasnik kojim se ispisuju imena ljubimaca i njihovih vlasnika
CREATE VIEW ljubimacVlasnik AS
SELECT Lj.Ime, V.Ime
FROM Ljubimac Lj, Vlasnik V
WHERE Lj.VlasnikID=V.VlasnikID
CREATE VIEW ljubimacVlasnik AS
SELECT Ljubimac.Ime, Vlasnik.Ime
FROM Ljubimac, Vlasnik
WHERE Ljubimac.VlasnikID=Vlasnik.VlasnikID
Ako želite da se u pogledu kolone zovu drugačije nego u tabelama iz koih iz uzimate, koristite alijase, kao na primer:
CREATE VIEW ljubimacVlasnik ASIsprobajte šta ćete dobiti sa:
SELECT Lj.Ime AS 'ljubimac', V.Ime AS 'vlasnik'
FROM Ljubimac Lj, Vlasnik V
WHERE Lj.VlasnikID=V.VlasnikID
SELECT * FROM ljubimacVlasnik;
SELECT ljubimac FROM ljubimacVlasnik;
SELECT vlasnik FROM ljubimacVlasnik;
>>> Kako ispisati pomoću pogleda sve ljubimce i njihove vlasnike?
>>> Kako pomoću tog istog pogleda ispisati samo ljubimce, a bez vlasnika?
> ispisati imena ljubimaca i njihovih vlasnika, i to poređano po rastućem redosledu imena vlasnika
> Ispisati ime i prezime vlasnika koji nema ljubimca
> Ispisati ime i prezime vlasnika koji ima najviše ljubimaca
> ispisati imena i prezimena vlasnika i broj ljubimaca koje imaju
> . . .