96
RĪGAS TEHNISKĀ UNIVERSITĀTE Datorzinātnes un informācijas tehnoloģijas fakultāte Lietišķo datorsistēmu institūts Dmitriy Shulzhenko bakalaura akadēmisko studiju programmas „Datorsistēmas” students, stud. apl. nr. 131RDB357 Objektu tehnoloģiju izmantošanas datu bāzē analīze un izvērtējums BAKALAURA DARBS Zinātniskais vadītājs profesors, Dr.sci.ing. Jānis Eiduks

RĪGAS TEHNISKĀ UNIVERSITĀTE - Web viewRīgas Tehniskā universitāte. Datorzinātnes un informācijas tehnoloģijas fakultāte. Lietišķo datorsistēmu institūts. Dmitriy Shulzhenko

  • Upload
    vomien

  • View
    228

  • Download
    5

Embed Size (px)

Citation preview

RGAS TEHNISK UNIVERSITTE

Rgas Tehnisk universitte

Datorzintnes un informcijas tehnoloijas fakultte

Lietio datorsistmu institts

Dmitriy Shulzhenko

bakalaura akadmisko studiju programmas Datorsistmas

students, stud. apl. nr. 131RDB357

Objektu tehnoloiju izmantoanas datu bz analze un izvrtjums

bakalaura darbs

Zintniskais vadtjs

profesors, Dr.sci.ing.

Jnis Eiduks

Rga2016

SATURS

IEVADS8

1.objektu RELCIJU datu bze un objektorientt paradigma13

1.1.Klases un eksemplra jdziens, datu iekapsulana13

1.2.Klases metodes, metou prslogoana14

1.3.Mantoanas jdziens17

1.4.Metou prrakstana21

1.5.Abstrakt klase21

1.6.Polimorfisms22

1.7.Objektu atsauces25

1.8.Objekta skats25

1.8.1.Objekta skata izveidoana25

1.8.2.Objekta ievietoana, atjaunoana un izdzana27

1.9.Datu mantoana28

1.10.Kopsavilkums29

2.MANtoanas realizana datu bz32

2.1.Mantoanas realizana relciju datu bz32

2.1.1.Apvienotas tabulas izmantoana33

2.1.2.Konkrtas tabulas izmantoana35

2.1.3.Klases tabulas izmantoana36

2.1.4.ablonu saldzinjums38

2.2.Mantoana realizciju objektu relciju datu bz38

2.2.1.Transformcija no objekta uz objektu relciju komponentiem38

2.2.2.Transformciju no objektu relciju komponentiem uz objektu relciju tabulm38

2.3.Dadu mantoanas veidu realizcija, izmantojot objektu relciju struktras40

2.3.1.Vienkr mantoana40

2.3.2.Daudzlmeu mantoana41

2.3.3.Hierarhisk mantoana42

2.3.4.Savstarpji izsldzo mantoana43

2.3.5.Prklans tipa mantoana44

2.4.Kopsavilkums45

3.datu bzes un lietojuma objektu SASKAOana46

3.1.JDBC dzinis46

3.2.Vji tipizts klases izmantoana48

3.2.1.Struct saskarnes darbba48

3.2.2.Struct objektus un atribtus izgana49

3.3.Stipri tipizts klases izmantoana52

3.3.1.SQLData saskarne52

secinjumi56

Literatra57

PIELIKUMI58

Pielikuma nosaukums59

IEVADS

Datu bzes un datu bzes sistmas (datu bze un datu bzes vadbas sistma) ir nogjuas garu attstbas ceu skot no 19. gs. 60 gadiem. Ir izstrdti un izmantoti hierarhiskie, tklveida, relciju, objektorienttie, relciju-objektu datu bzes loiskie modei. oti nozmga bija preja no hierarhiskiem un tklveida modeiem uz relciju modeli. F. Kodda izstrdt relciju algebra un ts izmantojums relciju datu bz[footnoteRef:2], noteica tai das pamatprasbas: [2: DB-Engines Ranking. http://db-engines.com/en/ranking]

1) dati tiek glabti tabuls, katra tabulas rinda ir unikla, katrai tabulas rindai ir unikla atslga (primr atslga, kolonas vai kolonu kopas vrtba), tabulas tiek savienotas izmantojot rjs atslgas, tiek nodrointi datu integrittes noteikumi;

