Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Andmebaasisüsteemide alused (0)

5 VÄGA HEA
Punktid
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 nimi
Semantika
RIIK
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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
RIIK_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
LINN_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
KINO_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
SOODUSTUS_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
SOODUSTUSE_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
MAKSMISVIIS_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ISIK_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ISIKU_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
MAKSE_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ARVE_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
PILET_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
RENDIB_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
YKSUS_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
BRONEERIB_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
KAUP_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
KAUBA_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
HIND_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ARVE_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ARVE_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
KAUBA_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ISIK_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 nimi
Andmetüüp
NULL/NOT NULL
Semantika
ROLL_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;
  • Vasakule Paremale
    Andmebaasisüsteemide alused #1 Andmebaasisüsteemide alused #2 Andmebaasisüsteemide alused #3 Andmebaasisüsteemide alused #4 Andmebaasisüsteemide alused #5 Andmebaasisüsteemide alused #6 Andmebaasisüsteemide alused #7 Andmebaasisüsteemide alused #8 Andmebaasisüsteemide alused #9 Andmebaasisüsteemide alused #10 Andmebaasisüsteemide alused #11 Andmebaasisüsteemide alused #12 Andmebaasisüsteemide alused #13 Andmebaasisüsteemide alused #14 Andmebaasisüsteemide alused #15 Andmebaasisüsteemide alused #16 Andmebaasisüsteemide alused #17 Andmebaasisüsteemide alused #18 Andmebaasisüsteemide alused #19 Andmebaasisüsteemide alused #20 Andmebaasisüsteemide alused #21 Andmebaasisüsteemide alused #22 Andmebaasisüsteemide alused #23 Andmebaasisüsteemide alused #24 Andmebaasisüsteemide alused #25 Andmebaasisüsteemide alused #26 Andmebaasisüsteemide alused #27 Andmebaasisüsteemide alused #28 Andmebaasisüsteemide alused #29 Andmebaasisüsteemide alused #30 Andmebaasisüsteemide alused #31 Andmebaasisüsteemide alused #32 Andmebaasisüsteemide alused #33 Andmebaasisüsteemide alused #34 Andmebaasisüsteemide alused #35 Andmebaasisüsteemide alused #36 Andmebaasisüsteemide alused #37 Andmebaasisüsteemide alused #38 Andmebaasisüsteemide alused #39 Andmebaasisüsteemide alused #40 Andmebaasisüsteemide alused #41 Andmebaasisüsteemide alused #42 Andmebaasisüsteemide alused #43 Andmebaasisüsteemide alused #44 Andmebaasisüsteemide alused #45 Andmebaasisüsteemide alused #46 Andmebaasisüsteemide alused #47
    Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
    Leheküljed ~ 47 lehte Lehekülgede arv dokumendis
    Aeg2016-09-09 Kuupäev, millal dokument üles laeti
    Allalaadimisi 173 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor kuusteistnullkaheksa Õppematerjali autor

    Kasutatud allikad

    Sarnased õppematerjalid

    Andmebaasi eksami eeldustöö IT Kolledžis
    25
    docx

    Andmebaasi eksami eeldustöö IT Kolledžis

    Sissejuhatus See töö koosneb üheksast eri osast. Esimene osa on autori deklaratsioon. Teine osa on "Sissejuhatus", annab ülevaate, millistest osadest see töö koosneb. Kolmas osa on ülesande püstitus, kus kirjeldan antud andmebaasi vajalikkust. Neljandas osas, milleks on analüüs, kirjeldab eesolevat andmebaasi. Töö viies osa on projekt, mis koosneb ERD mudelist ning olemite semantikast. Kuuendas osas asub kirjeldus, kus kirjeldan milliste programmidega antud andmebaas on koostatud. Seitsmes osa on kokkuvõte, kus võetakse kokku tegevus ja analüüsitakse töö kirjutamise erinevaid osasi, mis oli raske, mis kerge. Kaheksas osa on kasutatud kirjandus. Üheksandaks osas, milleks on lisa, sisaldab endas infosüsteemi tegemiseks vaja läinud skripte ja muid kirjeldusi. Ülesandepüstitus Antud töö eesmärgiks on teha infosüsteem kõnekeskuse jaoks. Sellise infosüsteemi vajalikkus

    Andmebaasisüsteemide alused
    Andmebaasid
    12
    txt

    Andmebaasid

    CREATE TABLE mina ( eesnimi varchar(30) not null, perenimi varchar(100) not null, sugu varchar(5) not null, synnipaev date not null, algus datetime not null default current timestamp, viimati datetime default timestamp, CONSTRAINT pk_mina PRIMARY KEY (eesnimi) ); INSERT INTO mina (eesnimi, perenimi, sugu, synnipaev) VALUES ('Juku', 'Mets', 'Mees', '1980-02-04'); grant connect to Sandra identified by 'tere'; grant group to dba; grant membership in group dba to Sandra; grant all on mina to Sandra; SELECT * FROM mina; UPDATE mina SET eesnimi = 'Jri' WHERE eesnimi = 'Juku'; CREATE GLOBAL TEMPORARY TABLE paha (nimi VARCHAR(40) NOT NULL, CONSTRAINT pk_paha PRIMARY KEY (nimi)) ON COMMIT PRESERVE ROWS; INSERT INTO paha (nimi) VALUES ('Mari'); SELECT * FROM paha; create table isik( Id integer not null default autoincrement primary key, Eesnimi varchar (50) not null, Perenimi varchar(50) not null, Isikukood varchar(11), Klubi integer, Unique (eesnimi, perenimi)) create table Klubi( Id

    Informaatika
    ANDMEBAAS LÕHNAPOODIDELE
    24
    docx

    ANDMEBAAS LÕHNAPOODIDELE

    EESTI INFOTEHNOLOOGIA KOLLEDZ IT süsteemide arendus ANDMEBAAS LÕHNAPOODIDELE Kodutöö Koostaja: Teet Adamson D22 Juhendaja: Priit Raspel Tallinn 2017 Autori deklaratsioon Deklareerin, et käesolev töö , mis on minu iseseisva töö tulemus, on esitatud Eesti Infotehnoloogia Kolledzile Andmebaasisüsteemide alused õppeaine raames Infosüsteemide arendamise erialal. Tööd ei ole varem esitatud. Sisukord Ülesandepüstitus.........................................................................................................................4 Analüüs.......................................................................................................................................5 Olem suhte diagramm.....................................................................................................

    Informaatika
    Andmebaaside programmeerimine
    81
    doc

    Andmebaaside programmeerimine

    TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Informaatikainstituut Infosüsteemide õppetool Online Restoran Andmebaaside programmeerimine IDU0120 Juhendaja: Erki Eessaar Tallinn 2011 Sisukord SISUKORD 4 SISSEJUHATUS 8 1. STRATEEGIA ETAPP............................................................................................................ 9 1.1 TERVIKSÜSTEEMI ÜLDVAADE.................................................................................................... 9 1.1.1 ORGANISATSIOONI EESMÄRGID................................................................................................ 9 1.1.2 INFOSÜSTEEMI EESMÄRGID....................................................................................................... 9 1.1.3 LAUSEND

    Andmebaaside projekteerimine
    Andmbaasid
    11
    docx

    Andmbaasid

    --Taavet Tamm(a72028) --ylesanne 4. --1. Leida klubi Laudnikud liikmete nimekiri (eesnimi ja perenimi) tähestiku järjekorras. SELECT eesnimi, perenimi FROM isik, klubi WHERE klubi.nimi = 'Laudnikud' ORDER BY perenimi asc; --2. Leida klubi Laudnikud liikmete arv. SELECT COUNT(*) AS "Klubi Laudnikud liikmete arv" FROM isik WHERE klubi = '51'; --Leida V-tähega algavate klubide M-tähega algavate eesnimedega isikute perekonnanimed. SELECT distinct perenimi FROM isik, klubi WHERE klubi.nimi like 'V%' and eesnimi like 'M%' ORDER BY perenimi asc; --4. Leida kõige esimesena alanud partii algamise aeg. SELECT min(Algushetk) FROM partii; --5. Leida partiide mängijad (valge ja must), mis algasid 04. märtsil ajavahemikus 9:00 kuni 11:00. SELECT partii.ID AS "Partii ID", perenimi || ', ' || eesnimi AS "Nimi", isik.ID AS "Isiku ID", must, valge FROM isik, partii WHERE isik.id in (partii.must,partii.valge) AND partii.algushetk between '2005-03-04 09:00:00.000' and

    Andmebaasid
    Access
    24
    doc

    Access

    Makroks(macros) nimetatakse käskude jada. Selle asemel et iga kord ühtesid ja samu käsklusi jagada, võib need makrona vormistada ning lasta neid automaatselt täita Mooduliks(modules) nimetatakse Visual Basic-keelse programmiteksti lehekülge. Eismeseks sammuks andmebaasi loomisel on otsus, kas ja milleks andmebaasi vaja.Lühedalt võiks põhjendada seda vajadust nii: kui on tegemist mahuka infohulgaga, mille töötlus taandub põhiselt vajaliku info leidmisele, siis on andmebaas vajalik. Otsustanud luua andmebaasi, tuleks määrata, millistel eesmärkidel seda kasutada. Sellest võib üldjoontes oletada, millised andmed vajavad säilitamist ja milliseid infopäringuid tegema hakatakse. Näiteks Raamatukogu Kirjeldatud on raamatukogu raamatute laenutamist. Lugejad laenutavad raamatuid. Lugejad tagastavad laenutatud raamatuid. Raamatukogutöötajad fikseerivad raamatute laenutamise ja tagastamise. Peeetakse arvestust, kui palju või teine töötaja raamatuid laenutanud on

    Arvutiõpetus
    Andmebaasid eksami kordamisküsimused
    28
    docx

    Andmebaasid eksami kordamisküsimused

    Andmebaasid 1.9 Teema 1 • Erinevat tuupi andmemudelite (hierarhiline, relatsiooniline, objekt­orienteeritud) ja  vastavate andmebaasisusteemide valjatootamise kronoloogiline jarjekord ̈   (koigepealt hierarhilisel mudelil pohinevad andmebaasisüsteemid ­ puustruktuuriga  hierarhiline mudel, kus tekivad anomaaliad andmete lisamisel ja kustutamisel ning on  palju liiasust; seejarel relatsioonilisel mudelil pohinevad ­ on relatsioonid ehk tabelid,  ̈ millel on atribuudid ehk veerud ja andmed esitatakse korteežidena ehk ridadena; koige  viimaks objekt­orienteeritud andmebaasisusteemid ­ neis saab hoida objekt­ oritenteeritud keeles kirjutatud objekte, kapseldada ja polümorfismi kasutada). Teema 2 • Andmebaaside valdkonnas tuntud inimesed ja millega nad on end ajalukku  jaadv

    Andmebaasid
    Andmebaaside eksami kordamisküsimuste vastused
    56
    doc

    Andmebaaside eksami kordamisküsimuste vastused

    Kapseldamine tähendab objektide ja atribuutide grupeerimist objektiks, kusjuures atribuutide väärtusi saab kasutada ja muuta vaid läbi operatsioonide. Operatsiooni polümorfism tähendab, et erinevates klassides saab defineerida sama nimega kuid erineva käitumisega operatsiooni. Muutuja polümorfism tähendab, et klassi muutuja võib viidata erinevatel aegadel erinevate klasside objektidele. Pole ühtset standardit selle kohta, milline peaks olema objekt-orienteeritud andmemudel ja andmebaas. 1997 oli objektiandmebaaside käes 3% andmebaasi turust. Andmebaaside valdkonnas tuntud inimesed Relatsioonilise mudeli väljamõtlejaks võib pidada dr. Edgar. F. Codd'i, kes esitas esimesena relatsioonilise andmebaasi põhimõisted 1970 a. ilmunud artiklis: "A relational model of large shared data banks". Pakkus esimesena välja ka normaliseerimise protsessi. Olemi-suhte diagramm töötati Peter Cheni poolt välja 1970-ndate keskel.

    Andmebaasid I




    Meedia

    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun