10.07.2015 Views

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TTÜ: Relatsioonialgebra. Sissejuhatus SQL keelde (2012) © Erki Eessaarnimetatakse mõnikord lähtuvalt MS Accessi andmebaasimootori(andmebaasisüsteemi tuumaks oleva tarkvara) nimest Jet SQLiks.Praktikas ei toeta enamik SQL-andmebaasisüsteeme isegi veel mitte koguSQL:1992 standardi versiooni (mis on praeguseks vananenud), rääkimata siisSQL:1999, SQL:2003 või SQL:2008 standardi versioonidest. Raskusi SQLitäieliku ülevõtmisega võib ka mõista, sest standard on väga mahukas (näiteksSQL:2003 kõik osad annavad kokku peaaegu 2000 lehekülge). NäiteksMS Access 2007 pakutav SQLi dialekt vastab üldiselt SQL:89 tasemele 1 ningon võimalik määrata, et see vastaks SQL:1992. MS Access siiski ei realiseerimõningaid SQL standardis (SQL:89) kirjeldatud võimalusi ning samas pakubka võimalusi, mida SQL standard ei kirjelda.Võib täheldada ka teistsugust tendentsi – suure turupositsioonigaandmebaasisüsteemi tootjad lisavad SQLi omapoolseid täiendusi ningseejärel üritavad enda tehtud laiendusi standardisse suruda.Keelt, mis võimaldab luua kõiki relatsioone, mida saab luua karelatsioonialgebra abil, nimetatakse relatsiooniliselt täielikuks (ingl. k.relationally complete). SQL on relatsiooniliselt täielik keel. SQL võimaldablisaks veel täiendavaid operatsioone nt. sorteerimine, andmestruktuurideloomine jne.SQLi standard kasutab mõisteid tabel, rida ja veerg (mitte relatsioonilinemuutuja, relatsioon, atribuut ja korteež nagu relatsioonilise andmemudelikirjeldus). Seetõttu kasutatakse edaspidi SQLi kirjeldades standardiskasutatavaid termineid.5.2 SQLi üldiseloomustus1. SQLi alamosa Data Manipulation Language (DML) on mitteprotseduurnekeel, sest- töödeldakse ridade hulki, mitte üht rida korraga.- juurdepääs (ingl. k. navigation) andmetele on automaatne. DML ei nõuakasutajalt juurdepääsuviisi teadmist (nt. andmete leidmine indeksi abil,andmete leidmine kogu tabeli läbivaatamise tulemusena). SQL kasutabolemasolevaid indekseid automaatselt. Kasutaja määrab vaid milliseidandmeid ta soovib.2. SQL standard kirjeldab alates SQL:1999 versioonist ka andmebaasisalvestatud protseduuride loomiseks mõeldud protseduurset keelt.3. SQLi alamosa Data Manipulation Language (DML) on osaliseltdeklaratiivne keel. Deklaratiivses keeles kirjeldab kasutaja programmiltsoovitud tulemuse aga mitte protseduuri, kuidas tulemuseni jõuda. SQL onosaliselt deklaratiivne selles mõttes, et ühe ja sama tulemuseni võib jõudamitme erineva SQL’is kirjutatud lause abil. Kuid nende lausete täitmisekiirus võib olla vägagi erinev. Seega oodatakse kasutajalt ikkagi teadmisi,kuidas SQL lauseid ümber kirjutada, nii et töökiirust paranda ning tegemistpole puhtalt deklaratiivse keelega. Kasutajad peavad andmebaasi38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!