kõik tabeleid
CREATE TABLE film (
filmID int NOT NULL primary key,
filmNimetus varchar(25) NOT NULL,
zanrID int NOT NULL,
keelID int NOT NULL,
pikkus int NOT NULL,
rezisorID int NOT NULL,
filmtypeID int NOT NULL,
reklaam text NOT NULL
);
INSERT INTO film (filmID, filmNimetus, zanrID, keelID, pikkus, rezisorID, filmtypeID, reklaam) VALUES
(1, 'Pulp Fiction', 8, 1, 154, 1, 1, ''),
(2, 'Vabastatud Django', 1, 1, 165, 1, 2, ''),
(3, 'Ongi Karloson!', 4, 2, 80, 2, 2, ''),
(4, 'Roheline elevant', 7, 2, 86, 3, 1, ''),
(5, 'Kaardid, rahad, kaks püst', 4, 3, 107, 5, 2, '');
CREATE TABLE filmtype (
filmTypeID int NOT NULL primary key,
filmType varchar(25) NOT NULL,
kirjeldus text DEFAULT NULL
);
INSERT INTO filmtype (filmTypeID, filmType, kirjeldus) VALUES
(1, '2D', '2D-arvutigraafika on pildi esitamine digitaalsete kahemõõtmeliste mudelitena, näiteks tasandilise geomeetria ja teksti abil.'),
(2, '3D', '3D-arvutigraafika on pildi esitamine digitaalsete kolmemõõtmeliste mudelitena, näiteks ruumilise geomeetria abil.\r\n\r\n3D-mudel on kolmemõõtmelise objekti matemaatiline esitus. Mudelit saab kuvada kahemõõtmelisena 3D-renderdamise kaudu või kasutada mittevisuaalse arvutisimulatsiooni või arvutuste jaoks. On olemas ka 3D-arvutigraafika tarkvara.'),
(3, '4D', '3D-arvutigraafika lisaeffektidega.');
CREATE TABLE keel (
keelID int NOT NULL primary key,
keelNimi varchar(25) NOT NULL,
keelNimiVene varchar(25) NOT NULL,
keelNimiInglise varchar(25) NOT NULL
);
INSERT INTO keel (keelID, keelNimi, keelNimiVene, keelNimiInglise) VALUES
(1, 'Eesti', 'Эстонский', 'Estonian'),
(2, 'Vene', 'Русский', 'Russian'),
(3, 'Inglise', 'Английский', 'English'),
(4, 'Saksa', 'Немецкий', 'German'),
(5, 'Prantsuse', 'Французский', 'French');
CREATE TABLE kinokava (
kinokavaID int NOT NULL primary key,
kuupaev datetime DEFAULT NULL,
filmNimetus int DEFAULT NULL,
pilethind int DEFAULT NULL
);
INSERT INTO kinokava (kinokavaID, kuupaev, filmNimetus, pilethind) VALUES
(1, '2020-03-20 16:20:00', 5, 5),
(2, '2020-03-17 20:00:00', 1, 8),
(3, '2020-03-18 13:00:00', 4, 2),
(4, '2020-03-19 20:00:00', 2, 7),
(5, '2020-03-21 21:00:00', 3, 4);
CREATE TABLE piletimyyk (
piletimyykID int NOT NULL primary key,
kogus int NOT NULL,
kinokavaID int NOT NULL
);
INSERT INTO piletimyyk (piletimyykID, kogus, kinokavaID) VALUES
(1, 1, 1),
(2, 2, 2),
(3, 3, 3),
(4, 4, 4),
(5, 5, 5);
CREATE TABLE rezisoor (
rezisoorID int NOT NULL primary key,
eesnimi varchar(25) DEFAULT NULL,
perenimi varchar(25) DEFAULT NULL
);
INSERT INTO rezisoor (rezisoorID, eesnimi, perenimi) VALUES
(1, 'Quentin', 'Tarantino'),
(2, 'Sarik', 'Andreasjan'),
(3, 'Svetlana', 'Baskova'),
(4, 'Michael', 'Bay'),
(5, 'Guy', 'Richi'),
(6, 'Woody', 'Allen');
CREATE TABLE zanr (
zanrID int NOT NULL primary key,
zanrNimi varchar(25) NOT NULL,
zanrKirjeldus text NOT NULL
);
INSERT INTO zanr (zanrID, zanrNimi, zanrKirjeldus) VALUES
(1, 'Draama', 'Tõsise teema, sisu, ainestiku ja süžeega, realistlikus elu- ja tegevuskeskkonnas ning usutavates elusituatsioonides tegutsevate realistlike tegelastega lavastatud filmiteos, mis on rajatud filmikangelaste (aktiivsele) suhtlemisele, tegevusele, karakterite muutumisele ja arengule. Tavaliselt ei kasutata filmiefekte, komöödia- või märulielemente. Väga levinud filmižanr, mille peamised alaliigid on melodraama, ajalooline (eepiline) draama, romantiline draama ja elulooline film, mida on käesolevas loendis käsitletud eraldiseisvate kategooriatena.'),
(2, 'Fantaasia', 'Žanr, milles toimub või kujundatud midagi ebareaalne elus.'),
(3, 'Animatsioon', 'Teemad on enamasti mõeldud lastele ja käsitlus on lastepärane ja lastele lihtsalt arusaadav ja mõistetav. Filmi kangelased on tavaliselt lapsed, nende vanemad (kes vahel asuvad kaugel või on tegu), loomad, ka kurjad tegelased, kellest tuleneb oht.'),
(4, 'Komöödia', 'Komöödiafilm on enamasti kergema sisu ja tahtlikult meelelahutusliku, publikut lõbustava, lõõgastava ja naerma ajava eesmärgiga tehtud filmiteos rõhutatult, liialdatult ja ülemäärase situatsioonilahenduse, keelekasutuse, tegevuse, suhete ja karakteritega.'),
(5, 'Krimi', 'Krimi- ja gangsterfilmide tegevus hargneb kriminaalkurjategijate, kuritegelike jõukude ja sündikaatide, enamasti pangaröövlite, allmaailma tegelaste ja pättide ümber, kes tegutsevad väljaspool seadust, tegelevad narkootikumidega, võitlevad omavahel, varastavad ja tapavad. Film keskendub enamasti kurjategijate mõttemaailmale, ambitsioonidele, suurusehullustusele ja kompleksidele, mis lõpuks viivad nende hukkumiseni. Sageli liigitatakse need krimifilme sarnasuse tõttu ka film noir või detektiiv/uurijafilmideks. Sellesse kategooriasse peaks paigutama ka filmid sarimõrvaritest. Sageli soovitatakse kasutada (kui võimalik) spetsiifilisemad žanrimääratlusi: röövlifilm, film noir, gangsterifilm, uurijafilm, politseifilm või põnevusfilm '),
(6, 'Müsteerium', 'Detektiiv/uurijafilmi peetakse tavaliselt kriminaalfilmi (krimifilmi), film noir või põnevusfilmi (põneviku) alaliigiks. Film põhineb enamasti lahendamata mõrva või kadumise loo uurimisele, filmi peategelaseks on tugeva ja omapärase karakteri ja tegutsemisviisiga detektiiv-uurija, kes tegutseb metoodiliselt ja sihikindlalt kurjategija või mõrvari tabamiseks.'),
(7, 'Õudus', 'Filmilavastused, mis tegelevad elu varjatud, tundmatu, keelatud, üleloomuliku või seletamatu poolega, kutsuvad esile varjatud alateadvuslikku pinget, kartust, hirmutunnet või õudust, millel on reeglina hirmus või šokeeriv lõpplahendus, kuid mis samal ajal köidavad vaatajat ja lahutavad meelt siduva vaatamispinge tekitamise, kaasaelamise ja tugeva läbielamise (katarsise) kaudu. Filmide stilistika on mitmekesine, ulatudes õudusfilmide klassikast (Nosferatu) kuni arvutites loodud üleloomulike lugudeni. Õudusfilmides tegutsevad kummitused, vaimud, libahundid, zombid, vampiirid, saatanad, monstrumid. Nüüdisajal on õudusfilmi žanr sageli kombineeritud ulmefilmiga, kus monstrumeid sünnitab tehnoloogiline viga, väärkäsitlus, võimu-, raha- või kättemaksiha, korruptsioon või Maad ohustavad tulnukad. Õudusfilmides võib leida sarnaseid elemente muinasjuttfilmide ja üleloomulikele nähtustele rajatud filmidega. Õudusfilmidel on mitmeid alaliike: filmid lõikujatest, sarimõrvaritest, noorteõudukad, satanismifilmid, Dracula, Frankenstein jm. Vajadusel tuleks kasutada lisamääranguid (sagedasemad Ulmefilm, Üleloomulik film). '),
(8, 'Thriller', 'Põnevusfilmid on enamasti žanrihübriidid – esineb märulipõnevik (Action-Thriller), krimipõnevik (Crime-Caper-Thriller), vesternipõnevik (Western-Thriller), film noir põnevik, isegi romantilise komöödia põnevik (Romantic comedy-Thriller). Põnevikud on lähedalt seotud õudusfilmižanriga. Põnevikud haaravad sellega, et kutsuvad esile intensiivse erutuse, pakuvad põnevust ja kaasaelamisvõimalust, tekitavad rahutut ootust ja närvesöövat pinget. Põnevikud on sageli seotud krimiteemaga, ent põhirõhk ei ole detektiividel, gangsteritel, röövlitel, isegi krimiaktil mitte. Selle asemel fokuseerub narratiiv põnevusel, mis tuleneb sellest, et indiviid või grupp tegelasi on ohtlikkus olukorras, millest pääsemine sõltub juhuslikust saatuse pöördest. Sageli on filmiteemaks poliitiline vandenõu, terrorism, süütu süüdistatava põgenemine, mõrvani viiv armukolmnurk, psüühikahäiretega tegelased.'),
(9, 'Seiklus', 'Enamasti köitvad filmilavastused eksootilistes paikades, seotud uue kogemuse ja tundmatu avastamisega, sageli sarnane märuližanriga. Tegutsevad uljad ja julged inimesed, tegemist võib olla eepilistele ja ajaloolistele filmidele omaste lahendustega (kus kangelased on sageli julged, altruistlikud, patriootilised inimesed, kes tegutsevad oma ideaalide nimel), kadunud kontinentide otsimise, džungli- ja kõrbefilmidega, aaretejahiga, katastroofide, otsingute ja avastamisega, võitlusega vabaduse eest ja vallutajate vastu, püüdega aidata taastada õiglust ja mõistlikku ühiskonnakorraldust jms. LOC žanrinimistu: seotud sisu- ja žanrikategooriad: seiklusfilm, antiikmaailma film, loomafilm, lennundusaineline film, röövlifilm, krimifilm, katastrooffilm, spioonifilm, muinasjuttfilm, gangsterifilm, džunglifilm, võitluskunstide film, uurijafilm, politseifilm, eelajalooline film, vanglafilm, ulmefilm, laulev kauboi, spordifilm, ellujäämise film, õudusfilm, sõjafilm, vestern. '),
(10, 'Action', 'Aktiivse, enamasti katkematu tegevusega, paljude kaskadöörinippidega filmid, tagaajamise ja jälitamisega, võitluse, päästeaktsioonide, lahingute, põgenemiste, kriiside ja katastroofidega (üleujutused, plahvatused, loodusõnnetused), võitluskunste kasutavad, seikluslikud, köitva rütmi ja tempoga ning vastuoluliste positiivsete kangelastega, kes võitlevad halbade vastu. Loodud ennekõike vaataja köitmise ja meelelahutuse eesmärgil. ');

