Eesti
Infotehnoloogia
Kolledž Andmebaasisüsteemide
alused
Iseseisev
töö
Tallinn
2014
Sisukord
Sisukord 1
Sissejuhatus 3
Ülesandepüstitus 4
Analüüs 5
Projekt 6
ERD ehk Entity Relationship
Diagrams mudel 6
Olemite
semantika 6
Olemite omadused 8
Realisatsioon 25
Kokkuvõte 26
Kasutatud materjalid 27
Lisad 28
Lisa 1 Andmebaasi loomise
skript 28
Sissejuhatus
Valisin
oma töö teemaks kinosüsteemis, kuna eelmises koolis
tegin samuti
andmebaasi samal teemal, ainult väiksema mahuga. Seetõttu oli mul
juba aluspõhi olemas, mida
pidin natukene lisaks viimistlema.
Töö
sisaldab sisukorda, sissejuhatust, ülesandepüstitust, analüüsi,
projekti, realisatsiooni, kokkuvõtet, kasutatud materjale ja
lisasid.
Ülesande
püstituses kirjeldan konkreetset ülesannet, millest see koosneb ja
kuidas ning millega see loodud on.
Analüüsis
kirjeldan lahti ülesande püstitust nii, et kui keegi selle tüki
lahti lööb ja läbi loeb saab ta kohe aru, milline see
infosüsteem on.
Projektis
on ERD ehk
Entity
Relationship Diagrams
mudel, olemite semantika ja olemite omadused. ERD mudel näitab
andmebaasi visuaalsel kujul. Olemite
semantikas on iga tabeli kohta
informatsioon, mida selles talletatakse. Olemite omadusete all
lähevad tabelide veergude kirjeldused, milleks on andmetüüp,
semantika jne.
Realisatsioonis
on 3
SELECT lauset koos lahti seletava kommentaariga.
Ülesandepüstitus
Eesmärgiks
on luua SQL ehk
Structured
Query Language
programmeerimiskeeles
andmebaas , mis kirjeldab ühe või mitme
kinosüsteemi toimimist. Andmebaas koosneb kirjalikust analüüsist,
ERD ehk
Entity
Relationship Diagrams
(eesti k. olemisuhtediagramm) mudelist ja kindlas rakenduses loodud
SQL
laused , milleks valisin
Oracle SQL Developer -i.
Analüüs
Meil
on
kino . Kino asub linnas. Ühes linnas võib olla mitu kino, mis on
sama firma omad. Ühes linnas olevad kinod võivad
kuuluda erinevatele firmadele.
Kinos on üks või mitu saali. Saalides toimuvad seansid. Seansi alla
lähevad filmid, kontsertide otseülekanded, teatri etenduste
otseülekanded või sümfooniaorkestri kontsertid. Eelnevate kohta on
teada selle pealkiri, kestus, plakatipilt,
lühitutvustus ja kandja
(DVD või
lint ). Kuvatav pilt võib olla 2D või 3D formaadis. Meil
peab olema näha, millises saalis, mis on toimunud.
Teenuste
kohta on meil
hinnakiri . Kõik, mida me kinos müüme (piletid,
suupisted jne) on samas hinnakirjas.
Kinos
käivad kliendid. Kliendid saavad osta või broneerida kohti. Meil
peab olema näha, palju on
vabu kohti teatud seansile. Samuti peab
olema näha palju pileteid mingile seansile osteti.
Klientidele
kehtib
soodustus , kui nad on ennast meie kinoga registreerinud.
Soodustusel on 3 taset:
haruldane , mõõdukas ja fanaatik.
Haruldasele kehtib -10%, mõõdukas saab -25% ja fanaatik -30%
soodustust .
Arveid
vormistame pärast maksmist, nii pileti ostmisel, kui ka muude
teenuste juures.
Maksta
saab
sularahas kui ka pangakaardiga.
Kinos
töötavad töötajad: piletimüüjad, koristajad, seansi töötajad
jne. Seansil saab töötada mitu töötajat (kui jagatakse 3D prille
vms).
Kino
ruume üüritakse välja. Meil peab teada olema, kes rentis, kui
paljudele , mis hinnaga ja kauaks.
Projekt
ERD ehk Entity Relationship Diagrams mudel
Olemite semantika
Tabeli nimiSemantikaRIIK
Selles tabelis hoitakse kõikide riikide andmeid.
LINN
Selles tabelis hoitakse kõikide linnade andmeid.
KINO
Selles tabelis hoitakse kõikide kinode andmeid.
SOODUSTUS
Selles tabelis hoitakse kõikide kinode soodustusi.
SOODUSTUSE_LIIK
Selles tabelis hoitakse kõikide kinode soodustus tasemeid.
MAKSMISVIIS
Selles tabelis hoitakse kõikide maksmisviiside andmeid olenemata sellest, kas makstakse kaardiga,
sulas või millegi muuga.
ISIK
Selles tabelis hoitakse kõikide inimeste andmeid olenemata sellest, kas nad on külastajad või töötajad.
ISIKU_ROLL
Selles tabelis hoitakse kõikide isikute rolle, kas ta on külastaja,
töötaja või keegi muu.
MAKSE
Selles tabelis hoitakse kõikide maksete andmeid.
ARVE_OSA
Selles tabelis hoitakse kõikide arvete osade andmeid.
PILET
Selles tabelis hoitakse kõikide
piletite andmeid.
RENDIB
Selles tabelis hoitakse kõikide rentimiste andmeid.
YKSUS
Selles tabelis hoitakse kõikide üksuste andmeid, kas üksus on saal või kontoriruum.
BRONEERIB
Selles tabelis hoitakse kõikide broneeringute andmeid.
KAUP
Selles tabelis hoitakse kõikide kaupade andmeid.
KAUBA_SEOS
Selles tabelis hoitakse kõikide kauba seoste andmeid olenemata, kas selleks on
film , popkorn või midagi muud.
HIND
Selles tabelis hoitakse kõikide kaupade hindasid.
ARVE
Selles tabelis hoitakse kõikide arvete andmeid.
ARVE_RIDA
Selles tabelis hoitakse kõikide arvete ridade andmeid.
KAUBA_LIIK
Selles tabelis hoitakse kõikide kauba liikide andmeid, kas see on
kontsert , šokolaad või midagi muud
ISIK_SAALIS
Selles tabelis hoitakse kõikide isikute saalis viibimisi.
ROLL_YKSUSES
Selles tabelis hoitakse kõikide isikute rolle üksuses, kas isiku roll saalis on külastaja või töötaja.
Olemite omadused
Tabel RIIK
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaRIIK_ID
INTEGER NOT NULL
Tabeli riik
Primary Key. Surrogaatvõti, mis
omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis RIIK ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
NIMI
VARCHAR
NOT NULL
Mis nimega riik on.
KOOD
INTEGER
NOT NULL
Riigi kood. Näiteks eesti kood on EST jne.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo riigi kohta.
Tabel LINN
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaLINN_ID
INTEGER
NOT NULL
Tabeli linn Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis LINN ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_RIIK_ID
INTEGER
NOT NULL
Foreign key
viitega riik tabeli reale.
NIMI
VARCHAR
NOT NULL
Linna nimi.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo linna kohta.
Tabel KINO
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaKINO_ID
INTEGER
NOT NULL
Tabeli kino Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis KINO ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_LINN_ID
INTEGER
NOT NULL
Foreign key viitega linn tabeli reale.
NIMI
VARCHAR
NOT NULL
Kino nimi.
AADRESS
VARCHAR
NOT NULL
Kino aadress. Tänav, maja number, linn.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo kino kohta.
Tabel SOODUSTUS
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaSOODUSTUS_ID
INTEGER
NOT NULL
Tabeli soodustus Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis SOODUSTUS ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_SOODUSTUSE_LIIK
INTEGER
NOT NULL
Foreign key viitega soodustuse liik tabeli reale.
FK_KINO_ID
INTEGER
NOT NULL
Foreign key viitega kino tabeli reale.
ALATES
TIMESTAMP
NOT NULL
Soodustus hakkab kehtima.
KUNI
TIMESTAMP
NULL
Soodustus lõpetas kehtivuse.
PROTSENT
INTEGER
NOT NULL
Soodustuse protsent.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo soodustuse kohta.
Tabel
SOODUSTUSE_LIIK
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaSOODUSTUSE_LIIK_ID
INTEGER
NOT NULL
Tabeli soodustuse_liik Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis SOODUSTUSE_LIIK ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
NIMETUS
VARCHAR
NOT NULL
Soodustuse liigi nimetus.
REEGEL
LONG VARCHAR
NOT NULL
Reegel, mille alusel soodustust saab.
PROTSENT
INTEGER
NOT NULL
Protsent, kui palju soodustust saab.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo soodustuse liigi kohta.
Tabel Maksmisviis
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaMAKSMISVIIS_ID
INTEGER
NOT NULL
Tabeli maksmisviis Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis MAKSMISVIIS ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
NIMETUS
VARCHAR
NOT NULL
Maksmisviisi nimetus.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo maksmisviisi kohta.
Tabel ISIK
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaISIK_ID
INTEGER
NOT NULL
Tabeli isik Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ISIK ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
EESNIMI VARCHAR
NOT NULL
Isiku eesnimi.
PEREKONNANIMI VARCHAR
NOT NULL
Isiku perekonnanimi.
ISIKUKOOD
INTEGER
NOT NULL
Isiku kood.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo isiku kohta.
Tabel ISIKU_ROLL
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaISIKU_ROLL_ID
INTEGER
NOT NULL
Tabeli isik_roll Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ISIKU_ROLL ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
NIMETUS
VARCHAR
NOT NULL
Isiku rolli nimetus. Olgu selleks külastaja või töötaja.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo isiku rolli kohta.
Tabel MAKSE
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaMAKSE_ID
INTEGER
NOT NULL
Tabeli makse Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis MAKSE ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_MAKSMISVIIS_ID
INTEGER
NOT NULL
Foreign key viitega maksmisviisi tabeli reale.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo makse kohta.
Tabel ARVE_OSA
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaARVE_OSA_ID
INTEGER
NOT NULL
Tabeli arve_osa Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ARVE_OSA ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_MAKSE_ID
INTEGER
NOT NULL
Foreign key viitega makse tabeli reale.
FK_ARVE_ID
INTEGER
NOT NULL
Foreign key viitega arve tabeli reale.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo arve osa kohta.
Tabel PILET
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaPILET_ID
INTEGER
NOT NULL
Tabeli pilet Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis PILET ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KINO_ID
INTEGER
NOT NULL
Foreign key viitega kino tabeli reale.
FK_KAUBA_SEOS_ID
INTEGER
NOT NULL
Foreign key viitega kauba seose tabeli reale.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
NR
INETEGER
NOT NULL
Pileti number.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo pileti kohta.
Tabel RENDIB
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaRENDIB_ID
INTEGER
NOT NULL
Tabeli rendib Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis RENDIB ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
FK_YKSUS_ID
INTEGER
NOT NULL
Foreign key viitega üksus tabeli reale.
INIMESTE_ARV
INTEGER
NOT NULL
Mitmele inimesele saal välja renditakse
ALATES
TIMESTAMP
NOT NULL
Rentimine hakkab kehtima.
KUNI
TIMESTAMP
NOT NULL
Rentimise kehtivus lõppeb.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo rentimise kohta.
Tabel YKSUS
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaYKSUS_ID
INTEGER
NOT NULL
Tabeli yksus Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis YKSUS ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KINO_ID
INTEGER
NOT NULL
Foreign key viitega kino tabeli reale.
NIMI
VARCHAR
NULL
Üksuse nimi.
NR
INTEGER
NOT NULL
Üksuse number.
KOHTI
INTEGER
NOT NULL
Mitu kohta üksuses on.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo yksuse kohta.
Tabel BRONEERIB
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaBRONEERIB_ID
INTEGER
NOT NULL
Tabeli broneerib Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis BRONEERIB ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KAUBA_SEOS_ID
INTEGER
NOT NULL
Foreign key viitega kauba seose tabeli reale.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
PILETITE_ARV
INTEGER
NOT NULL
Mitu piletit isik broneeris.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo broneerib kohta.
Tabel KAUP
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaKAUP_ID
INTEGER
NOT NULL
Tabeli kaup Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis KAUP ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KAUBA_LIIK_ID
INTEGER
NOT NULL
Foreign key viitega kauba liik tabelile.
ON_YRITUS
BOOLEAN
NOT NULL
Kas kaup on film/kontsert või
suupiste .
NIMI
VARCHAR
NOT NULL
Kauba nimi.
KOGUS
INTEGER
NOT NULL
Kui palju teatud kaupa on hetkel kinos olemas.
KESTVUS
INTEGER
NULL
Kui kaua film või kontsert kestab.
PLAKATIPILT
VARCHAR
NULL
Filmi või kontserdi kohta käiv pilt.
KIRJELDUS
LONG VARCHAR
NOT NULL
Filmi või kontserdi kohta käiv (lühi)tutvustus.
KANDJA
VARCHAR
NULL
Mis kandja kujul film või kontsert kinos on, olgu selleks näiteks DVD või 35mm lint.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo kauba kohta.
Tabel KAUBA_SEOS
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaKAUBA_SEOS_ID
INTEGER
NOT NULL
Tabeli kauba_seos Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis KAUBA_SEOS ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KINO_ID
INTEGER
NOT NULL
Foreign key viitega kino tabeli reale.
FK_YKSUS_ID
INTEGER
NOT NULL
Foreign key viitega yksus tabeli reale.
FK_KAUP_ID
INTEGER
NOT NULL
Foreign key viitega kaup tabeli reale.
ALATES
TIMESTAMP
NOT NULL
Kauba seos hakkab kehtima, näiteks kino müüb suupisteid jne.
KUNI
TIMESTAMP
NULL
Kauba seose kehtivus lõppeb.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo kauba seose kohta.
Tabel HIND
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaHIND_ID
INTEGER
NOT NULL
Tabeli hind Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis HIND ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_KAUP_ID
INTEGER
NOT NULL
Foreign key viitega kaup tabeli reale.
HIND
INTEGER
NOT NULL
Number, mis käib teatud kaupade kohta ja sellega neid müüakse.
ALATES
TIMESTAMP
NOT NULL
Hind hakkab kehtima.
KUNI
TIMESTAMP
NULL
Hinna kehtivus lõppeb.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo hinna kohta.
Tabel ARVE
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaARVE_ID
INTEGER
NOT NULL
Tabeli arve Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ARVE ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
NUMBER
INTEGER
NOT NULL
Mitmes arve on väljastatud.
KUUPAEV TIMESTAMP
NOT NULL
Millal arve on väljastatud.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo arve kohta.
Tabel ARVE_RIDA
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaARVE_RIDA_ID
INTEGER
NOT NULL
Tabeli arve_rida Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ARVE_RIDA ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_ARVE_ID
INTEGER
NOT NULL
Foreign key viitega arve tabeli reale.
FK_KAUP_ID
INTEGER
NOT NULL
Foreign key viitega kaup tabeli reale.
HIND
INTEGER
NOT NULL
Mis hinnaga kaup osteti.
KOGUS
INTEGER
NOT NULL
Kui palju kaupa osteti.
SOODUSTUS_PROTSENT
INTEGER
NULL
Mitu protsenti soodustust saadi teatud kauba eest.
SOODUSTUS
INTEGER
NULL
Kui palju soodustust saadi rahaliselt. HIND * KOGUS * SOODUSTUS_PROTSENT.
KOKKU
INTEGER
NOT NULL
Palju on summa ilma käibemaksuta. HIND * KOGUS - SOODUSTUS.
KAIBEMAKSU_PROTSENT
INTEGER
NOT NULL
Mitu protsenti on käibemaksu protsent.
KAIBEMAKS
INTEGER
NOT NULL
Palju on
summast käibemaks. KOKKU * KAIBEMAKSU_PROTSENT.
KOIK_KOKKU
INTEGER
NOT NULL
Palju on summa käibemaksuga. KOKKU + KAIBEMAKSU_PROTSENT
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo arve rea kohta.
Tabel KAUBA_LIIK
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaKAUBA_LIIK_ID
INTEGER
NOT NULL
Tabeli kauba_liik Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis KAUBA_LIIK ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
NIMETUS
VARCHAR
NOT NULL
Kauba liigi nimetus.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo kauba kohta.
Tabel ISIK_SAALIS
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaISIK_SAALIS_ID
INTEGER
NOT NULL
Tabeli isik_saalis Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ISIK_SAALIS ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_ISIK_ID
INTEGER
NOT NULL
Foreign key viitega isik tabeli reale.
FK_YKSUS_ID
INTEGER
NOT NULL
Foreign key viitega yksus tabeli reale.
ALATES
TIMESTAMP
NOT NULL
Isiku saalis viibimise luba hakkab kehtima.
KUNI
TIMESTAMP
NOT NULL
Isiku saalis viibimise kehtivus lõppeb.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo isik saalis kohta.
Tabel
ROLL_YKSUSES
Veeru nimiAndmetüüpNULL/NOT NULLSemantikaROLL_YKSUSES_ID
INTEGER
NOT NULL
Tabeli roll_yksuses Primary Key. Surrogaatvõti, mis omistatakse uue kirje lisamisel võttes senise maksimaalse ID väärtuse tabelis ROLL_YKSUSES ja liites sellele ühe. See on peidetud võti, mida ei näidata kasutajale kunagi.
FK_ISIKU_ROLL_ID
INTEGER
NOT NULL
Foreign key viitega isiku roll tabeli reale.
FK_YKSUS_ID
INTEGER
NOT NULL
Foreign key viitega yksus tabeli reale.
ALATES
TIMESTAMP
NOT NULL
Roll yksuses viibimise kehtivus hakkab kehtima.
KUNI
TIMESTAMP
NULL
Roll yksuses viibimise kehtivus lõppeb.
KOMMENTAAR
LONG VARCHAR
NULL
Lisainfo roll yksuses kohta.
Realisatsioon
SELECT
laused:
SELECT NIMI, KIRJELDUS FROM KAUP WHERE ON_YRITUS = 1;
Esimeses
SELECT lauses valitakse KAUP tabelist NIMI ja KIRJELDUS veerud ning
kuvatakse välja kõik read, kuna soovitakse näha, milliseid filme
näidatakse kinodes.
SELECT K.NIMI, K.AADRESS, L.NIMI FROM KINO K, LINN L WHERE K.LINN_ID = L.LINN_ID;
Teises
SELECT lauses valitakse KINO ja LINN tabelidest KINO NIMI, KINO
AADRESS ja LINN NIMI veerud ning kuvatakse kõik read, kuna
soovitakse näha, millises linnas, millisel aadressil mingi kino
asub.
SELECT AV.NR, AR.HIND, AR.KOGUS, AR.KOIK_KOKKU FROM ARVE AV, ARVE_OSA AO, ARVE_RIDA AR WHERE AO.ARVE_ID = AV.ARVE_ID AND AR.ARVE_ID = AV.ARVE_ID;
Kolmandas
SELECT lauses valitakse ARVE, ARVE_OSA ja ARVE_RIDA tabelidest ARVE
NUMBER, ARVE_RIDA HIND, ARVE_RIDA KOGUS ja ARVE_RIDA KOIK_KOKKU
veerud ning kuvatakse kõik read, kuna soovitakse näha väljastuid
arveid.
Kokkuvõte
Töö
algas analüüsist, sest ilma selleta ei oleks võimaliks anmebaasi
luua. Analüüsile toetudes sai luua ERD ehk Entity
Relationship Diagrams
mudeli, mille tulemusena sai teada, et osad olemid on mudelist puudu.
Selle sai ilusti parandatud ja lõpuks sai looma hakata SQL lauseid ,
mis oli kõige suurem osa tööst.
Infosüsteemide
üheks peamiseks probleemiks on kindlasti andmemaht, sest kui seda
tuleb hetkega või pikema ajaga tohutult palju, siis võib kogu
süsteem lakata töötamast. Sellepärast saigi ERD mudelit töödeldud
mitmeid kordi , et seda ei juhtuks.
Töö
tegemine ei käinud ülejõu, sest oli võimalik konsulteerida
õppejõuga, mida ma ka tegin ning SQL keele kohta on väga palju
õpetusi internetis kui ka häid raamatuid.
Kasutatud materjalid
http://enos.itcollege.ee/~priit/ (I%20245)%20AB-de%20alused/03.%20ISESEISEVA%20T%d6%d6%20KIRJELDUS.doc
http://enos.itcollege.ee/~priit/E-kursus%20 (I%20245)%20AB-de%20alused/
http://docs.oracle.com/cd/E11882_01/server.112/e41084/toc.ht m
Lisad
Lisa 1 Andmebaasi loomise skript
CREATE
TABLE RIIK (
riik_ID
INT NOT NULL,
nimi
VARCHAR(100) NOT NULL,
kood
VARCHAR(5) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_RIIK PRIMARY KEY (riik_ID)
CREATE
TABLE LINN (
linn_ID
INT NOT NULL,
riik_ID
INT NOT NULL,
nimi
VARCHAR(100) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_LINN PRIMARY KEY (linn_ID),
CONSTRAINT
fk_linn_riik FOREIGN KEY (riik_ID) REFERENCES RIIK(riik_ID)
CREATE
TABLE KINO (
kino_ID
INT NOT NULL,
linn_ID
INT NOT NULL,
nimi
VARCHAR(100) NOT NULL,
aadress
VARCHAR(200) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_KINO PRIMARY KEY (kino_ID),
CONSTRAINT
fk_kino_linn FOREIGN KEY (linn_ID) REFERENCES LINN(linn_ID)
CREATE
TABLE SOODUSTUSE_LIIK (
soodustuse_liik_ID
INT NOT NULL,
nimetus
VARCHAR(10) NOT NULL,
reegel
VARCHAR(4000) NOT NULL,
protsent
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_SOODUSTUSE_LIIK PRIMARY KEY (soodustuse_liik_ID)
CREATE
TABLE SOODUSTUS (
soodustus_ID
INT NOT NULL,
soodustuse_liik_ID
INT NOT NULL,
kino_ID
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NULL,
protsent
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_SOODUSTUS PRIMARY KEY (soodustus_ID),
CONSTRAINT
fk_soodustus_soodustuse_liik FOREIGN KEY (soodustuse_liik_ID)
REFERENCES SOODUSTUSE_LIIK(soodustuse_liik_ID),
CONSTRAINT
fk_soodustus_kino FOREIGN KEY (kino_ID) REFERENCES KINO(kino_ID)
CREATE
TABLE MAKSMISVIIS (
maksmisviis_ID
INT NOT NULL,
nimetus
VARCHAR(10) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_MAKSMISVIIS PRIMARY KEY (maksmisviis_ID)
CREATE
TABLE ISIK (
isik_ID
INT NOT NULL,
eesnimi
VARCHAR(100) NOT NULL,
perekonnanimi
VARCHAR(100) NOT NULL,
isikukood
NUMBER(11) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ISIK PRIMARY KEY (isik_ID)
CREATE
TABLE ISIKU_ROLL (
isiku_roll_ID
INT NOT NULL,
nimetus
VARCHAR(100) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ISIKU_ROLL PRIMARY KEY (isiku_roll_ID)
CREATE
TABLE MAKSE (
makse_ID
INT NOT NULL,
maksmisviis_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG,
CONSTRAINT
PK_MAKSE PRIMARY KEY (makse_ID),
CONSTRAINT
fk_makse_maksmisviis FOREIGN KEY (maksmisviis_ID) REFERENCES
MAKSMISVIIS(maksmisviis_ID),
CONSTRAINT
fk_makse_isik FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID)
CREATE
TABLE RENDIB (
rendib_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
yksus_ID
INT NOT NULL,
inimeste_arv
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_RENDIB PRIMARY KEY (rendib_ID),
CONSTRAINT
fk_rendib_isik FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID),
CONSTRAINT
fk_rendib_yksus FOREIGN KEY (yksus_ID) REFERENCES YKSUS(yksus_ID)
CREATE
TABLE YKSUS (
yksus_ID
INT NOT NULL,
kino_ID
INT NOT NULL,
nimi
VARCHAR(100) NULL,
nr
INT NOT NULL,
kohti
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_YKSUS PRIMARY KEY (yksus_ID),
CONSTRAINT
fk_yksus_kino FOREIGN KEY (kino_ID) REFERENCES KINO(kino_ID)
CREATE
TABLE ARVE (
arve_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
nr
INT NOT NULL,
kuupaev
TIMESTAMP NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ARVE PRIMARY KEY (arve_ID),
CONSTRAINT
fk_arve_isik FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID)
CREATE
TABLE ARVE_OSA (
arve_osa_ID
INT NOT NULL,
makse_ID
INT NOT NULL,
arve_ID
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ARVE_OSA PRIMARY KEY (arve_osa_ID),
CONSTRAINT
fk_makse_ID FOREIGN KEY (makse_ID) REFERENCES MAKSE(makse_ID),
CONSTRAINT
fk_arve_ID FOREIGN KEY (arve_ID) REFERENCES ARVE(arve_ID)
CREATE
TABLE KAUBA_LIIK (
kauba_liik_ID
INT NOT NULL,
nimetus
VARCHAR(100) NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_KAUBA_LIIK PRIMARY KEY (kauba_liik_ID)
CREATE
TABLE KAUP (
kaup_ID
INT NOT NULL,
kauba_liik_ID
INT NOT NULL,
on_yritus
NUMBER(1) NOT NULL CHECK (on_yritus in (0, 1)),
nimi
VARCHAR(100) NOT NULL,
kogus
INT NOT NULL,
kestvus
INT NULL,
plakatipilt
VARCHAR(100) NULL,
kirjeldus
VARCHAR(4000) NOT NULL,
kandja
VARCHAR(100) NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_KAUP PRIMARY KEY (kaup_ID),
CONSTRAINT
fk_kaup_kauba_liik FOREIGN KEY (kauba_liik_ID) REFERENCES
KAUBA_LIIK(kauba_liik_ID)
CREATE
TABLE KAUBA_SEOS (
kauba_seos_ID
INT NOT NULL,
kino_ID
INT NOT NULL,
yksus_ID
INT NOT NULL,
kaup_ID
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_KAUBA_SEOS PRIMARY KEY (kauba_seos_ID),
CONSTRAINT
fk_kauba_seos_kino FOREIGN KEY (kino_ID) REFERENCES KINO(kino_ID),
CONSTRAINT
fk_kauba_seos_yksus FOREIGN KEY (yksus_ID) REFERENCES
YKSUS(yksus_ID),
CONSTRAINT
fk_kauba_seos_kaup FOREIGN KEY (kaup_ID) REFERENCES KAUP(kaup_ID)
CREATE
TABLE PILET (
pilet_ID
INT NOT NULL,
kino_ID
INT NOT NULL,
kauba_seos_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
nr
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_PILET PRIMARY KEY (pilet_ID),
CONSTRAINT
fk_kino_ID FOREIGN KEY (kino_ID) REFERENCES KINO(kino_ID),
CONSTRAINT
fk_kauba_seos_ID FOREIGN KEY (kauba_seos_ID) REFERENCES
KAUBA_SEOS(kauba_seos_ID),
CONSTRAINT
fk_isik_ID FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID)
CREATE
TABLE BRONEERIB (
broneerib_ID
INT NOT NULL,
kauba_seos_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
piletite_arv
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_BRONEERIB PRIMARY KEY (broneerib_ID),
CONSTRAINT
fk_broneerib_kauba_seos FOREIGN KEY (kauba_seos_ID) REFERENCES
KAUBA_SEOS(kauba_seos_ID),
CONSTRAINT
fk_broneerib_isik FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID)
CREATE
TABLE HIND (
hind_ID
INT NOT NULL,
kaup_ID
INT NOT NULL,
hind
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_HIND PRIMARY KEY (hind_ID),
CONSTRAINT
fk_hind_kaup FOREIGN KEY (kaup_ID) REFERENCES KAUP(kaup_ID)
CREATE
TABLE ARVE_RIDA (
arve_rida_ID
INT NOT NULL,
arve_ID
INT NOT NULL,
kaup_ID
INT NOT NULL,
hind
INT NOT NULL,
kogus
INT NOT NULL,
soodustus_protsent
INT NULL,
soodustus
INT NULL,
kokku
INT NOT NULL,
kaibemaksu_protsent
INT NOT NULL,
kaibemaks
INT NOT NULL,
koik_kokku
INT NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ARVE_RIDA PRIMARY KEY (arve_rida_ID),
CONSTRAINT
fk_arve_rida_arve FOREIGN KEY (arve_ID) REFERENCES ARVE(arve_ID),
CONSTRAINT
fk_arve_rida_kaup FOREIGN KEY (kaup_ID) REFERENCES KAUP(kaup_ID)
CREATE
TABLE ISIK_SAALIS (
isik_saalis_ID
INT NOT NULL,
isik_ID
INT NOT NULL,
yksus_ID
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NOT NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ISIK_SAALIS PRIMARY KEY (isik_saalis_ID),
CONSTRAINT
fk_isik_saalis_isik FOREIGN KEY (isik_ID) REFERENCES ISIK(isik_ID),
CONSTRAINT
fk_isik_saalis_yksus FOREIGN KEY (yksus_ID) REFERENCES
YKSUS(yksus_ID)
CREATE
TABLE ROLL_YKSUSES (
roll_yksuses_ID
INT NOT NULL,
isiku_roll_ID
INT NOT NULL,
yksus_ID
INT NOT NULL,
alates
TIMESTAMP NOT NULL,
kuni
TIMESTAMP NULL,
loodud
TIMESTAMP NOT NULL,
uuendatud
TIMESTAMP NULL,
kustutatud
TIMESTAMP NULL,
kommentaar
LONG NULL,
CONSTRAINT
PK_ROLL_YKSUSES PRIMARY KEY (roll_yksuses_ID),
CONSTRAINT
fk_roll_yksuses_isiku_roll FOREIGN KEY (isiku_roll_ID) REFERENCES
ISIKU_ROLL(isiku_roll_ID),
CONSTRAINT
fk_roll_yksuses_yksus FOREIGN KEY (yksus_ID) REFERENCES
YKSUS(yksus_ID)
CREATE
SEQUENCE RIIK_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE LINN_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE KINO_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE SOODUSTUS_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE SOODUSTUSE_LIIK_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE MAKSMISVIIS_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ISIK_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ISIKU_ROLL_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE MAKSE_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ARVE_OSA_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE PILET_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE RENDIB_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE YKSUS_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE BRONEERIB_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE KAUP_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE KAUBA_SEOS_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE HIND_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ARVE_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ARVE_RIDA_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE KAUBA_LIIK_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ISIK_SAALIS_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
SEQUENCE ROLL_YKSUSES_SEQUENCE START WITH 1 INCREMENT BY 1;
CREATE
OR REPLACE TRIGGER RIIK_TRIGGER
BEFORE INSERT ON RIIK FOR EACH ROW
BEGIN
SELECT
RIIK_SEQUENCE.NEXTVAL
INTO
:NEW.RIIK_ID
FROM DUAL ;
END;
CREATE
OR REPLACE TRIGGER LINN_TRIGGER
BEFORE
INSERT ON LINN FOR EACH ROW
BEGIN
SELECT
LINN_SEQUENCE.NEXTVAL
INTO
:NEW.LINN_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER KINO_TRIGGER
BEFORE
INSERT ON KINO FOR EACH ROW
BEGIN
SELECT
KINO_SEQUENCE.NEXTVAL
INTO
:NEW.KINO_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER SOODUSTUS_TRIGGER
BEFORE
INSERT ON SOODUSTUS FOR EACH ROW
BEGIN
SELECT
SOODUSTUS_SEQUENCE.NEXTVAL
INTO
:NEW.SOODUSTUS_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER SOODUSTUSE_LIIK_TRIGGER
BEFORE
INSERT ON SOODUSTUSE_LIIK FOR EACH ROW
BEGIN
SELECT
SOODUSTUSE_LIIK_SEQUENCE.NEXTVAL
INTO
:NEW.SOODUSTUSE_LIIK_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER MAKSMISVIIS_TRIGGER
BEFORE
INSERT ON MAKSMISVIIS FOR EACH ROW
BEGIN
SELECT
MAKSMISVIIS_SEQUENCE.NEXTVAL
INTO
:NEW.MAKSMISVIIS_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ISIK_TRIGGER
BEFORE
INSERT ON ISIK FOR EACH ROW
BEGIN
SELECT
ISIK_SEQUENCE.NEXTVAL
INTO
:NEW.ISIK_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ISIKU_ROLL_TRIGGER
BEFORE
INSERT ON ISIKU_ROLL FOR EACH ROW
BEGIN
SELECT
ISIKU_ROLL_SEQUENCE.NEXTVAL
INTO
:NEW.ISIKU_ROLL_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER MAKSE_TRIGGER
BEFORE
INSERT ON MAKSE FOR EACH ROW
BEGIN
SELECT
MAKSE_SEQUENCE.NEXTVAL
INTO
:NEW.MAKSE_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ARVE_OSA_TRIGGER
BEFORE
INSERT ON ARVE_OSA FOR EACH ROW
BEGIN
SELECT
ARVE_OSA_SEQUENCE.NEXTVAL
INTO
:NEW.ARVE_OSA_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER PILET_TRIGGER
BEFORE
INSERT ON PILET FOR EACH ROW
BEGIN
SELECT
PILET_SEQUENCE.NEXTVAL
INTO
:NEW.PILET_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER RENDIB_TRIGGER
BEFORE
INSERT ON RENDIB FOR EACH ROW
BEGIN
SELECT
RENDIB_SEQUENCE.NEXTVAL
INTO
:NEW.RENDIB_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER YKSUS_TRIGGER
BEFORE
INSERT ON YKSUS FOR EACH ROW
BEGIN
SELECT
YKSUS_SEQUENCE.NEXTVAL
INTO
:NEW.YKSUS_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER BRONEERIB_TRIGGER
BEFORE
INSERT ON BRONEERIB FOR EACH ROW
BEGIN
SELECT
BRONEERIB_SEQUENCE.NEXTVAL
INTO
:NEW.BRONEERIB_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER KAUP_TRIGGER
BEFORE
INSERT ON KAUP FOR EACH ROW
BEGIN
SELECT
KAUP_SEQUENCE.NEXTVAL
INTO
:NEW.KAUP_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER KAUBA_SEOS_TRIGGER
BEFORE
INSERT ON KAUBA_SEOS FOR EACH ROW
BEGIN
SELECT
KAUBA_SEOS_SEQUENCE.NEXTVAL
INTO
:NEW.KAUBA_SEOS_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER HIND_TRIGGER
BEFORE
INSERT ON HIND FOR EACH ROW
BEGIN
SELECT
HIND_SEQUENCE.NEXTVAL
INTO
:NEW.HIND_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ARVE_TRIGGER
BEFORE
INSERT ON ARVE FOR EACH ROW
BEGIN
SELECT
ARVE_SEQUENCE.NEXTVAL
INTO
:NEW.ARVE_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ARVE_RIDA_TRIGGER
BEFORE
INSERT ON ARVE_RIDA FOR EACH ROW
BEGIN
SELECT
ARVE_RIDA_SEQUENCE.NEXTVAL
INTO
:NEW.ARVE_RIDA_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER KAUBA_LIIK_TRIGGER
BEFORE
INSERT ON KAUBA_LIIK FOR EACH ROW
BEGIN
SELECT
KAUBA_LIIK_SEQUENCE.NEXTVAL
INTO
:NEW.KAUBA_LIIK_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ISIK_SAALIS_TRIGGER
BEFORE
INSERT ON ISIK_SAALIS FOR EACH ROW
BEGIN
SELECT
ISIK_SAALIS_SEQUENCE.NEXTVAL
INTO
:NEW.ISIK_SAALIS_ID
FROM
DUAL;
END;
CREATE
OR REPLACE TRIGGER ROLL_YKSUSES_TRIGGER
BEFORE
INSERT ON ROLL_YKSUSES FOR EACH ROW
BEGIN
SELECT
ROLL_YKSUSES_SEQUENCE.NEXTVAL
INTO
:NEW.ROLL_YKSUSES_ID
FROM
DUAL;
END;
COMMIT;
Kõik kommentaarid