34
RĪGAS TEHNISKĀ UNIVERSITĀTE DATORZINĀTNES UN INFORMĀCIJAS TEHNOLOĢIJAS FAKULTĀTE Progresīvās datu bāzes (DB3) 3. laboratorijas darbs XML datu tipa izmantošana datu bāzēs Izstrādāja: Liene Liepiņa (081RDC003, I RDGDB0)

XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Embed Size (px)

Citation preview

Page 1: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

RĪGAS TEHNISKĀ UNIVERSITĀTE

DATORZINĀTNES UN INFORMĀCIJASTEHNOLOĢIJAS FAKULTĀTE

Progresīvās datu bāzes (DB3)

3. laboratorijas darbsXML datu tipa izmantošana datu bāzēs

Izstrādāja: Liene Liepiņa (081RDC003, I RDGDB0)

2010./2011. mācību gads

Page 2: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

SatursIevads........................................................................................................................................31. XML pielietojums PostgreSQL datu bāzēs.......................................................................4

1.1. XML funkcijas..........................................................................................................41.1.1. XMLCOMMENT..............................................................................................41.1.2. XMLCONCAT..................................................................................................51.1.3. XMLELEMENT...............................................................................................51.1.4. XMLFOREST...................................................................................................51.1.5. XMLPI..............................................................................................................51.1.6. XMLROOT.......................................................................................................51.1.7. XMLAGG.........................................................................................................51.1.8. IS DOCUMENT, IS NOT DOCUMENT.........................................................6

1.2. XML apstrāde............................................................................................................62. Piemēra realizācija............................................................................................................8

2.1. Datu ievade................................................................................................................82.2. Vaicājumu izpilde ar Xpath.......................................................................................9

3. Rīki ar XML un PostgreSQL atbalstu.............................................................................163.1. EMS Data import for PostgreSQL..........................................................................163.2. RazorSQL................................................................................................................19

Secinājumi...............................................................................................................................22Izmantotā literatūra.................................................................................................................23Pielikumi.................................................................................................................................24

2

Page 3: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

IevadsDarba ietvaros autors ņēma vērā izvirzīto darba uzdevumu un mēģināja veikt izpēti, kā

to varētu realizēt datu bāzē PostgreSQL.

Kā rezultātā tika veiks izpētes darbs, kurā apgūta PostgreSQL pieejam XML datu

apstrādei, ievēroti trūkumi, kā arī iespējas, kas nav iekļautas XML datu apstrādē. Kā

redzēsim darba gaitā, PostgreSQL neatbalsta shēmu realizāciju un funkciju pielietojums vēl

ir izstrādes stadijā.

Tika aplūkoti arī rīki, kas saistās ar XML datu apstrādi un PostgreSQL datu bāzi. Rīki

tika pielietoti, veikti piemēru realizāciju un secināts par to pielietojumu.

3

Page 4: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

1. XML pielietojums PostgreSQL datu bāzēsXML atbalsts datu bāzei var būt attiecināms ar dažādām nozīmēm:

XML datu tips un atbalsta funkcijas

XML eksporta formāts

XML dokumenta kartēšana SQL datubāzē

Aplūkosim kā šie jēdzieni ir realizēti PostgreSQL datubāzē.

Pēdējās PostgreSQL datu bāzēs tiek atbalstīts XML datu tips. Piemēram, tas izskatās

šādi:CREATE TABLE piemers (...,dati xml,...);

Kā jebkurš datu tips, arī šis ietver funkcijas, ar kuru palīdzību varam reāli pielietot

datus. XML tips atšķiras no citu datu ievads. Lai varētu pārveidot teksta rindas uz XML un

atpakaļ tiek lietotas sekojošas funkcijas:

XMLPARSE ( DOCUMENT|CONTENT vertiba ) --> xmlXMLSERIALIZE ( DOCUMENT|CONTENT xml_vertiba AS varchar ) --> varchar

1.1. XML funkcijasIr atbalstītas arī dažādas funkcijas, kuras var izmantot saistībā ar XML dokumentu tipu.

