Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību...

31
Multibāzes sistēmas izstrāde Izstrādāja: Anete Sausiņa Linda Stanga Saturs 1 Priekšmetiskā vide..........................................3 2 Datu avotu konceptuālie modeļi..............................4 3 Multibāzu sistēmas realizēšanas koncepts....................9 4 Globālās shēmas izveide....................................10 4.1 Datu avotu savienošana ar ODI...........................10 4.2 Interfeisa izveide......................................12 4.3 Pakotnes izveide........................................14 5 Lietojuma un grafiskā interfeisa izveide...................16 6 Secinājumi................................................. 19

Transcript of Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību...

Page 1: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Multibāzes sistēmas izstrāde

Izstrādāja: Anete Sausiņa

Linda Stanga

Saturs

1 Priekšmetiskā vide....................................................................................................................3

2 Datu avotu konceptuālie modeļi...............................................................................................4

3 Multibāzu sistēmas realizēšanas koncepts...............................................................................9

4 Globālās shēmas izveide........................................................................................................10

4.1 Datu avotu savienošana ar ODI......................................................................................10

4.2 Interfeisa izveide.............................................................................................................12

4.3 Pakotnes izveide..............................................................................................................14

5 Lietojuma un grafiskā interfeisa izveide................................................................................16

6 Secinājumi..............................................................................................................................19

Page 2: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

1 Priekšmetiskā vide

Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3

informācijas avoti: MS Excel, MS Access datubāze un Oracle datu bāze. Excel datu bāzē

glabājas dati par projektiem, uzņēmumiem, kas iesaistīti projektos un mārketinga

piedāvājumiem. Access datu bāzē glabājas dati par pasniedzējiem, to CV un mācību kursiem,

kurus tie pasniedz. Oracle datu bāzē glabājas dati par projektiem, mācību kursiem un kursu

apmeklētājiem.

2

Page 3: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

2 Datu avotu konceptuālie modeļi

Attēlos 2.1 – 2.3 ir redzami izveidoto datu avotu konceptuālie modeļi. Attēlā 2.4. ir redzama izveidotā globālā shēma.

Attēls 2.1Datu avots nr.1 (MS Access)

3

Page 4: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 2.2Datu avots nr.2 (Oracle)

4

Page 5: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 2.3Datu avots nr. 3 (MS Excel)

5

Page 6: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 2.4 Globālā shēma

6

Page 7: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Veidojot globālo shēmu, tika ņemti vērā tādi nosacījumi kā, piemēram, “Apliecība” un

“Sertifikāts” ir sinonīmi, tāpēc globālajā shēmā ir viena tabula “Sertifikāts” un tiks apvienoti abu

tabulu atribūti. Sertifikāts tiks piesaistīts kursa apmeklētājiem. “Projekts” un “Mācību kurss” ir

holonīmi, jo mācību kurss ir projekta sastāvdaļa. Mācību kurss ir divos informācijas avotos (IA2,

IA3) – bet globālajā shēmā būs viena tabula ”Mācību kurss”.

Access

Globālāshēma

Oracle

Excel

7

Page 8: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Oracle

8

Page 9: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

3 Multibāzu sistēmas realizēšanas koncepts

Attēlā 3.1. ir parādīts, kā tiks izveidots lietojums, kurš atgriezīs datus no dažādām datu

bāzēm. Izmantojot interfeisus, Oracle, Excel un Access datu bāzes tiks savienotas ar rīku Oracle

Data Integrator, ar kura palīdzību dati no šiem avotiem tiks ielādēti mērķa tabulās. Mērķa tabulas

ir tabulas, kas ataino globālo shēmu (Attēls 2.4). Globālās shēmas tabulas tiks izveidotas Oracle

datu bāzē. NetBeans vidē Java valodā tiks izveidots lietojums, kurš izgūs datus no Oracle datu

bāzes globālās shēmas tabulām.

Attēls 3.5Daudzbāzu sistēmas realizācijas shēma

9

Page 10: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

4 Globālās shēmas izveide

Darba izpildei tika izvēlēts rīks Oracle Data integrator (ODI) 11g. ODI ir ETL rīks, kas

nodrošina datu izvilkšanu, transformēšanu un ielādi. Datu izvilkšana nozīmē datu iegūšanu no

esošām sistēmām. Transformēšanas posms paredz, piemēram, šādas datu transformācijas:

atsevišķu kolonnu izvēle ielādēšanai,

kodētu lielumu pārdēvēšana (piemēram, ja datu avotā ar 1 apzīmē vīrieša dzimumu,

bet datu noliktavā – ar V),

jaunu aprēķinātu lielumu ieviešana,

viena datuma lauka sadalīšana atsevišķā dienā, mēnesī un gadā,