2) datu bzes valodai jbt deklaratvai un jnodroina visu relciju algebras darbbu izpilde.

Sistmas, kurs izpilds pirms grupas prasbas, bet neizpilds otrs grupas prasbas, sauc par daji relciju (semi-relational) datu bzes sistmm[footnoteRef:3]. [3: Frank Stajano. A Gentle Introduction to Relational and Object Oriented Databases. ORL Technical Report TR-98-2. http://www.orl.co.uk/~fms/ [email protected]]

Relciju datu bzes ir visplak lietotais datu bzes tips. Dieml relciju datu bzei ir ar daudz trkumu:

1) rels pasaules objekti, subjekti un procesi (btbas) tiek sadaltas mazs sastvdas (normalizcijas prasbas). Ir nepiecieama saiu sistma, kas ts apvieno. Saiu realizana ir darbietilpga opercija, kas biei nenodroina nepiecieamo trdarbbu.

2) relciju model ir tikai tabulas un saites. Saitm var bt dada semantika: ir, saturt (has), piedert (owns), przint, vadt (manages). Relciju model to nevar nordt.

3) ir nepietiekams datu integrittes nodroinjums (korporatvie likumi);

4) datu struktras viendabba, kolonas lauka vrtbas atomaritte. Vlama btu kopu, korteu, hierarhisku korteu, korteu kopu, iekautu attieksmju izmantoana. K pozitvu iezmi var mint lielo objektu tehnoloijas (Binary Large OBjects) iekauanu, kuros var glabt attlus, audio-datus, programmas.

5) ierobeots operciju skaits. Problmas ar jaunu operciju ievieanu.

6) datu nesaskaotbas problma (impedance mismatch). SQL valod vieni datu tipi, programmanas valods citi.

7) ilglaicgm vaicjuma izpildm ir apgrtinta transakciju vadba;

8) datu bzes shmas izmaias problmas (piemram, lauka prveidoana no skaitu tipa uz teksta tipu).

Datu bzes tehnoloija ts pirmskumos attstjs izolti no lietojumprogrammu jeb lietojumu realizanas tehnoloijm. Datu apmaiai starp lietojumu un datu bzes sistmu tika izstrdtas specializtas (katrai datu bzes vadbas sistmai) interfeisa bibliotkas. Vlk ts tika standartiztas (ODBC, OLE DB, ADO, JDBC).

Pieaugot izmantojamo datu struktru saretbai (grafiskie dati, temporlie dati, hierarhiskie dati) un, attstoties objektu orienttajai programmanai, arvien aktulks kuva jautjums par programmu un datu bzes datu apmaias efektivittes uzlaboanu. Programmu un datu bzes datu struktru saskaoanu. Objektorientt paradigma novirzja uzmanbu no koda uz datiem. T pasauli interpret k objektu (dati kop ar metodm) kopu un to mijiedarbbu. Ts galvens iezmes ir:

1) abstrakcijas izmantoana maznozmgk ierobeoana, btisk akcentana;

2) iekapsulana datu un metou apvienoana;

3) mantoana objektu ldzbas modelana;

4) polimorfisms viendu metou dadas izpildes iespjas.

Strdjot ar saliktiem datiem, ir izdevgi datus organizt kop ar tm procedrm un funkcijm, kuras veic ar tiem manipulcijas. Programms tika veidoti objekti k datu un metou apvienojumi. Ldz ar to bija vlme, lai ar datu bzes saliktie dati un to apstrdes metodes veidotu dus objektus. Tika izstrdtas objektorientts datu bzes sistmas. Dieml netika atrasti objektu glabanas varianti rj atmi, kuri nodrointu efektvu (tru) vaicjumu izpildi. Jatceras ar, ka datu bze nav viena lietojuma datu pastvga (persistent) glabanas vieta[footnoteRef:4]. Datu bzi veido daudziem lietojumiem un tai ir ar sava dzve, neatkarga no lietojumiem (datu bzes veidoana, datu ievade, uzturana, optimizcija, drobas paskumi). Programmu un datu bzes objekti eksist atirgs vids: operatvaj atmi un rj (external memory) atmi (ar izmumiem). Objektu ievieanu datu bz gribja veikt revolucionr veid, bez nopietna matemtiska pamatojuma. [4: Date, C.J.: An Introduction to Database Systems. Eight edition. Addison Wesley, 2005.]