Aplūkosim XML satura realizācijas funkcijas. Tās var pielietot ērtākai darbībai, ievadei un

norādei uz XML tipa datiem. Bet jāmin, ka veiksmīgi var darboties ar pamata XML datiem,

neizmantojot funkcijas. Autors akcentē šīs funkcijas, norādot PostgreSQL iestrādātās

funkcijas.

Vispirms aplūkosim funkcijas, kas saistītas ar XML saturu. Tas ir, dotās funkcijas ļauj

realizēt XML dokumenta saturu. Piemērus atainosimt ar SELECT funkciju, lai redzētu uzreiz

rezultātus.

1.1.1. XMLCOMMENTAtaino komentārus XML dokumentos.

Komanda:SELECT xmlcomment('sveiki!');Rezultāts:<!--sveiki-->

4

Page 5: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

1.1.2. XMLCONCATĻauj savienot dažādus elementus, lai veidotu vienotu saturu XML dokumentā.

Komanda:SELECT xmlconcat('<vards>Liene<vards/>', '<uzvards>Liepina</liepina>');Rezultāts:<vards>Liene<vards/><uzvards>Liepina</liepina>

1.1.3. XMLELEMENTFunkciju parasti lieto kopā ar funkciju XMLATTRIBUTES, kur elements ir XML

dokumenta elements, bet atribūts ir tā vērtība.

Komanda:SELECT xmlelement(name nosaukums, xmlattributes(current_date as datums), ‘saturs’);Rezultāts:<nosaukums datums="2011-04-01">saturs<nosaukums/>

1.1.4. XMLFORESTFunkcija ļauj atainot XML koka struktūru, norādot vērtības un elementus.

Komanda:SELECT xmlforest('abc' AS pirmais, ‘def’ AS otrais);Rezultāts:<pirmais>abc</pirmais><otrais>123</otrais>

1.1.5. XMLPIFunkcija ļauj izveidot XML apstrādes skriptus, piemēram , programmēšanas valodā

PHP.Komanda:SELECT xmlpi(name php, 'echo "hello world";');Rezultāts:<?php echo "hello world";?>

1.1.6. XMLROOTAtaino saknes elementa aprakstu un vērtību atribūtus. Lietot kopā ar funkcijām

XMLPARSE, XMLELEMENT utml.Komanda:SELECT xmlroot(xmlparse(document '<?xml version="1.1"?><content>abc</content>'),version '1.0', standalone yes);Rezultāts: <?xml version="1.0" standalone="yes"?> <content>abc</content>

1.1.7. XMLAGGAtaino apvienotus XML tipa datus no norādītas atrašanās vietas. Jāņem vērā norāde,

vērtību sakritība un secība.

5

Page 6: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Komanda:CREATE TABLE test (y int, x xml);INSERT INTO test VALUES (1, '<foo>abc</foo>');INSERT INTO test VALUES (2, '<bar/>');SELECT xmlagg(x) FROM test;Rezultāts: <foo>abc</foo><bar/>

1.1.8. IS DOCUMENT, IS NOT DOCUMENTFunkcijas vērtība atgriež apstiprinošu vai noraidošu atbildi (TRUE/FALSE). Attiecīgi

izanalizējot XML dokumenta atbilstošu saturu.

1.2. XML apstrādePamatā, lai apstrādātu datu tipu XML PostgreSQL lieto funkciju XPATH, kas realizē

XPath 1.0 izteiksmes.xpath(xpath, xml[, nsarray])

Funkcija xpath apskata xpath izteiksmi attiecībā pret XML vērtību. Tā atgriež XML

masīva vērtības, kas atbilst mezglpunktam, kas norādīts XPath izteiksmē.

Otrais arguments arī ir XML dokuments. Precīzāk, tas ir tikai viens saknes mezgla elements.

Trešais arguments funkcijā ir masīvs „namespace” samērošanai. Šis masīvs ir divdimensiju

