74
RĪGAS TEHNISKĀ UNIVERSITĀTE Datorzinātnes un informācijas tehnoloģijas fakultāte Informācijas tehnoloģijas institūts XML datu bāzes izveidošana un izmantošana Izstrādāja: Vladimirs Rusakovs Rīga - 2011

UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

  • Upload
    lethuan

  • View
    232

  • Download
    11

Embed Size (px)

Citation preview

Page 1: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

RĪGAS TEHNISKĀ UNIVERSITĀTEDatorzinātnes un informācijas tehnoloģijas fakultāte

Informācijas tehnoloģijas institūts

XML datu bāzes izveidošana un izmantošana

Izstrādāja: Vladimirs Rusakovs

Rīga - 2011

Page 2: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

Saturs

1 UZDEVUMA NOSTĀDNE.............................................................................................................................4

2 IEVADS.......................................................................................................................................................5

3 PROBLĒMSFĒRAS APRAKSTS......................................................................................................................6

4 DARBA UZSĀKŠANA AR ORACLE 11g R2....................................................................................................8

5 TABULU BEZ SHĒMAS IZVEIDE.................................................................................................................11

5.1 Direktorijas izveide..........................................................................................................................11

5.2 Tabulas KOMANDAS definēšana......................................................................................................11

5.3 Tabulas FUTBOLISTI definēšana.......................................................................................................12

5.4 Datu ievade izveidotajā tabulā........................................................................................................12

5.5 Vaicājumu definēšana un izpildīšana...............................................................................................15

5.5.1 GETCLOBVAL............................................................................................................................15

5.5.2 ExistsNode...............................................................................................................................16

5.5.3 XMLExists.................................................................................................................................19

5.5.4 Extract......................................................................................................................................19

5.5.5 EextractValue...........................................................................................................................20

5.5.6 XMLCast...................................................................................................................................21

5.5.7 PL/SQL vaicājums.....................................................................................................................21

6 XML DOKUMENTU SHĒMAS IZVEIDOŠANA UN REĢISTRĒŠANA..............................................................23

6.1 Darbs ar Oxygen XML Editor............................................................................................................23

6.2 KOMANDAS shēmas izveide............................................................................................................24

6.3 FUTBOLISTI shēmas izveide.............................................................................................................25

6.4 SEZONI shēmas izveide....................................................................................................................27

6.5 XMLType tipa tabulas izveidošana:..................................................................................................29

6.5.1 Strukturētā veidā.....................................................................................................................29

6.5.2 Nestrukturētā veidā.................................................................................................................29

6.5.3 Bināra veidā............................................................................................................................302

Page 3: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

7 DATU IEVADE TABULĀS AR SHĒMĀM......................................................................................................32

7.1 Datu ielāde tabulā KOMANDAS_STRUKTURETA..............................................................................32

7.2 Datu ielāde tabulā FUTBOLISTI_NESTRUKTURETA...........................................................................33

7.3 Datu ielāde tabulā SEZONI_BINARA.................................................................................................33

8 VAICĀJUMU DEFINĒŠANA UN IZPILDE.....................................................................................................35

8.1.1 Vaicājumu atšķirība tabulām ar dažādu veidu shēmām...........................................................35

8.1.2 XMLExists.................................................................................................................................36

8.1.3 XMLCast...................................................................................................................................37

8.1.4 ExistsNode...............................................................................................................................38

8.1.5 Extract......................................................................................................................................38

8.1.6 ExtractValue.............................................................................................................................39

9 XML DATU IZVADĪŠĀNA RELĀCIJU DATU VEIDĀ......................................................................................40

10 RELĀCIJU DATU IZVADĪŠANA XML DATU VEIDĀ...................................................................................43

11 SECINĀJUMI.........................................................................................................................................47

12 LITERATŪRA.........................................................................................................................................49

13 PIELIKUMI............................................................................................................................................50

3

Page 4: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

1 UZDEVUMA NOSTĀDNE

Trešajā praktiskajā darbā ir jāveido XML datu bāze un ir jāizmanto tās iespējas.

1. XMLType tipa tabulas bez shēmas izmantošanas izveidošana .

2. Datu ievade izveidotajā tabulā.

3. Vaicājumu definēšana un izpildīšana (XQuery, PL/SQL, SQL vaicājumi).

4. XML dokumentu shēmas izveidošana un reģistrēšana datu bāzē.

5. XMLType tipa tabulas izveidošana:

- strukturētā veidā;

- nestrukturētā veidā;

- binārā veidā (Oracle11g).

6. Datu ievade izveidotajās tabulās.

7. Vaicājumu definēšana un izpildīšana (XQuery, PL/SQL, SQL vaicājumi).

8. XML datu izvadīšana relāciju datu veidā.

9. Relāciju datu izvadīšana XML datu veidā.

10. Secinājumi

4

Page 5: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

2 IEVADS

Paplašināmās iezīmēšanas valoda (Extensible Markup Language — XML) un ar to saistītās

tehnoloģijas kļūst arvien populārākas, jo nodrošina plašas iespējas datu aprakstīšanai un to tālākai

apstrādei, uzturēšanai, izmantošanai un transformēšanai. XML ir uzskatāms par universālu standartu

informācijas sistēmu integrēšanai un datu apmaiņas nodrošināšanai. XML tehnoloģijas nodrošina

platformas neatkarīgu un drošu starpslāni starp informācijas sistēmām, jo datu apmaiņa tiek

realizēta, izmantojot atvērtos standartus un XML shēmas.

Shēmas balstītas uz pasaules tīmekļa konsorcija World Wide Web Consortium (W3C)

standartiem. Datu apmaiņas standartizācijas nepieciešamība izriet no vajadzības veikt datu apmaiņu

starp daudzām informācijas sistēmām, nodrošinot informācijas tālāko izmantošanu nākotnes

informācijas sistēmās. Datu struktūrai jābūt standartizētai, lai ar vienotu transformācijas shēmu

varētu attēlot datus lietojumprogrammās. XML ir objektorientēta valoda, kas nodrošina dažādu datu

struktūru definēšanu pēc nepieciešamības un kuru var izmantot jebkurā platformā, operācijas

sistēmā un vidē, tādējādi XML tehnoloģijas izmantošana nodrošina lielāku elastību attiecībā uz

informācijas tehnoloģijas sistēmu pielāgošanas iespējām nākotnē.

Darba temata aktualitāte ir balstīta uz XML tehnoloģijas attīstības tendencēm. XML ir

unificēts formāts, kas kļūst par de facto standartu elektronisko dokumentu sfērā. Mūsdienās XML

