Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto,...

72
RĪGAS TEHNISKĀ UNIVERSITĀTE Datorzinātnes un informācijas tehnoloģijas fakultāte Lietišķo datorsistēmu institūts 1.praktiskais darbs mācību priekšmetā “Lielu datu bāzu administrēšana Izstrādāja: Ieva Kričfalušija Struktūrvienība: 02S03 Tālākizglītības nodaļa Apl.nr.001RDK019

Transcript of Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto,...

Page 1: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

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

Lietišķo datorsistēmu institūts

1.praktiskais darbsmācību priekšmetā

“Lielu datu bāzu administrēšana ”

Izstrādāja: Ieva KričfalušijaStruktūrvienība: 02S03 Tālākizglītības nodaļa

Apl.nr.001RDK019

2013. gada pavasara semestris

Page 2: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Anotācija

Šī praktiskā darba tēma ir ģeometrisko datu (Spatial) datu bāzes izveidošana. Praktiskā darba ietvaros un tā pārskatā realizēta un aprakstīta telpiskās datu bāzes izveidošana, kas satur slāņu, slāņu tabulu definēšanu, grafisko datu ievadi ar SQL komandu INSERT, datu ievadi ar programmu SQL*Loader, meta datu ievadi, indeksu izveidošanu, vaicājumu izveidošanu, vizualizēšanas rīka iespēju izpēti un aprakstīšanu, grafiskās datu bāzes objektu un vaicājumu rezultātu vizualizēšanu.

Praktiskais darbs tika realizēts izmantojot Oracle 10g datu bāzes vadības sistēmu, Integrēto izstrādes vidi (IDE) darbam ar Oracle datu bāzēm – Oracle SQL Developer un tā spraudni (PlugIn) telpisko datu attēlošanai – GeoRaptor.

Darbā iekļauti 78 attēli. Darba kopējais apjoms ir 51 lpp.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 2

Page 3: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Satura rādītājs

1. Darba uzdevums.....................................................................................................52. Telpiskās datu bāzes satura veidošana...................................................................62.1. Slāņu definēšana...................................................................................................72.2. Tabulu un saišu definēšana...................................................................................92.3. Metadatu ievade..................................................................................................112.4. Slāņu tabulu veidošana.......................................................................................13

2.4.1. Telpas.....................................................................................................132.4.2. Serveri....................................................................................................13

2.4.2.1. Apkopes....................................................................................132.4.3. Klimata kontroles...................................................................................14

2.4.3.1. Robežas.....................................................................................142.4.4. Elektro-barošanas iekārtas.....................................................................15

2.4.4.1. Jaudas........................................................................................152.4.5. Ugunsdrošības iekārtas...........................................................................16

2.4.5.1. Apsekošanas.............................................................................162.4.6. Maršrutētāji............................................................................................162.4.7. Kabeļi.....................................................................................................172.4.8. Klimata iekārtas.....................................................................................172.4.9. Piekļuves kontroles................................................................................18

2.5. Datu ielāde ar INSERT un SQL*Loader............................................................182.5.1. Telpas.....................................................................................................192.5.2. Serveri....................................................................................................20

2.5.2.1. Apkopes....................................................................................212.5.3. Klimata kontroles...................................................................................21

2.5.3.1. Robežas.....................................................................................222.5.4. Elektrobarošanas iekārtas.......................................................................23

2.5.4.1. Jaudas........................................................................................232.5.5. Ugunsdrošības iekārtas...........................................................................24

2.5.5.1. Apsekošanas.............................................................................252.5.6. Maršrutētāji............................................................................................262.5.7. Kabeļi.....................................................................................................262.5.8. Klimata iekārtas.....................................................................................282.5.9. Piekļuves kontroles................................................................................29

3. Indeksi..................................................................................................................304. Ģeometriskās datu bāzes ģeometriju vizualizēšana.............................................324.1. Vaicājumu rezultātu vizualizēšanas iespējas......................................................384.2. Vaicājumi............................................................................................................40

4.2.1. Primārā filtra vaicājumi (2)....................................................................404.2.1.1. Ģeometrijas izvēlētajā atlases logā...........................................404.2.1.2. Saistītās ģeometrijas.................................................................41

4.2.2. Topoloģiju analīzes vaicājumi (4)..........................................................424.2.2.1. SDO_TOUCH...........................................................................424.2.2.2. SDO_CONTAINS....................................................................424.2.2.3. SDO_INSIDE...........................................................................434.2.2.4. SDO_EQUAL...........................................................................43

4.2.3. Ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi (4)................444.2.3.1. Maršrutētājam pievienoto kabeļu ģeometrija...........................444.2.3.2. Poligonu koordinātes................................................................444.2.3.3. Objektu kolonnas saturs............................................................444.2.3.4. Elementu masīva vērtības.........................................................45

4.2.4. Atributīvo datu izgūšanas vaicājumi (3)................................................45

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 3

Page 4: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4.2.4.1. Viena tipa kabeļu kopskaits serveru telpā................................454.2.4.2. Elektro iekārtas ar izvēlēto jaudas lielumu...............................464.2.4.3. Jauda, kas 2x lielāka par visu iekārtu kopējo vidējo jaudu.......46

4.2.5. Ģeometriju ģeometrisko datu iegūšanas vaicājumi (4)..........................474.2.5.1. Funkcija SDO_GEOM.VALIDATE_GEOMETRY................474.2.5.2. Funkcija SDO_GEO.AREA.....................................................484.2.5.3. Funkcija SDO_GEO.DISTANCE............................................484.2.5.4. Funkcija SDO_GEO.LENGTH................................................48

Secinājumi.....................................................................................................................49Literatūra un resursi.......................................................................................................51

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 4

Page 5: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

1. Darba uzdevums

Praktiskajā darbā jāizveido ģeometrisko datu (spatial data) datu bāze, izmantojot komerciālus datu bāzes sistēmas paplašinājumus (piemēram, Oracle Spatial). Jāizmanto ģeometriju relāciju – objektu datu bāzes modelis (SDO_GEOMETRY). Veicamie darba uzdevumi maksimālajam novērtējumam ir:

1) Jāizveido vismaz 4 ģeometrisko datu slāņi ar ģeometriskajiem un atributīvajiem datiem. Katru slāni veido pamat-tabula ar ģeometriskiem datiem un papildus tabulas ar atributīviem datiem.

2) Pirms datu ievades jānorāda ģeometriju meta-dati – koordināšu minimālās un maksimālās vērtības, kā arī precizitāte.

3) Gan atributīvo, gan ģeometrisko datu ielāde jāveic izmantojot SQL komandu INSERT;

4) Gan atributīvo, gan ģeometrisko datu ielāde jāveic izmantojot specializētu datu ievades programmu (Oracle DB gadījumā ar SQL*Loader).

5) Jāpielieto parastie, hibrīda un R-koku indeksi.6) Jāveic indeksu ātrdarbības salīdzinājums.7) Ģeometriju datu bāzes pārbaudei jādefinē un jārealizē dažādas sarežģītības

pakāpes datu izgūšanas vaicājumi:8) primārā filtra vaicājumi (2);9) topoloģiju analīzes vaicājumi (4);10) ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi (4);11) atributīvo datu izgūšanas vaicājumi (3);12) ģeometriju ģeometrisko datu iegūšanas vaicājumi (4)).13) Jāveic ģeometriskās datu bāzes ģeometriju vizualizēšana izmantojot kādu

no komerciālām grafisko datu vizualizācijas paketēm (Oracle Map Viewer, Spatial Console vai cita). Jāizpēta tās iespējas.

14) Jāveic ģeometriskās datu bāzes izgūšanas vaicājumu rezultātu vizualizēšana;

15) Jāveic ģeometrisko datu vizualizēšana izmantojot programmēšanas valodu Java un tās bibliotēkas.

Šī darba ietvaros realizēšu 1.–14. no minētajiem uzdevumiem.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 5

Page 6: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2. Telpiskās datu bāzes satura veidošana