masīvs. Pirmais elements katrā masīva ierakstu vārds (alias), otrais ir norāde URL. Un tas

nav noteikti, ka šeit norādītie masīva vārdi ir tie paši, kas XML dokumentā, var brīvi

izveidot sava vaicājuma atainojumu un vērtības.SELECT xpath('/my:a/text()', '<my:a xmlns:my="http://example.com">test</my:a>', ARRAY[ARRAY['my', 'http://example.com']]);Rezultāts:{test}(1 row)

Xpath realizācija un pielietojums būs atainots tālākajā darba nodaļā ar realizētu

piemēru. Jāmin, ka XML dati un to pielietojums PostgreSQL datu bāzēs attīstās. Ir izdoti ari

dažāda informācija par jaunu funkciju iestrādi. Jāmin gan, ka realizācija vēl ir tikai sākuma

stadijā, jo reti, kura no funkcijām arī reāli darbojās PostgreSQL pēdējās versijās, līdz ar to

varam secināt, ka funkcionalitāte vēl ir tikai ieceres līmenī.

Virkne funkciju, kuras ir paredzēts, ka darbosies ar nākamajām PostgreSQL versijām: table_to_xml query_to_xml cursor_to_xml table_to_xmlschema query_to_xmlschema cursor_to_xmlschema table_to_xml_and_xmlschema query_to_xml_and_xmlschema(query text, nulls boolean, tableforest

boolean, targetns text) schema_to_xml

6

Page 7: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

schema_to_xmlschema schema_to_xml_and_xmlschema database_to_xml database_to_xmlschema database_to_xml_and_xmlschema

7

Page 8: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

2. Piemēra realizācijaPiemērā tiek izmantot XML dati par dejošanas nometni. Ir definēti trīs XML datu tipu

definējumi:

Dejotāji – apraksta nometnē piedalošos dalībniekus

Skolotāji – apraksta dejotāju skolotājus

Notikumi – apraksta notikumus nometnes laikā

Pilnie XML dokumenti pieejami darba pielikumā. Tālākajā nodaļās aplūkosim datu

realizāciju un apstrādi PostgreSQL datu bāzē. Katru no datu veidiem ievadīsim savā tabulā,

lai ērti varam pārlūkot un veidot vēlāk arī vaicājumus.

2.1. Datu ievadeIzveidosim tabulu, kurā izvietosim datus par dejotājiem. Izmantosim divus ierakstu

tipus, vienā no tiem norādīsim ieraksta numuru un otrā izvietosim XML datu tipa datus.

att. 1 “Tabulas “dejotaji” izveide”

att. 2 “Datu ievade tabulā “dejotaji””

Identiski veidojam arī tabulas un ievietojam datus gan par skolotājiem, gan par notikumiem.

att. 3 “Tabulas “skolotaji”izveide”

8

Page 9: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

att. 4 “Datu ievade tabulā “skolotaji””

att. 5 “Tabulas “notikumi” izveide”

att. 6 “Datu ievade tabulā “notikumi””

2.2. Vaicājumu izpilde ar XpathPēc datu ievades mēģināsim tos aplūkot un atlasīt, izmantojot Xpath definēšanas

iespējas.

1.vaicājums.

Uzdevums: Atlasīt no tabulas “dejotaji” datus par 2.dejotāju.

Šajā piemērā tiek atainoti visi dati XML pierakstā, bet pateicoties xpath funkcijai un

norādītajam ceļam, bija iespējams atlasīt tikai konkrēto ierakstu.

9

Page 10: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

att. 7 “1.vaicājumu realizācija”

2.vaicājums.

Uzdevums: Atlasīt no tabulas “dejotaji” datus par dejotāju vārdiem un dejām, kuras

tas prot ar 1.līmeni.

Kā redzam SELECT daļā ir iespējams arī norādīt teksta izvades formu. Līdz ar to dati

ir apskatāmi tabulas veidā, vairs neatainojot XML struktūru, bet tikai vērtību datus. Rezultātā