tehnoloģijas risinājumi plaši izmantojami valsts un pašvaldību iestāžu, uzņēmumu, banku, arhīvu

informācijas sistēmās, t.sk. datu apmaiņas, integrācijas, datu arhivēšanas pārvaldības jomās. XSLT

transformācijas plaši tiek pielietotas arī Web programmēšanas un atskaišu ģenerēšanas sfērās. XML

tīmekļa pakalpojumi (XML Web Services) ir programmatūras komponentes, kas ar tīmekļa

starpniecību ļauj lietotājiem ērti integrēt dažādus lietojumus, saņemt informāciju no dažādiem

avotiem neatkarīgi izmantotās programmatūras platformas.

Darba mērķis ir izpētīt un pielietot XML tehnoloģijas: XMLType tabulas un kolonas izveide

bez shēmas un ar shēmu, izmantojot strukturēto, nestrukturēto un bināro XML dokumenta

glabāšanas veidus. Ir jāizveido vaicājumi ar SQL, XQuery un PL/SQL palīdzību. Ir jāparada XML

datu izvadīšana relāciju datu veidā un relāciju datu izvadīšana XML datu veidā.

5

Page 6: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

3 PROBLĒMSFĒRAS APRAKSTS

Telpu futbols ir komandu sporta veids, kas tiek spēlēts uz mazāka laukuma un galvenokārt

iekštelpās. Telpu futbolu spēlē starp divām komandām no pieciem spēlētājiem, no kuriem viens ir

vārtsargs. Spēlē ir atļauts neierobežots spēlētāju maiņu skaits.

Latvijā telpu futbols ir viens no pieejamākajiem un iecienītākajiem sporta veidiem. Spēles

laukuma izmēri ir 42x26 m. Laukuma galos ir novietoti vārti, kuru izmērs ir 2x3 m. Vārtsargs ir

vienīgais komandas spēlētājs, kurš drīkst bumbu spēlēt, raidīt vai atvairīt ar rokām tikai vārtsarga

laukumā (6m zona).

Galvenās atšķirības no klasiskā futbola ir:

speciāla futbola bumba (Nr. 4);

spēle galvenokārt notiek iekštelpās;

spēles laukuma izmērs ir 42x26m (starptautiskas sacensības), ne mazāks par 25x16m (vietējās sacensības).

spēlētāju skaits laukumā katrā komandā ir 4 laukuma spēlētāji un 1 vārtsargs;

spēles laiks ir 2 puslaiki, katrs 20 min;

spēlē ir atļauts neierobežots spēlētāju maiņu skaits.

Latvijas telpu futbola 2011/2012.gada čempionāts tiek izspēlēts divos etapos:

Pirmais etaps: čempionāta komandas izspēlē divu riņķu turnīru, pēc kura rezultātiem 7

(septiņas) komandas, turpina cīņu „play-off” jeb izslēgšanas spēļu stadijā.

„Play-off” sākas ar ¼ fināla spēlēm, kur tiekas 2.-7., 3.-6., 4.-5. regulārā čempionāta vietu

ieguvēji, pāra uzvarētājs tiek noteikts pēc divām uzvārētām spēlēm. Regulārā čempionāta uzvarētāju

komanda automātiski kvalificējas ½ finālam.

6

Page 7: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

½ fināla uzvarētāji tiek noteikti pēc trim uzvarētām. Latvijas telpu futbola čempionāta fināla

sērija tiek izspēlēta līdz 3 (trīs) uzvarētām spēlēm (pamatlaika neizšķirta gadījumā, uzvarētājs tiek

noteikts pēcspēles 6m soda sitienos - 3 sitieni katrai komandai, ja uzvarētājs nav noteikts, tad līdz

pirmajai kļūdai).

Latvijas čempions telpu futbolā nodrošinās sev dalību nākamās sezonas UEFA Telpu futbola

kausa izcīņā (UEFA Futsal Cup).°

RTU komanda ir telpu futbola Latvjas čempionāta dalībniece un pašlaik mūsu komandas

vēsturē no 2005. gada nav ierakstu, par čempiona titula iegūvēju. Cerams, ka nākamgad šīs mērķis

tiks sasniegts, jo tagad ir atbalsts gan no līdzjūtējiem, gan no izveidotas XML datu bāzes piemēra,

kurā par problēmsfēras pamatu ir ņemts šis turnīrs. Turpmāk trešajā praktiskajā darbā tiks izstrādāta

datu bāze, kas lidzdarbojas ar XML tehnoloģijām un kuras modelis jeb problēmas vides vizuāls

izskats ir parādīts 3.1. attēlā.

3.1. att. problēmsfēras vizuāls izskats

7

Page 8: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

4 DARBA UZSĀKŠANA AR ORACLE 11g R2

Uzdevuma izpildei sākumā tiek instalēta relāciju datu bāzes pārvaldības sistēma Oracle 11g

R2, kura tiek ņemta no http://www.oracle.com, reģistrējoties un lejupielādējot arhīvu.

Visu programmatūru var atrast: START-> ALL Programms-> Oracle - OraDB11g_home1,

piemēram, SQL*Plus gadījumā datu bāzes pieslēgšanai ir jāievada lietotāja konts, parole, un

globālas datubāzes nosaukums, tas ir parādīts 4.2. attēlā. Savukārt, SQL Developer gadījumā ir

jāizveido jauna savienošana (4.4. att.). Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz

Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija >=6.xx) videi.

4.2. Veiksmīga pieslēgšana ar SQL*Plus utilītas palīdzību

3. praktiskajam darbam tiek pieņemts lēmums izveidot jaunu lietotāju, lai saturs nekrustojas

ar nākamajiem laboratorijas darbiem. Lai realizētu plānoto ir nepieciešams pieslēgties datu bāzei.

Otrkārt, sadaļā „Other Users” ar labas peles pogas palīdzību izvēlēties opciju „Create User”,

aizpildīt formu, definējot lietotāja vārdu (db3_1), paroli (123456) un tās opcijas, beigu beigas

piešķirt tiesības.

Rezultatā saņemts no sistēmas ziņojums, ka jauns lietotājs ir izveidots un visas

nepieciešamas atļaujas ir piešķirtas. Pēc tam ir jāizveido jana savienošana ar datu bāzi

jaunizveidotajam lietotāja kontam.

8

Page 9: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

4.3. att. Jaunam lietotājam piešķirtas tiesības

4.4. SQL Developer savienošanas izveide

Galu galā, bija jāizstrādā attiecīgas DDL( Data Definition Language) un DML( Data

Manipulation Language) komandas, pielietojot iegūtu teoriju praksē.