Informācijas sistēmu (IS) dažādība ir ļoti liela. Katram IS tipam nepieciešama arī noteikta tipa datu bāzes sistēma (DBS). Relāciju, objektu un relāciju-objektu DBS (RODBS) nav orientētas uz noteiktu IS tipu. Tās ir universālas. Lai iegūtu attiecīgam IS tipam specializētu DBS, tiek veidoti universālo DBS paplašinājumi (extensions). Paplašinājumi galvenokārt tiek veidoti izmantojot relāciju-objektu DBS. Šajās sistēmās dati glabājas modificētās relāciju struktūrās, kurās tiek iekļauti objekti ar metodēm. Bez datu struktūrām datu bāzes (DB) serverī tiek glabātas speciālas servera programmas, kas pilnveido un paplašina DB iespējas. Šajā darbā tiks praktiski tiks apskatīts viens no DBS paplašinājumiem – telpiskais (jeb, ģeometriskais – spatial). (Avots: http://datubaze.wordpress.com/macibu-kursi/db3/db3_rakst/).

Spatial ir izveidots lai atvieglotu telpisko datu pārvaldību un padarītu to dabiskāku lietotājiem vai tādiem lietojumiem, kā, piemēram, Ģeogrāfiskās Informācijas Sistēmām (GIS). Ja tādi dati tiek glabāti Oracle datu bāzē, tad tie ir viegli manipulējami, atjaunojami, un sasaistāmi ar jebkuriem citiem datiem, kas tiek glabāti datu bāzē. (Avots: http://datubaze.wordpress.com/macibu-kursi/db3/macibu-materiali-prieksmeta-progresivas-datu-bazesdb3/macibu-materiali-par-grafiskajam-datu-bazes-sistemam/)

Darba ir uzdevumā noteikts, ka jāizmanto relāciju – objektu datu bāzes modelis. Relāciju – objektu modelis strādā ātrāk par relāciju modeli un atbalsta papildus ģeometriju tipus, kā arī, ir salīdzinoši vieglāk uztverams un veidojams. Ģeometrija tiek glabāta kā objekts vienā rindā un vienā kolonnā ar datu tipu SDO_GEOMETRY. Jebkurā tabulā, kur ir SDO_GEOMETRY tipa kolonna, jābūt arī kolonnai, kurā tiek definēta šīs tabulas primārā atslēga. Tādas tabulas dēvē par ģeometriju tabulām. Tās var savienot ar citām tabulām, kurās glabāsies papildus atribūtu informācija. (Avots: http://datubaze.wordpress.com/macibu-kursi/db3/db3_rakst/)

Attēls Nr. 2-1

Domājot par telpiskās datu bāzes saturu, nolēmu projektēt serveru telpas, jeb datu centra shematisko attēlu, paredzot, ka tajā plānotais saturs ļaus pielietot un praktiski izmēģināt lekciju kursā dzirdēto, kā arī materiālos un internetā izlasīto teoriju. Saprotot, ka nepietiks laika definēt un, rezultātā, arī – grafiski izveidot visus iedomātos serveru telpas elementus, tomēr, ceru šajā darbā realizēt vismaz daļu no tiem, lai izmēģinātu teorijas pielietojumu praksē.

Izmantojamo ģeometriskās telpas fragmenta izmēru paredzēju 150x150 vienību ietvaros. Koordināšu minimālo un maksimālo vērtību definēšanu var apskatīt sadaļā Metadatu ievade.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 6

Page 7: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.1. Slāņu definēšana

Telpisko datu modelis ir hierarhiska struktūra, kas sastāv no:1) elementiem;2) ģeometrijas;3) slāņiem, kuri atbilst telpisko datu attēlojumiem.

Slāņi sastāv no ģeometrijām, kas savukārt sastāv no elementiem. Elements ir ģeometrijas pamata bloks. Atbalstītie elementu tipi ir punkti, līniju virknes, un daudzstūri. Piemēram, ar elements var modelēt zvaigznāju (punktu klasteri), ceļu (līniju virknes), un pilsētas apgabalus (daudzstūri). Katra koordināta elementā tiek glabāta kā X,Y pāris. Ģeometrija ir lietojuma telpiskās īpašības attēlojums, kas ir modelēta kā primitīvo elementu kopa.

Slānis ir ģeometriju heterogēna kolekcija, kas sastāv no ģeometrijām, kurām ir vienāda atribūtu kopa. Piemēram, viens slānis var saturēt topogrāfiskās īpašības, kamēr cits slānis attēlo iedzīvotāju koncentrāciju, un trešais slānis apraksta tiltu un ceļu tīklu šajā laukumā (līnijas un punkti). Katra slāņa ģeometrija un to asociētais telpiskais indekss tiek glabāti datu bāzes standarta tabulās. (Avots: http://datubaze.wordpress.com/macibu-kursi/db3/macibu-materiali-prieksmeta-progresivas-datu-bazesdb3/macibu-materiali-par-grafiskajam-datu-bazes-sistemam/ )

Plānotais attēls var būt sarežģīts. Lai to reģistrētu datu bāzē, attēlu sadala slāņos. Šim dalījumam ir 2 principi:

1) loģiskais (piemēram, ceļi, upes, ēkas);2) ģeometriskais (līnijas, poligoni, utt.).

Analizējot izvēlēto ģeometriju, nolēmu to dalīt slāņos pēc loģiskā principa. Definēju sekojošus slāņus:

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 7

Nr#

Slānis Krāsa

1 Telpas2 Serveri3 Maršrutētāji4 Elektro barošanas iekārtas5 Klimata uzturēšanas iekārtas6 Klimata kontroles 7 Piekļuves kontroles8 Ugunsdrošības iekārtas9 Kabeļi

Page 8: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Kad slāņi realizēti, ģeometriju karte izskatās sekojoši:

Attēls Nr. 2-2

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 8

Page 9: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.2. Tabulu un saišu definēšana

Ģeometrijas tabulās parasti veido vismaz 3 kolonnas. Katrai ģeometrijai obligāti norāda: unikālu ID, unikālu nosaukumu, katram slānim tiek piekārtotas atributīvās informācijas tabulas, parasti ar saiti 1:N.

Visus augstāk minētos, uzskaitītos slāņus definēju tabulās. Paredzēju 9 grafisko objektu tabulas (Telpas, Piekļuves kontroles, Klimata iekārtas, Kabeļi, Maršrutētāji, Serveri, Klimata kontroles, Elektroiekārtas, Ugunsdrošības iekārtas) – pa vienai katram slānim. Četriem, no pieminētajiem slāņiem, definēju atribūtu tabulas (Apkopes, Robežas, Jaudas, Apsekošanas), kurās glabāsies papildus informācija par datu centra objektiem. Starp telpas tabulu un definēto slāņu tabulām paredzēju saiti 1:N. Atribūtu un grafisko objektu tabulām izveidoju saiti 1:N, kas dod iespēju vienam grafiskajam objektam pakārtot vairākus atribūtus.

Lai būtu ērtāk projektēt darba uzdevumā paredzēto struktūru, izveidoju sākotnējo skici, kas ļaus izvairīties no precizitātes problēmām veidojot datu tabulas, kā arī, vieglāk un uzskatāmi ļaus realizēt paredzēto uzdevumu. Jāpiemin gan, ka šajā skicē nav iekļautas grafisko objektu kolonnas (Attēls Nr.2-3).

Attēls Nr. 2-3

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 9

Page 10: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Paredzētā tabulu un saišu EER struktūra SQL Developer loģiskajā realizācijā (iekļaujot arī grafisko objektu kolonnas) izskatās sekojoši (Attēls Nr.2-4).

Attēls Nr. 2-4.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 10

Page 11: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.3. Metadatu ievade

Metadati ļauj izmantot Oracle Spatial funkcijas, tādejādi nodrošinot iespēju strādāt ar ievadītajiem ģeometriskajiem datiem. Metadatu definēšanas procesā tiek aizpildīti tabulas USER_SDO_GEOM_METADATA lauki:

– tabulas, kurā atrodas ģeometriskie dati, nosaukums – TABLE_NAME– kolonnas, kas satur ģeometriju, nosaukums – COLUMN_NAME– dimensiju (koordināšu) dati – DIMINFO– koordināšu sistēma – SRIDŠajā darbā tiek veidoti 2 dimensiju attēli, tas nozīmē, ka tiks reģistrēti dati par

dimensijām X un Y, kā arī – norādītas ass mazākā un lielākā vērtības.

Attēls Nr. 2-5

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 11

Page 12: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Atlasot ievadītos datus, redzam:

Attēls Nr. 2-6

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 12

Page 13: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.4. Slāņu tabulu veidošana

2.4.1. TelpasTelpas slāņa realizācijai izveidotas tabulas TELPAS. Ģeometrisko objektu

glabāšanai šajā tabulā, tiek izveidota kolonna telpa ar tipu MDSYS.SDO_GEOMETRY.

create table TELPAS (telpas_id number (10,0) constraint pk_telpa primary key,telpa mdsys.sdo_geometry,nosaukums varchar2 (25),numurs number (4,0));

Lai turpmāk būrtu ērti izmantot izveidotās komandas, saglabāju tās .sql failos ar informējošiem nosaukumiem, šajā gadījumā create_telpas.sql. Šie faili tiek saglabāti Oracle BIN apakšdirektorijā, jeb C:\oracle\product\10.2.0\db_2\BIN .

Sekojoši, izsaucu failā šo komandu izpildi, norādot @faila_nosaukums.

Attēls Nr. 2-7

2.4.2. ServeriServeru slāņa realizācijai izveidotas tabulas SERVERI un APKOPES.

Ģeometrisko objektu glabāšanai tabulā SERVERI, tiek izveidota kolonna serveris ar tipu MDSYS.SDO_GEOMETRY. Serveru attēla grafiskajai realizācijai paredzu izmantot 2 dimensiju taisnstūra poligonus.