Lisamine
CREATE PROCEDURE filmTypeLisamine
@id int,
@type varchar(100),
@kirjeldus text
AS
BEGIN
INSERT INTO filmtype (filmTypeID, filmType, kirjeldus)
VALUES (@id, @type, @kirjeldus);
SELECT * From filmtype;
END
--kontroll
EXEC filmTypeLisamine 4, '10D', 'super film';

Kustuta
CREATE PROCEDURE filmTypeKustuta
@kustutumisID int
AS
Begin
SELECT * FROM filmtype;
DELETE FROM filmtype
WHERE filmtypeID = @kustutumisID;
SELECT * FROM filmtype;
END;
--kontroll
EXEC filmTypeKustuta 4;

otsing1taht
CREATE PROCEDURE otsing1taht
@taht CHAR
AS
BEGIN
SELECT filmtype, kirjeldus
FROM filmtype
WHERE filmtype like concat(@taht, '%');
END
--kontroll
EXEC otsing1taht 2

Uendamine
CREATE PROCEDURE filmTypeUendamine
@id int,
@uusfilmType varchar(100)
AS
BEGIN
UPDATE filmtype
SET filmtype = @uusfilmType
WHERE filmTypeID = @id;
SELECT *FROM filmtype;
END
--kontroll
EXEC filmTypeUendamine 1, '2D';