9

Page 10: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

Vēsture un nedaudz teorijas:

„SQL valoda (Structured Query Language) – jaudīga un universāla relāciju datu bāzes vaicājumu valoda.

SQL valodas modeļa pamatlicējs ir E.F.Kodds no IBM kompānijas, kurš 1970. gadā deva relāciju modeļa formālo definējumu, kas veidoja SQL konceptuālo pamatu.

SQL valodas pamatā ir relāciju algebra un kortežu – relāciju modelis.

SQL papildiespējas:

o Datu iestarpināšanas, modificēšanas un dzēšanas atbalsts. Lietotājam ir atļauts dzēst modificēt, pievienot jaunus ierakstus datu bāzē.

o Matemātiskie operatori. SQL valodā ir izmantoti saskaitīšanas, atņemšanas, reizināšanas dalīšanas un salīdzināšanas operatori.

o Datu atspoguļošana. Lietotājs var izvadīt saites, kuras bija noģenerētas vaicājuma apstrādes laikā.

o Piešķire. Lietotāj var pārdēvēt saiti, noģenerētu vaicājuma apstrādes laikā. Viņš nav ierobežots ar saites standartu vārdu, atvasinātu no lauka vai funkcijas vārda (atkarība no vaicājuma).

o Agregātu funkcijas. Lietotājs var sagrupēt loģiski sasaistītus ierakstus un aprēķināt sakopotus radītājus (vidējo aritmētisko, summu, daudzumu, maksimālu un minimālu vērtību).

SQL valodai ir trīs īpašības, lai atvieglotu vaicājumu veidošanu un manipulēšanu ar datiem:

1. Datu definēšana (DDL), lai radītu datu bāzi un ar to saistītās tabulas (attieksmes).

2. Datu pārvaldība ( datu menedžments) (DML), ļauj organizēt datu ievadi, koriģēšanu, atjaunošanu un izslēgšanu.

3. Vaicājumi – (DML) lai specificētu pieprasījumus datu bāzei.

10

Page 11: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5 TABULU BEZ SHĒMAS IZVEIDE

5.1 Direktorijas izveide

Lai lietotu XML failus, tiek izveidota mape, kur glabātos faili ar datiem. Uz lokāla diska C

tiek izveidota mape, kurā būs visi XML dokumenti, kas nepieciešami datu bāze darbībai ().

5.5. att. XML failu glabāšanas direktorija

Pēc tam tika izveidotas pašas tabulas datu bāzē. Tabulu skaits XML dokumentiem bez

shēmas vaicājumu demonstrēšanai ir vienāds ar 2. Tās ir tabulas par komandām un futbolistiem.

Tālāk trešajā darbā ir aprakstīta trešās tabulas izveidošana.

5.2 Tabulas KOMANDAS definēšana

Tabula KOMANDAS ir divas kolonas.

5.6. att. tabulas KOMANDAS izveide

Pirmā kolona NOSAUKUMS ir dokumenta nosaukuma glabāšanai, bet otra, kuras tips ir

XMLType, XML dokumenta glabāšanai. Uzreiz ir skaidrs, ka tabula nepārbauda nekādu shēmu, 11

Page 12: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

vienkārši ir nepieciešama dokumenta glabāšanai, respektīvi, nav paredzēta nekāda datu validēšana.

XML dokumenti, kas tiek ierakstīti tabulā KOMANDAS atrodas 1. Pielikumā.

5.3 Tabulas FUTBOLISTI definēšana

Tabula FUTBOLISTI ir divas kolonas. Tāpat kā iepriekšējai tabulai un ar to pašu nolūku.

5.7. att. tabulas FUTBOLISTI izveide

XML dokumenti, kas tiek ierakstīti tabulā FUTBOLISTI atrodas 2. Pielikumā.

5.4 Datu ievade izveidotajā tabulā.

Datu ievadīšanai tabulās, tika izmantota INSERT komandas ar PL/SQL komandu begin end;

palīdzību, kas nodrošina uzreiz daudz SQL komandu apstrādi (5.8. att.). Datu ievadei tika izmantots

iepriekš izveidota direktorija SQL Developer izstrādes vidē.

12

Page 13: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.8. att. datu ievade tabulā KOMANDAS

Ar SQL Developer ļoti vienkārši pārbaudīt vai dati tiek ierakstīti tabulās, izmantojot

lietotājam draudzīgo saskarni. Datu izvade ir parādīta 5.9. attēlā.

5.9. att. datu esamība KOMANDAS tabulā

Otrajā tabulā (futbolisti) dati tika ievadīti ar PL/SQL palīdzību. Tika izveidota procedūra

addPlayers ar parametru nosaukums, kuru izmantos faila nosaukuma bez paplašinājuma norādei, un

ciklam nepieciešamie parametri: beigas un sakums. Šajā darbā XML dokumenti tiek sadalīti, piem.,

13

Page 14: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

futbolisti1, futbolisti2, lai vieglāk apstrādāt tos datu bāzē, respektīvi, ja mums vajag ielādēt sākumā

visus futbolistus no visām komandām, tad sakums parametram ir jābūt 1, bet beigas ir jābūt 4.

Inkrementālas ievades laikā ir iespējams definēt, piem., no 2 līdz 4.

Pievienojot failu tika norādīts arī kodējums. Procedūras izveide ir paradīta 5.10. attelā.

5.10. att. PL/SQL procedūra XML dokumentu pievienošanai datu bāzē

Savukārt, procedūras addPlayers izpilde ir parādītā 5.11. attēlā.

5.11. procedūras addPLayers izpilde

Ar SQL Developer ļoti vienkārši pārbaudīt vai dati tiek ierakstīti tabulās, izmantojot

lietotājam draudzīgo saskarni. Datu izvade ir parādīta 5.12. attēlā.

14

Page 15: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.12. att. datu esamība FUTBOLISTI tabulā

5.5 Vaicājumu definēšana un izpildīšana.

5.5.1 GETCLOBVAL

Vaicājumu izpildei tika pielietoti SQL, XQuery un PL/SQL komandas. Lai tieši strādātu ar

XML struktūru, priekš tā mērķa mums arī ir XQuery ar XPath, kuru izmanto vaicājumi. No sākuma

izņemsim tabulas FUTBOLISTI saturu, pielietojot GETCLOBVAL funkciju.

5.13. att. Funcijas getCLOBVal izmantošana15

Page 16: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.5.2 ExistsNode

Pagaidām tā ir vienkārša izgūšana. Tagad izgūsim vienu no ierakstiem ar funcijas existsNode

