Rakvere Ametikool
Andra Oja
Tarkvara - ja andmebaaside haldus/AT08 Andmebaasisüsteemide võrdlus Referaat
Rakvere 2010 Andmebaasisüsteemide võrdlus
MS SQL
Organisatsioonid peavad tänapäeval
lahendama arvukaid andmetöötlusega seotud
probleeme: otsuseid on vaja langetada kiiremini ja
senisest rohkem andmejuhitavalt,
tootearendustöötajate tööviljakust ja paindlikkust on vaja parandada, kuid hakkama
peab saama väiksema IT-eelarvega, kohandades samas infrastruktuuri sel määral, et
see rahuldaks aina kasvavaid nõudmisi.
Microsoft SQL Serveri uue väljaande eesmärk on ettevõtteid nende probleemide
lahendamisel abistada. Microsoft SQL
Server 2005 on uue põlvkonna andmehaldus-
ja analüüsilahendus, mis pakub ettevõtete andme- ja analüüsirakenduste
kasutamisel senisest paremat turvalisust, skaleeritavust ning käideldavust, lihtsustades samas
nende rakenduste loomist, juurutamist ja haldamist.
Kasutades oskuslikult ära SQL Server 2000 tugevaid külgi, pakub SQL Server 2005
integreeritud andmehaldus- ja analüüsilahendust, mis aitab igasuguse suurusega
organisatsioonides täita järgmisi ülesandeid.
· Senisest turvalisemate, skaleeritavamate ja töökindlamate ettevõtterakenduste
loomine, juurutamine ning
haldamine .
· Infotehnoloogialahenduste jõudluse
maksimeerimine , lihtsustades
andmebaasirakenduse loomist, juurutamist ja haldamist.
· Andmete ühiskasutus paljudel platvormidel, rakendustes ja
seadmetes hõlbustab
ettevõttesiseste ja välissüsteemide ühendamist.
· Kulude kontrolli all hoidmine ilma jõudlust, käideldavust, skaleeritavust või turvalisust
ohvriks toomata.
SQL Serveri andmeplatvorm sisaldab järgmisi tööriistu:
Relatsioonandmebaas. Turvaline, töökindel, skaleeritav, kõrge käideldavusega
relatsioonandmebaas, mille jõudlust on parandatud ja millele on lisatud struktuursete ja struktureerimata (XML) andmete tugi.
· Tirazeerimisteenused. Andmete tirazeerimine (kopeerimine) hajusate või
mobiilsete andmetöötlusrakenduste jaoks, süsteemide kõrge käideldavus, skaleeritav
konkurentsus teiseste andmesalvedega ettevõtete aruandluslahenduste jaoks
ning
integratsioon heterogeensete süsteemidega (sh olemasolevad
Oracle 'i
andmebaasid).
· Teavitusteenused. Täiustatud teavitusvõimalused selliste skaleeritavate
rakenduste väljatöötamiseks ja kasutuselevõtuks, mis edastavad isikupärastatud
teabevärskendusi õigeaegselt paljudesse sidus- ja mobiilseadmetesse.
· Integratsiooniteenused. Ekstraktimis-, teisendus- ja laadimisfunktsioonid
andmeaitade ning
tervet ettevõtet hõlmava andmeintegratsiooni jaoks.
· Analüüsiteenused. OLAP-funktsioonid suurte ja keerukate andmekomplektide
kiireks ning täpseks analüüsiks mitmedimensioonilise andmetalletuse abil.
· Aruandlusteenused. Mitmekülgne lahendus nii traditsiooniliste paberil
esitatavate kui
ka interaktiivsete veebipõhiste aruannete loomiseks,
haldamiseks ja edastamiseks.
· Haldustööriistad. SQL Server sisaldab integreeritud haldusriistu täpsemaks
andmebaasihalduseks ja konfigureerimiseks ning pakub head integreeritust näiteks
selliste tööriistadega nagu Microsoft Operations
Manager (MOM) ja Microsoft Systems
Management Server (SMS). Standardsed andmepöördusprotokollid vähendavad
märgatavalt SQL Serveri andmete olemasolevate süsteemidega integreerimisele
kuluvat aega. Lisaks on SQL Serverisse sisse ehitatud oma veebiteenuse tugi, mis
tagab ühilduvuse muude rakenduste ja platvormidega.
· integreeritud arendusriistu, mis on tihedalt integreeritud Microsoft Visual Studioga,
pakkumaks rakenduste täieliku väljatöötamise võimalusi. SQL Server tarnitakse koos
oma objektimudeli ja API-de komplektiga, et andmesüsteemi saaks teie ettevõttele
ainuomases suunas laiendada.
SQL Server 2005 andmeplatvorm annab igasuguse suurusega organisatsioonide
käsutusse järgmised eelised:
· Andmevarude ärakasutamine. Lisaks ettevõtte- ja analüüsilahenduste jaoks
turvalise ja töökindla andmebaasi pakkumisele aitab SQL Server 2005 klientidel andmeid paremini ära kasutada, sisaldades näiteks selliseid manusfunktsioone nagu aruandlus,
analüüsimine ja
andmekaevandamine .
· Tööviljakuse tõstmine. Tänu mitmekülgsetele äriteabevõimalustele ja integratsioonile
juba tuttavate tööriistadega (nt Microsoft Office System) pakub SQL Server 2005
teie organisatsiooni teabetöötajatele õigeaegselt kriitilise tähtsusega äriteavet, mis on
kohandatud vastavalt nende vajadustele. Selle süsteemi eesmärk on anda äriteave
organisatsioonis kõigi kasutajate käsutusse. Nii saavad kõik töötajad lõpuks vastu võtta
paremaid ja ettevõttele kasulikumaid otsuseid, mis põhinevad ettevõtte ühel kõige
väärtuslikumal varal andmetel.
·
Infotehnoloogia lihtsustamine . SQL Server 2005 lihtsustab ettevõtte- ja
analüüsirakenduste väljatöötamist, juurutamist ning haldamist,
andes arendajate
käsutusse
paindliku arenduskeskkonna ja andmebaasiülematele integreeritud,
automatiseeritud haldusriistad.
· Madalamad omamiskulud (TCO). Integreeritud lähenemine ja kasutuslihtsusele
ning juurutamisele keskendumine tagavad oma valdkonnas kõige madalamad ostu-,
juurutus - ja hoolduskulud ning andmebaasiinvesteeringu kiire tasuvuse.
My SQL
Maailmamastaabis tillukeses Rootsi linnas Uppsalas asub tarkvarafirma
MySQL AB
peakorter , kelle igapäevatööks ongi kuulsa andmebaasisüsteemi arendamine,
turustamine ning kasutajatoe pakkumine. Aastal 1979 alustasid Michael ,,Monty"
Widenius ning ta
kolleegid tarkvara kirjutamist, mille juriidiliseks
esindajaks oli TcX
Datakonsult AB. Umbes viisteist aastat hiljem hakati programmile andma tänast kuju
ning mõeldi välja nimi ,,MySQL". Suurest edust põhjustatuna tekkis varsti ka vajadus
ettevõtte nimi muuta MySQL AB'ks ning registreerida kaubamärk. Õnneks jätkub ka
tänasel päeval Wideniusel jaksu jätkata -- senini on ta ettevõtte juhatuses ning üks
osanikest -- see on märk, et firmas peitub veel tohutu potentsiaal.
MySQL on väga
populaarne avatud lähtekoodiga relatsioonbaasihaldur Rootsi firmalt
MySQL AB, mis kasutab struktureeritud päringukeelt (SQL). Kuna MySQL'i lähtekood on avalik, siis võib igaüks seda GNU litsentsi tingimustele vastavalt alla
laadida ja oma
vajadustele
kohandada .
SQL on
enamlevinud päringukeel andmebaasidega suhtlemiseks, mis arendati IBM
poolt varastel 70-del.
Andmetega töötamiseks kasutati selles keelt SEQUEL (Structured
English Query
Language ), mis on SQL keele esimeseks versiooniks. Keelt kirjeldati
1976 a. novembris ajakirjas IBM
Journal of R&D. Keelele anti hiljem uus nimi - SQL
(Structured Query Language). 70-ndate lõpus nägi Relational Software Inc (praegune
Oracle
Corporation ) loodus potentsiaali ning
arendas oma versiooni SQL'st.
Nagu öeldud on SQL andmebaasistandard. Kuid iga SQL
arendaja lisab juurde
täiendavaid omadusi ja seega on tekkinud mitmeid versioone. Enam levinumad
andmebaasimootorid on MySQL, PostreSQL, aga ka Microsoft SQL server.
Andmebaasid lubavad teil hoida palju informatsiooni lihtsasti ligipääsetaval viisil.
Andmebaasid ise ei ole inimeste poolt lihtsad lugeda. MySQL andmebaasid on vajalikud
paljudele veebi programmidele/skriptidele kaasaarvatud foorumitele, CMS'idele ja
teistele. Et kasutada andmebaasi, peate selle looma. Ainult MySQL kasutajad millel on
antud andmebaasi jaoks õigused saavad sealt lugeda ja sinna kirjutada.
Algajal on vast kõige lihtsam võrrelda MySQL'i MS
Exceli või mõne muu
tabeliarvutusprogramiga. Nii nagu
Excelis on failid, mis võivad
sisaldada palju tabeleid,
on MySQLis andmebaasid, mis võivad samuti sisaldada palju tabeleid.
MySQL paistab silma kiiruse, töökindluse ja paindlikkuse poolest ning töötab eriti hästi
sisuhalduses. Tänapäeva uued kodulehed ongi peamiselt üles ehitatud andmebaasile,
kus asub info ja selle töötlemine.
PHP+MySQL
Andmebaasitarkvara populaarsusel on ilmselt suur tänuvõlg ka skriptimiskeele PHP ees
-- just siis kui üle maailma hakkasid levima andmebaasipõhised veebilehed, oli MySQL parim ja mugavaim valik. Kindlasti märkasid ka tuhanded ettevõtete juhid, kuidas
pakkumistesse hakkas tekkima kallite süsteemide alternatiivina PHP ning MySQL.
Murrang oli toimunud -- edasi tuli vaid müügimeestele seletada PHP+MySQL'i ning
veebipõhiste süsteemide tohutuid
eeliseid ning uus laine tarkvaraarenduses sai
alata .
Kõike sooviti hakata tegema veebipõhiselt, unustades tihti alternatiivide eelised.
Kahtlemata laiendas see
tarkvaraarenduse turgu -- üha väiksemad ettevõtted said
endale lubada moodsaid andmebaasipõhiseid lehekülgi. Iga asja liigne
surumine keerab paraku vindi üle, mistõttu võime ka tänasel päeval näha ääretult ebaefektiivsetes
kohtades veebipõhiste süsteemide pealesurutud pakkumisi. Ei tasu unustada, et
lähtuda tuleb siiski kliendi huvidest ja
vajadustest ning alati ei ole veebipõhine süsteem
parim valik.
Kvaliteet
Kvaliteedipoliitikat võib pidada firma ja andmebaasisüsteemi suurimaks
trumbiks .
Kõik ilmnenud vead kirjeldatakse ära testjuhtumitena ning
arendajad on koostanud
väga
ranged ja põhjalikud testprotseduurid, mille läbivad enne avalikustamist isegi
vahepealsed arendusversioonid. Versiooni numbri järel olev sufiks (artikli kirjutamise
hetkel näiteks
uusim 4.1.0
alpha ) kirjeldab stabiilsusastet: alpha tähendab, et lisatud on suur hulk uut koodi, mis ei ole päris 100%
testitud -- teadlikult vigu omades ei avaldata isegi alpha versiooni;
beta tähendab, et kogu alphas lisandunud uus kood on testitud --
ranguse lisamiseks on ettevõttesisene reegel: beta avaldatakse alles kuu pärast viimast veateadet. Ranguse tagab suur hulk kasutajaid -- ,,keegi midagi ikka leiab". Seeläbi saavutatakse beta versioonile piisavalt hea kvaliteet, ent süsteemides, mis vajavad suurt töökindlust, betat veel kasutada ei
soovitata ; gamma tähendab, et beta on olnud väljas mõnda aega ilma vigadeta ning tehtud võivad olla mõned süsteemi üldist tööd mittepuudutavad muudatused. Seega stabiilsusaste, mille puhul paljud tarkvaratootjad juba
ammu tarkvara veavabaks ning töökindlaks kuulutavad; sufiksi puudumine näitab, et
versioon on olnud väljas juba mõnda aega ning
jookseb suurtes süsteemides vigadeta -- tarkvara kuulutatakse sellest hetkest ametlikuks töökindlaks versiooniks.
Tugev ja tark ettevõte
Õige ajastuse ning kvaliteedipoliitika kõrval peetakse suurimaks levikule kaasa aitavaks
jõuks MySQL AB head toimimist ning juhtimist. Hetkel on tegevdirektoriks Mårten
Mickos, kelle juhitav firma on suutnud mitme kavaluse läbi tekitada tohutu edu. Esiteks
kuulub tarkvara kood MySQL AB'le, mis annab litsentseerimise üle täieliku voli ja
tarkvara antakse välja kahe litsentsiga -- GPL ning kommertslitsents. Kes tunneb, et
GPLi litsentsitingimused ei sobi talle, võib alati soetada kommertslitsentsi.
Vaba lähtekoodiga tarkvara
seostatakse tihti vastutuse puudumisega. Kuna MySQL
AB pakub ka kommertstuge, on tal ,,vaba lähtekoodi maailmas" hea kuulsus ning
samaaegselt pakub ta ka ärilist vastutust.
Arendajad ka Eestist
MySQL AB's on töötajatena kaasa löönud ka eestlased Tõnu
Samuel ning Indrek
Siitan (aka tfr). Esimene
nendest sai laiemale publikule tuttavaks seoses Eesti
Telefoniga ning
teine on ilmselt tuttav kõigile jututubades olnutele -- nimelt Indrek on kohaliku jututoa
cafe.ee looja.
Tõnu Samueli viis elu MySQL AB'sse peale 1998 toimunud börsikrahhi --
kadusid ära arendustööd pankadele, pidi
vahetama töökohta. Paraku polnud olukord Eestis
kõige parem ning tööd oli kasulik otsida ka välismaalt. Üllatuseks pakkus tööd
MySQL. Kohustused olid
seinast seina --
peaasjalikult klientidega
suhtlemine ning
andmebaasisüsteemi
programmeerimine . Vaatamata Tõnu otsusele firmast ära tulla,
puutub ta endiselt vähemal või rohkemal määral igapäevaselt MySQL'iga kokku. Peale
MySQL AB's töötamist
suundus Tõnu eraettevõtlusesse ning tegeleb praegu
Johanson ,
Errapart ja Samuel OÜ ülestöötamisega.
Indrek Siitan sattus rootslaste ettevõttesse tööle samuti kõige loomulikumal viisil
-- otsis tööd (Tõnu selleks hetkeks oli juba tööl ning eestlaste töökus tuttav), võeti
ühendust ning juba alates 2000. aastast ongi tema kohustuste hulgas ettevõtte
veebipoolega tegelemine -- avaliku lehekülje ning firma intraneti kujundamine,
hooldus ning arendamine. Seoses klientide ja mahtude kasvuga on ka tema kaasatud nüüdseks
tehnilise toe juurde. MySQL'i kõrval on Indreku igapäevatööks Internetilahenduste loomine ja haldamine ettevõttes IS Holdings OÜ.
Peale samas ettevõttes töötamise on neil ka muid sarnaseid jooni -- mõlemad on
isad ning
elamise pealinnast kaugemale kolinud -- kohtumisteks saab ju alati kohale sõita
ning kaugtöö pole enam ammu uus asi.
Seega -- kuna üldjuhul oli võimalik saada isegi eestikeelset abi, ei tule ilmselt kohaliku
leviku põhjuste üle imestada.
Tulevik
MySQL'i
vastaste põhilisteks argumentideks on tähtsate SQL92/SQL99
funktsionaalsuste puudumine, kiirus ning stabiilsus ei kompenseeri võimaluste
puudumist. Meenutades
eelnevat lõiku kvaliteedist, võib tegelikult üsnagi hästi mõista,
millise valuga arendajad
taolisi etteheiteid vastu võtavad -- üle käe kirjutades oleks
ilmselt üsnagi lihtne kõik vajalikud funktsionaalsused sisse kirjutada, ent soovides
ülimat optimeeritust ning stabiilsust, osutub see üsnagi raskeks. Tuleb varuda
veidike kannatust ning oodata.
Jälgides tarkvara järgmistes versioonides planeeritud funktsionaalsusi, ähvardab mäng
minna veelgi põnevamaks. Olles ühel päeval SQL92/SQL99 nõudmistega ühtiv
ning arendades kasutajatoe ning müügivõrku, tuleb küll tõdeda, et Oracle'i, IBMi ja
Microsofti kõrvale on andmebaaside vallas tekkimas ääretult huvitav konkurent.
Andmete liigid: rida
CHAR (suurus) Püsipikkus
string (võib sisaldada tähti,
numbreid ja erimärke).
Fikseeritud suurus sulgudes. Saate
salvestada kuni 255 märki
VARCHAR (mõõt) Mahutab kuni 255 märki.
TINYTEKST Mahutab kuni 255 märki.
TEKST Mahutab kuni 65.535 tähemärki.
BLOB Mahutab kuni 65.535 tähemärki.
MEDIUMTEKST Mahutab kuni 16777215 tähemärki.
MEDIUMBLOB Mahutab kuni 16777215 tähemärki.
LONGTEKST Mahutab kuni 4294967295 tähemärki.
LONGBLOB Mahutab kuni 4294967295 tähemärki.
Murdarvud TINYINT (mõõt) Saab salvestada numbreid -128 kuni 127
SMALLINT (mõõt) Vahemikus -32 768-32 767
MEDIUMINT (mõõt) Range -8388608 kuni 8388607
INT (suurus) Vahemikus -2147483648 kuni 2147483647
BIGINT (mõõt) Vahemikus -9 223 372 036 854 775 808-9 223 372 036 854 775
807
FLOAT (suurus, d)
Floating -point number väike täpsus.
DOUBLE (suurus, d) Number kahekordse täpsusega
ujukoma .
DETSIMAALSED
Murdarv , on salvestatud stringi.
Kuupäev ja
kellaaeg DATE () Kuupäev YYYY-MM-DD
DateTime () Kuupäev ja kellaaeg YYYY-MM-DD HH: MM: SS
TIMESTAMP () Kuupäev ja aeg, ajatempel. Kuid saamisel valdkonnas väärtus ei
kuvata vormi timestamp, kuid vorm YYYY-MM-DD HH: MM:
SS
TIME () Aeg HH: MM: SS
YEAR () Aasta kahekohaline või neljakohalise
formaadis .
PostgreSQL
Om
Postgresql on Berkeleys Ülikoolis arendatud postgres andmebaasi vabavaraline
edasiarendus
PostgreSQL on relatsiooniline andmebaasihaldur mõningase
objektorienteeritud kallakuga ning tehniliselt ja funktsionaalselt tõsine konkurent parimatele
kommertsanaloogidele. Samuti oli ta üks esimesi andmebaase, mis pakkus MVCC'd
vastukaaluks realukustusele või tabelilukustusele ning see parandab oluliselt süsteemi
tõhusust andmebaasi ühiskasutuse korral.
Esimese pooleteise tunni jooksul tähelepandud erinevused võrreldes MySQL'iga: - kaasas on hea
dokumentatsioon ja tutorid (ka
PostScript 'is) mida MySQL'il peaaegu polegi - erinevatele kasutajaltele erinevate õiguste andmine on keerulisem (sh. passwordid); siiski on lihtne anda lihtsaid õigusi - andmebaasi struktuurist kõneldes kasutatakse (tõenäoliselt põhjusega) mõisteid '
class ', 'instance' jms mis on tuntud kui lähenetakse asjadele 'objekt- orienteeritud'
seisukohast . Nt. MySQL'i andmeväli ei saa koosneda mitmest alamosast. Küll aga PostgrSQL'i puhul võib.
Alates versioonist 8.3 on olemas ka fulltext otsing ja seda ei pea eraldi patchina
lisama .
Baasi loomine
Käivitage postgreSQL prooviks: (logige uuesti sisse kasutaja postgres alt, et lisatud
PATH'i take'eksid efffect'i :)
Kõik järgnevad käsud tuleb anda postgres kasutaja alt, su - postgres
looge
andmebaas $ createdb mhh
votke andmebaasiga ühendust
$ psql
käsivitage lihtne päring
postgres=>
SELECT datetime 'now';
(kas tulemus on näha?)
väljuge andmebaasi
kliendist postgres=> \q
eemaldage andmebaas
$ destroydb mhh
Kui see kõik läks libedalt siis on peamiselt kõik korras; tavis vaid ivake kasutajete õigusi
sättida ja kõik.
Kasutajad-õigused
Kasutajate lisamine createuser -P
root Enter password for new
role :
Enter it
again :
Shall the new role be a superuser? (y/n) y
Peale selle peab
failis /usr/
local /pgsql/data/pg_hba.
conf local all md5
#local all
trust #host all 127.0.0.1 255.255.255.255 trust
#host all 192.168.1.1 255.255.255.255 trust
antud juhul on kolm alumist rida välja kommenteeritud ja töötav rida ütleb, et lase sisse
localhost'i pealt kõik kes on nõus end autentima. (st. alustama psql -u -d database) Kui
kuidagi ei taha sisse lasta, siis kasautage ülevalt teist rida :)
Kasutajaid näeb postgres käsurealt
postgresql > # \du List of roles
Role name | Attributes |
Member of
------------+-------------+-----------
mart | |
ants | |
kalle | Superuser | : Create DB
Upgrade
Postgres upgrade puhul oleks soovitatav dumpida kogu baas ja hiljem restoreda
pg_dumpall -U root > pgdump
/etc/init.d/postgresql stop
Ning vana database kausta võime näiteks
kustutada või varundada, antudhetkel on
selleks /home/pgsql ja kustutada ning luua uue ja anda selle chown käsuga postgres
omandusse. seejärel teeme vastavalt os'ile vajaliku ,et vahetuks postgres versioon
gentoos näiteks käsuga
# emerge postgresql
Tasub peale baasi taas initsialiseerimist lubada, et localhostist pääseks postgresile
ligi ilma paroolideta (admin
parool pole veel taastatud) Seda saame teha failist
nano pg_hda ja seal võime lahtikommenteerida rea
local all all trust
Seejärel võime anda käsud
mkdir /home/pgsql
chown -R postgres:postgres /home/pgsql
su postgres
initdb -D /home/pgsql
postgres -D /home/pgsql
psql -d postgres -f pgdump
PostgreSQLi andmebaasi kasutamine
Enne andmebaasiga suhtlemist peab kasutaja nö andmebaasi sisse logima näitates
oma kasutajanime ja
parooli , so sama kasutajanime, mida ta kasutab veebiserverisse
sisselogimisel ning vastavat PostgreSQL-i andmebaasi parooli, mis edastatakse talle
andmebaasi loomisel.
Andmebaasiga suhtlemine on võimalik kahel viisil: PostgreSQLi kliendiga psql käsurealt veebi vahendusel
Järgnevas kirjeldame kuidas seda teha käsurealt kasutades SQL termineid, mis
vastavad Protgresi objekt-orienteeritud traditsioonile
selliselt andmetabel - class kirje - instance
tulp -
attributeAndmebaasi sisselogimine
Andmebaasiga tegelemiseks peab kõigepealt näitama PostgreSQLile andmebaasiserveri nime, oma kasutajanime, parooli ja andmebaasi nime
bash $ psql -h www.zoo.edu.ee -U zoo zoo
Password:
Welcome to psql, the PostgreSQL interactive
terminal .
Type: \
copyright for distribution terms \h for help with SQL
commands \? for help on internal
slash commands \g or terminate with
semicolon to execute query \q to quit
zoo=>
kus on kasutatud järgmisi võtmeid:
-h - PostgreSQLi serveri nimi, alati teie
veebiserveri nimi
-U - PostgreSQLi serveri kasutajanimi, alati teie nW serveri kasutajanimi
viimane zoo - PostgreSQLi andmebaasi nimi, see on alati veebiserveri omaniku-
nimeline; kui see argument jätta kirjutamata, siis kasutatakse kasutajanime nimelist
andmebaasi
Seejärel küsitakse
kasutajalt parooli.
Märgake, et tulemusena avanes andmebaasi nime sisaldav PostgreSQLi viip 'zoo=>',
mille järele saab sisestada kahte tüüpi käske: PostgreSQLi põge-käsud (ingl. k.
internal slash commands) - juhivad andmebaasikliendi tööd; need algavad
tagurpidi kaldkriipsuga (\) SQL käsud - SQL päringute tegemiseks ja nad peavad lõppema
semikooloniga (;)
Näiteks PostgreSQList väljumiseks ja operatsioonisüsteemi viiba juurde
tagasipöördumiseks tuleb anda käsk '\q'
zoo=> \q
Andmetabeli loomine
Enne järgneva tegevuse juurde asumist logige PostgreSQLi serverisse ja võtke
kasutusele oma andmebaas
bash$ psql -h www.zoo.edu.ee -U zoo zoo Password:
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit
zoo=>
Kirjeldame kolme väljaga andmetabeli inimesed: nimi -
tekstiline andmeväli, kuni 15 tähemärki vanus - täisarvuline andmeväli elukoht - tekstiline andmeväli, kuni 18 tähemärki
Selleks tuleb anda korraldus
zoo=> create table inimesed (nimi varchar(15), vanus int, elukoht varchar(18));
PostgreSQLi SQL käsk lõppeb semikooloniga (;). Seejärel sisetame andmetabelisse
kolm kirjet
nimi vanus elukoht
Mart 16 Narva
Priit 17 Tallinn
Laa 12 Kuressaare
Selleks tuleb anda
korraldused :
zoo=>
INSERT INTO inimesed
VALUES ('Mart', '16', 'Narva');
zoo=> INSERT INTO inimesed VALUES ('Priit', '17', 'Tallinn');
zoo=> INSERT INTO inimesed VALUES ('Laa', '12', 'Kuressaare');
PostgreSQLi kliendi käsureal saab kursorit liigutada näiteks vasakule ja paremale
nooleklahvide abil ning olemasolevat teksti redigeerida. Sarnaselt saab varemantud
käskude vahel valida neid sirvides üles ja alla nooleklahvide abil.
Otse käsurealt on tõenäoliselt tülikas sisestada suurt hulka andmeid, sellepärast
selgitame allpool kuidas seda teha '
batch ' rezhiimis. Olles lõpetanud andmete sisestamise sulgeda PostgreSQLi
klient käsuga '\q'.
Päringu
sooritamine Päringu sooritamine käsurealt eeldab, et teil on olemas logmimist võimaldavad andmed.
Esmalt logige enda PostgreSQLi serverisse ja võtke kasutusele oma andmebaas.
bash$ psql -h www.zoo.edu.ee -U zoo zoo
zoo=>
SQL käskudes ei loe tähe suurus, st võib kasutada nii suuri kui väikesi tähti.
Esitame näiteks päringu, mis näitab andmetabeli inimesed kõikide
kirjete kõiki välju
zoo=> select * from inimesed;
nimi | vanus | elukoht
-------+-------+---------
Mart | 16 | Narva
Priit | 17 | Tallinn
Laa | 12 | Kuressaare
Vahel on abiks näha andmetabeli struktuuri, selleks andke korraldus '\d'
zoo=> \d inimesed Table "inimesed"
Attribute | Type | Modifier
-----------+-------------+----------
nimi | varchar(15) |
vanus | integer |
elukoht | varchar(18) |
Päringu tulemuse kopeerimine uude andmetabelisse
Sooritades päringut on võimalik sellest luua uus andmetabel. Näiteks tekitame
Haapsalust pärit inimeste tabeli
CREATE TABLE haapsalu AS SELECT nimi, vanus FROM inimesed WHERE
elukoht='Haapsalu';
Olles lõpetanud päringud väljuge PostgreSQLi kliendist käsuga '\q'.
Andmetabeli kustutamine Olemasoleva andmetabeli kustutamiseks andmebaasist logige end PostgreSQLi
serverisse ja võtke kasutausele oma andmebaas. Näiteks kustutame andmetabeli
inimesed
zoo=>
drop table inimesed;
Arvestage, et nii kustutatakse kõik andmed, mis sisalduvad kõnealuses andmetabelis ja
te olete neist jäädavalt ilma.
Andmetabeli struktuuri muutmine
Andmetablit saab muuta käsuga
ALTER . Näiteks lisame olemasolevasse
andmetabelisse andmevälja sugu
ALTER TABLE inimesed ADD
COLUMN sugu VARCHAR(30);
Muudame olemasoleva tabeli nime inimesed uueks nimega kodanikud
ALTER TABLE inimesed RENAME TO kodanikud;
Muudame olemasoleva
tulba nime elukohast aadressiks
ALTER TABLE inimesed RENAME COLUMN elukoht TO aadress;
Tulba eemaldamiseks kopeerige sobivad tulbad uueks andmetabeliks ning
kasutage seda!
Andmetabeli struktuuri saab näha käsuga '\d tabelinimi'.
Batch rezhiimi kasutamine
Mahukamate sisestuste puhul ei ole otstarbekas anda PostgreSQLile käske käsitsi,
vaid lasta neid lugeda selleks ettevalmistatud teksifailist. Sel puhul täidetakse käske
ükshaaval, kuid psql ei oota neid klaviatuurilt.
Näiteks lisame batch rezhiimis andmebaasi inimesed
kirjed Leida 18 Elva
Maie 45 Põlva
Väino 39 Haapsalu
Selleks tekitage järgmise sisuga tekstifail andmelisa.psql-batch
INSERT INTO inimesed VALUES ('Leida', '18', 'Elva');
INSERT INTO inimesed VALUES ('Maie', '45', 'Põlva'); INSERT INTO inimesed VALUES ('Väino', '39', 'Haapsalu');
Ning andmete lisamiseks andke psqli viibast käsk
zoo=> \i andmelisa.psql-batch
Tulemusena lisati andmetabelisse zoo andmed Leida, Maie ja Väino kohta.
Kui SQL käsud genereerivad väljundi, siis saab selle suunata
tekstifaili .
Selleks tuleb anda korraldus '\o failinimi', mille järel kõik väljund suunatakse edasi
näidatud faili. Näiteks suuname andmetabeli inimesed kõigi väljada sisu faili
koik.inimesed
zoo=> \o koik.inimesed
ning esitame päringu
zoo=> select * from inimesed;
Tulemus suunatakse faili koik.inimesed, kus on kolm tulpa eraldatud sobiva arvu
tühikutega
nimi | vanus | elukoht
------+-------+---------
Mart | 16 | Narva
Priit | 17 | Tallinn
Laa | 12 | Kuressaare
Leida | 18 | Elva
Maie | 45 | Pulva
Vdino | 39 | Haapsalu
Soovides näha taas väljundit terminalil, andke korraldus '\o'
zoo=> \o
Soovides koopeerida andmebaasi sisu ning määrata andmevälja
eraldaja , andke käsk
zoo=>
COPY inimesed TO stdout USING DELIMITERS ',';
Kasutajale ei ole ette nähtud teha failioperatsioone ning seega peab anmed faili
suuname läbi väljundi (stdout) kasutades käsku '\o'.
Postgresi koormuse
testimineToimub käsuga
# pgbench -i -s 100 test või
# pgbench -c 16 -t 1000 test
MS
Access Microsoft Access on Microsofti poolt loodud ja Microsoft Office'i
kontoritarkvara paketti
kuuluv andmebaaside tarkvara.
Microsoft Access 2010 märksõna on lihtsus: kasutusvalmis mallid kiirendavad tööd
ja võimsad tööriistad püsivad andmete hulga kasvamisel
asjakohased . Access
2010 toetab andmete
kasutust isegi siis, kui te pole andmebaasispetsialist. Access
suurendab uute veebiandmebaaside kaudu teie andmete efektiivsust, samas
lihtsustades nende jälitamist, aruandlust ja ühiskasutust. Andmetele pääsete alati juurde
oma
veebibrauseri kaudu.
MS Access 2010 funktsioonid ja eelised
Andmebaaside senisest kiirem ja lihtsam koostamine Mõjusate vormide ja aruannete loomine Hõlpsam juurdepääs vajalikele tööriistadele Suurem automaatsus ja keerukate
avaldiste lisamine ilma koodirida kirjutamata Andmetele keskse asukoha loomise võimalus Uued viisid andmebaasile juurdepääsuks
Kõik kommentaarid