create table SERVERI (servera_id number (10,0) constraint pk_serveris primary key,serveris mdsys.sdo_geometry,loma varchar2 (25),s_telpa number,constraint fk_s_telpa foreign key (s_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-8

2.4.2.1. ApkopesAtributīvā tabula APKOPES, saskaņā ar tās definīciju, šī un citas atributīvās tabulas

nesaturēs ģeometriskos datus. Tabulā APKOPES tiks glabāti dati par konkrētiem serveru apkopes datumiem un to izpildes statusu.

create table APKOPES (apkope_id number (10,0) constraint pk_apkope primary key,datums date default sysdate not null,izpilde number (1,0) default 1 not null constraint ch_apk_izpilde check (izpilde in (0,1)),serveris number,constraint fk_serveris foreign key (serveris) references SERVERI (servera_id));

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 13

Page 14: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-9

2.4.3. Klimata kontroles

Klimata kontroļu (ar to tiek domāts – iekārta telpas temperatūras un mitruma monitorēšanai) slāņa realizācijai izveidotas tabulas KLIMATA_KONTROLES un ROBEZAS. Ģeometrisko objektu glabāšanai tabulā KLIMATA_KONTROLES, līdzīgi, kā serveru slāņa ģeometrisko datu tabulā, tiek izveidota īpaša kolonna kl_kontrole grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY. Klimata kontroļu attēla grafiskajai realizācijai paredzu izmantot 2 dimensiju taisnstūra poligonus.

create table KLIMATA_KONTROLES (kl_kontrole_id number (10,0) constraint pk_kl_kontrole primary key,kl_kontrole mdsys.sdo_geometry,kontrole varchar2 (25),kk_telpa number,constraint fk_kk_telpa foreign key (kk_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-10

2.4.3.1. Robežas Atributīvā tabula ROBEZAS, būs paredzēta pieminēto klimata kontroļu (mitrums,

temperatūra) informācijas glabāšanai par to kritiskajām (minimālajām un maksimālajām) robežām.

create table ROBEZAS (robeza_id number (10,0) constraint pk_robeza primary key,min number (4,0), max number (4,0), kl_kontr number,constraint fk_kl_kontr foreign key (kl_kontr) references KLIMATA_KONTROLES (kl_kontrole_id));

Attēls Nr. 2-11

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 14

Page 15: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.4.4. Elektro-barošanas iekārtas

Elektroiekārtu slānī nolēmu ietvert nepārtrauktās barošanas iekārtas un serveru barošanas blokus. Sagatavojot konceptuālo skici, pamanīju, ka darba sākumā izvēlētais slāņu dalījums pēc loģikas principa, neļauj barošanas blokus (kas atrodas serveros) attēlot vienā grafiskajā figūrā, kas būtu salikts poligons. Faktiski sapratu, ka zaudēju iespēju šāda poligona realizēšanai. Nolēmu, ka šādu struktūru mēģināšu aprakstīt kustību sensoram, kas ieplānots piekļuves kontroļu slānī. Tāpēc turpināju darbu nemainot izvēlēto koncepciju. Elektroiekārtu attēla grafiskajai realizācijai paredzu izmantot 2 dimensiju taisnstūra poligonus.

Slānim izveidotas tabula ELEKTRO_IEKARTAS. Ģeometrisko objektu glabāšanai tabulā KLIMATA_KONTROLES – izveidota kolonna el_iek grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY.

create table ELEKTRO_IEKARTAS (el_iek_id number (10,0) constraint pk_el_iek primary key,iel_iek mdsys.sdo_geometry,tips varchar2 (25),ei_telpa number,constraint fk_ei_telpa foreign key (ei_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-12

2.4.4.1. JaudasAtributīvā tabula JAUDAS, būs paredzēta datu glabāšanai par pieminēto

elektroiekārtu jaudām.

create table JAUDAS (jauda_id number (10,0) constraint pk_jauda primary key,jauda_w number (4,0),ei_iek number,constraint fk_ei_iek foreign key (ei_iek) references ELEKTRO_IEKARTAS (el_iek_id));

Attēls Nr. 2-13

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 15

Page 16: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.4.5. Ugunsdrošības iekārtas

Ugunsdrošības iekārtu slānī paredzēju iekļaut dūmu detektorus un ogļskābās gāzes aparātus. Slānim izveidotas tabulas UGUNSDROSIBAS_IEKARTAS un APSEKOSANAS. Ģeometrisko objektu glabāšanai tabulā UGUNSDROSIBAS_IEKARTAS – izveidota kolonna ug_iek grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY. Ugunsdrošības iekārtu attēla grafiskajai realizācijai paredzu izmantot apļa poligonus (Circle polygon), definējot 3 punktus uz riņķa līnijas.

create table UGUNSDROSIBAS_IEKARTAS (ug_iek_id number (10,0) constraint pk_ug_iek primary key,ug_iek mdsys.sdo_geometry,nosaukums varchar2 (25),ui_telpa number,constraint fk_ui_telpa foreign key (ui_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-14

2.4.5.1. ApsekošanasAtributīvā tabula APSEKOSANAS, būs paredzēta datu glabāšanai par pieminēto

ugunsdrošības iekārtu regulāro apsekošanu.

create table APSEKOSANAS (apsekosana_id number (10,0) constraint pk_apsekosana primary key,datums date default sysdate not null,izpilde number (1,0) default 1 not null constraint ch_aps_izpilde check (izpilde in (0,1)),ui_iek number (10,0),constraint fk_ui_iek foreign key (ui_iek) references UGUNSDROSIBAS_IEKARTAS (ug_iek_id));

Attēls Nr. 2-15

2.4.6. Maršrutētāji

Maršrutētāju slānī paredzēju iekļaut 2 lokālā tīkla komutatorus ar atšķirīgu portu skaitu, ugunsmūra iekārtu un optikas kabeļa pievad-iekārtu. Slānim izveidota tabula MARSRUTETAJI. Ģeometrisko objektu glabāšanai tajā izveidota kolonna marsrutetajs grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY. Maršrutētāju attēla grafiskajai realizācijai paredzu izmantot 2 dimensiju taisnstūra poligonus.

create table MARSRUTETAJI (marsr_id number (10,0) constraint pk_marsr primary key,marsrutetajs mdsys.sdo_geometry,tips varchar2 (25),m_telpa number,constraint fk_m_telpa foreign key (m_telpa) references TELPAS (telpas_id));

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 16

Page 17: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-16

2.4.7. Kabeļi

Kabeļu slānī paredzēju iekļaut 3 kabeļu tipus – vīto pāri, optisko kabeli, un standarta elektrokabeļus. Slānim izveidota tabula KABELU. Ģeometrisko objektu glabāšanai tajā izveidota kolonna kabelis grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY. Kabeļu attēlu grafiskajai realizācijai paredzu saliktās (savienotās) līnijas (connected lines).

create table KABELI (kabelis_id number (10,0) constraint pk_kabelis primary key,kabelis mdsys.sdo_geometry,veids varchar2 (25),k_telpa number,constraint fk_k_telpa foreign key (k_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-17

2.4.8. Klimata iekārtasKlimata iekārtu slānī paredzēju iekļaut 2 atšķirīgu jaunu un tipu. Slānim

izveidota tabula KLIMATA_IEKARTAS. Ģeometrisko objektu glabāšanai tajā izveidota kolonna kl_iek grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY.Klimata iekārtu attēla grafiskajai realizācijai paredzu izmantot 2 dimensiju taisnstūra poligonus.

create table KLIMATA_IEKARTAS (kl_iek_id number (10,0) constraint pk_kl_iek primary key,kl_iek mdsys.sdo_geometry,modelis varchar2 (25),ki_telpa number,constraint fk_ki_telpa foreign key (ki_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-18

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 17

Page 18: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.4.9. Piekļuves kontroles

Piekļuves kontroļu slānī paredzēju iekļaut video kameru un kustību sensoru. Slānim izveidota tabula PIEKLUVES_KONTROLES. Ģeometrisko objektu glabāšanai tajā izveidota kolonna piek_k grafisko datu glabāšanai ar tipu MDSYS.SDO_GEOMETRY.Piekļuves kontroļu attēla grafiskajai realizācijai paredzu izmantot salikto poligonu –compound (video kamerai) un poligonu ar caurumu – gredzenu (kustību sensoram).

create table PIEKLUVES_KONTROLES (piek_k_id number (10,0) constraint pk_piek_k primary key,piek_k mdsys.sdo_geometry,kontrole varchar2 (25),pi_telpa number,constraint fk_pi_telpa foreign key (pi_telpa) references TELPAS (telpas_id));

Attēls Nr. 2-19

2.5. Datu ielāde ar INSERT un SQL*Loader

Datu ielādes procesu var sadalīt divās kategorijās:1) liela apjoma datu ielāde (bulk loading). Šo procesu izmanto, lai ielādētu lielus

datu apjomus datu bāzē, izmantojot utilītu SQL*Loader. Bulk loading var importēt ASCII datu lielus apjomus Oracle datu bāzē.

2) transakcionāla ievietošana (Transactional inserts). Šo procesu izmanto lai ievietotu relatīvi mazus datu apjomus datu bāzē, lietojot valodas SQL frāzi INSERT.

(Avots: http://datubaze.wordpress.com/macibu-kursi/db3/macibu-materiali-prieksmeta-progresivas-datu-bazesdb3/macibu-materiali-par-grafiskajam-datu-bazes-sistemam/)

Ielādējot datus ar SQL Loader, tiek panākts lielāks ielādes ātrums, turklāt ievadāmie dati ir ērti pārskatāmi. Datu ielādei ar SQL Loader ir nepieciešami:

1) vadības fails (loader control file – .ctl), ko sagatavo lietotājs. Fails satur INSERT līdzīgu konstrukciju, un, cita starpā, tajā norāda tabulas un lauku nosaukumus.

2) ievadāmo datu faili (input data files – .dat) – lietotāja gatavoti. Tie satur datus, kas jāievada tabulās.

Pēc vadības faila izpildes tiek automātiski veidoti:1) žurnāla faili (log files) – tajos tiek ierakstīta informācija par datu pievienošanas

rezultātiem – cik rindas izpildītas, cik nē, un kāpēc, kā arī citi paziņojumi, kļūdas brīdinājumi, u.tml.

2) sliktie ieraksti (bad files) – satur informāciju par ierakstiem, kas nav ielādēti dēļ kļūdām, ja tādas bijušas.

3) noraidītie ieraksti (discard files) – satur informāciju noraidītajiem par ierakstiem, ja tādi bijuši.

2.5.1. Telpas

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 18

Page 19: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Telpas tabulas aizpildīšanai izmantošu SQL komandu INSERT. Tā kā šī ir pirmā izpildāmā komanda praktiskā darba ietvaros, tad komentēšu katru rindu, lai aprakstītu izmantoto telpisko rādītāju nozīmi.

Komandas rinda Skaidrojums

insert into TELPAS values (1, MDSYS.SDO_GEOMETRY(2003,

Dimensiju skaits=2; Parasta (ne LRS) ģeometrija=0; Ģeometrijas tips - SDO_GTYPE=03(Poligons); JEB - Divu dimensiju poligons

NULL, NULL, Izmantojamā koordināšu sistēma SDO_SRID=0; Punkta koordināšu vērtības SDO_POINT=0

MDSYS.SDO_ELEM_INFO_ARRAY (1,3,1),

Pirmā koordinātes pozīcija SDO_ORDINATES masīvā, jeb SDO_STARTING_OFFSET=1; Elementa tips, jeb SDO_ETYPE=3 (vienkāršs elements);Pieraksta interpretācija, jeb SDO_INTERPRETATION=1 (vienkāršs poligons kura sastāvdaļas savienotas ar taisniem līniju segmentiem)

MDSYS.SDO_ORDINATE_ARRAY (10, 10, 145.5, 10, 145.5, 135, 10, 135)

SDO_ORDINATES masīvs, kas glabā koordinātu vērtības, jeb koordinātu pārus (10, 10, 145.5, 10, 145.5, 135, 10, 135), kuras ir telpiska objekta robeža

) , 'Datu centrs', '133'); Tabulas lauku NOSAUKUMS un NUMURS vērības.

Attēls Nr. 2-20

Faktiski telpa ir paredzēta kā vienkāršs poligons, kam nepieciešams uzdot tikai 2 koordinātas. Tāpēc dzēšu aizpildīto ierakstu un izveidoju jaunu, norādot jaunu SDO_INTERPRETATION vērtību – 3, kas apzīmē vienkāršu taisnstūri, kuram jānorāda augšējā–labā stūra un apakšējā–kreisā stūra koordinātas.

Attēls Nr. 2-21

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 19

Page 20: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Atlasot datus par veikto ierakstu, iegūstu:

Attēls Nr. 2-22

2.5.2. Serveri

Katrai DB ir sava programma, kura ļauj efektīvi ievadīt datus. Oracle tas ir SQL Loader. Serveru tabulu aizpildu ar SQL Loader. Lai to paveiktu, sākotnēji, izmantojot Notepad, izveidoju 2 failus. Katru no tiem saglabāju ar attiecīgu paplašinājumu – .ctl un .dat. Šie faili tiek saglabāti – C:\Documents and Settings\Ieva

ctl.faila satursCTL2_Serveri.ctl

.dat faila satursDAT2_Serveri.dat

load datainfile 'DAT2_Serveri.dat'into table SERVERIfields terminated by ','(servera_id, loma,s_telpa,serveris column object(sdo_gtype constant 2003,sdo_elem_info varray count (constant 3) (x),sdo_ordinates varray count (constant 4) (y) ))

1, Datu bāzes, 1, 1,3,3, 30, 45, 50, 702, Lietojumu, 1, 1,3,3, 55, 45, 75, 70

SQL Loader tiek palaists no komandrindas. Tāpēc, lai izsauktu attiecīgo failu izpildi, komandrindā ievadu: sqlldr userid=scott/tiger control= CTL2_Serveri.ctl, kur:

1) sqlldr – SQL Loader .exe izsaukšana2) userid – lietotāja vārds un parole, lai pieslēgtos datu bāzei;3) control – norāda uz lietotāja izveidoto vadības failu .ctl

Komandrindā redzams rezultāts par 2 ierakstu ielādi.

Attēls Nr. 2-23

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 20

Page 21: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Lai apskatītu ielādētos datus, atlasu tos attiecīgajā tabulā:

Attēls Nr. 2-24

2.5.2.1. ApkopesTabula Apkopes ir atributīvā tabula, tajā, līdzīgi kā iepriekš datus ielādēju ar

SQL*Loader.

ctl.faila satursCTL3_Apkopes.ctl

.dat faila satursDAT3_Apkopes.dat

load datainfile 'DAT3_Apkopes.dat'into table APKOPESfields terminated by ','(apkope_id, izpilde,serveris)

1, 1, 12, 0, 23, 0, 14, 1, 2

Attēls Nr. 2-25

Atlasu tabulā ielādētos datus:

Attēls Nr. 2-26

2.5.3. Klimata kontroles

insert into KLIMATA_KONTROLES values (1, mdsys.sdo_geometry (2003, null, null, mdsys.sdo_elem_info_array (1,3,3),mdsys.sdo_ordinate_array (25,90, 45,95)), 'Mitrums', '1');

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 21

Page 22: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

ctl.faila satursCTL1_Klimata_kontroles.ctl

.dat faila satursDAT1_Klimata_kontroles.dat

load datainfile 'DAT1_Klimata_kontroles.dat'into table KLIMATA_KONTROLESfields terminated by ','(kl_kontrole_id, kontrole,kk_telpa,kl_kontrole column object(sdo_gtype constant 2003,sdo_elem_info varray count (constant 3) (x),sdo_ordinates varray count (constant 4) (y)))

1, Mitrums, 1, 1,3,3, 95, 30, 110, 352, Temperatūra, 1, 1,3,3, 95, 30, 110, 35

Attēls Nr. 2-27

Attēls Nr. 2-28

2.5.3.1. Robežas

ctl.faila satursCTL7_Robezas.ctl

.dat faila satursDAT7_Robezas.dat

load datainfile 'DAT7_Robezas.dat'into table ROBEZASfields terminated by ','(robeza_id, min,max,kl_kontr)

1, 18, 22, 12, 48, 52, 2

Attēls Nr. 2-29

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 22

Page 23: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-30

2.5.4. Elektrobarošanas iekārtas

ctl.faila satursCTL5_Elektro_iekartas.ctl

.dat faila satursDAT5_Elektro_iekartas.dat

load datainfile 'DAT5_Elektro_iekartas.dat'into table ELEKTRO_IEKARTASfields terminated by ','(el_iek_id, tips,ei_telpa,iel_iek column object(sdo_gtype constant 2003,sdo_elem_info varray count (constant 3) (x),sdo_ordinates varray count (constant 4) (y)))

1, Barošanas bloks_srw_DB, 1, 1,3,3, 40,60, 45, 652, Barošanas bloks_srw_DB, 1, 1,3,3, 40,50,45,553, Barošanas bloks_srw_Liet, 1, 1,3,3, 65,60,70,654, Barošanas bloks_srw_Liet, 1, 1,3,3, 65,50,70,555, UPS_1000VA, 1, 1,3,3, 45,30,65,406, UPS_1500VA, 1, 1,3,3, 35,15, 55,25

Attēls Nr. 2-31

2.5.4.1. Jaudas

ctl.faila satursCTL8_Jaudas.ctl

.dat faila satursDAT8_Jaudas.dat

load datainfile 'DAT8_Jaudas.dat'into table JAUDASfields terminated by ','(jauda_id, jauda_w,ei_iek)

1, 100, 12, 100, 23, 100, 34, 100, 45, 600, 56, 1000, 6

Attēls Nr. 2-32

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 23

Page 24: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-33

2.5.5. Ugunsdrošības iekārtas

insert into UGUNSDROSIBAS_IEKARTAS values (1, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,1003,4, 7,2003,4), // 1003-poligona ārējā kontūra, 2003-poligona iekšējā kontūra, 4 – iekšējais un ārējais poligoni ir apļi, 7 – poligona iekšējās kontūras pirmās koordinātes kārtas numurs masīvāmdsys.sdo_ordinate_array (17.5, 37.5, 22.5, 32.5, 17.5, 27.5, 17.5,35, 20, 32.5, 17.5, 30)), 'Dūmu detektors', '1');

insert into UGUNSDROSIBAS_IEKARTAS values (2, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,1003,4, 7,2003,4), mdsys.sdo_ordinate_array (117.5, 97.5, 122.5,92.5, 117.5, 87.5, 117.5, 95, 120, 92.5, 117.5, 90)), 'Dūmu detektors', '1');

insert into UGUNSDROSIBAS_IEKARTAS values (3, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,1005,4, 1,2,2, 5,2,1, 9, 2,2, 13, 2,1), mdsys.sdo_ordinate_array (114.5, 20, 115,15, 115.5,20, 115.5,22.5, 116.5,25, 115, 27.5, 113.5,25, 114.5,22.5, 114.5,20)), 'Ogļsk_gāze', '1');commit;