palīdzību (. attēls). Rezultātā ir izvadīta informācija par komandu „RTU SPORTS”.

5.14. att. existNode vaicājums

Ar XPath var norādīt arī atribūtu, pielietojot simbolu ‘@’. Līdz šim ar existNode no tabulas

KOMANDAS tiek iegūta informācija par RTU SPORTS komandu, bet tagad no tabulas

FUTBOLISTI tiek atlasīti futbolisti, kas trenējas RTU SPORTS telpu futbola komandā. Vaicājums

tabulai FUTBOLISTI ir parādīts 5.15. attēlā.

16

Page 17: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.15. att. existNode vaicājums tabulai FUTBOLISTI

Norādot XML taga indeksu, var uzzināt, vai vispār eksistē elements norādītajā pozīcijā. Piemēram ir redzams, ka eksistē viens ieraksts ar pieciem futbolistiem (5.16. att.).

17

Page 18: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.16. att. funkcijas existNode izmantošana līmeņu pārbaudei

Bet ar 6 futbolistiem uz doto brīdi nav nevienas komandas.

18

Page 19: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.5.3 XMLExists

Ar XMLExists var vienkārši pārbaudīt taga eksistenci. Tā kā ir 4 komandas un visām ir

uzrādīts saknes elements <komandas>, tāpēc visi četri ieraksti ir saskaitīti (5.17. attēls).

5.17. XML dokumenta tagu skaitīšanas vaicājums

5.5.4 Extract

Izmantojot funciju Extract, var izgūt atsevišķus elementus no XMLType lauka. Vaicājumā,

kas ir redzams 5.18. attēlā, tiek atlasītas komandas nosaukumi no tabulas KOMANDAS ar Extract

komandas palīdzību.

5.18. att. extract vaicājums

19

Page 20: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

Pievienojot funkciju text(), var izvadīt tikai norādītā mezgla saturu (5.19. att.).

5.19. att. extract un text funkciju sadarbības vaicājums

5.5.5 EextractValue

Funcija extractValue izgūst elementa saturu un atšķirībā no funcijas extract tai nav jāizmanto

funkcija text, lai atbrīvotots no tagiem (5.20. attēls). Vaicājums – ierakstu pirmo grupu nosaukumi.

5.20. att. extractValue funkcijas pielietošana

20

Page 21: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.5.6 XMLCast

Citā formā tiek pielietota funcija XMLCast, kuras iekšā vēl mēs noradām XMLQuery funciju

un atgriežamā rezultāta formātu (5.21. att.).

5.21. att. XMLCast funkcijas pielietošana

5.5.7 PL/SQL vaicājums

Lai pabeigtu sadaļu ar PL/SQL, tiek izveidota procedūra KomandasInfo, kura (21. attēls),

kura izvada informāciju par komandu dabiskajā valodā. Procedūras izpildes rezultāts ir parādīts

5.22 attēlā, bet tā izveide ir redzama 5.23 attēlā.

5.22. att. procedūras KomandasInfo rezultāts

21

Page 22: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

5.23. att. procedūras KomandasInfo izveide

22

Page 23: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6 XML DOKUMENTU SHĒMAS IZVEIDOŠANA UN REĢISTRĒŠANA

Pirms XML dokumentu shēma tiek izmantota XML datu bāzē, tā ir jāreģistrē. Shēmas

reģistrāciju veic izmantojot PL/SQL programmu paketi DBMS_XMLSCHEMA. Bet pirms tā šī

shēma ir jāizveido. Šim nolūkam tiek izmantotas XML redaktori, piem., Altova XMLSpy XML

Editor vai Oxygen XML Editor. Dotajā darbā izmantots otrā programmatūra.

Sakumā tiek izveidotas shēmas visām trīs tabulām. Jaunās tabulas dati tiek ņemti no XML

dokumentiem, kas ir paradīti 3. Pielikumā.

6.1 Darbs ar Oxygen XML Editor

Izmantojot XML redaktoru Oxygen XML Editor tiks izveidotas shēmas. Atverot

programmu, sakumā ir jāģenerē shēma. Tools -> Generate Schema (6.24. att.).

6.24. att. Oxygen XML Editor saskarne

Pēc tam norādot avota faila, t.i. XML dokumenta, adresi un shēmas mērķa faila adresi ir

jānospiež „Convert” (6.25. att. ).

23

Page 24: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.25. att. Oxygen XML Editor saskarne

6.2 KOMANDAS shēmas izveide

Rezultātā tiek konvertēta no XML dokumenta shēma .xsd failā, kuras grafisko (6.26. att.) un

teksta (6.27. att.) veidus var apskatīt programmas ietvaros.

6.26. att. shēmas grafisks izskats programmā Oxygen XML Editor

24

Page 25: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.27. att. izveidotas shēmas teksta veids

6.3 FUTBOLISTI shēmas izveide

Lai izveidotu shēmu esošiem XML dokumentiem FUTBOLISTI, tika izmantota programma

Oxygen XML Editor Rezultātā tiek konvertēta no XML dokumenta shēma .xsd failā, kuras grafisko

(6.28. att.) un teksta (6.29. att.) veidus var apskatīt programmas ietvaros.

25

Page 26: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.28. att. shēmas grafisks izskats programmā Oxygen XML Editor

26

Page 27: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.29. att. izveidotas shēmas teksta veids

6.4 SEZONI shēmas izveide

Sakumā tiek izveidotas shēmas visām trīs tabulām. Jaunās tabulas dati tiek ņemti no XML

dokumentiem, kas ir paradīti 3. Pielikumā.

Lai izveidotu shēmu esošiem XML dokumentiem SEZONI, tika izmantota programma

Oxygen XML Editor Rezultātā tiek konvertēta no XML dokumenta shēma .xsd failā, kuras grafisko

(6.30. att.) un teksta (6.31. att.) veidus var apskatīt programmas ietvaros.

27

Page 28: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.30. att. shēmas grafisks izskats programmā Oxygen XML Editor

6.31. att. izveidotas shēmas teksta veids

28

Page 29: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.5 XMLType tipa tabulas izveidošana:

6.5.1 Strukturētā veidā

Strukturētas shēmas reģistrēšanai datu bāzē ir jāizmanto PL/SQL programmu pakets

DBMS_XMLSCHEMA. Komandas XML shēmas reģistrēšana datu bāzē un attiecīgas tabulas

izveide to glabāšanai ir paradītas attiecīgi 6.32. un 6.33. attēlos.

6.32. att. KOMANDAS shēmas reģistrēšana datu bāzē

6.33. tabulas KOMANDAS_STRUKTURETA izveide