ieguvām visus dejotājus un norādītas dejas, kuras tie prot 1.līmenī.

10

Page 11: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

att. 8. “2.vaicājuma realizācija”

3.vaicājums.

Uzdevums: Atlasīt no tabulas “skolotaji” datus par skolotājiem un dejām, kurām

apguves līmenis ir augstāks par 2.klasi.

att. 9. “3.vaicājuma realizācija”

11

Page 12: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

4.vaicājums.

Uzdevums: Atlasīt no tabulām “dejotaji”un „skolotaji” datus par dejotājiem un

skolotājiem, norādot atbilstošu skolotāju katram dejotājam, dejotāja apgūtās dejas, kā arī

skolotāja dejas, kuras atbilst par 2.klases augstāku līmeni..

att. 10. “4.vaicājuma realizācija”

5.vaicājums.

Uzdevums: Atlasīt no tabulas “dejotaji” un „skolotaji” datus par 2.skolotāja dejotājiem, kas

dzimuši pēc 1988.gada..

att. 11. “5.vaicājuma realizācija”

12

Page 13: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

6.vaicājums

Uzdevums: Atlasīt visus pasākumus, kuru tematika ir “valsis”, norādot notikuma dienu un

laiku.

att. 12. “6.vaicājuma realizācija”

7.vaicājums

Uzdevums: Atlasīt notikumus un konkrētus dejotājus, kuros tiem jāpiedalās, jo tiem ir

iemaņas konkrētās dejas dejošanā. Noradīt dejotāju un notikumu, kurā tam jāierodas.

att. 13 “7.vaicājuma realizācija”

13

Page 14: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

8.vaicājums

Uzdevums: Atlasīt dejotājus, kuri saistās ar konkrētu notikumu un norādīt skolotāju, kas to

vadīs. Notikumu vadīs skolotājs, ja tam ir atbilstoša kvalifikācija.

att. 14. “8.vaicājuma realizācija”

9.vaicājums

Uzdevums: Norādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts

dalībniekiem, kuru dejas “tango” līmenis ir zems, tas ir, 1.

att. 15. “9.vaicājuma realizācija”

14

Page 15: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

10.vaicājums

Vaicājumu apskates nobeigumā, autors vēlējās akcentēt vēl vienu funkcionalitāti.

Ir iespējams izmantot indeksus realizācijā, ko arī atbalsta XPath funkcionalitāte.

Tālākajā piemērā izveidosim indeksu tabulai „dejotaji” un tās XML datiem.

att. 16 “10.viacājuma realizācija”

15

Page 16: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

3. Rīki ar XML un PostgreSQL atbalstu

3.1. EMS Data import for PostgreSQLRīks paredz dažādu datu tipu importēšanu datu bāzē.

Pārbaudīsim, kā tas darbojas ar XML datiem.

Sākotnēji tiek izveidots savienojums ar datu bāzi.

att. 17. “Savienojuma izveide EMS ar PostgreSQL”

Datus varam izvietot gan jau eksistējošā tabulā, gan arī izveidot jaunu.

att. 18. “Datu norāde un tabula izveide DB”

16

Page 17: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

XML dati atbilstoši tiek nolasīti un izanalizēta koka shēma, kā redzams tālākajā attēlā.

att. 19. “XML dokumenta datu analīze EMS”

No pieejamās informācijas tiek automātiski izveidoti tabulas lauki un piedāvāta

strukturēta datu izvietošana.

att. 20. “Datu struktūra tabulā”

Tālākās darbības saistītas ar datu konfigurāciju un tabulas izveidi.

17

Page 18: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

att. 21. “Datu konfigurācija EMS”

att. 22. “Tabulas lauku konfigurācija EMS”

att. 23. “Datu analīze un akceptēšana”

att. 24. “Ierobežojumu norādīšana”

18

Page 19: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Rezultātā tika iegūta tabula ar laukiem, kas tika norādīti importēšanas laikā.

att. 25. “Datu rezultāts DB”Secinājumi par rīku:

