Xbase Komandų Pakeitimo SQL Užklausomis Tyrimas

Xbase Komandų Pakeitimo SQL Užklausomis Tyrimas

KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEM Ų KATEDRA Darius Kasiulevi čius xBase komand ų pakeitimo SQL užklausomis tyrimas Magistro darbas Darbo vadovas Prof. R. Butleris KAUNAS, 2009 KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEM Ų KATEDRA Darius Kasiulevi čius xBase komand ų pakeitimo SQL užklausomis tyrimas Magistro darbas Vadovas Prof. R. Butleris 2009-05-22 Konsultantas Lekt. T. Danikauskas 2009-05-22 Recenzentas Atliko Doc. dr. V. Pilkauskas IFM 3/1 gr. stud. 2009-05-21 D. Kasiulevi čius 2009-05-18 KAUNAS, 2009 Turinys: 1. Įvadas........................................................................................................................................... 4 2. xBase programiniai sprendimai................................................................................................... 6 2.1. xBase duomen ų baz ÷s istorija ir vizija ................................................................................ 6 2.2. Reliacin ÷s duomen ų baz ÷s istorija ir vizija ......................................................................... 8 2.3. xBase duomen ų baz ÷s problematika.................................................................................... 9 2.4. Duomen ų bazi ų valdymo sistemos parinkimas ................................................................. 11 2.5. Reliacin ÷s duomen ų baz ÷s užklaus ų optimizavimas......................................................... 12 2.6. Įrankio k ūrimo perspektyvos analiz ÷................................................................................. 14 2.6.1. Įrankio SWOT analiz ÷............................................................................................... 15 2.7. xBase komandos ir j ų atitikmenys SQL ............................................................................ 18 2.7.1. Naujo įrašo įterpimas................................................................................................. 18 2.7.2. Duomen ų lentel ÷s suk ūrimas..................................................................................... 20 2.7.3. Indekso k ūrimas......................................................................................................... 21 2.7.4. Įrašo koregavimas...................................................................................................... 21 2.7.5. Įrašo trynimas ............................................................................................................ 22 2.8. Analiz ÷s išvados ................................................................................................................ 24 3. Transformavimo metodo k ūrimas ............................................................................................. 25 3.1. xBase komand ų transformavimo į SQL komandas taisykl ÷s ............................................ 25 3.2. Xbase komand ų transformavimo modulio algoritmai....................................................... 30 4. XBase komand ų transformavimo modulis (programin ÷ įranga) ............................................... 36 4.1. XBase komand ų transformavimo modulio projektin ÷ specifikacija ................................. 36 4.2. Kodo transformavimo taisykli ų saugykla.......................................................................... 46 4.3. Programin ÷s įrangos prototipas ......................................................................................... 47 5. xBase komand ų ir SQL komand ų našumo tyrimas ................................................................... 50 5.1. Įraš ų redagavimo našumas................................................................................................. 50 5.2. Programinio kodo transformavimo bandymas .................................................................. 53 6. Išvados....................................................................................................................................... 55 Literat ūra ........................................................................................................................................... 56 Priedai................................................................................................................................................ 57 A. Publikacija leidinyje „14-osios tarptautin ÷s magistrant ų ir doktorant ų mokslin ÷s konferencijos „Informacin ÷s technologijos“ pranešim ų medžiaga“ .................................................................... 57 3 1. Įvadas Tobul ÷jant šiuolaikin ÷ms technologijoms, spar čiai auga poreikis sen ų kompiuterizuot ų sistem ų tobulinimui, atnaujinimui. Senos sistemos pasitarnauja kuriant nauj ąsias šiuolaikines sistemas. Naujos sistemos gali b ūti kuriamos perpanaudojimo principu, imama palikuonin ÷ sistema, perži ūrimi, išgaunami senieji reikalavimai, funkcionalumas, ir tada papildžius naujais reikalavimais, pakei čiama programin ÷s įrangos naudojama technologija ir kuriama nauja sistema. Naujos sistemos kūrimui panaudojamos taip pat senas programinis kodas, kuris pasitarnauja kaip senus reikalavimus atitinkantis šablonas pagal kur į yra toliau kuriama naujoji sistema. Pasaulyje bene pirmoji pla čiai paplitusi duomen ų bazi ų programavimo kalba ir technologija dBase gyvuoja dar ir iki ši ų dien ų. Šios programavimo kalbos pagrindinis principas yra darbas su dideliais kiekiais duomen ų, kuriuos prad ÷ta saugoti lentel ÷mis į atskiras rinkmenas. Šitoks duomen ų saugojimo ir naudojimo b ūdas buvo pavadintas - navigacin ÷mis duomen ų baz ÷mis. Esamose duomen ų baz ÷se buvo galima manipuliuoti visais duomenis su nedideliu kiekiu komand ų, kuri ų įvairios kombinacijos buvo suprantamos ir lengvai perprantamos. Šiuo metu šitos programavimo kalbos ir duomen ų bazi ų valdymo technologijos klonai praminta xBase. Po šiuo pavadinimu slepiasi komerciniai produktai, tokie kaip: Clipper iš GrafxSoft, Vulcan.NET iš GrafX Software, dBase iš dBASE Inc., FlagShip iš multisoft GmbH, xBase++ iš Alaska Software, xHarbour Builder iš xHarbour.com Inc., taip pat ir atviro kodo produktai: FoxPro iš Microsoft, Harbour Project, xHarbour. Šiuo metu pla čiausiai paplitusios yra reliacin ÷s duomen ų baz ÷s, nes j ų pagalba yra pasiekiami aukšti darbo našumo rezultatai. Reliacin ÷s duomen ų baz ÷s įgalina naudotis kliento – serverio modeliu, kur duomenis apdoroja serveris, o užklausas serveriui pateikia klientas. Naudojantis navigacin ÷mis duomen ų bazi ų sistemomis toks modelis negalimas, tod ÷l kompiuteriniai tinklai yra apkraunami duomenimis, kuriuos apdoroja vartotoj ų kompiuteriai. xBase programavimo kalbose nesenai atsirado galimyb ÷ realizuoti kliento – serverio modeliu pagr įst ą programin ę įrang ą. Yra sukurta keletas sprendim ų kaip xBase komandomis parašyta programin ÷ įrang ą priversti dirbti kliento – serverio modeliu. Tai Advantage Database Server programin ÷ įranga serveriui, kuri optimizuoja komandas ir jas vykdo serveryje, gr ąžindamos tik rezultatus, bet naudojasi vis tiek tomis pa čiomis komandomis ir rinkmenomis kaip navigacin ÷s duomen ų baz ÷s. Antras sprendimas - xHarbour SQLRDD biblioteka, kuri programin ÷s įrangos veikimo metu xBase komandas kei čia į SQL užklausas ir jas siun čia reliacini ų duomen ų bazi ų valdymo serverinei programinei įrangai. Šio darbo tikslas – sukurti metod ą kaip efektyviai ir greitai transformuoti Harbour programavimo kalbos programin į kod ą pritaikant naujas technologijas. Esminis darbo uždavinys – 4 sukurti program ą, kuri pad ÷tų pereiti iš xBase tekstini ų duomen ų bazi ų komand ų prie SQL reliacin ÷s duomen ų baz ÷s užklaus ų ir optimizuoti užklausas. Norint pasiekti išsikeltą tikslas ir įgyventinti suformuluot ą uždavin į reikia išanalizuoti dažniausiai pasitaikan čias xBase komand ų konstrukcijas, išanalizuoti SQL užklaus ų optimizavimo b ūdus. Analiz ÷ rodo, kad iš pa čių papras čiausi ų xBase komand ų konstrukcij ų yra kuriamos programin ÷s įrangos kodas, tod ÷l užtenka aprašyti tik ši ų komand ų transformavimo b ūdus. Išanalizavus prieš tai pamin ÷tus sprendimo b ūdus pasi ūlytas metodas xBase komandas transformuoti į SQL užklausas, taip tiesiogiai pereiti prie reliacini ų duomen ų bazi ų nesinaudojant papildomomis programomis. Si ūlomas metodas padeda programuotojams transformuoti esam ą xBase komandomis pagr įsta programin į kod ą automatizuojant transformavim ą. Projektavimo etape pagal pasi ūlyt ą metod ą buvo sukurta programin ÷s įrangos prototipas, kuris leido automatizuoti programinio kodo transformavimo darbus. Taip pat įdiegtas papildomas funkcionalumas, kuris leidžia perkelti duomenis iš navigacin ÷s duomen ų baz ÷s į reliacines duomen ų bazes. Eksperimento metu buvo tiriama ar xBase komandos yra vykdomos l ÷č iau nei SQL užklausos. Naudojantis lokalia duomen ų baze, kurioje nebuvo naudojami indeksai xBase komandos buvo vykdomos grei čiau. Perk ÷lus duomen ų bazes į kit ą tinklin į kompiuter į rezultatai pasikeit ÷, xBase komand ų vykdymo laikas labai išaugo, o SQL užklaus ų nežymiai padid ÷jo. Eksperimentas buvo pakartotas imituojant reali ą duomen ų baz ę, kurioje buvo panaudoti indeksai, raktiniai laukai, rezultatas gautas kaip ir tik ÷tasi SQL užklausos vykdymo laikas buvo trumpesnis nei xBase komand ų. Darbo rezultat ų patikrai, skai čiavimams ir programin ÷s įrangos prototipo k ūrimui, panaudotos nemokamo atviro kodo programos Harbour 1.0.1 versija [11], Borland C++ Compiler 5.5 - versija [10] ir atviro kodo duomen ų bazi ų valdymo sistema MySQL 5.1 versija [12]. Darbo rezultatai pristatyti ir aprobuoti 14-joje tarpuniversitetin ÷je

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    61 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us