6.5.2 Nestrukturētā veidā

Nestrukturētas shēmas reģistrēšanai datu bāzē ir jāizmanto PL/SQL programmu pakets

DBMS_XMLSCHEMA. Komandas XML shēmas reģistrēšana datu bāzē un attiecīgas tabulas

izveide to glabāšanai ir paradītas attiecīgi 6.34. un 6.35. attēlos.

29

Page 30: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.34. att. FUTBOLISTI shēmas reģistrēšana datu bāzē

6.35. att. tabulas FUTBOLISTI_NESTRUKTURETA izveide

6.5.3 Bināra veidā

Bināras shēmas reģistrēšanai datu bāzē ir jāizmanto PL/SQL programmu pakets

DBMS_XMLSCHEMA. Komandas XML shēmas reģistrēšana datu bāzē un attiecīgas tabulas

izveide to glabāšanai ir paradītas attiecīgi 6.36. un 6.37. attēlos.

30

Page 31: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

6.36. att. SEZONI shēmas reģistrēšana datu bāzē

6.37. att. tabulas SEZONI_BINARA izveideShēmu reģistrēšanas veiksmīgumu ir viegli pārbaudīt ar SQL Developer palīdzību (6.38. att).

6.38. att. reģistrētas shēmas

31

Page 32: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

7 DATU IEVADE TABULĀS AR SHĒMĀM

Uzdevuma nostādne: „ XML dokumentu datu ielāde jāveic izmantojot SQL komandu INSERT.”

Pēc teorijas datu pārvaldība ir:

1. Datu ievade INSERT INTO m (i1, ..., in), VALUES ( v1, ..., vn)kur m – ir tabulas vārds, i1, ..., in – atribūti, vi, ...,vn – atribūtu vērtības

2. Datu izslēgšanaDELETE FROM m WHERE cc – nosacījums, kas ierobežo kortežus, kuri ir jāizslēdz. DELETE FROM m – šī komanda dos visu rindu izslēgšanu no m.

3. Datu atjaunošanaKomanda UPDATE maina vērtības eksistējošās tabulās. UPDATE m

SET i1=e1,..., in=en

WHERE c,kur i – veca vērtība e – jaunā vērtība c – izvēles nosacījumi

Lai aizpildītu tabulas ar datiem, pirmkārt, jālieto datu pārvaldības 1. punktu. Kad visi

datubāzes struktūras izveidošanas posmi ir izpildīti jāsāk ievadīt dati tabulās.

7.1 Datu ielāde tabulā KOMANDAS_STRUKTURETA

Dati ir tie paši, kuri glabājās tabulā bez shēmas KOMANDAS. Izmēģinājumos bija

iespējams ielādēt jebkuru XML struktūru tabulā ar XMLType, kur nebija norādīta shēma. Bet tabulā

KOMANDAS_STRUKTURETA neatbilstošās XML struktūras ielāde jau veicinās paziņojuma par

kļūdu parādīšanos. Datu ielāde tabulai KOMANDAS_STRUKTURETA ir parādīta 7.39. attēlā.

32

Page 33: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

7.39. att. datu ielāde tabulā KOMANDAS_STRUKTURETA

7.2 Datu ielāde tabulā FUTBOLISTI_NESTRUKTURETA

Datu ielāde tabulai FUTBOLISTI_NESTRUKTURETA ir parādīta 7.40. attēlā.

7.40. att. datu ielāde tabulā FUTBOLISTI_NESTRUKTURETA

7.3 Datu ielāde tabulā SEZONI_BINARA

Datu ielāde tabulai SEZONI_BINARA ir parādīta 7.41. attēlā.33

Page 34: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

7.41. att. datu ielāde tabulā SEZONI_BINARA

34

Page 35: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

8 VAICĀJUMU DEFINĒŠANA UN IZPILDE

Veidojot vaicājumus tabulām ar shēmu, tiks izmantotas tās pašas funkcijas tikai nedaudz

atšķirīgā formā. Tomēr būs redzams, kas ir kopīgs un kas ir atšķirīgs, salīdzinot ar tabulām bez

shēmām.

8.1.1 Vaicājumu atšķirība tabulām ar dažādu veidu shēmām

Sekojošais vaicājums (8.42. att.) izņem no tabulas ar nestrukturētu variantu visus ierakstus.

Rezultāts ir līdzīgs darbam ar tabulu bez shēmas

8.42. att. vienkāršs vaicājums tabulai ar predefinēto shēmu

Analoģisks rezultāts ir izgūstot XMLType datus no tabulas ar bināro variantu (8.43. attēls).

35

Page 36: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

8.43. att. vienkāršs vaicājums tabulai ar bināro struktūru

Atšķirībā no iepriekšējiem vaicājumiem, kad izpildot vaicājumu datiem no tabulas ar

strukturēto variantu, rezultāts ir negaidīts (8.44. attēls).

8.44. att. Visu XMLType datus izgūšana no tabulas KOMANDAS_STRUKTURETA

8.1.2 XMLExists

Ir jāpārbauda, vai tiešām dati dotajā tabulā ierakstījās korekti. Sekojošais vaicājums (8.45.

attēls) izņem tos ierakstus, kuros eksistē elements KOMANDAS_STRUKTURETA. Atgriežamo

36

Page 37: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

ierakstu daudzums ir vienāds ar 4 – tik daudz, cik bija arī ievadīts – tāpēc dati patiešām tabulā ir

kaut kā strukturēti.

8.45. att. XMLExists vaicājums tabulai KOMANDAS_STRUKTURETA

8.1.3 XMLCast

Tālāk ir apskatīti citi vaicājumi šai tabulai. Vaicājums (8.46. attēls) izgūst komandas

informāciju pēc tālruņa numura.

8.46. att. Strukutrētas tabulas vaicājums ar XMLCast funkcijas palīdzību

37

Page 38: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

8.1.4 ExistsNode

Pielietojot funkciju ExistNode varam izgūst Latvijas Virslīgas čempionāta telpu futbolā

2011./2012. Gada sezonā turnīra informāciju par RTU SPORTS (8.47. att. ).

8.47. att. ExistsNode pilietojums tabulai sezoni _binara

8.1.5 Extract

Līdzīgi kā 5.3.5 paragrāfā extract funkcijas izmantošanas gadījumā rezultāts ir līdzīgs.

Iegūstam komandu nosaukumus

8.48. att. extract funkcijas pielietojums

38

Page 39: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

8.1.6 ExtractValue

Nākamā nodaļā ir aprakstīts XML dokumenta transformācija relāciju datu veidā, lai izvadītu