Kustuta rezisoor
CREATE PROCEDURE rezisoorKustuta
@kustutumisID int
AS
Begin
SELECT * FROM rezisoor;
DELETE FROM rezisoor
WHERE rezisoorID = @kustutumisID;
SELECT * FROM rezisoor;
END;
--kontroll
EXEC rezisoorKustuta 4;

rezisooruendamine
CREATE PROCEDURE rezisoorUendamine
@id int,
@uusrezisoor varchar(100),
@uusperenimi varchar(100)
AS
BEGIN
UPDATE rezisoor
SET eesnimi = @uusrezisoor,
perenimi = @uusperenimi
WHERE rezisoorID = @id;
SELECT *FROM rezisoor;
END
--kontroll
EXEC rezisoorUendamine 1, 'ALEKSAND', 'Tarantino';

Kustuta tabel
CREATE PROCEDURE tablekustuta
@tableKustutamine varchar (100)
AS
BEGIN
declare @STMT as varchar(max)
SET @STMT = CONCAT('DROP TABLE', @tableKustutamine);
END;
PRINT @STMT;
BEGIN
EXEC (@STMT);
END
--kontroll
CREATE TABLE test(
testID int);
select * from test;
exec tablekustuta test;
select * from test;
На оценку 4 выполнить все задания на оценку 3 + добавить 2 процедуры на обновление (UPDATE) и изменение (ALTER) таблицы режисер.
с условием – придумать самостоятельно! case или if
CREATE PROCEDURE hinnakategooriad
@odavPiir INT,
@keskPiir INT
AS
BEGIN
SELECT pilethind,
CASE
WHEN pilethind < @odavPiir THEN 'soodne'
WHEN pilethind < @keskPiir THEN 'standartne'
ELSE 'kallis'
END AS hinnakategooria
FROM kinokava;
END;
hinnakategooriad 3,7
