uzdevuma nostĀdne - web view7. vaicājumu ... piezīme: lai strādātu ar sql devleoper obligāti...
TRANSCRIPT
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
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
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
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
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
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
½ 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
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
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
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
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
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
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
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
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
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
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
5.16. att. funkcijas existNode izmantošana līmeņu pārbaudei
Bet ar 6 futbolistiem uz doto brīdi nav nevienas komandas.
18
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
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
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
5.23. att. procedūras KomandasInfo izveide
22
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
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
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
6.28. att. shēmas grafisks izskats programmā Oxygen XML Editor
26
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
6.30. att. shēmas grafisks izskats programmā Oxygen XML Editor
6.31. att. izveidotas shēmas teksta veids
28
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
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
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
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
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
7.41. att. datu ielāde tabulā SEZONI_BINARA
34
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
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
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
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
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
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
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
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
9.54. att. KOMANDAS_FROM_XML tabulas vaicājums
43
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
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
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
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
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
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
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
13 PIELIKUMI
51
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
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
<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
<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
<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
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