insert into UGUNSDROSIBAS_IEKARTAS values (4, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,1005,4, 1,2,2, 5,2,1, 9, 2,2, 13, 2,1), mdsys.sdo_ordinate_array (24.5, 125, 25,120, 25.5,125, 25.5,127.5, 26.5,130, 25, 132.5, 23.5,130, 24.5,127.5, 24.5, 125)), 'Ogļsk_gāze', '1');

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 24

Page 25: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-34

2.5.5.1. Apsekošanas

ctl.faila satursCTL9_Apsekosanas.ctl

.dat faila satursDAT9_ Apsekosanas.dat

load datainfile 'DAT9_Apsekosanas.dat'into table APSEKOSANASfields terminated by ','(apsekosana_id, izpilde,ui_iek)

1, 0, 12, 1, 23, 1, 34, 0, 45, 1, 16, 0, 27, 0, 38, 1, 4

Attēls Nr. 2-35

Attēls Nr. 2-36

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 25

Page 26: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

2.5.6. Maršrutētāji

ctl.faila satursCTL6_Marsrutetaji.ctl

.dat faila satursDAT6_Marsrutetaji.dat

load datainfile 'DAT6_Marsrutetaji.dat'into table MARSRUTETAJIfields terminated by ','(marsr_id, tips,m_telpa,marsrutetajs column object(sdo_gtype constant 2003,sdo_elem_info varray count (constant 3) (x),sdo_ordinates varray count (constant 4) (y)))

