PÄRNUMAA
KUTSEHARIDUSKESKUS
ARVUTID -JA
ARVUTIVÕRGUD
Targo
Orav ANDMEBAASID Referaat
Juhendaja : Sander Mets
Pärnu
2010
Sisukord
Andmebaasid
Andmebaaside
põhimõtted
Andmebaaside
käivitamine
Töö
andmetega SQL
keelealused
Andmebaaside
kasutajad
Andmebaasid
Informatsioon
ja andmed
Andmed
on igasugused
teated ( konstateeringud, faktid jne.) nii isikute,
asjade kui ka asjaolude kohta, mis ei ole seotud konkreetsete
ülesannete, eesmärkide ega kasutajatega. Andmed võivad olla
esitatud arvudena, tekstina või ka graafilisel kujul.
Informatsiooniks
e. infoks
võiks kokkuleppeliselt pidada sellist andmestikku, mis võimaldab
teatud konkreetses valikusituatsioonis otsuse langetada,
kusjuures info vastuvõtu, hindamise ja edasiandmise tehnika, võtted ja kiirus
määravad igasuguse tegutsemise tulemuslikkuse.
Andmebaaside
põhifunktsioonid
Andmebaasi
funktsiooniks on genereerida (koostoimes infosüsteemi teiste
komponentidega) kvaliteetne, adekvaatne
infokeskkond objektsüsteemi
seisundi ja selle muutumise kohta infosüsteemi subjektidele
(kasutajatele).
Andmebaas on infokogum, mis on organiseeritud
sellisel viisil, et arvutiprogramm suudab sellest kiiresti üles
leida vajalikud andmed. Andmebaasi võib ette kujutada kui
elektroonilist arhiivi. Traditsioonilised andmebaasid on
organiseeritud väljade (fields) ,
kirjete (records) ja failidena.
Väli on üks infoühik, kirje on väljade kogum ja fail on kirjete
kogum. Näiteks telefoniraamat on nagu fail, selles on kirjete
nimestik ja igas kirjes on kolm välja - nimi, aadress ja
telefoninumber. Teist andmebaasi kontseptsiooni tuntakse hüperteksti
nime all. See võimaldab iga objekti, olgu see tekst, pilt või
film ,
linkida suvalise teise objektiga. See süsteem sobib suure hulga
suvalise informatsiooni organiseerimiseks, kuid ei allu numbrilisele
analüüsile.
Andmebaaside
tüübid
Lameandmebaas
Relatsioonandmebaas
Hierarhiline andmebaas
Andmebaaside
võrdlus
Lameandmebaasiks
-nimetatakse andmebaasi, mis koosneb ainult ühest tabelist. Ühe
tabeliga saab hakkama, kui
soovite selles hoida näiteks klientide,
ärikontaktide, töötajate, kaupade vmt. andmeid. Kui tahate oma
töötajate isikuandmetega aga siduda ka palgaandmeid või klientide
andmetega neile väljastatud arvete andmed, siis läheb juba vaja
keerukamat seotud tabelitega töötavat relatsioonandmebaasi.
Relatsioonimudeli
puhul on objektid
andmebaasis ja
nendevahelised seosed esitatud
tabelite kujul. Need võivad koosneda enamast kui ühest tabelist,
mis on omavahel seotud.
Seostamine tähendab andmefailide ühendamist
ühesuguse sisuga väljade järgi. Relatsioonandmebaas koosneb nimega
tabelitest, kus on nimega veerge üks või enam, ning
suvaline arv
ridu. Ühes andmebaasis võib olla mitmeid tabeleid
Hierarhilisel
mudelil põhinevas andmebaasis leiavad kajastamist omaniku ja
alluva suhted. Kehtivad üks
mitmele seosed. Ükski alluv selles
baasis ei või olla jagatud mitme omaniku vahel. Samal ajal ei saa
ükski alumise taseme kirje olla ülemise taseme kirje omanikuks. Nt
kataloogide-failide puu arvutites.
Andmelaod
ja andmeaidad
Andmeladu
on Infosüsteemi osa kus hoitakse ja kuhu lisatakse uusi andmeid.
Seega võib öelda, et andmeladu on andmebaas.
Andmeait
Andmeait on andmebaasiga programm, näiteks SAP BW, mille ülesandeks on kokku
koguda, hoida ja esitada firma igapäevases tegevuses kogunevaid
andmeid.
Andmebaaside
põhimõisted
Atribuudid,
indeksid, võtmed.
Atribuudid - Veerud , mis aitavad meil mõista asju järjestikuliselt, mis
asetsevad veergudes.
Indeks-
ei ole standardi osa, kuid praktiliselt igas andmebaasis on olemas.
INDEKS
-on andmebaasi objekt (nagu tabel või vaade). Indeks on andmebaasi
objekt, mis sisaldab kõikide indekseeritava(te) veeru (veergude)
väärtust ning viidet(e.aadressi) nende kirjete asukohale (ROWID)
andmebaasis, mille koosseisu antud veergudes asuvad väljad kuuluvad.
Indeksite
eesmärgiks on :
1. Kiirendada andmete otsimist ja
sorteerimist (juhul kui otsimine toimub mingi võtme e. kriteeriumi
järgi.)
2. Kindlustada vajalike
andmeväljade
unikaalsus (kõik primaarvõtmed ja
UNIQUE-piiranguga
väljad indekseeritakse automaatselt andmebaasisüsteemis)
Võtmed
- Primaarvõti ehk esmasvõti (ingl. k. primary key) on kandidaatvõti, mis on valitud relatsiooni kirjeid unikaalselt identifitseerima. Primaarvõti on võti, mis üheselt identifitseerib ühe kirje. Valiku kriteeriumid:
-
atribuudi
domeen (peaks olema võimalikult lühike väärtus). -
atribuutide arv (peaks olema võimalikult vähe atribuute). -
tulevane unikaalsuse tõenäosus (peaks sisaldama unikaalseid
väärtuseid nii praegu kui ka tulevikus).
- Kandidaatvõti (ka võtmekandidaat) (ingl. k. candidate key) on supervõti, mille alamhulk ei ole korrektne supervõti. See tähendab, et kandidaatvõtmest ei saa enam ühtegi atribuuti eemaldada, ilma et ta kaotaks unikaalsuse. Relatsioonil võib olla mitu kandidaatvõtit. Kandidaatvõtme omadused on:
-
unikaalsus - iga kandidaatvõtme väärtus identifitseerib üheselt
ühe relatsiooni kirje. - täielikkus - kandidaatvõtmest ei saa
eemaldada atribuute, ilma et ta kaotaks unikaalsuse omaduse.
- Alternatiivseteks võtmeteks (ingl. k. alternate key) nimetatakse primaarvõtmeks mitte valitud kandidaatvõtmeid.
- Lihtvõti - Kui võti sisaldab ühte atribuuti, siis nimetatakse seda lihtvõtmeks (ingl. k. simple key).
- Liitvõti - Kui võti sisaldab mitu atribuuti, siis nimetatakse seda liitvõtmeks (ingl. k. composite key).
- Supervõti (ingl. k. superkey) on atribuut või atribuutide kombinatsioon, mis identifitseerib unikaalselt relatsioonis olevaid kirjeid. Supervõti võib sisaldada atribuute, mida pole unikaalsuse tagamiseks vajalikud, st. et temast võib atribuute eemaldada ja ta tagab ikkagi unikaalsuse.
- Intelligentne võti ehk sisulise tähendusega (informatiivne) võti (ingl. k. intelligent key). Sisulise tähendusega võti on küll unikaalne , kuid selle väärtus omab kasutaja jaoks tähendust, näiteks:
-
isikukood; - õppeaine kood ülikoolis; - üliõpilaskood; - auto
registrinumber; - raamatu ISBN kood.
- Naturaalne võti (ingl. k. natural key) on sisulise tähendusega võtme eriliik. Selle võtme väärtus on identifitseeritava objektiga üks-üheselt seotud. Näiteks isiku DNA või sõrmejäljed.
- Kattuvateks võtmeteks (ingl. k. overlapping keys) nimetatakse liitvõtmeid, millel vähemalt üks atribuut langeb kokku.
- Välisvõti - Seose loomiseks kahe relatsiooni vahele "tõmmatakse" ühe relatsiooni ühe (või ka mitme) atribuudi andmed teise relatsiooni salvestamiseks. Ühelt poolt peab suhte loomisel osalema unikaalne võti (mõni kandidaatvõtetest). Enamasti on selleks unikaalseks võtmeks primaarvõti. Selle tulemusel on kahes erinevas relatsiooni ühesuguse sisuga atribuudid, mis loovad suhte nende relatsioonide vahel. Seotud relatsiooni tekkinud atribuuti (atribuute) nimetatakse välisvõtmeks. Relatsioonis võib olla üks või mitu välisvõtit. Relatsioonis võib välisvõti ka puududa .
Atribuutide
tüübid
Komponeeritud
atribuut (
composite attribute )
Atomaarne
atribuut (
simple
or atomic attribute)
Üheväärtuseline
atribuut
(
single -valued
attribute)
Mitmene
ehk korduv atribuut
(
multivalued
attribute) Tuletatud atribuut
(
derived
attribute)
Salvestatud
atribuut
(
stored attribute)
Nullväärtus
(
null
value).
Semantilised
mudelid
Semantilised
mudelid:
• kompilaatori
mudel (compiler model) - keele tähenduseks on vastavad sihtkeele
stringid , mida
kompilaator tekitab,
semantika kirjelduseks on täidetavad käsud (vajalik
kompilaatorile)
• interpreteerimismudel
(interpreter model e operational model) - milline on seos sisendi ja
täidetavate
käskude vahel, selle mudeli kirjeldamiseks peab olema süsteem
programmi
struktuuride
ülesmärkimiseks (vajalik programmeerijale)
• matemaatiline
mudel (mathematical model) - milline on seos sisendi ja väljundi
vahel (vajalik
kasutajale)
Andmebaaside
käivitamine. Installeerimine, Andmebaaside avamine .XAMPP
XAMPP
- XAMPP
on
vabavara multiplatvormiline veebi serveri pakk, milles on APPACHE
HTTP
server , MYSQL andmebaas ja tõlgid skriptide jaoks PHP-s ja
Perli programmi
keeleks .
InstalleerimineKäivita
setup
Programm
PEAB olema laetud C-kettale
Andmebaaside
käivitamineAva
XAMPP,Jooksuta
Apache ja MySql
Ava
netibrowser ja kirjuta aadressiribale localhost ning vasakult menüüst
vali phpMyAdmin
Uue
andmebaasi loomine
Kui
kõik eelnev on tehtud siis sisesta uue andmebaasi nimi ja vali
Create(loo)
Andmebaas
tehtud siis tuleb sina tabeleid lisada.Lisa soovitud tabeli nimi ja
mitu välja seal on
Järgnevas
tabelis täida vastavalt vajadusele
lahtrid .
Olemasoleva
andmebaasi kopeerimine
Kui
table on tehtud siis ülevalt realt valid
Export (Ekspordi)
Nüüd
peab valima kuidas ta salvestab
Töö
andmetega
Tabelite
väljade lisamine, kustutamine ja ümbernimetamine
Ülevalt
menüüst valida
Insert (Lisa)ja täida table vastavalt vajadusele
ning vali Go(Mine)
Tabeli
muutmiseks
vajuta pliiatsi peale ja kustutamiseks x
Primaarne võti
Primaarne võti relatsioonilisel
tabel unifikaalselt identifitseerib iga kirje tabelisse.
Väline võti
Atribuuti, mille võimalike
väärtuste hulk langeb kokku mõne teise tabeli
primaarse võtme
väärtuste hulgaga, nim. sekundaarseks e. väliseks võtmeks
(foreign key)
Unikaalne identifikaator
Globaalselt unikaalne
identifitseerija või GUID on spetsiaalset tüüpi identifitseerija,
mida kasutatakse
tarkvara rakendustes, et tagada unikaalne
viitenumber.
Tabelite
seostamine(relatsioon)
Relatsioonimudeli
puhul on objektid andmebaasis ja nendevahelised seosed esitatud
tabelite kujul. Need võivad koosneda enamast kui ühest tabelist,
mis on omavahel seotud. Seostamine tähendab andmefailide ühendamist
ühesuguse sisuga väljade järgi. Relatsioonandmebaas koosneb nimega
tabelitest, kus on nimega veerge üks või enam, ning suvaline arv
ridu. Lisatingimuseks on, et üheski relatsioonis ei või olla kahte
ühesugust rida. Iga tabeli kohta võime seega määrata ühe või
enam veergu, mille väärtuste kaudu on read identifitseeritavad.
Andmete
terviklikkuse kindlustamine
Ekspordid
oma andmebaasi arvutisse.Seejärel salvestad faili kas
cd/dvd/
blue -ray/kõvakettale/USB-ile.
Andmete
sisestamine kopeerimise või siirdamise teel
Andmebaasi
alt valida import ja valida fail.
Andmete
otsimine, sorteerimine ja filtreerimine
Andmeid
saab otsida,sorteerida ja
filtreerida valides ülevalt menüüst SQL
ja tabelisse kirjutades käsklusi.
Päringute
koostamine, andmete koostamine
Pärinud
(Query) on Accessi peamine vahend vajaliku info väljastamiseks ühest
või mitmest seotud tabelist, samuti uute tabelite loomiseks ja
olemasolevate muutmiseks.
SQL
KEELE ALUSED
SQL
alamkeeled
SQL
keel koosneb alamkeeltest:
Keel,
mis võimaldab kirjeldada andmebaasi struktuuri ja kontrollida
juurdepääsu andmetele. See keel sisaldab järgmiseid lausete tüüpe:
Andmete
defineerimise
laused e. andmekirjelduse laused (data definition
statements) - defineerivad andmebaasistruktuuri. Nendega
luuakse kõik
andmebaasi objektid -
tabelid , vaated, indeksid, kasutajad,
trigerid jne. “CREATE”, “
ALTER ”, “
DROP ” laused.
Andmetele
juurdepääsu kontrolli laused (data-control statements) -
kasutajatele privileegide ja andmete kasutamise õiguste jagamine ja
õiguste äravõtmine. “
GRANT ” ja "REVOKE" laused.
Data
Manipulation language (DML)
Keel
andmete otsimiseks ja muutmiseks. See keel sisaldab järgmiseid
lausete tüüpe:
Päringud
(queries) andmete küsimiseks andmebaasist. “
SELECT ” lause.
Päringulauses spetsifitseeritakse millistest tabelitest milliseid
andmeid vajatakse. Päringus määratakse soovitud tabelid, veerud ja
valiku kriteeriumid. Andmete töötlemise laused e. andmete
käitlemise laused (data manipulation statements) - muudavad andmeid
andmebaasis. Nad
lisavad , muudavad ja
kustutavad andmeid. “INSERT”,
”UPDATE”, ”
DELETE ” laused.
Data
Procedural Language (DPL)
Protseduurne
keel salvestatud protseduuride loomiseks. Protseduurne keel töötleb
ridu ükshaaval.
Loogilised
operaatorid võrdlevad kahendväärtuseid ja tagastavad
kahendväärtuse (tõene või väär). Lühidalt: loogilised
operaatorid on väärtusedhoidjad, mis võivad tagastada sündmuse
või tehte kohta tema loogilise tehte väärtuse, kas tõene või
väär. Järgnev tabel iseloomustab neid.
Andmebaaside
kasutajad
Reeglina
on vaikimisi andmebaasi kasutajaks
root või administrator.
Kasutajate õigused
Kasutajate
õigused jagunevad
süsteemiprivileegideks
ja
objektiprivileegideks.Objektiprivileegid
käsitlevad
andmebaasi objektide (tabelid, protseduurid, indeksid) kasutamist.
Objekti
privileegide liigid:
SELECT
- lubab lugeda tabelist või vaatest
INSERT
- lisada tabelisse või vaatesse
UPDATE
- muuta olemasolevaid andmeid
DELETE
-
kustutada ALTER
- muuta olemasolevate tabelite struktuuri ja veergude definitsioone
INDEX
- indekseerida tabeleid
REFERENCES
- luua viiteid sellele tabelile
ALL
-
kõik ülaltoodud õigused
Kasutajale
privileegide andmise süntaks:
GRANT
privileges
ON
object TO
user;
Objektiks ,
mille kohta õigusi jagatakse, võib olla tabel , vaade, jada
(sequence), sünonüüm.
Näiteks:
lubada kasutajal nimega isik lugeda tabelit arve.
GRANT
SELECTON
arve
TO
isik;
ALTER,
INDEX ja REFERENCES on pole võimalikud VIEW-de korral.
·
Süsteemiprivileegidkäsitlevad
üldisenmaid kasutaja õigusi andmabaasis, peamiselt seda, milliseid
üldtegevusi kasutaja
võib
teha.
Mõned
põhilisemad privileegid
Oracle -s:
CREATE
SESSION - lubab kasutajal ühenduda 8connect) andmebaasi
CREATE
TABLE - lubab luua tabeleid
CREATE
VIEW - lubab luua vaateid
CREATE
USER - lubab luua uusi kasutajaid
Kõik kommentaarid