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.