1, SW 24, 1, 1,3,3, 35,80, 50,852, SW 48, 1, 1,3,3, 60,80, 75,854, Ugunsmūris, 1, 1,3,3, 75,95, 95,100

Attēls Nr. 2-37

insert into MARSRUTETAJI values (3, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,3,1),mdsys.sdo_ordinate_array (100,70, 100,75, 102.5,75, 102.5,77.5, 112.5,77.5, 112.5,75, 115,75, 115,70, 100,70)), 'Optika', '1');

Attēls Nr. 2-38

2.5.7. Kabeļi

insert into KABELI values (1, mdsys.sdo_geometry (2002, // 2 dimensiju līniju segmentinull, null, mdsys.sdo_elem_info_array (1,2,1), // taisnu līniju segmentsmdsys.sdo_ordinate_array (67.5, 85, 67.5, 90, 90, 90, 90, 95)), 'Vītais pāris', '1');

insert into KABELI values (2, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (42.5, 85, 42.5, 92.5, 80, 92.5, 80, 95)

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 26

Page 27: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

), 'Vītais pāris', '1');

insert into KABELI values (3, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (107.5, 77.5, 107.5, 97.5, 95, 97.5)), 'Vītais pāris', '1');

insert into KABELI values (4, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (42.5, 70, 42.5,80)), 'Vītais pāris', '1');

insert into KABELI values (5, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (67.5,70, 67.5, 80)), 'Vītais pāris', '1');

insert into KABELI values (6, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (52.5, 40, 52.5,62.5, 45, 62.5)), 'Elektro', '1');

insert into KABELI values (7, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (42.5, 25, 42.5,50)), 'Elektro', '1');

insert into KABELI values (8, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (57.5, 40, 57.5,62.5, 65, 62.5)), 'Elektro', '1');

insert into KABELI values (9, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (67.5, 50, 67.5,20, 55, 20)), 'Elektro', '1');

insert into KABELI values (10, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (102.5, 30, 102.5, 17.5, 55, 17.5)

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 27

Page 28: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

), 'Elektro', '1');

insert into KABELI values (11, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (35,82.5, 25, 82.5, 25, 35, 45, 35)), 'Elektro', '1');

insert into KABELI values (12, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (75,82.5, 85, 82.5, 85, 22.5, 55, 22.5)), 'Elektro', '1');

insert into KABELI values (13, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (92.5,95, 92.5, 35, 65,35)), 'Elektro', '1');

insert into KABELI values (14, mdsys.sdo_geometry (2002, null, null, mdsys.sdo_elem_info_array (1,2,1),mdsys.sdo_ordinate_array (107.5,70, 107.5,65, 135,65)), 'Optika', '1');

2.5.8. Klimata iekārtas

ctl.faila satursCTL4_Klimata_iekartas.ctl

.dat faila satursDAT4_Klimata_iekartas.dat

load datainfile 'DAT4_Klimata_iekartas.dat'into table KLIMATA_IEKARTASfields terminated by ','(kl_iek_id, modelis,ki_telpa,kl_iek column object(sdo_gtype constant 2003,sdo_elem_info varray count (constant 3) (x),sdo_ordinates varray count (constant 4) (y)))

1, eXtremate_KRF2_5W, 1, 1,3,3, 55, 115, 70, 1202, eXtremate_KRF50WZBP, 1, 1,3,3, 110, 115, 125, 120

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 28

Page 29: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 2-39

2.5.9. Piekļuves kontroles

Failā geometry_Piekluves_kontroles.sql saglabāju sekojošas insert komandas tabulas PIEKLUVES_KONTROLES aizpildīšanai. insert into PIEKLUVES_KONTROLES values (1, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,3,1, 11,3,1),mdsys.sdo_ordinate_array (20,110, 25,115, 30,110, 25,105, 20,110, 22.5,110, 25, 112.5, 27.5, 110, 25,107.5, 22.5,110)), 'Kustibu_sensors', '1');insert into PIEKLUVES_KONTROLES values (2, mdsys.sdo_geometry (2003,null, null, mdsys.sdo_elem_info_array (1,3,1),mdsys.sdo_ordinate_array (122.5,30, 115, 37.5, 117.5, 40, 125, 32.5, 122.5,30)), 'Video kamera', '1');

Izsaucu failā geometry_Piekluves_kontroles.sql esošo komandu izpildi, norādot @geometry_Piekluves_kontroles .

Attēls Nr. 2-40

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 29

Page 30: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

3. Indeksi

Telpiskie dati tiek glabāti tabulās ar kolonnas tipu SDO_GEOMETRY. Lai datus ielādētu jāveic sekojošas darbības:

1) datu ielāde kolonnā ar tipu SDO_GEOMETRY;2) telpisko indeksu izveidošana kolonnām ar tipu SDO_GEOMETRY.

Kad dati ir ielādēti telpiskās tabulās, nepieciešams izveidot telpisko indeksu, lai efektīvi piekļūtu un strādātu ar datiem. To realizē pārklājot ģeometrijas ar dakstiņiem (tile).

Mazāka izmēra fiksētie dakstiņi un vairāk mainīga izmēra dakstiņu nodrošina labākas ģeometriju aproksimācijas (tuvinājumus). Jo lielāks fiksēto dakstiņu izmērs, un jo mazāks mainīga izmēra dakstiņu skaits, jo rupjākas aproksimācijas.

Telpiskais indekss nodrošina mehānismu, kas ļauj ierobežot meklēšanas procesu tabulās (vai datu telpās), šis mehānisms balstās uz telpiskiem kritērijiem –krustošanos, ietvērumu. Telpiskais indekss ir vajadzīgs lai:

1) atrastu objektus indeksētā datu telpā, kas daļēji nosedz doto punktu vai interešu lauku (loga vaicājums – window query);

2) atrastu objektu pārus indeksētā datu telpā, kas telpiski savstarpēji mijiedarbojas (spatial join – telpiskais savienojums).

Fiksēta indeksēšana – ar nenulles SDO_LEVEL vērtību un nulles SDO_NUMTILES vērtību. Fiksēta izmēra dakstiņu telpiska indeksēšana ir atzīta par labāko indeksēšanas metodi relāciju modelim. Šī metode izmanto vienāda izmēra dakstiņus lai apklātu ģeometriju. Tādēļ, ka visiem dakstiņiem ir vienāds izmērs, visiem ir vienāds garuma kods, un var izmantot SQL standarta vienādības operatoru (=), lai salīdzinātu tos savienošanas operācijas laikā.

Hibrīdveida indeksēšana – ar nenulles SDO_LEVEL vērtību un nenulles SDO_NUMTILES vērtību. Šī ir labāka indeksēšanas metode objektu – relāciju modelim. Ja tā ir izpildīta korekti, tad tā nodrošinās labāko selektivitāti un telpiskos sakarus, palielinot darba efektivitāti ar telpiskiem datiem. Hibrīda indeksēšana izmanto fiksēta un mainīga izmēra dakstiņu kombinācijas. Katrai ģeometrijai jāizvēlas fiksēta izmēra dakstiņu kopu, kas pilnīgi apklāj ģeometriju, un mainīga izmēra dakstiņu kopu, kas arī pilnīgi apklāj ģeometriju.

R – tree ļauj indeksēt telpiskos datus līdz pat četrām dimensijām quadtree indexing (fiksētie un hibrīdie indeksi) atbalsta tikai 2 dimensijas. R-tree indeksu veidošanai nav jāievada parametri SDO_LEVEL un SDO_NUMTILES. Šeit indekss aproksimē katru ģeometriju ar mazāko tā iespējamo robežu MIR (minimālais ierobežojuma rādiuss) vai Minimum Bounding Rectangle – MBR).

Ņemot vērā norādīto, kā arī praktiskajā darbā veidoto ģeometriju īpatnības nolēmu veidot attiecīgos indeksus sekojošām ģeometriju tabulām:

1) Fiksētie indeksi – tabulu TELPAS, KLIMATA_KONTROLES, KLIMATA_IEKARTAS ģeometrisko objektu kolonnām.