datu, kas nāk no vairākiem avotiem, apvienošana (piemēram, merge),

datu apkopošana (piemēram, vairāku datu rindu apkopošana, lai iegūtu informāciju

par kopējiem pārdošanas datiem katram veikalam, reģionam u.tml.),

vienas kolonnas sadalīšana vairākās.

Kad transformēti atbilstoši datu noliktavas struktūrai, tos ir iespējas ielādēt. Ielāde datu

noliktavā sastāv no tabulu aizpildīšanas noliktavas shēmā.

Pirms darba uzsākšanas ar ODI Oracle 12c datubāzē tikai izveidotas mērķa tabulas –

tabulas, kurās tiks ielādēti dati no avotiem. Pēc tabulu izveides tika veidoti interfeisi - interfeisi, kas

nodrošinās datu ielādi no avota tabulām uz mērķa tabulām.

4.1 Datu avotu savienošana ar ODI

Lai savienotu MS Excel, MS Access datu bāzi ar ODI ir jāizveido ODBC datu avots,

norādot konkrēto Excel vai Access failu. ODI rīkā topoloģiju izvēlnē jāievieto jauns datu serveris.

Tam jādefinē nosaukums (Attēls 4.6) un jānorāda draiveri (Attēls 4.7). ODI savienošanās ar Oracle

DB notiek ar JDBC interfeisu. Pēc fizisko modeļu izveides jāizveido loģiskie modeļi, katram

loģiskajam modelim norādot attiecīgo fizisko modeli. Pēc datu avotu savienošanas ar ODI tie ir

pieejami cilnes “Designer” sadaļā “Models” (Attēls 4.8). Tālāk tos varēs izmantot interfeisu

veidošanā, lai ielādētu datus globālajā shēmā.

10

Page 11: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 4.6Dataserver nosaukuma definēšana

Attēls 4.7 Draiveru norādīšana

Attēls 4.8 Datu avoti sadaļā "Models"

11

Page 12: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

4.2 Interfeisa izveide

Lai izveidotu interfeisu, vispirms jāievada tā nosaukums (Attēls 4.9).

Attēls 4.9 Interfeisa izveide: Apraksts

Pēc tam jānorāda mērķa datu tabula. Mērķa datu tabula ir elements, kas tiks ielādēts ar

interfeisu. Mērķa tabulu var norādīt cilnē “Mapping” (Attēls 4.10). “Target datastore” logā jānorāda

mērķa tabula (ar draganddrop iespēju jāienes no hierarhiskā koka) – šajā gadījumā

“T_Apgutie_kursi”. Blakus logā jānorāda avotu tabulas – piemērā “Macibu_kurss”, “Kursa

apmekletajs”, “Apgutie_kursi”. Ja avota tabulās un mērķa tabulā ir vienādi kolonnu nosaukumi,

tiem automātiski tiek veikta “mapping” funkcija. Ja kolonnu nosaukumi nav vienādi, tad ar

draganddrop no avota tabulas jāienes lauka nosaukums mērķa tabulas “mapping” ailē.

12

Page 13: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 4.10 Interfeisa izveide: Mapping

Cilnē “Flow” var redzēt datu plūsmu (Attēls 4.11). Šajā gadījumā datu avots ir Oracle datu

bāze un arī mērķa tabula glabāsies Oracle datu bāzē.

Attēls 4.11 Interfeisa izveide: Flow (1)

Attēlā 4.7. redzams datu plūsmas attēlojums, ja avots ir Excel un mērķa tabula atrodas Oracle

datubāzē.

13

Page 14: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 4.12 Interfeisa izveide: Flow (2)

Iepriekš aprakstītajā veidā tiek izveidoti interfeisi datu ielādei visās mērķa tabulās.

4.3 Pakotnes izveide

Pakotnes izveides mērķis ir norādīt secību, kādā tiek veikta datu ielāde, izmantojot

izveidotos interfeisus (Attēls 4.13). Katram datu ielādes solim ir divas stadijas: veiksmīgi izpildīts

vai kļūme. Veiksmīgi vai neveiksmīgi izpildītam solim var sekot nākamais solis vai pakotnes

izpildes beigas.Pakotnei ir viens sākuma punkts, piemērā tas ir interfeisa T_sertifikats izpilde.

Attēls 4.13Pakotne

Izveidoto pakotni var izpildīt,tai norādot komandu “Run”. Izpildes rezultāts ir redzams sadaļā

“AllExecutions”.

14

Page 15: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Attēls 4.14Pakotnes izpildes rezultāti

Pēc pakotnes izpildes dati no avotiem ir ielādēti mērķa tabulās.

15

Page 16: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

5 Lietojuma un grafiskā interfeisa izveide