informāciju ar vienkāršo select palīdzību, bet izmantojot funkciju EextractValue principā ir

iespējams izveidot datus relāciju datu bāzes veidā (8.49. att). Bet uzdevuma nostādne skan nedaudz

nesaprotami un dotos piemēros studenti izmantojuši PL/SQL šim nolūkam, tāpēc bija piņemt

lēmums izdarīt to pašu.

8.49. datu izvade relāciju datu veidā ar extractValue funkcijas palīdzību

39

Page 40: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

9 XML DATU IZVADĪŠĀNA RELĀCIJU DATU VEIDĀ

Šajā sadaļā es aprakstīju datu ievadi no XML failiem rdb tabulās. Tas nozīmē ka XML dati

tiek transformēti relāciju datos un tādā veidā ierakstīti tabulās. Īstenībā mēs varētu arī neizmantojot

XML avotus ierakstīt datus relāciju tabulās ar vienkārša INSERT palīdzību. Izveidota procedūra šim

nolūkam ir parādīta 9.50. attēlā.

40

Page 41: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

9.50. att. procedūra writeTeams

Izmantojot Sql Developer 3.0 izstrades vidi ir ļoti vienkārši veikt procedūras atkļūdošanu (9.51. att.), kas ir ļoti priecīgs fakts ātriem programmētajiem, kas sākuma raksta uzmetumu un pēc tam koriģē.

41

Page 42: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

9.51 atkļūdošanas iespējas SQL Developer 3.0 vidē

Izveidojam attiecīgu tabulu ar nosaukumu KOMANDAS_FROM_XML datu glabāšanai

(9.52. attēls).

9.52. att. tabulas KOMANDAS_FROM_XML izveide

Procedūras no XML dokumenta datu kopēšanai relāciju veidā datu bāzes tabulā izpide ir paradītā 9.53. attēlā.

9.53. att. writeTeams procedūras izpilde

Datu izvade ar vienkārso vaicājumu ir redzama 9.54. attēlā.

42

Page 43: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

9.54. att. KOMANDAS_FROM_XML tabulas vaicājums

43

Page 44: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

10 RELĀCIJU DATU IZVADĪŠANA XML DATU VEIDĀ

Šajā sadaļā transformēsim relāciju datus XML datos. Iepriekšējā sadaļā bija izveidotas

relāciju tabulas. Priekš tabulas KOMANDAS_FROM_XML tiek uzrakstīta procedūra, kura

pārveido relāciju datus XML formātā un ieraksta failā ar nosaukumu, kurš tiek dots procedūras

ieejas parametrā. Šeit tiek izmantots dbms_xmlgen parseri. Ar procedūru tiek atlasīta komanda pēc

nosaukuma. Parametru – nosaukums – vaicājumā ir nodots ar funkcijas setBindValue palīdzību.

Procedūras saveTeamsXML izveide ir paradīta 10.55. attēlā.

10.55. att. saveTeamsXML procedūras izveide

Procedūras izpilde un rezultāti ir aprādīti attiecīgi 10.56. un 10.57. attēlos.

44

Page 45: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

10.56. procedūras saveTeamsXML izpilde

10.57. att. rezultāts

Viens no variantiem, ka izvadīt relāciju datu xml formatā ir izmantojot XQuery, atlasīt datus

ciklā. Vaicājums no 10.58. attēla izgūst tālruņa numuru pēc komandas nosaukuma.

45

Page 46: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

10.58. att. XMLQuery vaicājums tabulai KOMANDAS_FROM_XML

Pielietojot funkciju xmlElement ir iespējams izveidot jaunu XML dokumenta struktūru. xmlAttributes pārveido nepieciešamo kolonas vērtību par atribūtu,savukārt, xmlForest pārveido parametrā (10.59. att.).

10.59. att. xmlElement vaicājuma izpilde

46

Page 47: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

Pileāgojot un attīstot iepriekšējo vaicajumu ir iespējams izveidot pilnu jaunu XML

dokumenta struktūru, piemēram, par katras komandas pieejamo datu bāzē informāciju (10.60. att. ).

10.60. att. xmlElement funkcijas pielietojums

47

Page 48: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

11 SECINĀJUMI

Trešajā praktiskajā darbā ir izpētītas un pielietotas XML tehnoloģijas, izmantojot relāciju

datu bāzes pārvaldības sistēma (DBPS) Oracle 11g un integrēto izstrādes vidi SQL Developer 3.0.

Izstrādes darba gaitā ir izpētīta XML tehnoloģija, apskatītas pieejas un veidi XML dokumentu

glabāšanai, pielietošanai un izgūšanai. Izmantojot komerciāla XML dokumenta redaktora iespējas,

tiek izstrādātas XML dokumentu shēmas, reģistrētas datu bāzē un izmantotas tabulu ar dažādām

shēmām izveidošanai. Dažādu shēmu veidu tabulām un tabulām bez shēmas tiek izpildītas PL/SQL,

XQuery un Xpath vaicājumi, lai pārliecinātos datu esamības un to izmantošanas pareizībā. Ar

PL/SQL palīdzību tiek izveidotas procedūras XML datu izvadīšanai relāciju datu veidā un otrādi.

Problēmsfēras aprakstā ir definēts XML dokumentu modelis par problēmas vidi, kas ir telpu

futbola turnīra datu bāze. Lai vieglāk iepazīties ar šo specifisku problēmsfēru, aprakstā ir

informācija par Latvijas telpas futbola turnīru, kas ņemta no oficiālas mājas lapas

http://www.lff.lv/telpufutbols.

Nākamajā nodaļā ir parādīta darba uzsākšana ar DBPS Oracle 11g un integrēto izstrādes vidi

SQL Developer 3.0. Ir izveidots jauns lietotājs un pieslēgšana datu bāzei, lai, pirmkārt, ierobežotu

DBPS nepareizu izmantošanu un, otrkārt, informācijas filtrēšanai – nav lieku tabulu vaicājumos bez

nosacījumiem utt.

Piektajā nodaļā ir izveidotas tabulas bez shēmas XML dokumentu glabāšanai, izmantojot

iebūvētu DBPS tipu XMLType. Pirms tā iz izveidota mapa priekš XML failiem uz lokālā diska, lai

būtu viegli to atrast un būtu vienkārši tajā ielikt failus. Pēc tabulu KOMANDAS un FUTBOLSITI

definēšanas tajos ir ievadīti dati, izmantojot INSERT SQL komandu un PL/SQL procedūru. Diemžēl

nesanāca ielādēt datus ar SQL*Loader. Piemēros bija atrasts .ctl faila piemērs, bet pēc dažiem