Kda datu bze tad ir vajadzga? Galvens prasbas ir das:

1) datu bzes sistmai jsadarbojas efektvi ar lietojumu, kur veidots objektu-orienttaj valod;

2) datu bzes datu glabanas struktrm jnodroina saretu relas dzves objektu datu un to hierarhijas efektva glabana;

3) datu apjomam strauji pieaugot, oti svargi ir nepiecieams trdarbba nodroinana.

Analizjot relciju datu bzes tehnoloijas un objektorientts tehnoloijas apvienoanu, jsaprot, ka situcija atiras no iepriekjs, kad tika veikta revolucionra preja no pirms relciju (prior relation) datu bzes sistmm uz relciju datu bzes sistmm. Pirmie datu bzes sistmu risinjumi tika veidoti izmantojot ineniertehniskas idejas, kuras bija veidojus vairku gadu pieredz, strdjot ar lieliem datu apjomiem. Protams, m sistmm bija daudz nepilnbu, jo trka vienota skata uz problmu kopum. 70-to gadu beigs tika izstrdti matemtiskie pamati relciju datu bzm, un jau gandrz 30 gadus relciju datu bzes vai SQL datu bzestiek plai lietotas informcijas sistmu veidoanai. Tas izskaidrojams ar to nopietno un veiksmgo matemtisko pamatojumu, ko izstrdja F. T. Kodds un via ptniecbas grupa[footnoteRef:5]. [5: Codd, E. F.: A relational model of data for large shared data banks. CACM, 1970.]

Izstrdjot DB ar objektu orienttm struktrm, ir vlme saglabt relciju sistmu pamata karkasu, kas daudzu gadu ekspluatcij ir pardjis savas labs pabas[footnoteRef:6]. Pc vairku vadoo specilistu domm, relciju DB model jau potencili ir iekautas iespjas izmantot saliktus datus (jaunus datu tipus), dieml eksistjos relciju DB vadbas sistmas nav to realizjuas[footnoteRef:7]. Tpc ts biei vien sauc ar par pseido(gandrz)relcijas DB sistmm. [6: C. J. Date. Database in Depth. Relational Theory for Practitioners. OReilly (2005)] [7: Simon, A.R.: Strategic Database Technology: management for the year 2000. Morgan Kaufman Publishers, Inc., 1995.]

Datu bzes tehnoloijas attstbas izpratnei un prognozanai ir veltts oti daudz dadu diskusiju, darbu un ptjumu. Nozmgkie ir trs datu bzes sistmu manifesti, kuru veidoan piedaljuies vadoie datu bzes tehnoloijas specilisti. Pirmaj manifest - Objektorientts datu bzes sistmas manifest (1989. g.) datu bzes sistmai tika izvirzti divi kritriji:

1) datu bzes vadbas sistmai jnodroina: datu permanenta glabana, sekundrs atmias vadba, datu izmantoanas konkurences vadba, datu atjaunoanas iespjas un neprognozjamu (ad hoc) vaicjumu izpildes iespjas;

2) objektorienttai datu bzes sistmai jnodroina saliktu objektu veidoana, objektu identitte, datu iekapsulana, mantoana, paplainanas iespjas un lietojumu un datu bzes datu struktru saskaotba.

Kopjais secinjums bija, ka relciju datu bzes sistmas ir novecojuas un neatbilstoas relo uzdevumu risinanai[footnoteRef:8]. Jpilnveido un jlieto objektorientts datu bzes sistmas. [8: The Object-Oriented Database System Manifesto. Malcolm Atkinson (University of Glasgow), Franois Bancilhon (Altar), David DeWitt (University of Wisconsin), Klaus Dittrich (University of Zurich), David Maier(Oregon Graduate Center), Stanley Zdonik (Brown University), 1989.]

Otraj manifest - Tres paaudzes datu bzes sistmas manifest[footnoteRef:9] (1990. g.) definja 3 pamatprincipus, kuri jrealiz jaunajs datu bzes vadbas sistms: [9: The Committee for Advanced DBMS Function, 1990.https://www.cl.cam.ac.uk/teaching/2003/DBaseThy/or-manifesto.pdf]

1) papildus tr