Transcript Slide 1
Microsoft Access
Ühe arendaja vaade
Avo Tohver
Teemad
Accessi lühitutvustus - mis on mis
Ülevaade Accessi versioonidest
Access’i koht andmebaaside maastikul
Access ja .Net
Access ja MS-SQL server
Access või veebipõhine lahendus
Millal kasutada Accessi
Probleemid ja lahendused
Näited
Küsimused
Minu taust
Access´i kogemus alates 1993. a.
Alates 1994 FrameWork’i ehitamine
Access’ile
TTÜ – süsteemitehnika magister
1999.a.
Kogemused infosüsteemide loomisel
analüüsist realisatsioonini.
Süsteemide ekspluatatsioon mitmetes
kohtades
Access’i tutvustus
Sisaldab:
Andmebaasimootorit (Jet Engine )
Kasutajaliidese arendusvahendeid
Aruannete arendusvahendeid
Programmeerimiskeelt (Visual Basic)
Integreeritud Microsoft Office’iga
Laiendatav: ActiveX; Visual Basic;
.NET; Windows API
Accessi funktsionaalsus katab nii
rakenduse, kui andmete kihti
Rakenduse
Visual Studio
kiht
Excel
Andmete
kiht
Access
SQL Server
Access ja Jet? - Mis on mis
Kasutajaliides – rakenduse kiht
Microsoft Access
…
Andmebaasi mootor
Jet Engine
Andmebaasi fail
MDB fail – näiteks MinuAndmebaas.mdb
Tabelid
Päringud
Vormid
Aruanded
Makrod
Moodulid
Jet Engine ja MDB formaat
Jet on Windows’i komponent
MDB on selle poolest eriline, et sinna
saab salvestada lisaks andmetele ka:
päringuid (Views; Stored Procedures),
vorme,
aruandeid
ja programmi koodi (VBA)
Accessi rakenduse soovitatav
arhitektuur
Kasutajaliides – kasutaja arvutis
MDB või MDE fail – näiteks Minu_UI.mdb
Tabelid
Päringud
Vormid
Aruanded
Makrod
Moodulid
Lingitud tabelid
Andmebaasi fail - Failiserveril
MDB fail – näiteks MinuAndmebaas.mdb
Tabelid
Päringud
Vormid
Aruanded
Makrod
Moodulid
Accessi rakendus kui
andmebaaside integraator
Kasutajaliides
MDB või MDE fail – näiteks Minu_UI.mdb
Lingitud
tabelid
Päringud
Vormid
mdb
Tabelid
Aruanded
Makrod
MS SQL
Tables
Views
Stored
Procedures
Moodulid
My SQL
Tables
Teemad
Accessi lühitutvustus - mis on mis
Ülevaade Accessi versioonidest
Access’i koht andmebaaside maastikul
Access ja .Net
Access ja MS-SQL server
Access või veebipõhine lahendus
Millal kasutada Accessi
Probleemid ja lahendused
Näited
Küsimused
Access’i versioonid
Versiooni nr
Andmebaasi
mootor(id)
Liidesed
Faili
formaat
Hinnang
1.0
Jet 1.0
DAO 1.0
1.0
Toores
1.1
Jet 1.0
DAO 1.x
1.0
Stabiilne
2.0
Jet 2.0
DAO 2.0
2.0
Hea
7.0 - 95
Jet 3.0
DAO 2.5
95
Ebastabiilne
8.0 - 97
Jet 3.5
DAO 3.51
97
Väga hea
9.0 – 2000
Jet 4.0 & MSDE
ADO/
DAO 3.6
2000
Enam-vähem
ADO
2002-2003
?
10 – 2002/XP Jet 4.0 & MSDE
11 – 2003
Jet 4.0 & MSDE
DAO 3.6/
ADO
2002-2003
Väga hea*
12 – 2007
ADE
DAO?
2007
?
Mida uut toob Access 2007
Office 2007 “Ribbons” ja väljanägemine
Jet Engine edasiarendus Accessi jaoks –
ADE, mis pole opsüsteemi komponent
Uued andmeväljade formaadid:
Xml
Attachment
Uuendatud välimus vormidel ja aruannetel
RTF välja tugi sisseehitatud
Lihtsustatud sidustamine Sharepoint’iga
VBA jääb alles; laiendusvõimalused .NET’iga
2007 – Ekraanipildi näide
2007 – täiustatud filtreerimine
Teemad
Accessi lühitutvustus - mis on mis
Ülevaade Accessi versioonidest
Access’i koht andmebaaside maastikul
Access ja .Net
Access ja MS-SQL server
Access või veebipõhine lahendus
Millal kasutada Accessi
Probleemid ja lahendused
Näited
Küsimused
Andmebaaside püramiid
Keerukus
Turvaprobleemid Korporatsioon
Paindlikkus
Usaldusväärsus
RAD
Ettevõte
Skaleeritavus
Rakenduste arv
Hooldatavus
Töögrupp/meeskond
Hind
Väikese grupi lahendused
Individuaalsed lahendused
Allikas: Microsoft Access or Microsoft SQL Server: What’s right in Your Organization?
Andmebaaside evolutsioon
Excelis hoitakse väga palju andmeid
Andmebaasivajadused võivad olla väga
erinevad
Lihtsatest võivad saada keerulised
Väga vähesed järgmisele tasemele
Ükski vahend ei lahenda kõiki probleeme
Access suudab täita väga suure segmendi
andmebaasi vajadustest
Jet’i koht andmebaasimootorite
maastikul
Oracle
Individuaalsed lahendused
Excel
Töögrupp/meeskond
Access - Jet
Osakond
MySQL
Ettevõte
MS SQL Server
Korp.
Access’i (Jet’i) koht andmebaasi
mootorite maastikul
Rakenduste arvu kasv
Oracle
MS SQL Server
MySQL
Access - Jet
Excel
Andmete mahu ja keerukuse kasv
Accessi koht andmebaasi
kasutajaliideste maastikul
Ettevõte
Access
Osakond
Individuaalsed lahendused
Excel
Töögrupp/meeskond
Visual Studio
Korp.
Andmebaasi rakenduste
arendamise kulud
SAP, Tandem, jne.
120 000 000 kr
Oracle, IBM db2
VB/VS.NET/Java ja SQL Server
VB ja Jet
24 000 000 kr
6 000 000 kr
2 400 000 kr
Access keerukam
600 000 kr
Access lihtne mitmekasutaja
120 000 kr
Access ühekasutaja
36 000 kr
Excel 6 000 kr
Allikas: Microsoft Access or Microsoft SQL Server: What’s right in Your Organization?
IT
MitteIT
Töövahendite valik
On üks keeruline küsimus, millele on sageli mitu
vastust
Ükski vahend ei sobi kõigeks
4% Accessi andmebaasidest viiakse üle teisele
andmebaasi platvormile
1% Access rakendustest viiakse üle teisele
platvormile
Access suudab täita väga suure segmendi
andmebaasi ülesannetest
Oluline on teada, mida milleks kasutada
Kasutaja jaoks on hea integreeritud lahendus
Teemad
Accessi lühitutvustus - mis on mis
Ülevaade Accessi versioonidest
Access’i koht andmebaaside maastikul
Access ja .Net
Access ja MS-SQL server
Access või veebipõhine lahendus
Millal kasutada Accessi
Probleemid ja lahendused
Näited
Küsimused
Access ja .NET
Osaliselt konkurendid
Andmebaasi kasutajaliidest lihtsam teha
Accessis
.Net’is on võimalusi rohkem, rohkem tuleb
ise teha
Võivad olla head partnerid
Pildi pööramise näide
Aruande avamise näide
Miks Access?
(ja mitte SQL Server)
ROI
RAD
Lihtne kasutada
Väga hea aruannete generaator
Integreeritud arenduskeskond
Integreeritud Office’ga
Miks SQL Server?
(ja mitte Access)
Andmete konsistentsus
Andmekaitse
Skaleeritavus
Tsentraliseeritud tegevused
Access ja veebiliides
Rikas klient tuleb tagasi
Pendel liigub ikka ühest servast teise – IT
lahenduste maailm on vajunud kaldu
veebilehitseja poole
Kasutajale mugavam ja võimsam
Kiirem
Keerukat liidest on lihtsam teha Windowsi
rakenduses, kui veebilehitsejas
Probleemid ja lahendused
Andmebaasi riknemine
L1:Regulaarne korrastamine ja backup
L2:Stabiilne kohtvõrk
L3:Win 2k Serveril OportunisticLocking=off
Andmekaitse
Mina ei tea, kuidas baasi ligi saab
Levitamine
Oma proge või script versioonide levitamiseks
Kiirus
SOFTWARE\Microsoft\Jet\4.0\Engines\Debug
=“On”, kasuta ja otsi faili “showplan.out”
Miks kasutada Access’i?
Organisatsioonidel on väga mitmesuguseid
andmebaasi vajadusi ja need vajadused
muutuvad aja jooksul
Access pakub lahendusi kõige suuremale
segmendile andmebaasi ülesannetest
Access’is saab lahendusi teha kiiresti ja
väiksema töömahuga
Pakub kasutajasõbralikku andmesisestust
Mitmete probleemide puhul on muud
alternatiivid liiga kallid
Millal kasutada Access’i?
Windows’i põhised ühe- ja mitmekasutaja
süsteemid. FMS hinnangul on 50 kasutajat mõistlik piir. Jet’i
asendamine SQL Serveriga elimineerib selle piiri.
Prototüüpimiseks. Ning sageli on prototüüp “piisavalt
hea”.
Kontseptsioonide testimiseks enne
suuremate ja kallimate süsteemidega
alustamist.
Ei maksa muretseda, et Access pole lõplik
lahendus, sest enamik andmebaasi projekte
ei saa kunagi päris valmis.
Veel kriteeriume Access’i
kasutamiseks?
Andmemahud mõõdukad (baasid alla
1Gb)
Vähe arendajaid (3 puhul toimis)
Vaja kiireid lahendusi ja muudatusi
Erinevate andmebaasiformaatide
integreerimine
Stabiilne kohtvõrk
Kokkuvõte
Ükski andmebaasi vahend pole ideaalne – ei piisa
sellest, et jätta meelde: see on hea vaid tuleb
arvestada tugevaid ja nõrku külgi konkreetse
probleemi lahendamisel
Mitmetest Access’i puudustest saab lahti, kasutades
täiendavaid abivahendeid
Access’iga saab mõnda asja nii “sigaodavalt” teha, et
on võimalik IKT lahendusi kasutada asjade juures,
kus muidu oleks tasuvus aeg vastuvõtmatult pikk või
neid jäädaksegi "vanamoodi" tegema
Access’iga on võimalik edukalt ehitada keerukaid
süsteeme.
Näited
Combo kasutamine suure hulga kirjetega
Treeview ehitamine seek’I kasutades
“Kes kasutab baasi?” näide
Pildi pööramine kasutades .Net’I
Kasutajaliidese genereerimine
Andmebaasi tõstmine MDB->SQL Server
Stored Procedures – Jet’is
Kasutajaliidese genereerimine
Võtame näiteks olemasoleva
andmebaasi
Genereerime sellele täisfunktsionaalse
kasutajaliidese
Muudame seda
Vaatame mida saab andmetega teha
Tõstame andmebaasi SQL serverisse
Kontrollime tulemust
Vaatame, palju aega läks
Küsimused
[email protected]
Palume täita tagasiside lehed
Nende vahel loosime välja ühe hiire
Rakenduste näiteid
Piltide süstematiseerimine
Failide süstematiseerimine
Accessi integreerimine Office teiste
pereliikmetega
Access ja Word
Access ja Excel
Access versus klient-server
Access’i eelised
Andmebaasihaldur ja kasutajaliidese ehitamise
vahendid hästi integreeritud
Arendamine lihtsam ja kiirem
Ülalpidamine lihtsam
Access kui integraator
Access´i puudused
Ei sobi väga missioonikriitiliste rakenduste
jaoks (24x7)
Ei sobi, kui liiga suur kasutajate arv
Ei sobi, kui andmemahud on väga suured
Millal mitte kasutada
Ei sobi väga missioonikriitiliste rakenduste jaoks
(24x7)
Ei sobi, kui liiga suur kasutajate arv (>20…50)
Ei sobi, kui andmemahud on väga suured (>1Gb)
Rakendus peab olema väga laialt levitatav
Accessi plussid ja miinused
Plussid
RAD – kiire arendus, hästi integreeritud
arenduskeskkond
Integreeritud Microsoft Office’ga
Mugavus andmete sisestamisel – veeb
jääb veel alla
Miinused
Versioonide levitamine tülikas
Pole mõeldud veebilahenduste jaoks
Ei sisalda automaatseid vahendeid
Accessi nipid
Access ja Crystal reports
(VS2005)
Crystal Report’I plussid
Saab teksti otsida
Accessi rakenduste haldamine
Andmete ja koodi eraldamine
Kasutajaliidese ja andmebaasi
paigutamine
Regulaarne repair/compact tagab hea
tervise
Access versus Visual Basic 6.0
Müüdid Access’i kohta
Mänguasi?
Access on enimkasutatud andmebaas
maailmas. Access’is on tehtud väga
keerukaid süsteeme. Arendajaid on
maailmas miljoneid
Piiratud skaleeritavus?
Kehtib Jet Engine kohta. Kuid väga
paljude andmebaaside korral on Jet
täiesti piisav. SQL Serveri kasutamisel
pole skaleeritavus piiratud
Mis .Netis veel puudu on
Module: Last postion
ComboBox: Multiple columns
Access:
Andmebaasi mootor (Jet)
Andmebaasi arendusvahend
Kasutajaliidese arendusvahend
Aruannete arendusvahend
Need kõik on ühte arenduskeskonda
integreeritud
Rakenduste hulk ja maksumus
10,000,000
1,000,000
100,000
10,000
1,000
100
10
1
Excel
Access
Individual
Access
Simple Multi-
Access
VB and Jet
Department
user
VB, VS.NET,
IBM db2,
Java and SQL
Oracle
Server
Quantity
Avg. Cost
SAP,
Tandem, etc.