mēģinājumiem nekas nesanāca. Secinājums ir vienkāršs, ka ar SQL*Loader ir ļoti vienkārši ielādēt

milzīgu informācijas apjomu, ja tev ir labi izveidotais šablons, bet tā izveidei ir jāiztērē daudz laika,

kura nebija, izstrādājot pēdējo praktisko darbu. Runājot par vaicājumu definēšanu un izpildīšanu, tad

visas nepieciešamas funkcijas ir apskatītas, pielietojot XPath un Xquery. Galu galā ir izveidota

procedūra, lai izvadītu specifiskas komandas informāciju dabīgajā valodā.

Sestajā nodaļā ir apskatītas un aprakstītas tādas tēmas, kā XML dokumentu shēmas

izveidošana un reģistrēšana datu bāzē, XMLType tipa tabulas izveidošana gan strukturēta, gan

48

Page 49: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

nestrukturētā, gan bināra veidos. Šajā nodaļā shēmu izveidošanai ir izmantots komerciālais XML

dokumentu redaktors Oxygen XML Editor. Rezumējot darbu ar to, ir vērts teikt, ka tam ir draudzīga

saskarne un tas ir ērts izmantošanā. Katras shēmas izveide un reģistrēšana ir parādītas ar attēliem.

Bet vēl arī ir trūkumi. Pēc shēmu izveidošanas bija nepieciešams ar rokām mainīt dažus elementu

tipu apzīmējumus, piemērām no NCName uz string. Vēl bija tā, ka ja elementam ir atribūts, tad

programma neapzīmēja šo elementu ne ar kādu tipu. Tāpēc vajadzēja ar rokām pārveidot koda daļu,

lai būtu nozīmēts elementa tips

Tabulu izveide ar dažādām shēmām ir nepieciešamā. Lielākā strukturētas glabāšanas veida

priekšrocība ir ātrdarbība – glabāšanas veids nodrošina vislabāko ātrdarbību datu izgūšanas

vaicājumiem. Vaicājumu ātrdarbība ir pielīdzināma SQL valodas vaicājumu ātrdarbībai. Veidojot

tabulu ar XML dokumenta nestrukturētu glabāšanas veidu, nevajag domāt par datu pārveidošanu.

Savukārt, lielākā binārā glabāšanas veida priekšrocība ir elastīgums. Tas nozīmē, ka var tikt glabāti

gan XML dokumenti, kas nav balstīti uz XML shēmas, gan dokumenti, kas ir balstīti uz XML

shēma.

Septītajā un astotajā nodaļās ir attiecīgi datu ielāde un vaicājumu izveide tabulām, kurām ir

predefinēta XML dokumentu shēma. Ielādēšanas process neatšķiras no līdzīga procesa ar tabulām

bez shēmu. Bet shēmas esamība garantē datu kvalitāti. Veidojot vaicājumus tabulām ar shēmu, tiks

izmantotas tās pašas funkcijas tikai nedaudz atšķirīgā formā. Atšķirīga ir strukturētas tabulas XML

dokumenta satura aizsargāšanas mehānisma darbība. Izgūt XML dokumenta saturu bez funkcijas

XMLCast nebija iespējams. Savukārt, pārējas funkcijas tiek pielietotas tabulām bez problēmām.

Pēdējās divās nodaļās ir parādīta iespēja XML datu transformēšanai uz relāciju datu formātu

un otrādi, no relāciju datu formāta uz XML ar PL/SQL palīdzību. Pēc autora domām, izmantojot

funkciju EextractValue, principā ir iespējams izvadīt datus relāciju datu veidā. Bet lietotāju ērtībai ir

vieglāk transformēt datus no XML uz relāciju veidu, lai veiktu parastas SELECT vaicājumus

relāciju tabulai, nevis pielietot specifisku XQuery un XPath valodu funkcijas.

Runājot par tālāko darba attīstības virzienu, tad obligāti ir jāizpēta XML dokumenta shēmas

datu validēšanas iespējas.

Darbā ir iekļauti 65 attēli, 4 literatūras avoti, 3 pielikumi. Darba kopējais apjoms ir 56

lappuses.

49

Page 50: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

12 LITERATŪRA

- prof J.Eiduks. Lekciju konspekti un darba izpildes piemēri studiju priekšmetā “ Progresīvas datu

bāzes””. – 2011

2 - Meklēšanas sistēma Google [Elektroniskais resurss]. - http://www.google.com/ , - 2011. – 15.

decembris

3- Tīmekļa informācijas sistēma Oracle [Elektroniskais resurss]. http://www.oracle.com/ , - 2011. –

15. Decembris

4 - Tīmekļa lapa LFF [Elektroniskais resurss]. http://www.lff.lv/, - 2011. – 15. Decembris

50

Page 51: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

13 PIELIKUMI

51

Page 52: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

1. Pielikums

Faila nosaukums Faila saturskomanda1.xml <?xml version="1.0" encoding="UTF-8"?>

<komandas><komanda sportaVeids="Telpu futbols">

<nosaukums>RTU SPORTS</nosaukums><valsts>Latvija</valsts><pilseta>Rīga</pilseta><iela>Raņķa dambis</iela><nr>24 A</nr><talrunis>(+371) 67089307</talrunis>

</komanda></komandas>

komanda2.xml <?xml version="1.0" encoding="UTF-8"?><komandas>

<komanda sportaVeids="Telpu futbols"><nosaukums>Nikars</nosaukums><valsts>Latvija</valsts><pilseta>Rīga</pilseta><iela>Ezenšteina</iela><nr>39-35</nr><talrunis>(+371) 29416066</talrunis>

</komanda></komandas>

komanda3.xml <?xml version="1.0" encoding="UTF-8"?><komandas>

<komanda sportaVeids="Telpu futbols"><nosaukums>RABA</nosaukums><valsts>Latvija</valsts><pilseta>Riga</pilseta><iela>Ganibu dambis</iela><nr>27</nr><talrunis>(+371) 67381595</talrunis>

</komanda></komandas>

komanda4.xml <?xml version="1.0" encoding="UTF-8"?><komandas>

<komanda sportaVeids="Telpu futbols"><nosaukums>TSI</nosaukums><valsts>Latvija</valsts><pilseta>Riga</pilseta><iela>Lomonosova </iela><nr>1</nr><talrunis>(+371) 28654451</talrunis>

</komanda></komandas>

52

Page 53: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

2. Pielikums

Faila nosaukums Faila satursfutbolisti1.xml <?xml version="1.0" encoding="UTF-8"?>

<futbolisti><futbolists komanda="RTU SPORTS">