2) Hibrīdie indeksi – tabulu UGUNSDROSIBAS_IEKARTAS, MARSRUTETAJI, ELEKTRO_IEKARTAS ģeometrisko objektu kolonnām.

3) R-tipa koka indeksi – tabulu PIEKLUVES_KONTROLES, KABELI, SERVERI ģeometrisko objektu kolonnām, atbilstoši – piek_k, kabelis un serveris.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 30

Page 31: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Saglabāju indeksu kodu .sql failā index_9_TABLES.sql.

create index ind_telpas on TELPAS (telpa)indextype is mdsys.spatial_index parameters ('sdo_level=4');create index ind_piekluve on PIEKLUVES_KONTROLES (piek_k)indextype is mdsys.spatial_index;create index ind_klimats_i on KLIMATA_IEKARTAS (kl_iek)indextype is mdsys.spatial_index parameters ('sdo_level=4');create index ind_kabeli on KABELI (kabelis)indextype is mdsys.spatial_index;create index ind_marsrutetaji on MARSRUTETAJI (marsrutetajs)indextype is mdsys.spatial_index parameters ('sdo_level=4, sdo_numtiles=4');create index ind_serveri on SERVERI (serveris)indextype is mdsys.spatial_index;create index ind_klimats_k on KLIMATA_KONTROLES (kl_kontrole)indextype is mdsys.spatial_index parameters ('sdo_level=4');create index ind_elektro on ELEKTRO_IEKARTAS (iel_iek)indextype is mdsys.spatial_index parameters ('sdo_level=4, sdo_numtiles=4');create index ind_ugunsdrosiba on UGUNSDROSIBAS_IEKARTAS (ug_iek)indextype is mdsys.spatial_index parameters ('sdo_level=4, sdo_numtiles=4');

Izsaucu sql. faila izpildi:

Attēls Nr. 3-41

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 31

Page 32: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4. Ģeometriskās datu bāzes ģeometriju vizualizēšana

Lai veiktu tabulās ievadīto grafisko objektu vizualizēšanu, izmantošu SQL Developer spraudni (PlugIn) Oracle GeoRaptor.

Sākotnēji instalēju SQL Developer, kas ļoti atvieglo arī darba procesu un manipulācijas ar datu bāzes objektiem. Tā instalāciju ņēmu saitē http://datubaze.wordpress.com/macibu-kursi/db3/macibu-materiali-prieksmeta-progresivas-datu-bazesdb3/programmatura-sql-developer/, taču tā ir pieejama arī Oracle mājas lapā, saitē http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html.

GeoRaptor spraudni instalē, SQL Developer izvēlnē Help izvēloties opciju Search For Updates, un pievienojot: Add, Name: GeoRaptor, Source: http://georaptor.sourceforge.net/install.xml.

Lai veiktu ģeometrisko datu vizualizēšanu, nepieciešams izvēlēties vajadzīgos objektus (tabulas, vai skatus) datu bāzes menedžerī. Tad tos pievieno Telpiskajam skatam (jeb – kartei): GeoRaptor->Add to Map.

Attēlā Nr.4-1 ir parādīts, kā objektu ar ģeometriskajiem datiem var pievienot šai kartei.

Attēls Nr. 4-42

Izmantojot View izvēlni iespējams pieslēgties šim skatam, ja tas ticis aizvērts View->GeoRaptor->Open Map. (Attēls Nr.4-2).

Attēls Nr. 4-43

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 32

Page 33: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

GeoRaptor telpiskajā skatā pastāv daudz iespēju manipulēt ar vizualizācijām un

to noformējumu. Katru pievienoto slāni var „izslēgt” no kopējā skata. Atjaunojot skatu,

attiecīgā slāņa vizuālais attēls nebūs apskatāms, (Attēls Nr.4-3).

Attēls Nr. 4-44

Rīku joslā ir opcijas, kas ļauj:

1) dažādos veidos apskatīt vizualizēto attēlu (pietuvināt; attālināt;

pietuvināt izvēlētu apgabalu, izmantojot taisnstūri; pārvietot attēlu

vēlamā virzienā; atjaunot karti, ņemot vērā izvēlēto slāņu izmaiņas;

pārvietoties uz priekšu un atpakaļ starp veiktajām izmaiņām skatā);

2) izmērīt ģeometriju aplis, poligons, taisnstūris laukumu vai ģeometrijas

līnija garumu izmantojot: izmantojot līniju, poligonu, apli un taisnstūri,

garumu un laukumu.

– Lai izvēlētos nepieciešamo mērījuma tipu, nepieciešams sākotnēji

izvēlēties kādu no opcijām: Measure Shape, Line. Polygon, Circle vai

Rectangle.

– Lai uzsāktu un pabeigtu mērījumu, grafiskajā skatā nepieciešams

pārmaiņus operēt ar labo un kreiso peles taustiņiem. Šī informācija

lietotājam tiek „pateikta priekšā”, piemēram līnijas mērīšanai (Line):

Left-click to start (kreisais taustiņš, lai uzsāktu mērījumu)

, un Left-click next point. Right-click finishes (kreisais

taustiņš – nākošais punkts . Labais

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 33

Page 34: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

taustiņš – noslēgt mērījumu). Pēc mērījuma noslēgšanas, iepriekšējo

norādījumu vietā tiek parādīts mērījuma rezultāts: .

Pie attēla ir pievienots mērogs, kas palīdz noteikt izmērus redzamajiem objektiem, (Attēls Nr.4-4). Attālums tiek rādīts metros un tiek balstīts uz ievadītajām vērtībām. Tas nozīmē, ka GeoRaptor, pēc noklusējuma, visas vērtības uzskata par metriem. To ir jāņem vērā, jo var būt, ka ievadītas vērtības bija ar citiem mērvienībām.

Attēls Nr. 4-45

Vizualizējot izveidotos slāņus, sākotnēji iegūstu sekojošu attēlu, (Attēls Nr.4-5). Šajā attēlā pie katras atjaunošanas, nejaušā kārtībā tiek mainītas visu ģeometriju krāsas. Tas var būt diezgan kaitinoši, tāpēc meklēju iespējas, kā definēt patstāvīgas krāsas.

Attēls Nr. 4-46

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 34

Page 35: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Konstatēju, ka jebkuram slānim ir iespējams veidot individuālus iestatījumus:

Izvēlēties slāni->Properties, kas ietver arī krāsu ar Fill (Attēls Nr.4-6), un kontūrlīniju

ar Stroke maiņu, Taču bez tā, pastāv iespēja pievienot arī ģeometriju aprakstus ar

Labelling, kā arī veikt rindu citu darbību.

Attēls Nr. 4-47

Attēls Nr. 4-48

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 35

Page 36: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Pēc attēla iestatījumu apstrādes, ģeometrija izskatās sekojoši, (Attēls Nr.4-8).

Attēls Nr. 4-49

Kad kursors atrodas virs ģeometriskā attēla, tiek uzrādītas tā atrašanās vietas x un y koordinātas (Attēls Nr.4-9), kas var palīdzēt ērtāk plānot attēlu, jo liek noprast – kādas koordinātas jāievada ģeometriskajās datu tabulā.

Attēls Nr. 4-50

GeoRptor nodrošina ērtas iespējas veidot telpiskos vaicājumus, nesastādot SQL, bet gan uzzīmējot vaicājumu ar peles palīdzību. Izvēlamies slāni -> Lbais taustiņš->Spatial Query->Rectangle->AYINTERRACT-> Iezīmējam izvēlēto laukumu, (Attēls Nr.4-10). Vaicājuma rezultātā tiks atlasīti vis Maršrutētāju slāņa objekti, kas kaut kādā veidā saskaras ar novilkto taisnstūri.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 36

Page 37: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-51

Vaicājuma logā ir iespēja to izmainīt. Kad vaicājums gatavs apstiprinu tā izpildi ar Execute.

Rezultātā slāņu kokā parādās vēl viens elements (attiecīgā vaicājuma rezultāts), un šis rezultāts tiek vizualizēts ar noklusēto vai uzstādīto iezīmēšanas krāsu, (Attēls Nr.4-11).

Attēls Nr. 4-52

Turpmāk darbā veidošu vaicājumus manuāli, neizmantojot šīs automatizētās iespējas.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 37

Page 38: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4.1. Vaicājumu rezultātu vizualizēšanas iespējas

Pirms sāku aprakstīt vaicājumus, vēlos īsi izstāstīt par vaicājumu vizualizēšanas iespējām ar izvēlēto rīku.

GeoRaptor ietvaros vaicājumu var vizualizēt izveidojot skatu (view). Uzsākot skatu veidošanu, ieguvu kļūdu „SQL Error: ORA-01031: insufficient privileges”. Sapratu, ka esošajām lietotājam SCOTT nav nepieciešamās privilēģijas (tiesības), lai veidotu skatus. Sākotnēji mēģināju ar GRANT komandas palīdzību šīs tiesības piešķirt, taču saņēmu to pašu kļūdu. Šī kļūda radās, jo, lai šis tiesības piešķirtu, bija nepieciešams autorizēties ar SYSTEM lietotāju. Kad to izdarīju, tiesību piešķiršana noritēja veiksmīgi.

Attēls Nr. 4-53