Netbeans 8.0.2 vidē Java valodā tiek izveidots lietojums (Attēls 5.15), ar kura palīdzību

varēs izgūt datus no datu bāzes, kas apvieno iepriekš definētos Excel, Access un Oracle avotus.

Lietojuma izveides kods ir apskatāms pielikumā Nr.1.

Lai uzsāktu darbu lietojuma laukā “Username” jāievada lietotājvārds un laukā

“Password” parole – ar ko tiek nodrošināts pieslēgums datu bāzei. Ja ievadītie dati ir pareizi, tad

pēc pogas “Connect” nospiešanas rezultāta laukā parādās paziņojums par veiksmīgu pieslēgšanos,

ja dati ir nepareizi – parādās paziņojums par kļūdu. Poga “Disconnect” nodrošina savienojuma

pārtraukšanu. “Enterquery” teksta ievades laukā lietotājs var ievadīt Select vaicājumu un pēc pogas

“Select” nospiešanas laukā “Result” parādās rezultāts. Lietotājs var ievadīt arī Delete vaicājumu un

pēc pogas “Delete” nospiešanas tiek veikta dzēšana - par veiksmīgu izdzēšanu parādās paziņojums.

Ja Delete vai Select vaicājumi nav ievadīti korekti, tad parādās kļūdas paziņojums. Nospiežot pogu

“Clearquery”, tiek nodzēsts viss teksts vaicājuma ievades laukā; nospiežot pogu “Clearresult”,

tiek nodzēsts viss teksts rezultāta izvades laukā;

Attēls 5.15 Lietojums

16

Page 17: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Vaicājuma izpildes piemērs – Atgriezt mācību kursa nosaukumu, apmeklētāja ID un

uzvārdu (Attēls 5.2).

Attēls 5.2. Izpildes piemērs

17

Page 18: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Vaicājuma izpildes piemērs – tiek atlasīti uzņēmumi un uzņēmumu nozares, kuru

darbinieki ir apmeklējuši kādus kursus (Attēls 5.3).

Attēls 5.3. Izpildes piemērs

18

Page 19: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

6 Secinājumi

Darbā tika izskatīta multidatubāzes sistēmas izveidošana, izmantojot Java programmēšanas

valodu un Oracle Data Integrator vidi. Darbības mehānisma pamatprincipu realizācijā tika

izmantota globālās shēmas integrācija.

Multibāzu sistēma ietver sekojošas sastāvdaļas: 1) 3 dažādus datu avotus, 2) ETL rīku

Oracle Data Integrator, 3) mērķa tabulas, kurās tiks ielādēti vajadzīgie dati 4) kur lietojums atrod

informāciju par tām tabulām, kuras ir tiek atgrieztas atkarībā no definētā vaicājuma.

Secinājumi pildot darbu

1. Lai izmantotu globālās shēmas integrācijas pieeju liela nozīme ir semantikai. Jāmeklē

sinonīmi, kas ļauj apvienot tabulas vienā, apvienojot arī šo tabulu atribūtus. Jāņem vērā arī

tas, ka dažādos informācijas avotos vienādi nosauktas tabulas ne vienmēr ir sinonīmi. Pildot

darbu tika secināts, ka sākumā, izdomājot priekšmetisko vidi, bija nepieciešams izmantot

vairāk sinonīmus, holonīmus un hipernīmus, kā arī padomāt par plašākām datu

transformācijas iespējām, lai, veidojot globālo shēmu, varētu pielietot dažādas integrācijas

opcijas, piemēram vienas kolonnas sadalīšana vairākās.

2. Par globālās shēmas integrācijas pieeju tīmeklī ir pieejama daudz teorētiska informācija, bet

maz praktisku piemēru, kā to realizēt ar konkrētiem rīkiem.

3. Globālās shēmas izveide ODI vidē ir laikietilpīgs process, jo ir jāsavienojas ar avotiem,

jāizveido mērķa tabulas, katrai mērķa tabulai jāveido savs interfeiss, jāveido pakotnes –

situācijā, ja ir daudz informācijas avotu un daudz tabulu, tad visu iepriekš minēto darbību

izveide ir apgrūtinoša, kaut gan ieguldītās pūles atsver aspekts, ka pēc tam,pieslēdzoties no

globālā lietojuma, var izgūt nepieciešamos datus no jebkura avota.

4. Lai lietojums izgūtu aktuālos datus, jāatceras par datu pārlādi.

5. NetBeans IDE nodrošina ērtu un saprotamu lietojuma grafiskā interfeisa izveidi pat

nepieredzējušam lietotājam.

6. NetBeans piedāvātie kļūdu risinājumi ļoti palīdzēja lietojuma izveidē.