Kā redzējām, ar rīka palīdzību varam apstrādāt XML dokumentus. Rezultātā iegūstam

tabulu struktūru, kas atbilst XML dokumenta shēmas saturam. Tas ir elementi un atribūti

sakārtojas tabulās.

Rīks nav viegli pielietojams dažu atsevišķu posmu realizācijai. Datu atpazīšana

dažubrīd ir problemātiska un netiek identificēti nepieciešamie lauki. Rīks var tiks pielietots,

ja nepieciešama kāda XML dokumenta shēmas elementu realizācija datu bāzē. Šo

funkcionalitāti tas atbalsta un veic.

3.2. RazorSQL

att. 26. “Pieslēgties DB ar RazorSQL”

19

Page 20: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

att. 27. “Rīka darba virsma”

Ar rīka palīdzību varam pieslēgties datu bāzei un veikt importēšanas un ekportēšanas

funkcijas. Pievērsīsim uzmanību, kādus datus mēs iegūsim, ja vēlēsimies eksportēt datus

XML formātā.

Ja mēs mēģināsim izveidot jau esošās tabulas „skolotaji” XML datu eksportu.

Rezultātā iegūsim sekojošu dokumentu:

att. 28. “Tabulas eksporta rezultāti”

Kā rezultātā varam secināt, ka gaidāmais rezultāts atspoguļo tabulu no tās izrietot XML

elementus, bet reāli neanalizējot jau esošos XML datus.

20

Page 21: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Mēģinot realizēt tabulu ar kolonnu struktūru un vienkāršiem ierakstiem, varam iegūt

vienkāršotu XML koku.

att. 29. “XML dokumenta iegūšana rīkā “RezorSQL”

Secinājumi par rīku:Rīkam ir ļoti plaša funkcionalitāte un pielietojums var būt ļoti plašs. Konkrētās izpētes

rezultātā, lai secinātu XML atbalsta iespējas. Jāmin, ka funkcionalitāte ir līdzīga kā jau

iepriekš apskatītajam rīkam. Reālo XML tipa analīzi, kas iekļauta datu bāzē nav iespējama.

Netiek atbalstītas ar XML shēmas un tamlīdzīgas iezīmes. Līdz ar to no jauna varam secināt,

ka PostgreSQL datu bāzes ietvaros XML dokumentu tipa apstrādes mehānismiem vēl

jāattīstās.

21

Page 22: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

SecinājumiIzvirzītā darba uzdevuma ietvaros tika izpētītas iespējas datu bāžu sistēma PostgreSQL

un realizācijas iespējas tajā. Sākotnēji tika pētīta dokumentācijā un pamatparugi, lai izprastu

pielietojamības gaitu. Sākotnēji funkcijas un apraksti sniedz priekšstatu, ka tiks piedāvāts

plašs atbalsts un iespējas. Realizējot piemērus un paraugus, saskaramies ar virkni

ierobežojumi, kurus tā arī nevar realizēt.

Neskatoties uz to, jāsaka, ka PostgreSQL ir veicis zināmu soli uz priekšu, lai atbalstītu

progresīvo datu tipu XML. Tikai nedaudz versiju iepriekš kā atsevišķu datu tipu to nevarēja

sastapt. Šobrīd tam ir atsevišķa vieta un apstrādes iespējas ar XPath palīdzību.

Vaicājumu izstrāde ir sākotnēji jāizprot, sākot no sintakses un datu atainošanas

principiem, līdz komplicētāku piemēru realizēšanas iespējām. XPath ir pamata apstrādes

funkcija datu bāzē PostgreSQL. Līdz ar to funkcionalitāte ir atsevišķos uzdevumos

komplicēta.

PostgreSQL diemžēl pašreiz vēl neatbalsta XML shēmu pielietojumu. To realizācija

netiek atbalstīta. Tika izveidots arī shēmas paraugs (skat. 3. pielikums), bet realizāciju tā arī

