186 lines
7.1 KiB
Transact-SQL
186 lines
7.1 KiB
Transact-SQL
CREATE DATABASE KINO;
|
||
GO
|
||
|
||
USE KINO;
|
||
GO
|
||
|
||
CREATE TABLE film (
|
||
kod_filmu VARCHAR(10) NOT NULL,
|
||
rodzaj_filmu VARCHAR(20),
|
||
tytul_filmu VARCHAR(50) NOT NULL UNIQUE
|
||
);
|
||
|
||
CREATE TABLE rodzaje (
|
||
rodzaj VARCHAR(20) NOT NULL
|
||
);
|
||
|
||
CREATE TABLE legenda (
|
||
skrot VARCHAR(5) NOT NULL,
|
||
opis TEXT NOT NULL
|
||
);
|
||
|
||
CREATE TABLE info (
|
||
kod_filmu VARCHAR(10) NOT NULL,
|
||
skrot VARCHAR(5) NOT NULL
|
||
);
|
||
|
||
CREATE TABLE seans (
|
||
kod_seansu INTEGER NOT NULL,
|
||
kod_filmu VARCHAR (10) NOT NULL,
|
||
nr_sali INTEGER NOT NULL,
|
||
data DATE NOT NULL,
|
||
czas_rozpoczecia TIME NOT NULL,
|
||
czas_zakonczenia TIME NOT NULL
|
||
);
|
||
|
||
CREATE TABLE sala (
|
||
nr_sali INTEGER NOT NULL,
|
||
liczba_miejsc INTEGER NOT NULL
|
||
);
|
||
|
||
CREATE TABLE tworcy (
|
||
kod_filmu VARCHAR (10) NOT NULL,
|
||
rezyser VARCHAR (40) NOT NULL,
|
||
scenariusz VARCHAR (40) NOT NULL,
|
||
obsada TEXT
|
||
);
|
||
|
||
CREATE TABLE zarezerwowane_miejsca (
|
||
kod_seansu INTEGER NOT NULL,
|
||
zarezerwowane_m INTEGER NOT NULL
|
||
);
|
||
ALTER TABLE film ADD PRIMARY KEY (kod_filmu);
|
||
ALTER TABLE rodzaje ADD PRIMARY KEY (rodzaj);
|
||
ALTER TABLE legenda ADD PRIMARY KEY (skrot);
|
||
ALTER TABLE info ADD PRIMARY KEY (kod_filmu,skrot);
|
||
ALTER TABLE tworcy ADD PRIMARY KEY (kod_filmu);
|
||
ALTER TABLE seans ADD PRIMARY KEY (kod_seansu);
|
||
ALTER TABLE sala ADD PRIMARY KEY (nr_sali);
|
||
ALTER TABLE film ADD FOREIGN KEY (rodzaj_filmu) REFERENCES rodzaje(rodzaj)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE info ADD FOREIGN KEY (kod_filmu) REFERENCES film(kod_filmu)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE info ADD FOREIGN KEY (skrot) REFERENCES legenda(skrot)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE tworcy ADD FOREIGN KEY (kod_filmu) REFERENCES film(kod_filmu)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE seans ADD FOREIGN KEY (kod_filmu) REFERENCES film(kod_filmu)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE seans ADD FOREIGN KEY (nr_sali) REFERENCES sala(nr_sali)
|
||
|
||
ALTER TABLE zarezerwowane_miejsca ADD FOREIGN KEY (kod_seansu) REFERENCES
|
||
seans(kod_seansu)
|
||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||
ALTER TABLE seans ADD CHECK (nr_sali IN (1,2,3,4));
|
||
ALTER TABLE seans ADD CHECK (czas_rozpoczecia<=czas_zakonczenia);
|
||
|
||
INSERT INTO sala (nr_sali,liczba_miejsc) VALUES (1,100);
|
||
INSERT INTO sala (nr_sali,liczba_miejsc) VALUES (2,125);
|
||
INSERT INTO sala (nr_sali,liczba_miejsc) VALUES (3,150);
|
||
INSERT INTO sala (nr_sali,liczba_miejsc) VALUES (4,200);
|
||
|
||
INSERT INTO rodzaje (rodzaj) VALUES ('sensacyjny'),('komedia'),('obyczajowy'),
|
||
('western'),('dramat'),('science-fiction'),('gangsterski'),('przygodowy');
|
||
|
||
INSERT INTO film (kod_filmu,rodzaj_filmu,tytul_filmu) VALUES
|
||
('PF1994QT','sensacyjny','Pulp Fiction');
|
||
INSERT INTO film (kod_filmu,rodzaj_filmu,tytul_filmu) VALUES
|
||
('OC1972FFC','gangsterski','Ojciec Chrzestny');
|
||
INSERT INTO film (kod_filmu,rodzaj_filmu,tytul_filmu) VALUES
|
||
('OBC1994BS','dramat','Orbitowanie bez cukru');
|
||
INSERT INTO film (kod_filmu,rodzaj_filmu,tytul_filmu) VALUES
|
||
('PZK2003GV','przygodowy','Piraci z Karaib<69>w');
|
||
|
||
INSERT INTO legenda (skrot,opis) VALUES ('3D', 'Seans w 3D');
|
||
INSERT INTO legenda (skrot,opis) VALUES ('48fps','Film emitowany w technologii
|
||
48fps');
|
||
INSERT INTO legenda (skrot,opis) VALUES ('18+','Film przeznaczony dla widz<64>w
|
||
doros<EFBFBD>ych');
|
||
|
||
INSERT INTO info (kod_filmu, skrot) VALUES ('PF1994QT', '18+');
|
||
INSERT INTO info (kod_filmu, skrot) VALUES ('OC1972FFC', '18+');
|
||
INSERT INTO info (kod_filmu, skrot) VALUES ('OBC1994BS', '48fps');
|
||
INSERT INTO info (kod_filmu, skrot) VALUES ('PZK2003GV', '3D');
|
||
|
||
INSERT INTO tworcy (kod_filmu,rezyser,scenariusz,obsada) VALUES
|
||
('PF1994QT','Quentin Tarantino','Quentin Tarantino','John Travolta, Samuel L.
|
||
Jackson, Bruce Willis, Uma Thurman');
|
||
INSERT INTO tworcy (kod_filmu,rezyser,scenariusz,obsada) VALUES
|
||
('OC1972FFC','Francis Ford Coppola','Mario Puzo','Marlon Brando, Al Pacino,
|
||
James Caan, Robert Duvall, Diane Keaton');
|
||
INSERT INTO tworcy (kod_filmu,rezyser,scenariusz,obsada) VALUES
|
||
('OBC1994BS','Ben Stiller','Helen Childres','Winona Ryder, Ethan Hawke, Ben
|
||
Stiller');
|
||
INSERT INTO tworcy (kod_filmu,rezyser,scenariusz,obsada) VALUES
|
||
('PZK2003GV','Gore Verbinski','Ted Elliot','Johnny Depp, Orlando Bloom, Keira
|
||
Knightley, Geoffrey Rush');
|
||
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(1,'PF1994QT',1,'2014-01-01','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(2,'PF1994QT',1,'2014-01-01','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(3,'PF1994QT',1,'2014-01-02','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(4,'PF1994QT',1,'2014-01-02','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(5,'OC1972FFC',2,'2014-01-01','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(6,'OC1972FFC',2,'2014-01-01','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(7,'OC1972FFC',2,'2014-01-02','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(8,'OC1972FFC',2,'2014-01-02','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(9,'OC1972FFC',2,'2014-01-03','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(10,'OC1972FFC',2,'2014-01-03','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(11,'OBC1994BS',3,'2014-01-01','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(12,'OBC1994BS',3,'2014-01-01','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(13,'OBC1994BS',3,'2014-01-02','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(14,'OBC1994BS',3,'2014-01-02','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(15,'PZK2003GV',4,'2014-01-01','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(16,'PZK2003GV',4,'2014-01-01','19:45:00','22:20:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(17,'PZK2003GV',4,'2014-01-02','17:05:00','19:30:00');
|
||
INSERT INTO seans
|
||
(kod_seansu,kod_filmu,nr_sali,data,czas_rozpoczecia,czas_zakonczenia) VALUES
|
||
(18,'PZK2003GV',4,'2014-01-02','19:45:00','22:20:00');
|
||
|
||
INSERT INTO zarezerwowane_miejsca(kod_seansu,zarezerwowane_m)VALUES
|
||
(11,2)
|
||
INSERT INTO zarezerwowane_miejsca(kod_seansu,zarezerwowane_m)VALUES
|
||
(11,3)
|
||
|
||
SELECT * FROM film;
|
||
SELECT * FROM info;
|
||
SELECT * FROM legenda;
|
||
SELECT * FROM rodzaje;
|
||
SELECT * FROM sala;
|
||
SELECT * FROM seans;
|
||
SELECT * FROM tworcy;
|
||
SELECT * FROM zarezerwowane_miejsca;
|