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.