netika iegūta. Kā redzam, no izstrādātu izteikumiem, šis jautājums ir viens no galvenajiem,

kas tiek solīts datu bāzes nākamajās versijās. Būs interesanti ar ambiciozajām idejām

iepazīties realitātē. Šobrīd ir pieejamas dažas publikācijas un idejas, kā tas varētu darboties,

bet šobrīd tas ir tikai vīzijas līmenī.

Bija interesanti aplūkot rīkus, kas sadarbojas ar datu bāzu sistēmu, datu integrācija un

apstrāde ir iespējama dažādos virzienos. Lai gan jāmin, ka rīki pārsvarā ir maksas produkti

un pieejamas tikai izmēģinājuma versijas, tad tie ļauj izvērtēt to funkcionalitāti. Atsevišķu

komplicētu darba uzdevumu ietvaros, rīki varētu būt noderīgi un pielietojami. Bet ne visi

realizēja gaidāmo rezultātu šī darba ietvaros.

Veicamais uzdevums bija interesants un padziļināti bija iespēja izprast XML struktūru

un pielietojumu tieši datu bāzēs kā datiem. Personīgi izvirzītais mērķis to pielietot

PostgreSQL datu bāzē paņēma daudz laika un papildus izpēti jaunās tehnoloģijas apgūšanai.

Lekciju materiāli atbilda Oracle realizācijai, līdz ar to šī realizācija bija jāveido bez

konkrētām pamatzināšanām.

Gala rezultātā tika padziļinātāki apgūta PostgreSQL datu bāze, tās darbība un

realizācijas iespējas. No kā autors var secināt, ka tā ir jauna, bet ērti pielietojama un

progresējoša sistēma.

22

Page 23: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Izmantotā literatūra1. Lekciju konspekti

2. Interneta resursi:

http://www.scribd.com/doc/2402063/SQLXML-For-Postgres-Developers http://gene.triplenexus.org/xml/postgresxml.xml http://wiki.postgresql.org/wiki/XML_Support http://www.slideshare.net/petereisentraut/postgresql-and-xml http://www.postgresql.org/docs/9.0/interactive/functions-xml.html http://www.razorsql.com . http://developer.postgresql.org/pgdocs/postgres/functions-xml.html

23

Page 24: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

Pielikumi1.pielikums.

Dokuments“dejotaji.xml”<?xml version="1.0"?><dejotaji><dejotajs>

<pamatdati><dejotajs_id>1</dejotajs_id><vards>Marta Kukure</vards><dzimums>siev</dzimums><gads>1986</gads><skolotajs_id>2</skolotajs_id>

</pamatdati><dejas>

<deja limenis="3">valsis</deja><deja limenis="1">tango</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>2</dejotajs_id><vards>Jancis mazais</vards><dzimums>vir</dzimums><gads>1990</gads><skolotajs_id>1</skolotajs_id>

</pamatdati><dejas>

<deja limenis="2">valsis</deja></dejas>

</dejotajs><dejotajs>

<pamatdati><dejotajs_id>3</dejotajs_id><vards>Laine Lillemo</vards><dzimums>siev</dzimums><gads>1990</gads><skolotajs_id>2</skolotajs_id>

</pamatdati><dejas>

<deja limenis="3">valsis</deja><deja limenis="1">tango</deja><deja limenis="1">samba</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>4</dejotajs_id><vards>Santa Lielirbe</vards><dzimums>siev</dzimums>

24

Page 25: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

<gads>1988</gads><skolotajs_id>3</skolotajs_id>

</pamatdati><dejas>

<deja limenis="2">valsis</deja><deja limenis="1">svings</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>5</dejotajs_id><vards>Lauris Vilcis</vards><dzimums>vir</dzimums><gads>1986</gads><skolotajs_id>2</skolotajs_id>

</pamatdati><dejas>

<deja limenis="3">valsis</deja><deja limenis="1">tango</deja><deja limenis="2">tango</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>6</dejotajs_id><vards>Imanuels Rikendo</vards><dzimums>vir</dzimums><gads>1991</gads><skolotajs_id>1</skolotajs_id>

