490 likes | 875 Views
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
E N D
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 Excel Access Visual Studio Rakenduse kiht Andmete kiht 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 Aruanded Makrod Moodulid mdb MS SQL My SQL Tabelid Tables Views Stored Procedures 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
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
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 Usaldusväärsus Skaleeritavus Hooldatavus Hind Korporatsioon Paindlikkus RAD Rakenduste arv Ettevõte Töögrupp/meeskond 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 MS SQL Server MySQL Korp. Ettevõte Access - Jet Osakond Excel Töögrupp/meeskond Individuaalsed lahendused
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 Visual Studio Access Korp. Ettevõte Osakond Excel Töögrupp/meeskond Individuaalsed lahendused
Andmebaasi rakenduste arendamise kulud IT Mitte-IT Allikas: Microsoft Access or Microsoft SQL Server: What’s right in Your Organization?
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 • avo.tohver@mail.ee
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 andmebaaside korrastamiseks
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
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 Access Access VB and Jet VB, VS.NET, IBM db2, SAP, Individual Simple Multi- Department Java and SQL Oracle Tandem, etc. user Server Quantity Avg. Cost