Kā pirmo, mēģināšu vizualizēt vaicājumu ar SDO_EQUAL – kur divām ģeometrijām ir vienādas robežas un iekšienes. Kā minēts iepriekš, šajā vaicājumā noskaidroti – klimata kontroles objekti, kuru koordinātes sakrīt ar taisnstūra objekta koordinātām p1= 95,30 p2=110,35.

Sākumā no vaicājuma tiek izveidots skats. To var izdarīt izmantojot SQL Developer grafiskos rīkus. Connections kokā uz Views nospiežam New View, un atvērtajā grafiskajā logā iekopējam (vai ierakstām) vajadzīgo SQL:

Attēls Nr. 4-54

Zem DDL varam atrast mūsu jaunizveidotā skata kodu. Pēc apstiprināšanas tas parādās Views kokā. Lai vizualizētu attiecīgā vaicājuma rezultātu, nepieciešams to pievienot Spatial View, identiski, kā tas tika darīts ar ģeometriju tabulām.

Lai vizualizētu vaicājumus no skatiem, šiem vaicājumiem SELECT daļā obligāti jāsatur ģeometriskā objekta kolonna. Pretējā gadījumā tiks atgriezta kļūda:

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 38

Page 39: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-55

Veiksmīgas vaicājumu rezultātu vizualizēšanas nolūkā pievienoju šīs kolonnas vaicājumiem, tieši vizualizēšanas etapā.

CREATE OR REPLACE VIEW TOPOL_2_EQUAL AS SELECT a.kl_kontrole_id, a.kontrole, a.kl_kontrole FROM klimata_kontroles aWHERE mdsys.SDO_EQUAL(a.kl_kontrole,

mdsys.sdo_geometry (2003, null, null, mdsys.sdo_elem_info_array (1,3,3), mdsys.sdo_ordinate_array (95,30,110,35))) ='TRUE';

Lai kopējā ģeometriju kartē izceltu atlasīto rezultātu, var izņemt atzīmes pie visu objektu radio pogām, atstājot iezīmētu vizualizēšanai tikai izvēlēto skatu. Tādejādi vizualizēšanas logā redzēsim tikai konkrēto vaicājuma rezultātu (Attēls Nr.4-9).

Attēls Nr. 4-56

Taču, manuprāt, interesantāk ir redzēt vaicājuma rezultāta attēlojumu kopējā ģeometriju kartē tāpēc – pievienotajam vaicājuma rezultāta skatam aktivizēju rezultāta iezīmēšanas opciju spilgti dzeltenā krāsā.

Attēls Nr. 4-57

Tagad rezultāts ģeometriju kartē tiek marķēts spilgti dzeltenā krāsā:

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 39

Page 40: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-58

Šādi rezultātus, pie katra no vizualizētajiem skatiem, atspoguļošu arī turpmāk.

4.2. Vaicājumi

Lai risinātu telpiskos vaicājumus un savienojumus, tiek izmantots two-tier vaicājuma modelis. Šīs jēdziens tiek lietots, lai apzīmētu divas atšķirīgas operācijas, kas tiek izpildītas, risinot vaicājumus. Abu operāciju izvade dod konkrētu rezultātu kopu. Operācijas ir nosauktas par primāro un sekundāro filtru:

1) Primārais filtrs nodrošina vajadzīgo ierakstu ātro iezīmēšanu un nodot tos sekundāram filtram. Primārais filtrs salīdzina ģeometriju aproksimācijas (tuvinājumus), lai samazinātu skaitļošanas sarežģītību un izdevumus. Tā kā primārais filtrs salīdzina ģeometriju aproksimācijas (tuvinājumus), tas atgriež rezultējošās kopas superkopu.

2) Sekundārais filtrs nodrošina ģeometriju konkrētus aprēķinus, kas nāk no primāra filtra. Sekundārais filtrs dod precīzu atbildi uz telpisko vaicājumu. Sekundārā filtra operācija ir apjomīga izskaitļošanā, bet to pielieto tikai primārā filtra rezultātiem, nevis visai datu kopai. (Avots: CD materiāli - 3_Geom_DB_realiz_apraksts.doc) 4.2.1. Primārā filtra vaicājumi (2)

SDO_FILTER ir primārā filtra operators. Tas nosaka vai ģeometrijas ir saistītas ar noteiktu telpas apgabalu (tas tiek definēts arī ar ģeometriju).

4.2.1.1. Ģeometrijas izvēlētajā atlases logā. Veikt ģeometriju atlasi, kurām vismaz kāda daļa ietilpst atlases logā (30,30) , (90,90).

SELECT a.marsr_id, a.tipsFROM MARSRUTETAJI aWHERE SDO_FILTER (a.marsrutetajs, SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,3), SDO_ORDINATE_ARRAY(30,30, 90,90)) ) = 'TRUE';

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 40

Page 41: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-59

Pievienoju vaicājuma SELECT daļā grafiskā objekta kolonnu a.marsrutetajs, tad izveidoju skatu un vizualizēju to (rezultāts – spilgti dzeltenie objekti.)

Attēls Nr. 4-60

4.2.1.2. Saistītās ģeometrijas. Veikt ģeometriju atlasi no tabulas KABEĻI, kuras jebkurā veidā ir saistītas ar ģeometrijām tabulā ELEKTRO_IEKARTAS

SELECT /*+ ORDERED */ c.kabelis_id, c.veidsFROM ELEKTRO_IEKARTAS b, KABELI c WHERE SDO_FILTER(c.kabelis, b.iel_iek) = 'TRUE';

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 41

Page 42: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-61

4.2.2. Topoloģiju analīzes vaicājumi (4)

4.2.2.1. SDO_TOUCH – Viens objekts robežojas ar otru.Šajā vaicājumā noskaidrosim – kādi kabeļi pievienoti vienam no maršrutētājiem. Izgūsim ziņas par maršrutētāja ID un veidu, kā arī tam pievienoto kabeļu ID un veidu

Attēls Nr. 4-62

4.2.2.2. SDO_CONTAINS – viena objekta robeža un iekšiene pilnīgi atrodas cita objekta iekšienē. Šajā vaicājumā noskaidrosim – kādas elektroiekārtas (barošanas bloki) atrodas DB serverī. Izgūsim ziņas par elektroiekārtas (barošanas bloka) ID un tipu.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 42

Page 43: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-63

SELECT b.el_iek_id, b.tips FROM serveri a, elektro_iekartas b WHERE servera_id='1' and SDO_CONTAINS (a.serveris, b.iel_iek ) = 'TRUE';

4.2.2.3. SDO_INSIDE – viens objekts pilnīgi atrodas cita objekta iekšienē. Šajā

vaicājumā noskaidrosim – kurā serverī atrodas ceturtais barošanas bloks.

Attēls Nr. 4-64

4.2.2.4. SDO_EQUAL – divām ģeometrijām ir vienādas robežas un iekšienes. Šajā vaicājumā noskaidrosim – klimata kontroles objektus, kuru koordinātes sakrīt ar taisnstūra objekta koordinātām p1= 95,30 p2=110,35 .

Attēls Nr. 4-65

Pievienoju vaicājuma SELCT daļā grafiskā objekta kolonnu a.kl_kontrole, tad izveidoju skatu un vizualizēju to (rezultāts – spilgti dzeltenais objekts).

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 43

Page 44: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-66

4.2.3. Ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi (4)

4.2.3.1. Maršrutētājam pievienoto kabeļu ģeometrija. Tiek pieprasīti to kabeļu ģeometriju tipi, kuri pievienoti konkrētam maršrutētājam. Izvadīti attiecīgo kabeļu ID un ģeometrijas skaitliskā vērtība.

Attēls Nr. 4-67

4.2.3.2. Poligonu koordinātes. Tiek izvadītas visas ugunsdrošības iekārtu koordinātes, kuru ģeometrijas tips ir poligons.

Attēls Nr. 4-68

4.2.3.3. Objektu kolonnas saturs. Tiek izvadīta skaitliskā informācija par dūmu detektoru ģeometrijām. Tiek izgūts visas objektu kolonnas saturs.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 44

Page 45: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Attēls Nr. 4-69

4.2.3.4. Elementu masīva vērtības. Tiek izvadīta skaitliskā informācija par ugunsdrošības iekārtu ģeometrijām. Tiek izgūtas ģeometriju elementu masīva skaitliskās vērtības – dati par salikto poligonu segmentiem, kā arī ģeometriju nosaukumi.

Attēls Nr. 4-70

4.2.4. Atributīvo datu izgūšanas vaicājumi (3)

4.2.4.1. Viena tipa kabeļu kopskaits serveru telpāNoskaidrot kādi kabeļu veidi tiek izmantoti izvēlētajā telpā, sagrupēt tos pa veidiem un saskaitīt.

Attēls Nr. 4-71

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 45

Page 46: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4.2.4.2. Elektro iekārtas ar izvēlēto jaudas lielumu

Vaicājums atlasa elektroiekārtu tipus (ne-konkrētas unikālas iekārtas), kuru jauda ir 100W.

Attēls Nr. 4-72

4.2.4.3. Jauda, kas 2x lielāka par visu iekārtu kopējo vidējo jaudu

Vaicājums atrod vidējo aritmētisko jaudu tabulā JAUDAS (t.i.333,33), sareizina to ar 2 (666.67) un atgriež tās jaudas no tabulas JAUDAS, kuras ir lielākas par šo reizinājumu.

Attēls Nr. 4-73

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 46

