Vezbe - zajedno, 06.april, ucionica 14
Kreirati bazu u kojoj se nalaze tabele> vozilo, boje i marke, sa svim ograničenjima, povezati ih i popuniti nekim podacima
CREATE DATABASE IF NOT EXISTS Baza1;
USE Baza1;
CREATE TABLE Boje(
BojaID INT PRIMARY KEY AUTO_INCREMENT,
Boja VARCHAR(255)
);
InSERT INTO BOJE
VALUES (1, 'bela'), (2, 'crna');
INSERT INTO BOJE(BojaID, Boja)
VALUES (3, 'CRVENA'), (4, 'PLAVA');
INSERT INTO BOJE(Boja)
VALUES('LILA'), ('trula višnja'),('siva');
INSERT INTO BOJE(Boja, BojaID)
VALUES ('svetlo CRVENA',10), ('tamno PLAVA', 9);
InSERT INTO BOJE
VALUES (11, 'prljavo bela');
CREATE TABLE Marke(
MarkaID INT PRIMARY KEY AUTO_INCREMENT,
Marka VARCHAR(255),
Oznaka VARCHAR(50)
);
INSERT INTO Marke(Marka, Oznaka) VALUES
('VW','Golf'), ('Mercedes', 'Benz'), ('Alfa', 'Romeo'), ('Skoda', 'Fabia');
CREATE TABLE Vozila(
VoziloID INT PRIMARY KEY AUTO_INCREMENT,
Registracija VARCHAR(10),
BojaID INT,
MarkaID INT,
CONSTRAINT fk_voz_boja FOREIGN KEY (BojaID) REFERENCES BOJE(BojaID),
CONSTRAINT fk_voz_MARKA FOREIGN KEY (MarkaID) REFERENCES Marke(MarkaID)
);
select * from boje;
rezultat:
1, 'bela'
2, 'crna'
3, 'CRVENA'
4, 'PLAVA'
5, 'LILA'
6, 'trula višnja'
7, 'siva'
9, 'tamno PLAVA'
10,'svetlo CRVENA'
11, 'prljavo bela'
... ovo bi bilo u slucaju> select * from boje ORDER BY BojaID;
Ispis svih auta bele boje?
select * from vozila
where bojaID = 1;
sta dobijate sa:
select * from vozila, boje;
ovo daje 44 reda! - sve moguce kombinacije
select *
from vozila
where bojaID=(select bojaID from boje where boja='bela' );
select DISTINCT Marka from Marke
where MarkaID IN (
select MarkaID
from vozila
where bojaID=(select bojaID from boje where boja='bela' );
);
SELECT Marka FROM Marke
WHERE Marka LIKE 'a%' OR 'A%'