</pamatdati><dejas>

<deja limenis="2">valsis</deja><deja limenis="1">svings</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>7</dejotajs_id><vards>Elizabete Taivo</vards><dzimums>siev</dzimums><gads>1987</gads><skolotajs_id>2</skolotajs_id>

</pamatdati><dejas>

<deja limenis="2">tango</deja></dejas>

</dejotajs><dejotajs>

<pamatdati><dejotajs_id>8</dejotajs_id>

25

Page 26: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

<vards>Laimdota Lilaste</vards><dzimums>siev</dzimums><gads>1990</gads><skolotajs_id>3</skolotajs_id>

</pamatdati><dejas>

<deja limenis="2">valsis</deja><deja limenis="3">samba</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>9</dejotajs_id><vards>Dzintars Mazirbe</vards><dzimums>vir</dzimums><gads>1988</gads><skolotajs_id>3</skolotajs_id>

</pamatdati><dejas>

<deja limenis="3">valsis</deja><deja limenis="1">tango</deja><deja limenis="3">svings</deja>

</dejas></dejotajs><dejotajs>

<pamatdati><dejotajs_id>10</dejotajs_id><vards>Mareks Trevors</vards><dzimums>vir</dzimums><gads>1989</gads><skolotajs_id>1</skolotajs_id>

</pamatdati><dejas>

<deja limenis="1">valsis</deja></dejas>

</dejotajs></dejotaji>

26

Page 27: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

2.pielikumsDokuments “skolotaji.xml”

<?xml version="1.0"?><saraksts><skolotajs>

<pamatdati><skolotajs_id>1</skolotajs_id><vards>Alla Kurme</vards><pieredze>10</pieredze><skola>Rembindo</skola>

</pamatdati><dejas>

<deja klase="5">valsis</deja><deja klase="3">svings</deja><deja klase="2">tango</deja><deja klase="5">samba</deja><deja klase="1">steps</deja>

</dejas></skolotajs><skolotajs>

<pamatdati><skolotajs_id>2</skolotajs_id><vards>Nikolajs Lilaste</vards><pieredze>7</pieredze><skola>Sarma</skola>

</pamatdati><dejas>

<deja klase="5">valsis</deja><deja klase="3">svings</deja><deja klase="5">tango</deja><deja klase="2">samba</deja><deja klase="3">steps</deja>

</dejas></skolotajs><skolotajs>

<pamatdati><skolotajs_id>3</skolotajs_id><vards>Santa Dzene</vards><pieredze>5</pieredze><skola>Dimanti</skola>

</pamatdati><dejas>

<deja klase="5">valsis</deja><deja klase="3">svings</deja><deja klase="2">tango</deja><deja klase="2">samba</deja><deja klase="1">steps</deja>

</dejas></skolotajs></saraksts>

<?xml version="1.0" encoding="ISO-8859-1" ?>

27

Page 28: XML atbalsts datu bāzei var būt attiecināms ar dažādām ... Web viewNorādīt notikumus, uz kuriem jāierodas kādiem no dejotājiem, ja tas ir paredzēts dalībniekiem, kuru

3.pielikumsDokuments “skolotaji.xsd”

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType> <xs:sequence>

<xs:element name="pamatdati"><xs:complexType>

<xs:sequence><xs:element name="vards" type="xs:string"/><xs:element name="pieredze" type="xs:positiveInteger"/><xs:element name="skola" type="xs:string"/></xs:sequence>

</xs:complexType></xs:element><xs:element name="dejas">

<xs:complexType><xs:sequence><xs:element name="valsis" type="xs:string"/><xs:element name="svings" type="xs:string"/><xs:element name="tango" type="xs:string"/><xs:element name="samba steps" type="xs:string"/><xs:element name="tango" type="xs:string"/></xs:sequence>

</xs:complexType></xs:element>

</xs:sequence> </xs:complexType></xs:schema>

28