7. Tā kā NetBeans ir populārs rīks, tad tīmeklī bija atrodamas dažādas pamācības un piemēri.

19

Page 20: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

Pielikums Nr.1 Lietojuma izpildes kods

packageconnect;import java.awt.*;import java.awt.event.*;import java.sql.*;

publicclassConnectextendsFrame {TextField tf1,tf2;Connectioncon;TextArea t1,t2;Label l1,l2;Panel p1,p2,p3,p4;Button b1,b2,b3,b6,b7,b8;publicConnect(){setLayout(newFlowLayout()); p1 = newPanel(); p2 = newPanel(); p3 = newPanel(); p4 = newPanel(); p1.setLayout(newGridLayout(3,3,20,20)); p2.setLayout(newBorderLayout()); p3.setLayout(newGridLayout(2,3,15,15)); tf1 = newTextField("",20); tf2 = newTextField("",20); tf2.setEchoChar('*'); t1 = newTextArea("Enter query",8,60); t2 = newTextArea("Result",18,80); l1 = newLabel("username"); l2 = newLabel("Password"); b1 = newButton("connect"); b2 = newButton("Disconnect"); b3 = newButton("Select"); b6 = newButton("Delete"); b7 = newButton("Clearquery"); b8 = newButton("Clearresult"); p1.add(l1); p1.add(tf1); p1.add(l2); p1.add(tf2); p1.add(b1); p1.add(b2); p2.add("Center",t1); p3.add(b3); p3.add(b6); p3.add(b7); p3.add(b8); p2.add("South",p3); p4.add(t2);add(p1);add(p2);

20

Page 21: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

add(p4);

addWindowListener(newWindowAdapter() { @OverridepublicvoidwindowClosing(WindowEvent e)

{System.exit(0); }

}); b1.addActionListener(newConnectDB()); b2.addActionListener(newDisconnectDB()); b3.addActionListener(newSelect()); b6.addActionListener(newDelete()); b7.addActionListener(newClearQuery()); b8.addActionListener(newClearResult()); }

classConnectDBimplementsActionListener{ @OverridepublicvoidactionPerformed(ActionEvent e) {try {Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",tf1.getText(),tf2.getText());

t2.setText("Connectionsuccess\n"); }catch(ClassNotFoundException e2) { t2.setText("Classnotfound"); }catch(Exception e1) { t2.setText("errorinconnection"); } } }

classDisconnectDBimplementsActionListener{ @OverridepublicvoidactionPerformed(ActionEvent e) {try {con.close(); t2.append("Connectionclosed"); }catch(Exception e1)

21

Page 22: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

{ t2.setText("errorindisconnection"); } } }

classSelectimplementsActionListener{ @OverridepublicvoidactionPerformed(ActionEvent e) {try {Statementstmt;

ResultSetrs;

Stringquery;booleanmore;stmt = con.createStatement();intcount =0;query = t1.getText();rs = stmt.executeQuery(query);

ResultSetMetaDatarsmd = rs.getMetaData();

more = rs.next();if(!more) {

t2.append("No results");return; }

{intnumberOfColumns = rsmd.getColumnCount();

for(int i = 1; i <= numberOfColumns; i++) t2.append(rsmd.getColumnName(i)+"\t\t\t");

t2.append("\n"); }

while(more)

{intnumberOfColumns = rsmd.getColumnCount();for(int a=1; a <= numberOfColumns; a++) t2.append(rs.getNString(a)+"\t\t"); t2.append("\n");

count++;more=rs.next();

} t2.append("\n"+count+" rowsselected"+"\n");rs.close();stmt.close();

22

Page 23: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

}catch(Exception e1) { t2.setText("errorinselection"); } }

}classDeleteimplementsActionListener{ @OverridepublicvoidactionPerformed(ActionEvent e) {try {Statementstmt;Stringquery;introws;stmt = con.createStatement();query = t1.getText();rows = stmt.executeUpdate(query);if(rows == -1) { t2.append("Tabledropped"); }

else { t2.append("\n"+rows+ " rowdeleted"); }con.commit();stmt.close(); }catch(Exception e1) {

} } }

classClearQueryimplementsActionListener{ @OverridepublicvoidactionPerformed(ActionEvent e) { t1.setText(""); } }

classClearResultimplementsActionListener { @OverridepublicvoidactionPerformed(ActionEvent e) { t2.setText(""); }

23

Page 24: Priekšmetiskā vide  · Web view2021. 2. 22. · Kā priekšmetiskā vide ir izvēlēta mācību kursu administrēšana. Ir izveidoti 3 informācijas avoti: MS Excel, MS Access

}publicstaticvoidmain(String[] args){Connect c = newConnect();c.setVisible(true);c.setSize(600,700);

}

}

24