<vards>Andrejs</vards><uzvards>Ivanovs</uzvards><dz_datums>14.01.1989</dz_datums><augums>187</augums><svars>83</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists><futbolists komanda="RTU SPORTS">

<vards>Arturs</vards><uzvards>Pallo </uzvards><dz_datums> 27.02.1989</dz_datums><augums>171</augums><svars>71</svars><dzim.vieta>Valmiera</dzim.vieta>

</futbolists><futbolists komanda="RTU SPORTS">

<vards>Dainis</vards><uzvards>Kovals</uzvards><dz_datums>11.08.1976</dz_datums><augums>177</augums><svars>83</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="RTU SPORTS">

<vards>Edgars</vards><uzvards>Bricis </uzvards><dz_datums> 02.04.1986</dz_datums><augums>190</augums><svars>83</svars><dzim.vieta>Riga</dzim.vieta>

</futbolists><futbolists komanda="RTU SPORTS">

<vards>Ģirts</vards><uzvards>Paulis</uzvards><dz_datums>19.11.1972</dz_datums><augums>186</augums><svars>85</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists></futbolisti>

futbolisti2.xml <?xml version="1.0" encoding="UTF-8"?><futbolisti>

<futbolists komanda="Nikars"><vards>Igors</vards><uzvards>Dacko</uzvards>

53

Page 54: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

<dz_datums>01.02.1981</dz_datums><augums>179</augums><svars>77</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="Nikars">

<vards>Vadims</vards><uzvards>Ļašenko</uzvards><dz_datums>07.04.1984</dz_datums><augums>170</augums><svars>68</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="Nikars">

<vards>Eduards</vards><uzvards>Mišuta</uzvards><dz_datums>30.07.1990</dz_datums><augums>175</augums><svars>75</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="Nikars">

<vards>Aleksandrs</vards><uzvards>Žukovs </uzvards><dz_datums> 24.01.1981</dz_datums><augums>175</augums><svars>77</svars><dzim.vieta>Riga</dzim.vieta>

</futbolists><futbolists komanda="Nikars">

<vards>Aleksejs</vards><uzvards>Baranovs</uzvards><dz_datums>01.11.1986</dz_datums><augums>175</augums><svars>70</svars><dzim.vieta>Jēkabpils</dzim.vieta>

</futbolists></futbolisti>

futbolisti3.xml <?xml version="1.0" encoding="UTF-8"?><futbolisti>

<futbolists komanda="RABA"><vards>Maksims</vards><uzvards>Seņs</uzvards><dz_datums>14.01.1989</dz_datums><augums>187</augums><svars>83</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists><futbolists komanda="RABA">

<vards>Emils</vards><uzvards>Muižnieks </uzvards>

54

Page 55: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

<dz_datums> 27.02.1989</dz_datums><augums>171</augums><svars>71</svars><dzim.vieta>Valmiera</dzim.vieta>

</futbolists><futbolists komanda="RABA">

<vards>Jevgēnijs</vards><uzvards>Hecbergs</uzvards><dz_datums>11.08.1976</dz_datums><augums>177</augums><svars>83</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="RABA">

<vards>Pāvels</vards><uzvards>Skaļenko </uzvards><dz_datums> 02.04.1986</dz_datums><augums>190</augums><svars>83</svars><dzim.vieta>Riga</dzim.vieta>

</futbolists><futbolists komanda="RABA">

<vards>Dmitrijs</vards><uzvards>Kručeks</uzvards><dz_datums>19.11.1972</dz_datums><augums>186</augums><svars>85</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists></futbolisti>

futbolisti4.xml <?xml version="1.0" encoding="UTF-8"?><futbolisti>

<futbolists komanda="TSI"><vards>Oļegs</vards><uzvards>Kopča</uzvards><dz_datums>14.01.1989</dz_datums><augums>187</augums><svars>83</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists><futbolists komanda="TSI">

<vards>Arturs</vards><uzvards>Titovs </uzvards><dz_datums>

27.02.1989</dz_datums><augums>171</augums><svars>71</svars><dzim.vieta>Valmiera</dzim.vieta>

</futbolists><futbolists komanda="TSI">

<vards>Dainis</vards>55

Page 56: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

<uzvards>Djomins</uzvards><dz_datums>11.08.1976</dz_datums><augums>177</augums><svars>83</svars><dzim.vieta>Rīga</dzim.vieta>

</futbolists><futbolists komanda="TSI">

<vards>Edgars</vards><uzvards>Inozemcevs </uzvards><dz_datums>

02.04.1986</dz_datums><augums>190</augums><svars>83</svars><dzim.vieta>Riga</dzim.vieta>

</futbolists><futbolists komanda="TSI">

<vards>Ģirts</vards><uzvards>Fertovs</uzvards><dz_datums>19.11.1972</dz_datums><augums>186</augums><svars>85</svars><dzim.vieta>Liepāja</dzim.vieta>

</futbolists></futbolisti>

56

Page 57: UZDEVUMA NOSTĀDNE - Web view7. Vaicājumu ... Piezīme: lai strādātu ar SQL Devleoper obligāti ir jābūt uz Windows operētājsistēmas uzinstalētai Java SE Development Kit (versija

3. Pilikums

Faila nosaukums Faila saturssezoni1.xml <?xml version="1.0" encoding="UTF-8"?>

<sezoni><sezons nosaukums = "Latvijas Virslīgas čempionāts 2009./2010.">

<komandasNos>RTU SPORTS</komandasNos><speles>16</speles><uzvaruSK>6</uzvaruSK><zaudejumuSK>5</zaudejumuSK><neizskirtuSK>7</neizskirtuSK><punkti>19</punkti>

</sezons></sezoni>

sezoni2.xml <?xml version="1.0" encoding="UTF-8"?><sezoni>

<sezons nosaukums = "Latvijas Virslīgas čempionāts 2010./2011."><komandasNos>RTU SPORTS</komandasNos><speles>21</speles><uzvaruSK>9</uzvaruSK><zaudejumuSK>9</zaudejumuSK><neizskirtuSK>3</neizskirtuSK><punkti>30</punkti>

</sezons></sezoni>

sezoni3.xml <?xml version="1.0" encoding="UTF-8"?><sezoni>

<sezons nosaukums = "Latvijas Virslīgas čempionāts 2011./2012."><komandasNos>RTU SPORTS</komandasNos><speles>5</speles><uzvaruSK>1</uzvaruSK><zaudejumuSK>3</zaudejumuSK><neizskirtuSK>1</neizskirtuSK><punkti>4</punkti>

</sezons></sezoni>

57