Page 47: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4.2.5. Ģeometriju ģeometrisko datu iegūšanas vaicājumi (4)

4.2.5.1. Funkcija SDO_GEOM.VALIDATE_GEOMETRY. Lai pārbaudītu ievadīto ģeometrisko datu korektumu, veikšu sekojošus vaicājumus. Vaicājums salīdzinās slāņu tabulā esošo ģeometriju ar informāciju, kas atrodas ģeometrisko objektu metadatu tabulā, ja nav pieļautas kļūdas tad lauka „Vai_pareizs” vērtība pie katras salīdzināšanas pieņem vērtību TRUE, pretējā gadījumā, tiek izvadīta skaitļu virkne.

Attēls Nr. 4-74

Attēls Nr. 4-75

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 47

Page 48: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

4.2.5.2. Funkcija SDO_GEO.AREA – kas aprēķina divu dimensiju poligona laukumu. Izmērām laukumu sarežģītākajām ģeometrijām – tām, kas ietvertas Ugunsdrošības iekārtu slānī.

Attēls Nr. 4-76

4.2.5.3. Funkcija SDO_GEO.DISTANCE –kas aprēķina attālumu starp diviem ģeometriskiem objektiem. Izmērīšu attālumu starp ugunsdrošības iekārtu Nr.3 (ugunsdzēšamais aparāts) un Datu bāzes serveri.

Attēls Nr. 4-77

4.2.5.4. Funkcija SDO_GEO.LENGTH – kas aprēķina ģeometriskā objekta garumu vai perimetru. Izmērīšu visu kabeļu garumu

Attēls Nr. 4-78

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 48

Page 49: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Secinājumi

Sākšu ar to, ka pēdējo reizi ar Oracle un SQL nodarbojos pirms 5 gadiem, tāpēc, lai uzsāktu praktiskā darba gatavošanu, nācās kārtīgi izstudēt un atgādināt sev daudzus pamata jautājumus, sākot ar SQL sintaksi līdz pat Oracle instalēšanai, un vienkāršiem vārdiem runājot – atkārtot, kas ir kas. Lai to paveiktu, izmantoju gan interneta resursus, gan arī http://datubaze.wordpress.com/ materiālus par DB2 un pat DB1 kursu, kā arī CD ar lekciju materiāliem. Šeit jāsaka, ka ļoti priecājos par labi sagatavotiem un strukturētiem materiāliem šajā mācību priekšmetā, tajos atradu daudzas atbildes uz saviem jautājumiem.

Ārpus uzstādītajiem uzdevumiem, kas norādīti sadaļā Darba uzdevums, praktiskā darba ietvaros:

1) veicu vides sagatavošanu: Oracle 10g, SQL Developer, GeoRaptor instalācijas;2) veicu paredzētās datu struktūras projektēšanu (skicēšanu) „uz papīra”;3) lasīju un analizēju informāciju internetā, lekciju pierakstos CD materiālos,

vietnēs http://datubaze.wordpress.com/, www.oracle.com, http://www.sql-plus.com, kā arī citos interneta resursos.

4) daudz laika veltīju neuzmanības kļūdu labošanai/atkļūdošanai.

Sākotnēji, instalējot Oracle 10g savā mājas datorā sastapos ar kļūmēm, kas neļāva instalāciju veiksmīgi realizēt un datora ātrdarbība ļoti būtiski kritās. Pieņēmu lēmumu veikt instalāciju citā, jaudīgākā datorā. Kopumā, instalēšana un mēģinājumi novērst šī procesa kļūmes, prasīja vismaz 2 reizes vairāk laika, nekā biju plānojusi tam veltīt.

Tā kā manā pamata darbā šobrīd vienlaicīgi tiek ieviestas 2 jaunas sistēmas un paralēli jāveic arī citi uzdevumi, tad brīva laika nav pat brīvdienās. Taču šo priekšmetu izvēlējos studēt mērķtiecīgi. Tas man šķiet ļoti saistošs un interesants, kā arī vēlos rast tajā apgūtā pielietojumu savā turpmākajā darbā. Sekojoši, nolēmu, ka pretēji jebkuram šķērslim, laiks ir jāatrod. Rēķinoties ar esošajiem apstākļiem, veicu praktiskā darba gatavošanu vēlu vakaros un naktīs, kas radīja koncentrēšanās trūkumu. Rezultātā tika pieļauts nesamērīgi daudz neuzmanības kļūdu, kuru labošanai bija nepieciešams papildus laiks ieplānotajam. Tas liek secināt, ka, līdzīgi kā programmatūras izstrādes projektos, nedrīkst par zemu novērtēt atkļūdošanai paredzamo laika resursu nepieciešamību.

Noteikto Darba uzdevumu apjoms sākotnēji rada mānīgu priekšstatu par paredzamo laiku veiksmīgai praktiskā darba izpildei. Jāsecina, ka ir ļoti būtiski ieplānot arī laika resursus nosaukto papildus darbību (vides sagatavošana, informācijas meklēšana un analīze, atkļūdošana, u.tml.) veikšanai.

Sākotnēji tabulu izveidošanu un aizpildīšanu veicu izmantojot Oracle Database utilītu SQL*Plus. Daudz ērtāk, ātrāk un pārskatāmāk būtu bijis izmantot Oracle integrēto izstrādes vidi SQL Developer, kas piedāvā rindu efektīvu izstrādes opciju.

Attēla sākotnējo skici veidoju manuāli „uz papīra”, kas, līdzīgi, prasīja laika resursus. Taču, jau sākotnēji zinātot izvēlētā vizualizēšanas rīka ērtās funkcijas, ar kurām iespējams:

1) novietojot kursoru skatā – un automātiski redzēt x un y koordinātas, 2) ērti (zīmējot ar peli) veidot ģeometrijas, automātiski iegūstot SQL kodu.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 49

Page 50: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

lielu daļu iedomāto ģeometrijas objektu datu varētu sagatavot bez šī starpposma – skices projektēšanas. Šajā gadījumā es vizualizētu tikai telpas koordinātes un pārējos objektus un to datus varētu aprakstīt izmantojot šo opciju. Šāda pieeja būtu ietaupījusi laiku. Tomēr, jāsecina, ka manis izvēlētais garais ceļš ir ļāvis labāk iepazīt grafisko objektu veidošanas sintaksi no pamatiem.

Ņemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās darbības (izstrādi, datu apstrādi, u.tml.) var optimizēt. Ja min piemēru no dzīves par auto vadīšanas apmācību, var teikt, ka mācību procesā labāk būtu braukt ar mehānisko ātrumkārbu, kas pretstatā automātiskajai, ļauj apgūt auto darbību pamatīgāk un perspektīvā ļauj saprast problēmu cēloņus. Līdzīgi, kā DB izstrādē labāk sākotnēji izmantot utilītu SQL*Plus, pretstatā SQL Developer attīstītajām iespējām, kas ļoti atvieglo tā lietotāja darbu.

Taču reālā dzīvē, kur ir svarīgi izvairīties no kļūmēm, veikt darbu ātri un efektīvi, ierobežotos projektu termiņos, noteikti jādomā par specializētu rīku, iespēju un metožu, tādu kā SQL*Loader efektīvākai datu ielādei, SQL Developer – izstrādei, pielietošanu.

Noslēgumā varu teikt, ka katra darba posma izpilde man virzījās lēni, taču praktiski esmu tikusi galā ar visiem uzdevumiem. Esmu atgādinājusi sev būtiskas lietas, kas bija aizmirstas šo 5 gadu laikā, kā arī – esmu iemācījusies telpiskās datu bāzes veidošanas pamatus. Grafiskās daļas izpilde rada vēlēšanos pētīt šīs iespējas pamatīgāk, un, mēģināt realizēt sarežģītākas ģeometrijas (varbūt 3D) ar reālu pielietojumu. Būtu ļoti interesanti apskatīt, kā ģeometriskās datu bāzes pielieto kādā organizācijā tepat Latvijā.

Paldies par Spatial lekciju kursu un pasniegšanas pieeju, kas motivē mācīties!

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 50

Page 51: Praktiskajā darbā jāveido ģeometrisko datu (spatial data ... Web viewŅemot vērā minēto, secinu, ka veicot jebkuru darbu ar datubāzēm vienmēr ir jādomā līdzi – kā veicamās

Literatūra un resursi

1. Oracle Database utilītas SQL*Plus iespējas – http://www.sql-plus.com/sql-plus-set-commands.php

2. Kursa materiāli un paraugi – http://datubaze.wordpress.com/3. Oracle 10g instalācijas CD4. DB3_1 kursa materiālu CD5. GeoRaptor - http://sourceforge.net/apps/mediawiki/georaptor/index.php?

title=Main_Page, http://heanet.dl.sourceforge.net/project/georaptor/Spatial%20View.pdf.

6. SQL un funkciju sintakse – http://docs.oracle.com/cd/A87860_01/doc/inter.817/a85337/sdo_objg.htm#863674

7. SQL un vaicājumu sintakse – http://msdn.microsoft.com/en-us/library/aa259171%28v=sql.80%29.aspx

8. SQL Developer – http://datubaze.wordpress.com/macibu-kursi/db3/macibu-materiali-prieksmeta-progresivas-datu-bazesdb3/programmatura-sql-developer/, http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html.

Ģeometrisko (Spatial) datu DB – 1.praktiskais darbs Page 51