anotĀcija · web view8.4.fiziskā modeļa atskaites ģenerēšana pdf formātā72 9.sql koda...

125
Rīgas Tehniskā universitāte Datorzinātnes un Informācijas tehnoloģiju fakultāte Informācijas tehnoloģijas institūts „Toad Data Modeler” 2.Praktiskais darbs Priekšmetā Informācijas sistēmas un CASE rīki Izstrādāja: Viktorija Raizina Jeļena Havkunova Liāna Natenadze

Upload: others

Post on 18-Aug-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Rīgas Tehniskā universitāteDatorzinātnes un Informācijas tehnoloģiju fakultāte

Informācijas tehnoloģijas institūts

„Toad Data Modeler”

2.Praktiskais darbsPriekšmetā

Informācijas sistēmas un CASE rīki

Izstrādāja: Viktorija RaizinaJeļena Havkunova

Liāna Natenadze1DMIO-2 (ITI)

Rīga, 2009

Page 2: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

ANOTĀCIJA

Darbā ir dots datu bāzes „Universitāte” izprojektēts piemērs ar datu bāzu un lietojumprogrammu projektēšanas rīku Toad Data Modeler, kurš sevī apvieno objektorientēto, konceptuālo un fizisko datu modelēšanas iespējas.

Darbs ir sadalīts divās daļās. Pirmā no tām ir teorētiskā daļa, kurā tiek apskatīts un izpētīts izmantojamais CASE rīks, tā iespējas un funkcionalitāte. Savukārt, otrās daļas pamatā ir pašas datu bāzes realizācija ar rīka palīdzību. Tā pat teorētiskajā daļā ir apskatīti vairāki piemēri tām rīka iespējām, kuras praktiskajā darba daļā netiks izpētītas sīkāk (apvērstā inženierija, versiju menedžeris, uzdevumu saraksts, sinhronizācija, automātiskā izkārtošana). Darba izpildes gaitā tiek izveidots loģiskais modelis, kurš pēc īpašībām ir vienlaicīgi arī konceptuālais modelis (ar entītijām, saitēm un ierobežojumiem). Pēc loģiskā modeļa transformācijas, tiek iegūts fiziskais datu bāzes modelis. Pēc fiziskā modeļa izpētes, tas tiek papildināts ar skatu, procedūru, virkni un sinonīmu. Abi modeļi tiek salīdzināti savā starpā, kā arī no fiziskā modeļa atkārtoti ir iegūts loģiskais modelis ar nolūku salīdzināt sākotnējo loģisko modeli ar beigu modeli. Salīdzināšanas rezultātā tiek atrastas lielas atšķirības. Gan fiziskajam, gan loģiskajam modelim uzģenerētas atskaites un visbeidzot ir iegūts ari SQL kods izveidotajai datu bāzei.

Izstrādātais darbs ir izpildīts grupā, kas sastāv no trim cilvēkiem. Tas pilnībā apmierina uzdevuma nosacījumus. Visa darba gaita ir detalizēti vizualizēta, labākai darba realizēšanas secības izprašanai.

Darba aprakstā ir 156 attēli, 3 tabulas, 10 nodaļas, secinājumi, saturs, 1 pielikums un informācijas avoti. Kopumā darbs ir izklāstīts 93 lappusēs.

2

Page 3: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

SATURS

UZDEVUMA NOSTĀDNE...............................................................................................................................................5TEORĒTISKĀ UN APRAKSTOŠĀ DAĻA............................................................................................................................61. СASE rīks: definīcija, raksturojums un izmantošana...........................................................................................62. TOAD™ DATA MODELER.....................................................................................................................................73. TOAD™ DATA MODELER INSTALĀCIJA PA SOĻIEM..............................................................................................84. KOPĒJAIS TOAD DATA MODELER APSKATS.......................................................................................................13

4.1. Rīka instrumentārijs................................................................................................................................134.1.1. Lietotāja saskarne...............................................................................................................................134.1.2. Rīku josla............................................................................................................................................13

4.1.2.1. Lietotnes rīks.............................................................................................................................134.1.2.2. Designer-instrumentārijs fiziskajam modelim...........................................................................144.1.2.3. Designer-instrumentārijs loģiskajam modelim..........................................................................144.1.2.4. Designer-instrumentārijs meta modelim..................................................................................144.1.2.5. Darba telpa...............................................................................................................................15

4.2. Modeļa priekšstata līmeņi.......................................................................................................................154.3. Tehniskās prasības un cena.....................................................................................................................154.4. Atbalstīto datu bāžu saraksts..................................................................................................................164.5. Diagrammu attēlošanas līmeņi................................................................................................................164.6. Notācijas.................................................................................................................................................17

5. TDM MODEĻI....................................................................................................................................................225.1. Loģiskais modelis un ar to saistīta funkcionalitāte (LER).........................................................................22

5.1.1. Loģiskā modeļa veidošana..................................................................................................................225.1.2. Loģiskā modeļa verifikācija.................................................................................................................225.1.3. Atskaišu veidošana.............................................................................................................................225.1.4. Modeļu salīdzināšana.........................................................................................................................235.1.5. Loģiskā modeļa atjaunošana un apvienošana....................................................................................235.1.6. Loģiskā modeļa transformācija uz fizisko (LER ->PER)........................................................................24

5.2. Fiziskais modelis un ar to saistīta funkcionalitāte...................................................................................245.2.1. Fiziskā modeļa veidošana...................................................................................................................245.2.2. Fiziskā modeļa verifikācija..................................................................................................................265.2.3. Dokumentācija...................................................................................................................................265.2.4. Skripta ģenerēšana.............................................................................................................................275.2.5. Fiziskā modeļa transformācija uz fizisko un loģisko (PER ->PER,LER)..................................................275.2.6. Reverse engineering...........................................................................................................................27

5.3. Parējās funkcijas (papildus iespējas).......................................................................................................325.3.1. Automātiskā modeļa izkārtošana.......................................................................................................325.3.2. Sinhronizācija.....................................................................................................................................325.3.3. Version Manager................................................................................................................................335.3.4. To-Do list............................................................................................................................................33

PRAKTISKĀ UN REALIZĒJOŠĀ DAĻA............................................................................................................................366. KONCEPTUĀLAIS MODELIS VISIO VIDĒ.............................................................................................................367. LOĢISKAIS MODELIS.........................................................................................................................................37

7.1. Modeļa izveide........................................................................................................................................377.1.1. Entītiju, atribūtu un primāro atslēgu izveide......................................................................................377.1.2. Binārās saites izveide..........................................................................................................................417.1.3. Mantošanas realizācija.......................................................................................................................437.1.4. Unārās saites izveide..........................................................................................................................457.1.5. Vājās realitātes realizācija..................................................................................................................457.1.6. Saites N:M izveide..............................................................................................................................467.1.7. Ternārās saites izveide.......................................................................................................................467.1.8. Kategoriju izveide...............................................................................................................................47

7.2. Loģiskā modeļa verifikācija.....................................................................................................................497.3. Kopējais modelis.....................................................................................................................................517.4. Loģiskā modeļa atskaites ģenerēšana HTML formātā.............................................................................53

8. FIZISKAIS MODELIS...........................................................................................................................................568.1. Atsevišķu elementu transformācija.........................................................................................................56

3

Page 4: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.1. Mantošana.........................................................................................................................................568.1.2. Unāra saite.........................................................................................................................................578.1.3. Vājā realitāte......................................................................................................................................588.1.4. Saite N:M............................................................................................................................................598.1.5. Ternārā saite......................................................................................................................................61

8.2. Kopējā modeļa transformācija................................................................................................................638.3. Fiziskā modeļa papildināšana..................................................................................................................68

8.3.1. Virknes pievienošana..........................................................................................................................698.3.2. Procedūras pievienošana...................................................................................................................708.3.3. Sinonīma pievienošana.......................................................................................................................708.3.4. Skata pievienošana.............................................................................................................................71

8.4. Fiziskā modeļa atskaites ģenerēšana PDF formātā..................................................................................729. SQL KODA ĢENERĒŠANA..................................................................................................................................7510. LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA...............................................................................................81SUBJEKTĪVA KRITIKA...................................................................................................................................................84SECINĀJUMI...............................................................................................................................................................86INFORMĀCIJAS AVOTI................................................................................................................................................86PIELIKUMI..................................................................................................................................................................911.pielikums. Uzģenerētā SQL koda pirmteksts...........................................................................................................91

4

Page 5: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

UZDEVUMA NOSTĀDNE

1. Jāizpēta CASE rīkā realizējamie modeļi un to, kā tie saistīti sava starpā: konceptuālais; loģiskais (Dati); fiziskais;

2. Jāizpēta apzīmējumiem izmantojamās notācijas;3. Jāsniedz piemēri:

Konceptuālais Loģiskais Fiziskais modelis ar pārveidojumiem;4. Jāizpēta CASE rīka redaktora iespējas (automātiskais un manuālais):

Loģiskā modeļa manuālās redaktora iespējas; Fiziskā modeļa redaktora iespējas (automātiskās un ar roku);

5. Jāsniedz subjektīva kritika CASE rīka iespējām un struktūrām: Realizējamās un nerealizējamās struktūras; Rīka priekšrocības un trūkumi;

6. Jāsniedz secinājumi par izpētīto CASE rīku.

5

Page 6: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

TEORĒTISKĀ UN APRAKSTOŠĀ DAĻA1. ASE RĪKS: DEFINĪCIJA, RAKSTUROJUMS UNС

IZMANTOŠANA

CASE (Computer Aided Software Engineering) termins mūsdienās ir plaši pielietojams. Agrāk tas tika pielietots attiecībā uz programmnodrošinājuma izstrādes automatizāciju, savukārt mūsdienās CASE rīks apzīmē informācijas sistēmu (IS) izstrādes procesu kopumā:

IS izstrāde un nodrošinājums; Analīze; prasību formulēšana; lietišķa programmnodrošinājuma un datu bāžu projektēšana; koda ģenerēšana; testēšana; dokumentēšana; kvalitātes nodrošināšana; konfigurācijas; projekta vadība; kā arī citi procesi.

Līdz ar to CASE tehnoloģijas veido veselu, atsevišķu IS izstrādes vidi. Vispārīgā nozīmē CASE tehnoloģija ir programmsistēmu projektēšanas metodoloģija, kā

arī instrumentālu līdzekļu salikums, kas ļauj uzskatāmā formā modelēt priekšmetisko vidi, analizēt izveidoto modeli visos izstrādes un IS nodrošinājuma etapos, kā arī izstrādāt lietojumprogrammatūras, atbilstoši lietotāju sniegtās informācijas prasībām.

Lielāka daļa no eksistējošiem CASE rīkiem, ir bāzēti uz strukturālām vai objektorientētām analīzes un projektēšanas metodoloģijām, kas izmanto specifikācijas diagrammu vai teksta veidā, lai aprakstītu ārējās prasības, saites starp sistēmas modeļiem, sistēmas uzvedības dinamiku un programmlīdzekļu arhitektūru.

CASE produkta galvenās sastāvdaļas ir sekojošas: Metodoloģija (Method Diagrams), kas nosaka vienotu grafisko valodu un

noteikumus strādājot ar to; Grafiskie redaktori (Graphic Editors), kas palīdz zīmēt diagrammas (parādījās kopā

ar PC un GUI izplatīšanos (tā saucamā „upper case” tehnoloģija)); Ģenerators: pēc modeļa grafiskā priekšstata var noģenerēt izejas kodu dažādām

platformām (tā saucamā „low case” CASE tehnoloģiju daļa); Repozitorijs: savdabīga datu bāze programmētāju darba rezultātu glabāšanai.

Dažādi statistiskie mūsdienu pētījumi liecina par CASE rīku izmantošanas efektivitāti programmlīdzekļu izstrādes procesā. Tomēr eksistē neveiksmju procents, kurš ir diezgan liels.

Ņemot vērā CASE rīku dabas daudzveidību, būtu kļūdaini veikt apgalvojumus par reāliem ieguvumiem no to izmantošanu. Var pārskaitīt dažus faktorus, kas apgrūtina CASE rīka izmantošanas iespējamā efekta noteikšanu:

Plaša CASE rīku kvalitātes un iespēju daudzveidība; Relatīvi neliela CASE rīku izmantošanas pieredze ; Plaša ieviešanas praktiku daudzveidība; Detalizētu metriku trūkums; Plašs priekšmetisko apgabalu diapazons;

6

Page 7: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Dažāda CASE rīku integrācijas pakāpe dažādos projektos.

2. TOAD™ DATA MODELER

„Toad Data Modeler – daudzfunkcionāls datu bāžu un lietojumprogrammu izstrādes rīks, kas vienā integrētā vidē apvieno gan objektorientētās, gan konceptuālās fizisko datu modelēšanas iespējas. Intuitīvi saprotams lietotāja interfeiss un populāro datu bāzes vadības sistēmu (DBVS) atbalsts padara Toad Data Modeler par unikālu risinājumu tam, lai paātrinātu sarežģītu informācijas sistēmas datu bāzi, kā arī lietojumprogrammu izstrādi un analīzi. Ir iespējama ātra ER-diagrammu izveide dažādām datubāzes sistēmām(MS SQL, Oracle, Sybase), kā arī datu plūsmas diagrammu izveide.”

Ar Toad Data Modeler var:

Grafiski realizēt datu bāzes struktūru (Loģiskās un Fiziskās ER diagrammas); Veidot ER diagrammas vairākām datu bāzes sistēmām (Oracle, MS SQL, DB2, MySQL,

PostgreSQL, u.t.t.); Pārveidot jau eksistējošu datu bāzes struktūru un attēlot eksistējošās datu bāzes

struktūru diagrammas formā; Pievienot loģiskos datus diagrammām un labāk aprakstīt eksistējošās datu bāzes

struktūras; Pārbaudīt ER diagrammas (modeļus) un apskatīt piedāvāto kļūdu, brīdinājumu un

padomu (hints) sarakstus; Automātiski ģenerēt SQL kodu, atbilstoši izvēlētai datu bāzei; Ģenerēt detalizētu dokumentāciju HTML, PDF, RTF formātos; Sinhronizēt modeli ar fiziski eksistējošām datu bāzēm (izmantojot „Alter Script

Generation” un „Model Merge” opcijas); Saglabāt izmaiņu masīvus, izmantojot „Version Manager”; Veidot uzdevumu sarakstu, kas attiecas uz modeli vai noteiktu modeļa daļu, izmantojot

„To-Do list” opciju; Ātri un ērti izpildīt ikdienas uzdevumus, pateicoties GUI uzlabojumiem; Konfigurēt produktu, atbilstoši lietotāja prasībām; Ietekmēt objektus ER diagrammās caur iekšējo skriptingu.

© 2009 Quest Software, Inc.

7

Page 8: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

3. TOAD™ DATA MODELER INSTALĀCIJA PA SOĻIEM

Pirms sākt CASE rīka izpēti, tas būtu jāinstalē lietotāja datorā. Šim mērķim palaidīsim Toad Data Modeler „Setup Wizard” un pakāpeniski iziesim instalācijas procesu pa soļiem.

Pēc noklusējumā ceļš, kur atradīsies Toad Data Modeler ir - C:\Program Files\Quest Software\Toad Data Modeler 3.

Izvēlēsimies, kādas īpatnības (atbalsts priekš atšķirīgām datu bāzes sistēmām) mēs gribam uzstādīt jeb instalēt.

Toad Data Modeler instalācijas procesa sākumā parādās dialoga logs, ar pamācībām tālākajam procesam (skat. 3.1.att.).

3.1.att. Programmas palaišana

Pēc tam lietotājs tiek iepazīstināts ar licences noteikumiem. Tā pat tiek paziņots, ka lietotājs par brīvu var izmantot „trial” (izmēģinājuma) versiju tikai 15 dienu laikā (skat. 3.2.att.).

3.2.att. Piekrišanas licences prasībām logs

8

Page 9: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Nākamajā solī ir iespējams izvēlēties to, kas izmantos Toad Data Modeler programmatūru (skat. 3.3.att.). Mēs izvelēsimies variantu pēc noklusējuma, jo mums nav principiāli tas, kurš no datora lietotājiem būs rīka lietotājs. Pretējā gadījumā var izvēlēties konkrēto lietotāju, kam būs sava parole un atsevišķa pieeja rīkam.

3.3.att. Rīka lietotāja izvēles logs

Tālāk tiek izvēlēta mape, kurā tiks instalēts Toad Data Modeler rīks (skat. 3.4.att.).

3.4.att. Instalēšanas vietas izvēles logs

Nākošajā instalācijas solī ir iespēja izvēlēties, kādas datu bāzes atbalstīs un tādas iespējas būs instalētas Toad Data Modeler rīkā (skat. 3.5.att.). Izvēloties tikai kādu noteiktu datu bāzi, mēs varam paātrināt darbības rīka ietvaros. Šī īpatnība būs uzstādītā tikai uz lokālā cieta diska.

9

Page 10: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

3.5.att. Datu bāzu izvēles logs

Nākamajā solī ir iespēja izvēlēties instalācijas soļus, kurus nav nepieciešams uzstādīt. Šāds instalēšanas procesa logs parādās instalējot praktiski jebkuru programmatūru (piemēram, parasti tās ir „ātras piekļuves mapes”) (skat. 3.6.att.).

3.6.att. Ātro piekļuves mapju izvēles logs

Pēc tam ir jāpagaida, kamēr lokālajā diskā tiks izveidotas visas nepieciešamās datnes un mapes turpmākai darbībai. Instalācijas procesa beigās jāizvēlas „Run Toad Data Modeler” un jāspiež poga <Finish>, lai varētu sākt darbu ar programmu (skat. 3.7.att.).

10

Page 11: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

3.7.att. Instalācijas procesa beigu logs

PIEZĪME: Pēdējā Toad Data Modeler versija pieļauj „side-by-side” instalāciju. Neskatoties uz to, ka šī ir pirmā Toad Data Modeler instalācija, tam ir nepieciešams izveidot jaunu instalācijas mapi, kur tiks glabāti konfigurācijas iestatījumi un citas datnes. Līdz ar to parādīsies dialoga logs, kurā ir iespējama mapes izvēle (skat. 3.8.att.). Pirmās instalācijas gadījumā, ir pieejama tikai ”New Configuration” opcijas. Jāspiež poga <OK>.

3.8.att. Rīka konfigurēšanas mapes izvēles logs

Tālāk ir jādod nosaukums instalācijas mapei. Nosaukums pēc noklusējuma ir „Standart Installation”. Apstiprināsim šo izvēli, piespiežot pogu <OK> (skat. 3.9.att.).

11

Page 12: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

3.9.att. Rīka konfigurēšanas mapes izveidošanas logs

Tālāk, tā kā Toad Data Modeler būs pieejams testa jeb ”trial” (izmēģinājuma) versijā, paradīsies logs, kas par atgādinās, ka bezmaksas versija būs pieejama tikai 15 dienu laikā no instalēšanas momenta (skat. 3.10.att.).

3.10.att. Informācijas logs, ka izmēģinājuma versija ir pieejama pielietojumam 15 dienu laikā

Toad Data Modeler ”Trial” versijas ierobežojumi ir sekojoši:Ierobežojumi ir ne tikai izmantošanas ilgums – 15 dienas, bet arī modeļa lielums – modelī

var būt ne vairāk kā 25 entītijas. Nedrīkst saglabāt, drukāt, eksportēt modeli grafiskā datnē, ģenerēt atskaiti (iekļaujot sevī vecāko atskaiti un XSL transformācijas atskaiti), ģenerēt SQL/DDL skriptus, ja modelī ir vairāk nekā 25 entītijas (skat. 3.11.att.).

3.11.att. Izmēģinājuma versijas ierobežojumu paziņojums

Ierobežojumi attiecas gan uz fizisko, gan uz loģisko modeli.Nospiežam <Continue Evaluation> pogu (logā, kurš attēlots 3.10.attēlā) un varam sākt

izmantot „trial” versiju un beidzot iepazīties ar Toad Data Modeler rīku.

12

Page 13: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

4. KOPĒJAIS TOAD DATA MODELER APSKATS

4.1. Rīka instrumentārijs

4.1.1. Lietotāja saskarne

Rīga lietotāja saskarne ir izpildīta Windows-lietotnes stilā. Tā ir pietiekami vienkārša un intuitīvi skaidra. Palaižot rīku, parādās piemēra „Sample” modelis.

Pamēģināsim izpētīt aprakstāmā CASE rīka iespējas. Galvenais logs – lietotāja saskarne, kurā strādāsim turpmāk, sastāv no galvenās izvēlnes, modeļu joslas, projektētāja, rīku joslas, darba telpas, modeļa pārlūka, lietotnes skata un ziņojumu pārlūka (skat. 4.1.1.1.att.).

4.1.11..att. Galvenā loga piemērs Trial Versijai

4.1.2. Rīku josla

4.1.2.1. Lietotnes rīks

Secīgi apskatīsim visas piedāvātas Lietotnes rīka funkcijas (skat. 4.1.2.1.1.att.).

4.1.2.1.1.att. Lietotnes rīks

13

Page 14: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

atvērt jaunu modeli eksistējošā modeļa atvēršanas dialoga logs saglabāt modeli apvērstās inženierijas veidne pievienot modeli versiju menedžerim drukāšanas dialoga logs pirms drukas aplūkošanas dialoga logs

lietotnes pārlūka logs opciju dialoga logs lapas formāta izvēles logs modeļa pārlūka logs modeļa pārbaudes dialoga logs skripta ģenerēšanas dialoga logs atskaišu veidošanas veidne

4.1.2.2. Designer-instrumentārijs fiziskajam modelim

Secīgi apskatīsim visas piedāvātas fiziskā modeļa veidošanas instrumentārija funkcijas (skat. 4.1.2.2.1.att.).

4.1.2.2.1.att. Designer-instrumentārijs fiziskajam modelim

izvēles veikšanas kursors pievienot entītiju modelī pievienot identificējošu saiti modelī pievienot neidentificējošu saiti modelī pievienot M:N saiti modelī pievienot Skatu modelī

pievienot Materializētu skatu modelī pievienot piezīmi modelī pievienot piezīmju līniju modelī pievienot izstrādāšanas zīmogu modelī pievienot uzrakstu kategorijām modelī

4.1.2.3. Designer-instrumentārijs loģiskajam modelim

Secīgi apskatīsim visas piedāvātas loģiskā modeļa veidošanas instrumentārija funkcijas (skat. 4.1.2.3.1.att.).

4.1.2.3.1.att. Designer-instrumentārijs loģiskajam modelim

izvēles veikšanas kursors pievienot entītiju modelī pievienot identificējošo saiti modelī pievienot neidentificējošu saiti modelī pievienot mantošanas struktūru modelī

pievienot piezīmi modelī pievienot piezīmju līniju modelī pievieno izstrādāšanas zīmogu modelī pievieno uzrakstu kategorijām modelī

4.1.2.4. Designer-instrumentārijs meta modelim

Secīgi apskatīsim visas piedāvātās meta modeļa veidošanas instrumentārija funkcijas (skat. 4.1.2.4.1.att.).

4.1.2.4.1.att. Designer-instrumentārijs meta modelim

14

Page 15: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

izvēles veikšanas kursors pievienot klasi meta modelī pievienot asociāciju meta modelī pievienot ģeneralizāciju meta modelī pievienot piezīmi meta modelī

pievienot piezīmju līniju meta modelī pievienot izstrādāšanas zīmogu meta modelī pievienot uzrakstu kategorijām meta modelī

4.1.2.5. Darba telpa

Secīgi apskatīsim visas piedāvātās meta modeļa veidošanas instrumentārija funkcijas (skat. 4.1.2.5.1.att.).

4.1.2.5.1.att. Darba telpas instrumentārijs

mērogošanas rīks - var izvēlēties apgabalu, kuru ir jāpalielina samazināt palielināt

procentuāla mērogošana attēlošanas līmeņa izvēlne izklājuma dialoga logs izlīdzina izvēlēto saišu punktus

4.2. Modeļa priekšstata līmeņi

Toad Data Modeler pastāv divi modeļa priekšstata līmeņi – loģiskais un fiziskais.

Loģiskais līmenis – tas ir abstrakts skats uz datiem. Šajā līmenī dati tiek izskatīti tā kā tie ir reālajā dzīvē. Modeļa objekti, kas tiek piedāvāti loģiskajā līmenī, saucas par realitātēm (entītijām) un atribūtiem. Loģiskais modelis ir universāls un šajā līmenī nav saistīts ar konkrētu realizāciju DBV sistēmā.

Fiziskais līmenis, savukārt, ir atkarīgs no konkrētās DBVS. Faktiski tas ir sistēmas kataloga attēlojums. Fiziskajā modelī ir informācija par visiem DB objektiem. Tā kā objektu standarti neeksistē (piemēram, nav datu tipa standartu), fiziskais modelis ir atkarīgs no konkrētas DBVS. Līdz ar to, vienam un tam pašam loģiskajam modelim var atbilst vairāki fiziskie modeļi.

4.3. Tehniskās prasības un cena

Toad Data Modeler tehniskās prasības ir aprakstītas 1.tabulā.1.tabula

TDM tehniskās prasībasMinimālās

prasības Optimālās prasības

Platforma Pentium IV Pentium dual coreAtmiņa 256 MB 1 GBVieta uz cietā diska 100 MB 200 MBOperētājsistēma Windows

2000/XP/VistaWindows 2000/XP/Vista

Toad Data Modeler cena ir 479$. Savā darbā mēs strādāsim ar programmas „trial” versiju. Par ierobežojumiem „trial” versijā tika aprakstīts 3 nodaļā (instalācijas gaitā).

15

Page 16: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

4.4. Atbalstīto datu bāžu saraksts

Viena no svarīgām Toad Data Modeler īpašībām ir liels datu bāžu skaits, ko atbalsta šīs CASE rīks. Zemāk ir pārskaitītas datu bāzes, kuriem Toad Data Modeler var realizēt fizisko ER diagrammas modeli:

DB2 v. 9 (LUW) DB2 UDB v. 8 (LUW) MS Access

2000/2002/2003 MS SQL Server 2008 MS SQL Server 2005 MS SQLServer 2000 MySQL 5.1 MySQL 5.0

Oracle 11g Oracle 10g Oracle 9 PostgreSQL 8.3 PostgreSQL 8.2 PostgreSQL 8.1 Sybase ASE 15 Sybase ASE 12.5

4.5. Diagrammu attēlošanas līmeņi

Toad Data Modeler ir vairāki diagrammu attēlošanas līmeņi:

entītiju līmenis, atribūtu līmenis, primāro atslēgu līmenis, unikālo atribūtu līmenis, aprakstu līmenis.

Pārslēgties uz citiem attēlošanas līmeņiem var izvēloties vēlamo līmeni no rīku paneļiem (skat. 4.5.1.att.). Ka arī var to izvēlēties no galvenās izvēlnes ViewDisplay Level (skat. 4.5.2.att.).

4.5.1.att. Attēlošanas līmeņa izvēle no rīku paneļa

4.5.2.att. Attēlošanas līmeņa izvēle no galvenās izvēlnes

4.6. Notācijas

Modeļu veidošanai Toad Data Modeler rīkā ir iespējams izmantot divas notācijas: IDEF1X un IE (Information Engineering). IDEF1X metodoloģija tika

16

Page 17: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

izstrādāta ASV armijas vajadzībām un ir plaši pielietojama ASV valsts iestādes, finanšu un rūpniecības korporācijās. IE metodoloģija ir pielietojama, galvenokārt, rūpniecībā.

Informācijas modelēšanas notācijas IDEF1X un IE tiek bāzētas uz diagrammām „realitāte-saite”, kas iekļauj sevī divus bāzes elementus:

Realitāte – objekts, kas var tikt identificēts kaut-kādā veidā, kas atšķirtu to no pārējiem objektiem. Abās metodoloģijās realitāte ir attēlota kā taisnstūris, kur taisnstūra augšā ir realitātes nosaukums. Taisnstūris ir sadalīts ar horizontālo līniju. Zem līnijas ir realitātes atribūti – pašā augšā ir primāro atslēgu atribūti, bet zemāk - parēji atribūti. Eksistē divu tipu realitātes:

atkarīga realitāte – šī realitātes eksemplāra noteikšanai ir nepieciešams atsaukties uz neatkarīgas realitātes eksemplāru, ar kuru saistīta atkarīgā realitāte.

neatkarīga realitāte – šī realitātes eksemplāra noteikšanai nav nepieciešams atsaukties uz citām realitātēm.

Saite – loģiskā asociācija, kas nosaka atkarību starp realitātēm. Saites tiek attēlotas kā līnijas starp realitātēm. Atkarībā no saites lomas, realitāte var būt „vecāku” vai „bērnu”. IDEF1X notācijā „bērna” realitātes saitē ir punkts, bet IE notācijā tiek izmantota „vārna kāja”. Katrai saitei atbilst darbības vārds, kas raksturo saiti. Darbības vārds lasās pēc sekojošas formas: „vecāku” realitātes nosaukums + darbības vārds + „bērna” realitātes nosaukums. Eksistē dažādi saišu tipi:

identificējošā saite – norāda uz to, ka „bērnu” realitāte saitē ir atkarīga no „vecāku” realitātes. Atkarīgās realitātes eksemplārs var būt viennozīmīgi noteikts tikai tad, ja šajā eksemplārā ir atsauce uz neatkarīgās realitātes eksemplāru.

neidentificējošā saite – norāda uz saiti starp „vecāku” un „bērnu” realitātēm, pie tam „bērnu” realitātes eksemplārs var būt viennozīmīgi identificēts bez atsauces uz „vecāku” realitātes eksemplāru.

daudzi pret daudziem (N:M) – nespecifisks saišu tips, kas liecina par analīzes nepabeigtību. Pēdējos modelēšanas etapos visas saites N:M tiek pārveidotas citās (identificējošās un neidentificējošās) saitēs. Saitē N:M netiek izdalītas „vecāku” un „bērnu” realitātes un biežāk tiek izmantoti divi darbības vārdi.

Hierarhiskā saite – norāda uz realitātes saiti uz sevi un kategoriju hierarhiju saites.

Metodoloģijas IDEF1X un IE ir ļoti līdzīgas un atšķiras tikai ar grafisku saites jaudas attēlošanu un atšķirīgu kategoriju hierarhiju traktējumu un attēlošanu. Saites jauda –attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes eksemplārs. Kategoriju hierarhija – attiecas uz realitātēm, kuriem daļa no atribūtiem un saitēm ir vienāda. Līdzīgi atribūti novietojas superrealitātē (supertips), bet atšķirīgi atribūti novietojas apakš realitātēs (apakštips).

IDEF1X metodoloģijā var būt divu tipu kategoriju hierarhija: pilna un nepilna. Pilna - liecina par analīzes pabeigtību. Tajā piedāvāto apakštipu salikumu var uzskatīt par izsmeļošu. Nepilnā - var būt arī citas apakšrealitātes, kas vēl nav noteiktas. IE metodoloģijā visas kategoriju hierarhijas ir pilnas. Atšķiras arī kategoriju hierarhiju nozīme, kas var būt izslēdzoša un iekļaujoša. Pie izslēdzošas hierarhijas superrealitāte var spēlēt tikai vienas apakšrealitātes lomu, bet pie iekļaujošas – vairāk nekā vienas. Aplūkosim abu notāciju salīdzinājumus 2.tabulā.

17

Page 18: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

2.tabulaNosacītie IDEF1X un IE notāciju apzīmējumi

Notācijas elements IDEF1X notācija IE notācija Apraksts

Realitāte

Realitātes nosaukums atrodas virs taisnstūra. Iekšā atrodas atribūtu saraksts, kur atslēgas atribūti iedalīti citā krāsā vai atdalīti ar svītru.

Identificējošā saite

Neidentificējošā saite

Saite 1 : 0,1

Saite 1 : 1,N

Saite 1 : 0,1 N

Saite 1 : X Tiek definēta konstanta vērtība.

Saite N : MSaites tips, kas liecina par analīzes nepabeigtību; modelēšanas turpmākajos etapos tā tiek pārveidota citā saitē.

Hierarhiskā saite Realitātes saite pašai ar sevi.

Pilnā kategoriju hierarhija Izslēdzoša kategoriju hierarhija.

18

Page 19: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Iekļaujoša kategoriju hierarhija.

Nepilnā kategoriju hierarhija

19

Page 20: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Toad Data Modeler piedāvā iespēju viegli „pārslēgties” no IDEF1X uz IE notāciju, izvēloties „Notation” opciju no galvenās rīku izvēlnes (skat.4.7.1.att.).

4.7.1.att. Notāciju izvēles iespēja

IDEF1X un IE notāciju realizāciju Toad Data Modeler var apskatīt programmas „Palīgā” (Help), kur ļoti pārskatāma veidā ir paradīti saišu un realitāšu realizācijas piemēri.

IE notācija (skat. 4.7.2.att.).

4.7.2.att. Palīgs par IE notācijām

Saišu un saišu jaudas (cardinality) realizācijas piemēri IE notācijām ir apskatāmi 4.7.3.att.).

Page 21: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

4.7.3.att. IE notācijas saišu veidi

IDEF1X notācija (skat. 4.7.4.att.).

4.7.4.att. Palīgs par IDEF1X notācijām

21

Page 22: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Saišu un saišu jaudas (cardinality) realizācijas piemēri IDEF1X notācijām ir apskatāmi 4.7.5.att.).

4.7.5.att. IDEF1X notācijas saišu veidi

PIEZĪME: Mūsu darba izpildei tiks izmantota IE notācija.

22

Page 23: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5. TDM MODEĻI

5.1. Loģiskais modelis un ar to saistīta funkcionalitāte (LER)

5.1.1. Loģiskā modeļa veidošana

Toad Data Modeler vidē var veidot loģisko modeli, definējot darba telpu, pievienojot entītijas (realitātes), atribūtus, unikālus identifikatorus, pievienojot un definējot saites un pievienojot un specificējot mantošanu. Jāatzīmē, ka Toad Data Modeler piedāvā iespēju veidot kategorijas, kas ar krāsām izdalīs modeļa daļas. Piemērām entītijām (realitātēm), kas savā starpā ir loģiski saistītas, var noteikt atsevišķu kategoriju un attēlot tās atšķirīgā no citām krāsā.

5.1.2. Loģiskā modeļa verifikācija

Programmas viena no priekšrocībām ir tāda, ka tajā ir iespēja pārbaudīt loģisko modeli, veicot modeļa verifikāciju, kas palīdz atklāt modeļa kļūdas un brīdinājumus. Loģiskā modeļa verifikācija tiks detalizēti aprakstīta darba praktiskajā daļā. Verifikācijas aktivizēšana ir attēlota 5.1.2.1.attēlā.

5.1.2.1.att. Loģiskā modeļa pārbaudes aktivizēšana

5.1.3. Atskaišu veidošana

Toad Data Modeler var automātiski ģenerēt atskaites loģiskajiem modeļiem. Atskaites tiek realizētas HTML formātā, un ir ļoti ērtas un pārskatāmas. Sīkāk atskaišu ģenerēšanas piemērs tiks apskatīts darba praktiskajā daļā, kur mēs ģenerēsim atskaiti Universitātes priekšmetiskās vides loģiskajam modelim. Pie tam ir jāatzīmē tas, ka HTML atskaites var modificēt, paplašinot eksistējošo metodi. Iekš Script Explorer var redzēt BasicHTMLPERReportOR skriptu ar funkciju ReportTableUserProperties. Tieši šis skripts ģenerē tabulu lapas HTML atskaitēs. Tādā veidā to var mainīt, pielāgojot savām vajadzībām (skat. 5.1.3.1.att.).

23

Page 24: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.1.3.1.att. Loģiskā modeļa Script Explorer atskaišu rediģēšanas logs

5.1.4. Modeļu salīdzināšana

Šajā programmatūrā pastāv arī iespēja salīdzināt modeļus savā starpā ar Comparator funkcijas palīdzību, ko var atrast rīku panelī: Model -> Compare (skat. 5.1.4.1.att.).

5.1.4.1.att. Modeļu salīdzināšanas aktivizēšana

Salīdzināt var kā loģiskos modeļus, tā arī fiziskus, pie tam pastāv iespēja automātiski noģenerēt atskaiti HTML formātā, kas saturēs „atšķirības” datus.

5.1.5. Loģiskā modeļa atjaunošana un apvienošana

Gadījumā, kad loģiskais modelis jau ir konvertēts fiziskajā un tajā tiek izdarītas izmaiņas, pastāv iespēja atjaunot arī loģisko modeli, atbilstoši tām izmaiņām, kas tika veiktas fiziskajā modelī. Šim nolūkam, kalpo Convertor. Tā pat ir iespējams apvienot divus loģiskus modeļus vienā, izmantojot Merge Models funkciju. Šī rīka aktivizēšana ir apskatāma 5.1.5.1.attēlā).

5.1.5.1.att. Modeļa atjaunošanas un apvienošanas aktivizēšana

24

Page 25: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.1.6. Loģiskā modeļa transformācija uz fizisko (LER ->PER)

Toad Data Modeler ļauj transformēt loģisko modeli fiziskajā. Šim mērķim, tiek izmantots Convertor. Izvēloties Model -> Simple Model Conversion vai Model Conversion, Model Merge (skat. 5.6.1.att. kā arī iepriekš attēlotais 5.1.5.1.att.).

5.1.6.1.att. Modeļa transformēšanas aktivizēšana

Pirms konvertēt loģisko modeli ->fiziskajā modelī, ir jāzina daži noteikumi:

fiziskais modelis atbalsta tikai neidentificējošas unāras saites; fiziskajā modelī nav atbalstīta mantošana; atslēgas migrē pēc transformācijas fiziskajā modelī; var izvēlēties savienojuma metodi loģiskajā modelī; M:N saites atbalstītas gan LER, gan PER modeļos u.t.t.

Sīkāk, loģiska modeļa konvertēšana fiziskajā modelī tiks apskatīts turpmāk darba gaitā.

5.2. Fiziskais modelis un ar to saistīta funkcionalitāte

5.2.1. Fiziskā modeļa veidošana

Toad Data Modeler(TDM) vidē var veidot fizisko modeli. Tā kā TDM atbalsta vairākas DBVS, pirms modeļa veidošanas ir jānokonkretizē un jāizvēlas kādu no datu bāzu sistēmām. Tad var pievienot entītijas, un nodefinēt to īpašības (skat. 5.2.1.1.att.).

5.2.1.1.att. Entītiju īpašību aplūkošana un definēšana

Ka redzams iepriekšējā attēlā, ir vesela virkne funkciju, ko var pielietot, veidojot entītiju fiziskajā modelī:

25

Page 26: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

General – šeit, visas galvenie uzstatījumi, kas definē entītiju: nosaukums, uzraksts, kategorija, izmērs

Attributes – šeit var veidot, koriģēt un dzēst entītijas atribūtus Keys – šeit var veidot primāras atslēgas un alternatīvas atslēgas Indexes – šeit var veidot indeksus Check Constraints – šeit var veidot ierobežojumus Triggers – šeit var veidot trigerus Permissions – šeit var definēt pieejas atļaujas lietotājiem vai lietotāju grupām To Do – šeit var definēt uzdevumus entītijām Notes – entītiju detaļas, paskaidrojumi u.t.t. SQL Preview – entītijas SQL kods (skat. 5.2.1.2.att.).

5.2.1.2.att. Entītijas SQL koda pārlūks

Fiziskajā modelī var arī nodefinētas saites, kardinalitātes (saišu jaudas) u.t.t. (skat. 5.2.1.3.att.).

5.2.1.3.att. Saišu definēšana fiziskajā modelī

Neskaitot šīs pamata iespējas, Toad Data Modeler fiziskajā modelī ir iespējams realizēt vēl dažas svarīgas opcijas: skatu un materializētu skatu pievienošana, procedūru un funkciju definēšana, indeksu, trigeru definēšana un pat definēt lietotāja datu tipus, ērtākam darbam.

26

Page 27: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.2. Fiziskā modeļa verifikācija

Tā pat kā loģiskajā modeli, šeit ir iespēja pārbaudīt fizisko modeli, veicot modeļa verifikāciju, kas palīdz atklāt kļūdas un brīdinājumus (skat. 5.2.2.1.att.).

5.2.2.1.att. Fiziskā modeļa verifikācijas aktivizēšana

5.2.3. Dokumentācija

Toad Data Modeler automātiskā dokumentācija priekš fiziskā modeļa piedāvā sekojošas iespējas:

Var ģenerēt atskaites HTML, RTF un PDF formātos, izmantojot Report Wizard (skat. 5.2.3.1.att.).

5.2.3.1.att. Fiziskā modeļa atskaišu ģenerēšanas izvēles logs

Var izveidot lietotāju atskaites fiziskajam modelim – HTML, PDF, CSV, text vai XML formātos (skat. 5.2.3.2.att.).

5.2.3.2.att. Fiziskā modeļa lietotāja atskaišu ģenerēšanas izvēles logs

Var ģenerēt XSD failu fiziskajam modelim (skat. 5.2.3.3.att.).27

Page 28: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.3.3.att. XSD fails fiziskajam modelim

5.2.4. Skripta ģenerēšana

No fiziskā modeļa var ģenerēt DDL/SQL kodu, pie tam Toad Data Modeler piedāvā iespēju izvēlēties objektu ģenerēšanas kārtību (piemēram, ģenerēt lietotājus pirms lietotāju privilēģijām). Vispārīgi var mainīt kārtību sekojošiem objektiem: domēni, entītijas, skati, vārdnīcas tipi, glabājamās procedūras, funkcijas, lietotāji, lietotāju datu tipi. Iespējas aktivizēšana ir apskatāma 5.2.4.1.attēlā).

5.2.4.1.att. DDL/SQL koda ģenerēšanas aktivizēšana

5.2.5. Fiziskā modeļa transformācija uz fizisko un loģisko (PER ->PER,LER)

Toad Data Modeler ļauj konvertēt fizisko modeli no vienas datu bāzes sistēmas uz citu, piemēram, Oracle 10g fiziskais modelis var būt konvertēts SQL Server 2005 modelī.

Tā pat Toad Data Modeler ļauj transformēt fizisko modeli loģiskajā. Šī opcija dod iespēju veidot jaunu loģisko modeli, no eksistējošā fiziskā modeļa. Funkcijas aktivizēšana ir apskatāma 5.2.5.1.attēlā.

5.2.5.1.att. Modeļa konvertēšanas aktivizēšana

5.2.6. Reverse engineering

Apvērstās inženierijas opcija ir viena no vissinteresantākām opcijām, kas eksistē Toad Data Modeler vidē. Šī opcija dod iespēju ielādēt jau eksistējošo datu bāzu struktūras un veidot jaunas ER diagrammas.

Pastāv divi apvērstās inženierijas veidi: standard reverse engineering un live reverse engineering.

28

Page 29: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Standard reverse engineering režīmā indeksi, komentāri, trigeri, saites, ierobežojumi, funkcijas, skati, procedūras, lietotāju tipi u.t.t. ielādējās jaunajā ER diagrammā, atbilstoši eksistējošai datu bāzes struktūrai.

Live reverse engineering piedāvā vieglu un ātru iespēju pievienot jaunas entītijas, jaunus skatus un sinonīmus jau eksistējošā Oracle modelī (un tikai Oracle). Dažreiz šo opciju var izmantot, lai vienkārši atjaunotu modeli.

Tā kā savā darbā mēs neizskatīsim šo Toad Data Modeler opciju, īsumā apskatīsim piemēru, kā tas tiek darīts.

Sākumā ir jāizvēlas saglabātus pseidonīmus (skat.5.2.6.1.att.).

5.2.6.1.att. Saglabāto pseidonīmu izvēle

Pēc tam ir jāizvēlas datu bāze (skat. 5.6.2.2.att.).

5.2.6.2.att. Datu bāzes izvēle

Tad jāizvēlas savienošanas tips no izvēlētajai datu bāzei pieejamiem tipiem (skat. 5.2.6.3.att.).

29

Page 30: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.6.3.att. Savienošanas tipu izvēle

Ir pieejamie sekojošie savienošanas tipi (atkarībā no datu bāzes): ADO; Native; TCP/IP; ODBC.

Tad jānokonfigurē savienojums (skat. 5.2.6.4.att.).

5.2.6.4.att. Savienojuma konfigurācija

Tālāk ir jāizvēlas datu migrātors (skat. 5.2.6.5.att.).

30

Page 31: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.6.5.att. Datu migrātora izvēle

Jāizvēlas objekti, kurus ir jāpārveido (skat. 5.2.6.6.att.).

5.2.6.6.att. Pārveidojamo objektu izvēle

Jāsaglabā pseidonīms (skat. 5.2.6.7.att.).

31

Page 32: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.6.7.att. Pseidonīma saglabāšana

Jāizvēlas shēmas un tabulas (skat. 5.2.6.8.att.).

5.2.6.8.att. Shēmu un tabulu izvēle

Visbeidzot tiek izvadīts paziņojums par apvērstās inženierijas pabeigšanas procesu (skat. 5.2.6.9.att.).

5.2.6.9.att. Apvērstās inženierijas pabeigšanas procesa ziņojums

Tad, kad apvērstā inženierija ir pabeigta, var apskatīt jaunu ER diagrammu no iepriekš eksistējošas datu bāzes. Tika izveidots Fiziskais Modelis, kas ir redzams 5.2.6.10.attēlā.

32

Page 33: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.2.6.10.att. Apvērstās inženierijas rezultāta fiziskais modelis

5.3. Parējās funkcijas (papildus iespējas)

5.3.1. Automātiskā modeļa izkārtošana

Automātiskā izkārtojuma funkcija ļauj izvietot modeļa objektus darba telpā automātiski. Tas varētu būt noderīgs pēc loģiska modeļa konvertēšanas fiziskajā modelī. Aktivizēšanas process ir apskatāms 5.3.1.1.attēlā.

5.3.1.1.att. Automātiskā izkārtojuma aktivizēšana

5.3.2. Sinhronizācija

Toad Data Modeler ļauj sinhronizēt:

datu bāzi un Toad Data Modeler modeli; fizisko un loģisko modeli.

33

Page 34: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

5.3.3. Version Manager

Toad Data Modeler var veidot projektus, pievienot modeļus un citus failus, ka arī mainīt modeļus, veidot to versijas u.t.t. Var veidot neierobežotu projektu skaitu.

Tā kā savā darbā šo opciju mēs neizskatīsim, tad apskatīsim vienu no piemēriem, kā pievienot esošo modeli kādam konkrētam projektam.

Sākumā ir jāizveido jaunu projektu ar Add Project palīdzību (skat. 5.3.3.1.att.).

5.3.3.1.att. Jauna projekta izveidošana

Tad jāpievieno šim projektam esošo modeli (Add to Version Manager) (skat. 5.3.3.2.att.).

5.3.3.2.att. Modeļa pievienošana projektam

Pēc apstiprināšanas, izvēlētais modelis (tā pat kā katrs jaunais pievienotais) tiks pievienots konkrētam projektam. Līdz ar to, vienmēr būs iespēja apskatīt projekta vairākas versijas, kuras vien ir bijušas pievienotas projektam ar Version Manager.

5.3.4. To-Do list

To-Do saraksts ļauj veidot ierakstus, kas atgādina uzdevumus, kurus ir jāveic vai atgādina par nepabeigtām darbībām. Uzdevumus var pievienot:

Kādai modeļa daļai, uzklikšķot uz objekta ar labo peles pogu un izvēloties no „Edit” izvēlnes šķirkli Properties, kurā tālāk jāizvēlas To Do cilnis (tab). Tiks attēlots uzdevumu saraksts, kuri ir saistīti tieši ar izvēlēto objektu.

34

Page 35: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Galvenā To Do dialoga logā, ko var atrast zem Model ->To Do (papildus šeit tiks paradīts pilns uzdevumu saraksts).

Galvenais To Do dialoga logs ir attēlots 5.3.4.1.attēlā. Var redzēt, ka ir norādīti divi uzdevumi, kas attiecas uz Loģisko modeli kopumā. Pievienot jaunu uzdevumu var ar Add opciju, izmainīt esošo uzdevumu ar Edit, un atbilstoši izdzēst uzdevumu vispār ar Delete.

5.3.4.1.att. Loģiskā modeļa uzdevumi

Apskatīsim vienu piemēru jauna uzdevuma pievienošanai (skat. 5.3.4.2.att.). Attēlā ir redzams tas, kā uzdevumam var noteikt prioritāti, noteikt izpildes termiņus un noteikt kategoriju.

5.3.4.2.att. Jauna uzdevuma definēšana

Kā jau bija minēts, Toad Data Modeler vidē var piesaistīt uzdevumus ne tikai modelim kopumā, bet arī atsevišķiem objektiem. Objektu saraksts, kuriem var pievienot uzdevumus ir sekojošs:

35

Page 36: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

modelis, entītija, saite, atribūti, atslēgas, indeksi, ierobežojumi, trigeri, lietotāji, lietotāju grupas, vārdnīcas tipi, lietotāja datu tipi, domēni, likumi, skati, procedūras, shēmas, kategorijas, meta modeļi.

Kā piemēru apskatīsim - kā var pievienot uzdevumu entītijai Studentu_grupa, izvēloties Properties izvēlnē cilni (tab) To Do (skat. 5.3.4.3.att.).

5.3.4.2.att. Jauna uzdevuma definēšana entītijai Studentu_grupa

Pārbaudām galveno To-Do sarakstu, kur automātiski ir pievienojies jauns uzdevums (skat. 5.3.4.3.att.).

5.3.4.3.att. Kopējais uzdevumu saraksts ar automātiski pievienoto uzdevumu

Ir redzams ka uzdevums ir automātiski pievienots kopējam sarakstam, un, atšķirība no pārējiem uzdevumiem, Object Name ailē ir entītijas nosaukums Studentu_grupa.

Tagad, kad šķiet, ka esam izpētījuši to, kā strādā mūsu pētāmais CASE rīks, varam izveidot mūsu priekšmetisko vidi, kuru arī mēģināsim realizēt ar Toad Data Modeler palīdzību. Līdz ar to mēs beidzot varam pāriet pie darba praktiskās daļas.

36

Page 37: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

PRAKTISKĀ UN REALIZĒJOŠĀ DAĻA6. KONCEPTUĀLAIS MODELIS VISIO VIDĒ

Darba praktiskajā daļā mēs cenšamies paradīt visu iepriekš aprakstīto rīka funkcionalitāti uz konkrēta piemēra.

Par pamatu mēs izvelējāmies piemēru, kas tika aprakstīts PowerDesigner15.doc, kurš apraksta universitātes struktūru. Tā kā Toad Data Modeler nav iespējas izveidot konceptuālo modeli, tad to realizējam Visio vidē, balstoties uz iepriekš minēta piemēra struktūras (skat. 6.1.att.).

6.1.att. Priekšmetiskās vides konceptuālais modelis

Izveidoto modeli sīki neaprakstīsim vairāku iemeslu dēļ. Pirmkārt, mums galvenais ir izpētīt rīka iespējas; otrkārt, universitātes struktūra ir diezgan labi saprotama katram studentam un pasniedzējam. Līdz ar to mēs uzreiz sāksim ar šī modeļa realizāciju.

37

Page 38: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7. LOĢISKAIS MODELIS

7.1. Modeļa izveide

7.1.1. Entītiju, atribūtu un primāro atslēgu izveide

Tātad, balstoties uz izveidoto konceptuālo modeli, var sākt realizēt loģisko modeli Toad Data Modeler vidē.

Sākot darbu, izvēlēsimies galvenajā izvēlnē FileNew Model... Atvērsies dialoga logs, kur ir divas cilnes (tab): Logical Data Model un Physical Data Model. Jāizvēlas Logical Model un jāspiež poga <OK> (skat. 7.1.1.1.att.).

7.1.1.1.att. Loģiskā modeļa izveides logs

Lai pievienotu modelim entītiju, ir nepieciešams vai nu galvenajā izvēlnē izvēlēties

Objects->Entity...,(skat. 7.1.1.2.att.) vai nu rīkjoslā izvēlēties entītijas apzīmējumu un nospiest jebkurā vietā, kur gribam izvietot entītiju ar peles kreiso taustiņu.

7.1.1.2.att. Entītijas izveidošana

38

Page 39: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Darba telpā paradās jauna Entītija. Uzklikšķinot uz to ar peles kreiso taustiņu divas reizes, paradīsies logs EntityProperties. (7.1.1.3.att.). Sākumā apskatīsim jaunas Entītijas izveidi un atribūtu definēšanu tajā. Nosauksim mūsu entītiju „Fakultāte”, ierakstot vērtību laukā Name.

7.1.1.3.att. Entītijas datu definēšana

Pēc tam definējam entītijai attiecīgus atribūtus. To var izveidot Attributes cilnē (tab) (skat. 7.1.1.4.att.).

7.1.1.4.att. Entītijas atribūtu definēšana (1)

Veidojam attiecīgus atribūtus. Sāksim ar F_Num atribūtu, kur datu tips ir Integer (Long Integer tips netiek piedāvāts). Pievienojam atribūtu, un nospiežam pogu <OK+Add>. Pāriesim pie nākamā atribūta (skat. 7.1.1.5.att.)

39

Page 40: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.1.5.att. Entītijas atribūtu definēšana(2)

Nākamais atribūts ir F_Nos, t.i. Fakultātes nosaukums. izvēlēsimies datu tipu Varchar un atribūta garumu līdz 50 simboliem (jāpietiek priekš Fakultātes nosaukuma).

Tālāk, ja ir nepieciešams, turpināsim pievienot atribūtus, nospiežot pogu <Ok+Add>. Kad visi atribūti ir sekmīgi definēti, tad spiežam pogu <OK> (skat. 7.1.1.6.att.).

7.1.1.6.att. Visi entītijas atribūti

Visus atribūtus mēs varam aplūkot kopējā entītijas atribūtu logā. Tad, kad visi atribūti ir definēti, varam pāriet pie cilnes UniqueIdentifiers (skat.7.1.1.7.att.). Vienam no atribūtiem jābūt primārai atslēgai, mūsu gadījumā tas ir atribūts F_Num.

40

Page 41: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.1.7.att. Unikālo identifikatoru rediģēšanas logs

Lai pievienotu primāro atslēgu (unikālo identifikatoru), sākumā ir jānospiež poga <Add>. Mums parādās logs, kur mēs varam izdarīt primārās atslēgas izvēli „Attributes” cilnē. Šeit no piedāvātājiem atribūtiem ar bultiņu palīdzību pa labi > pārvilksim nepieciešamo primāras atslēgas atribūtu uz labo pusi (skat. 7.1.1.8.att.).

7.1.1.8.att. Unikālo identifikatoru izvēles logs

41

Page 42: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Visbeidzot, mūsu izveidotā entītija Fakultāte ir apskatāma 7.1.1.9.attēlā pēc visu atribūtu definēšanas un primāras atslēgas atribūta izvēles.

7.1.1.9.att. Izveidotā entītija „Fakultāte”

Tādā pašā veidā mēs pa soļiem definējam katru mums nepieciešamo entītiju, mūsu priekšmetiskās vides realizācijai.

7.1.2. Binārās saites izveide

Tagad sāksim saišu definēšanu starp entītijām. Sāksim ar bināro saiti starp realitātēm Fakultāte un Institūts (skat. 7.1.2.1.att.).

7.1.2.1.att. Konceptuālā modeļa binārās saites struktūra

Tagad izvēlamies saiti no rīku joslas Objects Relationship vai no rīka instrumentu paneļa

(skat. 7.1.2.2.att.) un uzklikšķinām vienu reizi uz vienas, otru reizi uz otras entītijas, kurai būs foreign key lauks ar peles kreiso taustiņu.

7.1.2.2.att. Saites izvēle

Paradīsies saite starp divām izvēlētām entītijām. Uzklikšķinot uz to saites ar peles kreiso taustiņu divas reizes, paradīsies logs RelationshipProperties (skat. 7.1.2.3.att.).

42

Page 43: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.2.3.att. RelationshipProperties dialoga logs, saites datu definēšanai (1)

Izvelēsimies ārējas atslēgas nosaukumu F_Num laukam ForeignUniqueIdentifier. Nosauksim saiti „Ir”, jo attiecība starp „Vecāku” un „Bērnu” ir sekojoša: Fakultātei ir Institūts.

Cilnē Cardinality varam izvēlēties saites veidu, kura mums ir nepieciešama 1:1, vai 1:N, u.t.t. (skat. 7.1.2.4.att.).

7.1.2.4.att. Saites veida izvēle

43

Page 44: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.3. Mantošanas realizācija

Nākamajā solī izveidosim mantošanas attiecības starp trim realitātēm, kur Cilvēks ir Parent entītija, bet Students un Pasniedzējs ir Child entītijas. Izveidojot trīs realitātes un definējot tiem attiecīgus atribūtu un unikālus identifikatorus, izvēlēsimies Objects-> Inheritance(skat. 7.1.3.1.att.).

7.1.3.1.att. Mantošanas realizācijas instrumenta izvēle

Ir arī iespēja izmantot rīka instrumentu joslā mantošanas apzīmējumu un nospiest sākumā uz vecāka entītijas lauku, t.i. Cilvēks, ar peles kreiso taustiņu. Pēc tam jāspiež uz bērna entītijas lauku, piem. Students. Lai pievienotu otro bērnu, atkal rīku joslā izvelēsimies mantošanas apzīmējumu un nospiežam uz mantošanas simbolu mūsu modelī

. Tagad varam spiest, attiecīgi, uz otrā bērna realitāti, t.i. Pasniedzējs.Bez tam, uzklikšķinot divas reizes uz tā paša mantošanas simbola mūsu darba telpā,

parādās mantošanas dialoga logs, kur ir iespējams atzīmēt vai tā būs pilnā vai izslēdzošā mantošana (skat. 7.1.3.2.att.).

7.1.3.2.att. Mantošanas tipa izvēle

44

Page 45: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Savukārt, paaudžu cilnē (Generation), ir iespēja atzīmēts kurš un ko mantos – vecāks visus bērnus, katras bērns vecāku, vai arī transformējot modeli fiziskajā, tas sakritīs ar loģisko (skat. 7.1.3.3.att.). Mūsu gadījumā, lai pārbaudītu to, kas notiks ar mantošanas struktūru konvertācijas procesā, izvelēsimies otro no minētajiem variantiem.

7.1.3.3.att. Mantošanas kārtas izvēle

Mūsu modelī, kā jau tika minēts, mantošana ir realizējama starp realitātēm bērnu Pasniedzējs, Students un vecāku realitātes Cilvēks (skat. 7.1.3.4.att.).

7.1.3.4.att. Konceptuālā modeļa mantošanas struktūra

Tātad, realizējot šo struktūru ar Toad Data Modeler rīka palīdzību, šī struktūra izskatās diezgan līdzīgi (skat. 7.1.3.5.att.).

7.1.3.5.att. Realizētā mantošanas struktūra

45

Page 46: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.4. Unārās saites izveide

Tagad realizēsim unāro saiti. Izmantojot saites instrumentu, nospiedīsim uz vienas un tās pašas entītijas divas reizes. Tā pat uzstādīsim saitei noteiktus parametrus.

Tātad, mūsu realizējamā saite sastāv no realitātes Students saites pašai uz sevi (skat. 7.1.4.1.att.).

7.1.4.1.att. Konceptuālā modeļa unārās saites struktūra

Realizēto struktūru ar CASE rīka palīdzību var aplūkot 7.1.4.2.attēlā.

7.1.4.2.att. Realizētā unārās saites struktūra

7.1.5. Vājās realitātes realizācija

Vāja realitāte loģiskajā modelī ir realizējama realitātei Atzīme kā atkarīgai no realitātēm Students un Pasniedzējs (skat. 7.1.5.1.att.).

7.1.5.1.att. Konceptuālā modeļa vājās realitātes struktūra

Realizēto struktūru ar CASE rīka palīdzību var aplūkot 7.1.5.2.attēlā.

7.1.5.2.att. Realizētā vājās realitātes struktūra

46

Page 47: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.6. Saites N:M izveide

Mūsu modelī ir divas N:M saites – starp realitātēm „Mācību programma” un „Mācību priekšmets”, kā arī starp realitātēm „Pasniedzējs” un „Mācību priekšmets” (skat. 7.1.6.1.att.).

7.1.6.1.att. Konceptuālā modeļa N:M saišu struktūras

Realizēto struktūru ar CASE rīka palīdzību var aplūkot 7.1.6.2.attēlā.

7.1.6.2.att. Realizētās N:M saišu struktūras

7.1.7. Ternārās saites izveide

Mūsu modelī ternārā saite ir starp realitātēm „Atzīme” un „Mācību priekšmets” un „Students” (skat. 7.1.7.1.att.).

47

Page 48: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.7.1.att. Konceptuālā modeļa ternārās saites struktūra

Realizēto struktūru ar CASE rīka palīdzību var aplūkot 7.1.6.2.attēlā.

7.1.7.2.att. Realizētās ternārās saites struktūra

Ternāro saiti mēs realizējām ar asociācijas tabulas palīdzību 9Studenta_Atz_Saraksts), kura savā starpā savieno visas realitātes

7.1.8. Kategoriju izveide

Tagad mēģināsim izveidot kategorijas tām entītijām, kas ir loģiski saistītas savā starpā. Izdalīsim kategoriju Personas, kurā attiecīgi atradīsies visas entītijas, kas būtībā atrodas mantošanās attiecībās. Lai to realizētu, atveram entītijas Cilvēks īpašības, un galvenajā cilnē izvēlāmies kategoriju. Tā kā kategoriju mēs vēl nebijām definējuši, veidosim to tagad (skat. 7.1.8.1.att.).

48

Page 49: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.1.8.1.att. Kategoriju izveides logs

Kā jau tika minēts, kategorijas nosaukums ir Personas. Izvēlēsimies minētajai kategorijai zaļo krāsu. To pašu kategoriju, tādā pašā veidā definējam entītijām Students un Pasniedzējs, taču te jau no kategoriju saraksta būs jāizvēlas jau eksistējošā kategorija. Rezultātā, 7.1.8.2.attēlā varam aplūkot, ka kategorijas entītijas ir vienā krāsā.

7.1.8.2.att. Vienas kategorijas pārstāvju entītijas(1)

Tādā pašā veidā izveidosim vēl vienu kategoriju, kas sauksies UniversitatesAdministracija, un tajā ievietosim sekojošas realitātes: Fakultāte, Institūts un Katedra (skat. 7.1.8.2.att.).

7.1.8.2.att. Vienas kategorijas pārstāvju entītijas (2)

49

Page 50: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Darba telpā varam ievietot arī „leģendu” ar kategoriju nosaukumiem, nospiežot uz ikonas rīku joslā. Darba telpā parādās taisnstūris ar darba telpā eksistējošām kategorijām (skat. 7.1.8.3.att.).

7.1.8.3.att. Darba telpā eksistējošo kategoriju saraksts

Tātad, tādā veidā var grafiski izdalīt loģiski saistītas realitātes, tas ir uzskatami un katrā ziņā grafiski ar to palīdzību varētu realizēt superrealitāšu saites.

Tagad, kad modelis tiek izveidots līdz galam, visas entītijas un saites ir definētas, varam pāriet pie nākama soļa – modeļa verifikācijas, t.i. sistēmas pārbaudes, ko parasti veic tās izstrādāšanas gaitā, lai pārliecinātos, vai izstrādāšanas procesā aplūkojamā posma rezultāti atbilst tā sākumā definētajiem noteikumiem un prasībām.

Ir jāpiezīmē, kā izveidojot loģisko modeli, mēs secinājām, kā principā tas pēc būtības ir gan konceptuālais, gan loģiskais modelis (pēc Toad Data Modeler izstrādātāju viedokļa). Uz to liecina sekojošie fakti:

tajā nevar realizēt skatus, kā to var darīt loģiskajā modelī; tajā var grafiski realizēt mantošanu, kā tas ir konceptuālajā modelī; tajā entītijas ir nevis realitātes, bet jau tabulas, kā tas ir loģiskajā modelī; ārējās atslēgas netiek attēlotas, kā tas ir loģiskajā modelī.

7.2. Loģiskā modeļa verifikācija

Loģiskā modeļa verifikāciju jeb pārbaudi var veikt galvenajā izvēlnē izvēloties ModelVerifyModel (skat. 7.2.1.att.).

7.2.1.att. Verifikācijas aktivizēšana

Lietotājam parādās dialoga logs, kurā viņš var izvēlēties kritērijus, pēc kuriem tiks veikta modeļa pārbaude (skat. 7.2.2.att.).

50

Page 51: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.2.2.att. Verifikācijas kritēriju izvēles logs

Pēc veiktās izvēles ir jānospiež poga <Verify>, un Ziņojumu pārlūkā (Log) paradīsies verifikācijas un pārbaudes rezultāti.

Piemēram, mēs, modeļa veidošanas gaitā, nejauši izveidojām vienādus saišu nosaukumus. Līdz ar to, mums tika paziņots par verifikācijas kļūdām (skat. 7.2.3.att.).

7.2.3.att. Verifikācijas rezultāta ziņojuma logs(1)

Tātad, mūsu modelī tika atrastas divas kļūdas. Pēc kļūdu labošanas, verifikācijas pārbaude tika atkārtoti palaista. Palika tikai brīdinājumi (skat. 7.2.4.att.).

7.2.4.att. Verifikācijas rezultāta ziņojuma logs(2)

Smalki izlasījām brīdinājumus, un mēģinājām tos novērst. Visbeidzot panācām to, ka tiek izlabotas gan kļūdas, gan brīdinājumi un mūsu modelis pēc verifikācijas ir pareizs. Kļūdu skaits ir 0, brīdinājumu skaits ir 0. (skat. 7.2.5.att.).

51

Page 52: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.2.5.att. Verifikācijas rezultāta ziņojuma logs(3)

7.3. Kopējais modelis

Tātad, tagad mums ir izveidots loģiskais modelis mūsu izvēlētajai priekšmetiskai videi – Universitāte (skat. 7.3.1.att.).

7.3.1.att. Izveidotais loģiskais modelis(1)

Būtu lietderīgi arī apskatīties visu modeli nedaudz lielākā izklājumā, tikai darba telpas ietvaros (skat. 7.3.2.att.).

52

Page 53: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.3.2.att. Ar Toad Data Modeler izveidotais Loģiskais modelis „Universitāte”

53

Page 54: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.4. Loģiskā modeļa atskaites ģenerēšana HTML formātā

Tagad, kad mēs izveidojām un pārbaudījām loģisko modeli, apskatīsim vēl vienu no iepriekš minētam funkcijām: atskaišu ģenerēšana. Toad Data Modeler eksistē Report Wizard, ar kura palīdzību mēģināsim izveidot atskati par loģisko modeli (skat. 7.4.1.att.).

7.4.1.att. Atskaites izveides logs

Kā bija minēts, loģiskam modelim var veidot atskati tikai HTML formātā, tāpēc arī to izvēlāmies (skat. 7.4.2.att.).

7.4.2.att. Atskaites formāta izvēle

Ir piedāvāta iespēja izvēlēties atskaites grafisko elementu izkārtojumu, un CSS stilus (10 dažādi stili), un, protams, kā bija minēts agrāk, var pašiem mainīt HTML atskaišu struktūru, par ko ir aprakstīts darba teorētiskajā daļā (skat. 7.4.3.att).

54

Page 55: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.4.3.att. Atskaites vizuālā tēla izveide

Pēc tam ir jāizvēlas to, kādu tieši informāciju gribām redzēt atskaitē (skat. 7.4.4.att.).

7.4.4.att. Atskaites informācijas izvēle

Kad atskaite būs noģenerēta, lietotajam tiks par to paziņos, un, lai apskatītu atskaiti, būs jānospiež <Show Report> poga (skat. 7.4.5.att.).

7.4.5.att. Atskaites izveides procesa pabeigšanas paziņojums

7.4.6, 7.4.7 un 7.4.8.attēlos ir iespējams aplūkot loģiskā modeļa atskaites HTML formātā piemērus. Atskaites lapā ir vairākas cilnes, kur var apskatīt visdažādāko informāciju, atsevišķi par entītijām, atsevišķi par atribūtiem, par mantošanas attiecībām, ka arī var apskatīt ER diagrammu kopumā un vispārīgu informāciju par modeli.

55

Page 56: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

7.4.6.att. Atskaites ER diagramma

7.4.7.att. Atskaites informācija par entītiju „Katedra”

7.4.8.att. Atskaites informācija par modeļa mantošanas struktūrām

56

Page 57: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8. FIZISKAIS MODELIS

Kad loģiskais modelis ir izveidots un pārbaudīts, ķersimies klāt tā konvertēšanai fiziskajā modelī. Sākumā izpētīsim kā transformējas atsevišķas loģiskā modeļa struktūras fiziskajā modelī, un tad apskatīsim visa modeļa konvertēšanu.

To var izdarīt sekojoša veidā: Galvenajā izvēlnē izvēlēsimies Model->Model Conversion,

ModelMerge... (skat. 8.1.att.), jeb rīkjoslā jānospiež uz elementu .

8.1.att. Modeļa konvertēšanas aktivizēšana

Tā kā mēs transformējam katru struktūru atsevišķi, tad iepriekšējās transformācijas katrā no jaunajām struktūrām nebūs redzamas.

8.1. Atsevišķu elementu transformācija

8.1.1. Mantošana

Apskatīsim vienu no interesantākajām daļām, t.i. – mantošanas transformāciju. Kā varam atcerēties, tad mantošanas realizācijā loģiskajā modelī mums piedalījās 3 entītijas – „Cilvēks” kā „vecāku” realitāte un divas bērnu realitātes „Students” un „Pasniedzējs” (skat. 8.1.1.1.att.).

8.1.1.1.att. Mantošana loģiskajā modelī

Tātad, mēs veicam transformāciju no loģiskā modeļa uz fizisko (LERPER). Atvērsies logs, kur ir jāizvēlas fiziskā modeļa tipu (piemērām, mūsu gadījumā Oracle9i)

(skat. 8.1.1.2.att.). Attēlotajā logā ir iespējams ar zilo bultu palīdzību izvēlēties vēlamos elements transformācijai – mantošanas entītijas, pašu mantošanu un izvēlēsimies arī kategoriju „personas”, kurā bija iekļautas minētās entītijas loģiskajā modelī. Pēc tam ir jānospiež poga <Execute>.

57

Page 58: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.1.2.att. Modeļa transformēšanas logs mantošanai

Pēc neilga laika (dažas sekundes), mūsu darba telpā atvērsies papildus cilne, kur būs attēlota transformētā loģiskā modeļa struktūra fiziskajā modelī (skat. 8.1.1.3.att.).

8.1.1.3.att. Atsevišķa mantošanas transformēšana

Skaidri redzams ir tas, ka mums ir pazudusi „vecāka” realitāte un tās atribūti ir pārgājuši uz abām „bērnu” tabulām (atribūti: pers_kods, vards, uzvards).

Izskatīsim citas struktūras.

8.1.2. Unāra saite

Kā varam atcerēties, tad unārās saites realizācijā loģiskajā modelī mums piedalījās entītija „Students” ar saiti pašai uz sevi (skat. 8.1.2.1.att.).

8.1.2.1.att. Unārā saite loģiskajā modelī

58

Page 59: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Transformācijas logā izvēlamies jau tos elementus, kas attiecas uz jauno transformējamo struktūru. Šeit izvēlamies vēlamo entītiju un saiti, kuru transformēsim (skat. 8.1.2.2.att.).

8.1.2.2.att. Modeļa transformēšanas logs unārai saitei

Mūsu transformētajā fiziskajā modelī parādījās vēlamās struktūras transformācija (skat. 8.1.2.3.att.).

8.1.2.3.att. Atsevišķa unārās saites transformēšana

Varam pamanīt to, ka divas reizes atkārtoja atribūts S_NUM. Tas nozīmē to, ka viens no tiem ir primārā atslēga, bet otra ir ārējā atslēga. Līdz ar to, viens atribūts atsaucas uz otru.

8.1.3. Vājā realitāte

Vājās realitātes realizācijā loģiskajā modelī mums piedalījās entītijas „Students” un „Pasniedzējs”, no kuriem, savukārt, bija atkarīga vājā realitāte „Atzīme”, jo atzīme pēc savas būtības nav nekas, ja vien students to nenopelna un pasniedzējs to neieliek (skat. 8.1.3.1.att.).

8.1.3.1.att. Vājā realitāte loģiskajā modelī

Transformācijas logā izvēlamies elementus, kas attiecas uz jauno transformējamo struktūru. Šeit atkal izvēlamies vēlamās entītijas un saites, kuras transformēsim (skat. 8.1.3.2.att.).

59

Page 60: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.3.2.att. Modeļa transformēšanas logs vājai realitātei

Mūsu transformētajā fiziskajā modelī parādījās transformēšanai izvēlētā struktūra (skat. 8.1.3.3.att.).

8.1.3.3.att. Atsevišķa vājās realitātes transformēšana

Šeit varam redzēt, ka vājajā realitātē ir nonākušas primārās atslēgas no abām tabulām, no kurām ir atkarīgā vājā.

8.1.4. Saite N:M

Saites N:M loģiskajā modelī mums bija divas. Tajās piedalījās entītijas „Mācību priekšmets” un „Pasniedzējs”, kā arī „Mācību priekšmets” un „Mācību programma”. (skat. 8.1.4.1.att.).

60

Page 61: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.4.1.att. Saites N:M loģiskajā modelī

Transformācijas logā izvēlamies elementus, kas attiecas uz jauno transformējamo struktūru. Šeit atkal izvēlamies vēlamās entītijas un saites, kuras transformēsim (skat. 8.1.4.2.att.).

8.1.4.2.att. Modeļa transformēšanas logs saitēm N:M

Mūsu transformētajā fiziskajā modelī parādījās transformēšanai izvēlētā struktūra (skat. 8.1.4.3.att.).

61

Page 62: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.4.3.att. Atsevišķa saišu N:M transformēšana

Pēc transformācijas redzam, ka ir izveidojušās divas starptabulas: starp tabulām „Pasniedzējs” un „Mācību priekšmets” ir izveidojusies starptabula „Mācību priekšmeta pasniedzējs”, kura ir mantojusi abu tabulu primārās atslēgas. Tas pats ar tabulām „Mācību programma” un „Mācību priekšmets” – starp tām ir izveidojusies un mantojusi primārās atslēgas starptabula „Mācību programmas mācību priekšmets”.

8.1.5. Ternārā saite

Ternārās saites realizācijā loģiskajā modelī mums piedalījās četras entītijas: „Students”, „Atzīme”, „Mācību priekšmets” un „Studenta_Atz_Saraksts”, kas kalpoja par sava veida asociāciju realitāti tabulu savienošanai (skat. 8.1.5.1.att.).

8.1.5.1.att. Ternārā saite loģiskajā modelī

Transformācijas logā izvēlamies elementus, kas attiecas uz šo transformējamo struktūru. Šeit atkal izvēlamies vēlamās entītijas un saites, kuras transformēsim (skat. 8.1.5.2.att.).

62

Page 63: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.1.4.2.att. Modeļa transformēšanas logs saitēm N:M

Mūsu transformētajā fiziskajā modelī parādījās transformēšanai izvēlētā struktūra (skat. 8.1.5.3.att.).

8.1.4.3.att. Atsevišķa saišu N:M transformēšana

Redzam, ka arī šeit visas ārējās atslēgas ir pārceļojušas vēlamajās tabulās.Gribētu piebilst arī to, ka veicot kopējo modeļa transformāciju, ārējās atslēgas ceļos

nedaudz savādāk un tabulas būs daudz pilnākas ar atribūtiem, jo tad transformēsies visas entītijas.

63

Page 64: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.2. Kopējā modeļa transformācija

Kopējā loģiskā modeļa transformācija ir veicama ar tādu pašu darbību palīdzību: ir vai nu

jānospiež poga rīkjoslā ikona, vai arī no galvenās izvēlnes jāizvēlas Model->Model Conversion, ModelMerge... Atvērsies dialoga logs Convertor , kur jānorāda Fiziskā modeļa tipu (kurai datu bāzei tas tiek domāts). Mūsu piemērā, tā pat kā iepriekš, mēs izvēlēsimies Oracle9i datu bāzes tipu (skat. 8.2.1.att.).

8.2.1.att. Modeļa transformēšanas logs

Uzreiz pievērsīsim uzmanību tam, ka mēs, transformējot loģisko modeli fiziskajā, gribam transformēt ne tikai saites, realitātes, u.t.t., bet arī atribūtu ierobežojumus (piemēram, Entītijas „Atzīme” atribūta „Atz_Vertiba” var būt robežās no 1 līdz 10). Pēc tam mēs to pārbaudīsim, kad veiksim modeļu salīdzināšanu.

Pēc transformācijas LERPER veiksmīgas paveikšanas, PER modelis ir mantojis ārējās atslēgas, izveidojis starptabulas, u.t.t. (skat. 8.2.2.att.).

64

Page 65: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

65

Page 66: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.2.2.att. Ar Toad Data Modeler transformētais loģiskais modelis „Universitāte” fiziskajā modelī

66

Page 67: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Pa soļiem izskatīsim kā izskatās Entītijas fiziskajā modelī no „iekšpuses” (skat. 8.2.3.att.).

8.2.3.att. Entītijas „Atzīme” uzstatījumi fiziskajā modelī

Izpētīsim tabulu pa daļām. Tabulā bija tikai viens atribūts (Atz_Vertiba), taču tajā ir imigrējušas vēl 4 ārējās atslēgas (skat. attēla „a)” daļu). Nospiežot uz tabulas divas reizes, mēs redzēsim tabulas galveno cilni, kurā joprojām ir iespējams veikt labojumus (skat. attēla „b)” daļu). Nākošajā cilnī mēs redzam visus atribūtus (skat. attēla „c)” daļu). Šajā vietā, nospiežot uz atribūta „Atz_vertiba” (jo ka atceramies, loģiskajā modelī šim laukam mums ir bijis ierobežojums), atveras logs ar atribūta uzstatījumiem, kurā ierobežojumu cilnī ir redzams ieraksts (skat. attēla „d)” daļu). Uzklikšķinot uz tā divas reizes, atvērsies ierobežojuma uzstatījumu logs (skat. attēla „e)” daļu), kurā ir redzams SQL kods, kurš paziņo mums par to, ka atzīmes vērtība var būt intervālā no 1 līdz 10.

Apskatīsimies arī visas entītijas SQL kodu (skat. 8.2.4.att.). Tajā varam redzēt (un arī manuāli mainīt), ka izveidojas tabula, kurā jau ir iekļauts ierobežojums atzīmes vērtības laukam. Tā pat visi pārējie atribūti ir pieņēmuši savus vēl loģiskajā modelī piešķirtos tipus.

67

Page 68: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.2.4.att. Entītijas „Atzīme” SQL kods

Svarīgi piebilst arī to, ka jebkurā fiziskā modeļa vietā mēs varam veikt labojumus – gan nosaukumos, gan ierobežojumos, kā arī pārveidot jebkuru SQL kodu.

Apskatīsimies arī mantošanas realizāciju (skat. 8.2.5.att.).

8.2.5.att. Entītijas „Students” uzstatījumi fiziskajā modelī 68

Page 69: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Arī šeit izpētīsim tabulu „Students” pa daļām. Tabulā bija tikai viens atribūts (S_NUM, kurš definēja arī primāro atslēgu), taču tajā ir imigrējušas vēl 3 ārējās atslēgas (grupas numurs, unārās saites studenta numurs un no mantošanas iegūtais studenta numurs kā unārās saites studenta numurs) un vēl viena ir nākusi kā primārā atslēga no mantošanas realizācijas ar diviem papildus atribūtiem (STU_pers_kods, vards un uzvards)(skat. attēla „a)” daļu). Nospiežot uz tabulas divas reizes, mēs redzēsim tabulas galveno cilni, kurā joprojām ir iespējams veikt labojumus, piemērām, nomainīt kategoriju (skat. attēla „b)” daļu). Nākošajā cilnī mēs redzam visus atribūtus (skat. attēla „c)” daļu). Pāriesim vēl pie cita cilņa – TRIGGERS (skat. attēla „d)” daļu). Šajā vietā, ir redzams, ka mums automātiski ir izveidojies trigeris „ InharitanceStudents”, kurš jau pēc sava nosaukuma liecina par to, ka tas ir izveidojies mantošanas transformācijas gaitā. Uzklikšķinot uz šī nosaukuma divas reizes, mēs nonāksim pie trigera opcijām (skat. attēla „e)” daļu), kur varam redzēt trigera īpašības (redzam, ka trigeris izpildās PIRMS-IEVADES (Before- insert) operācijas tabulā). Trigera īpašību nākošajā cilnī mēs varam aplūkot arī trigera SQL kodu (skat. attēla „f)” daļu). Pēc attēlotā koda varam spriest, ka trigeris pirms jauna ieraksta ievades tabulā „Students” pārbauda vai tāds pats personas kods jau neeksistē tabulā „Pasniedzējs”, jo tā ir unikāla vērtība, kura ir kā primārā atslēga migrējusi no „vecāku” tabulas „Cilvēks”. Līdz ar to, ja ievadāmais personas kods jau eksistē otrajā tabulā, tad tiks izvadīts paziņojums par ievades kļūdu.

Apskatīsimies arī visas entītijas „Students” SQL kodu (skat. 8.2.6.att.). Tajā varam redzēt (un arī manuāli mainīt), ka izveidojas tabula (definējot arī primārās atslēgas). Tā pat visi pārējie atribūti ir pieņēmuši savus vēl loģiskajā modelī piešķirtos tipus. Bez tam arī šeit mēs redzam, ka papildus tiek pievienots arī minētais trigeris.

8.2.6.att. Entītijas „Students” SQL kods

Līdzīgā veidā ir transformējušās arī citas entītijas. Šajā darba sadaļā tika apskatīti svarīgākie un interesantākie transformācijas gadījumi.

Tagad pāriesim pie mūsu fiziskā modeļa papildināšanas.

69

Page 70: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.3. Fiziskā modeļa papildināšana

Kad mūsu fiziskais modelis ir transformēts, mēs varam to pielabot un pievienot tajā visu kas ir nepieciešams, piemērām, skatus (vai materializētus skatus), trigerus, ierobežojumus, glabājamas procedūras, virknes, sinonīmus, procedūru pakotnes, funkcijas, u.t.t.

Papildināt fizisko modeli Toad Data Modeler vidē var vairākos veidos:1) Katras entītijas opcijās ir iespējams pievienot trigerus (skat. 8.3.1.att.);2) No galvenās izvēlnes joslas (Model ..) ir iespējams izvēlēties skatu (arī no izvēlnes

Object Views (skat. 8.3.2.att.)), materializētu skatu, funkciju, procedūru, sinonīmu veidošanu (skat. 8.3.3.att.);

3) Fiziskā modeļa pārlūkā izveidot vajadzīgo objektu atbilstošajā mapē (skati, funkcijas, procedūras, virknes, pakotnes, sinonīmi, materializētie skati) (skat. 8.3.4.att.).

8.3.1.att. Objektu pievienošana entītijas opcijās

8.3.2.att. Galvenā izvēlne (Object) 8.3.3.att. Galvenā izvēlne (Model) 8.3.4.att. Modeļa pārlūks

Mūsu darba gaitā mēs izmantosim visus objektu pievienošanas veidus.

70

Page 71: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.3.1. Virknes pievienošana

Sāksim ar virknes definēšanu tabulai „Fakultātes” (skat. 8.3.1.1.att.). Lai definētu virkni, modeļu pārlūkā, kreisajā pusē, ir jāatrod virkņu mape un tajā ir jāizveido jauna virkne, uz kuras ir jāveic dubults klikšķis. Mums atveras virknes definēšanas logs.

8.3.1.1.att. Virknes izveide

Galvenajā cilnē General mēs definējam virknes nosaukumu, definējam ka virknes pieaugums būs par vienu vienību un virkne sāksies ar „1”. Tā pat norādām, ka tai nebūs ciklu. Uzreiz varam aplūkot virknes SQL kodu cilnē SQL Preview (skat. 8.3.1.2.att.), kurā redzam tos datus, kurus tikko definējām.

8.3.1.2.att. Virknes SQL kods

71

Page 72: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.3.2. Procedūras pievienošana

Definēt procedūru varam no galvenās izvēlnes izvēloties ModelProcedures.. vai arī tādā pašā veidā, kā ar virknēm, atrodot mapi modeļa pārlūkā un izveidojot tajā jaunu procedūru. Uz jaunas procedūras veicam dubultklikšķi un mums atveras procedūras veidošanas logs, kur galvenajā cilnē dotam procedūrai nosaukumu. Pēc tam cilnē SQL mēs rakstam vaicājumu (nenorādot sākuma rindu par procedūras izveidi – uzreiz procedūras ķermeni) un pēc tam cilnē SQL PREVIEW mēs varam apskatīties kopējo procedūras SQL kodu jau ar sākuma rindiņu. Tas ir tādēļ, ka automātiski jau ir nodefinēta procedūras izveides struktūra (CREATE PROCEDURE „Nosaukums”) (skat. 8.3.2.1.att.). Mūsu procedūra atlasīs studentu vārdus, uzvārdus un grupas numurus.

8.3.2.1.att. Procedūras SQL kods

8.3.3. Sinonīma pievienošana

Tagad pievienosim sinonīmu tabulai Studentu_grupa (skat. 8.3.3.1.att).

8.3.3.1.att. Sinonīma izveide

72

Page 73: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Modeļa pārlūkā atrodam sinonīmu mapi, izveidojam jaunu sinonīmu, uz tā dubultklikšķis un mums atveras sinonīmu veidošanas logs, kurā mēs definējam sinonīma nosaukumu un objektu, kuram tiek veidots sinonīms. Diezgan primitīvs sinonīma veids, bet tomēr, tas ir izveidojams.

8.3.4. Skata pievienošana

Beidzot pievienosim arī skatu, kurš, līdzīgi kā glabājama procedūra, atlasīs studentu datus un atbilstošas grupas datus.

Skata izveidošana ir iespējama no galvenās izvēlnes izvēloties ModelViews.. vai ObjectViews.. un pēc tam uzklikšķinot uz jebkuras darba telpas vietas. Parādās skata ikona, uz kuras ir jāveic dubultklikšķis skata definēšanai. Līdzīgi kā ar procedūru, mēs rakstam tikai vaicājuma tekstu.

Skatu pievienošanas process tapāt kā procedūru definēšanas process ir pusautomātisks. Tas nozīmē to, ka ar roku ir jāievada skata SQL skripts cilnē SQL (skat. 8.3.4.2.att.).

8.3.4.2.att. Skata SQL koda teksts

Neskatoties uz to, ka mēs ievadījām tikai SQL skriptu, izvēloties cilni SQL Preview, mēs varam redzēt, ka SQL skripts ir „pilns”, tas ir tāpēc, ka automātiski jau ir nodefinēta skata izveides struktūra (CREATE VIEW „Nosaukums” AS) (skat. 8.3.4.3.att.).

8.3.4.3.att. Pilnais skata SQL koda teksts

Pēc tam, kad esam definējuši skatu, varam to redzēt arī mūsu fiziskā modeļa darba telpā (skat. 8.2.4.4.att.).

8.3.4.4.att. Izveidotais skats fiziskā modeļa darba telpā

73

Page 74: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.4. Fiziskā modeļa atskaites ģenerēšana PDF formātā

Tagad, kad mēs esam konvertējuši loģisko modeli un ieguvām fizisko modeli, apskatīsim atskaišu ģenerēšana tieši PER (fiziskiem) modeļiem. Toad Data Modeler eksistē Report Wizard, ar kuru palīdzību mēģināsim izveidot atskati par transformēto fizisko modeli (skat. 8.4.1.att.).

8.4.1.att. Fiziskā modeļa atskaites ģenerēšanas sākuma logs

Atšķirībā no loģiskā modeļa, atskaišu ģenerēšanai fiziskajam var izvēlēties atskaites formātu. Šoreiz kā piemēru izvēlēsimies PDF formātu, un, līdzīgi kā iepriekš, izvēlēsimies atskaitei vēlamo informāciju (skat. 8.4.2.att.).

8.4.2.att. Fiziskā modeļa atskaites informācijas izvēle

Atskaites ģenerēšanas soļi ir tādi paši kā ģenerējot loģiskā modeļa atskaiti. Kad atskaite ir noģenerēta, lietotājs par to saņem paziņojumu (skat. 8.4.3.att.).

8.4.3.att. Fiziskā modeļa atskaites ģenerēšanas pabeigšanas paziņojums

Kad atskaite ir uzģenerēta, mēs varam to apskatīties. Atverot atskaiti, mēs ieraugām galveno lapu (skat. 8.4.4.att.). Var pievērsts uzmanību, tam, ka kopējais atskaites lappušu skaits

74

Page 75: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

ir 50, kas liecina par ļoti sīku un detalizētu modeļa aprakstu. Piemēru divām lappusēm, kuras detalizēti apraksta Entītiju „Atzīme”, var apskatīt 8.4.5.attēlā. Tā pat atskaitē atsevišķi pa daļām ir aprakstītas katras struktūras (saites, atribūti, trigeri, virknes, u.t.t.). Svarīgi ir arī tas, ka atskaite ir pilnībā gatava drukai. Pēc tam pāriesim pie atskaišu ģenerēšanas, bet šoreiz jau fiziskajam modelim.

8.4.4.att. Fiziskā modeļa atskaites galvenā lapa

75

Page 76: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

8.4.5.att. Fiziskā modeļa atskaites piemērs par entītiju „Atzīme”

76

Page 77: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

9. SQL KODA ĢENERĒŠANA

Pēc fiziska modeļa koriģēšanas, pāriesim pie SQL koda ģenerēšanas. Izveidosim DDL skriptu. Galvenajā izvēlnē izvelēsimies Model->Generate DDL Skript (skat. 9.1.att.). Visu SQL koda skriptu var aplūkot 1.pielikumā.

9.1.att. DDL/SQL koda ģenerēšanas aktivizēšana

Mums parādīsies logs, kurā no saraksta izvēlēsimies visus elementus, kuriem ģenerēsim kodu, piemēram, visas Entītijas, Funkcijas, skati, Pakotnes, u.t.t. (skat. 9.2.att.).

9.2.att. DDL/SQL koda ģenerēšanas elementu izvēle

Tā pat būtu vēlams nākošajā cilnī Detail Settings norādīt to, ka primārās atslēgas mēs vēlamies ģenerēt iekš tabulām, nevis pēc tam. Taču tas nav tik būtiski (skat. 9.3.att.).

77

Page 78: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

9.3.att. DDL/SQL koda s primāro atslēgu ģenerēšanas vietas izvēle

Pēc tam ir jānospiež poga <Generate>. Pēc pogas nospiešanas tiek saglabāts fails *.sql formātā norādītajā mapē, kurā arī atrodas uzģenerētais kods.

Ziņojumu pārlūkā mēs varam redzēt ģenerēšanas procesu un paziņojumu par veiksmīgu koda ģenerēšanu 9skat. 9.4.att.).

9.4.att. Ziņojuma logs par ģenerēšanas procesa gaitu

Uzģenerēto kodu mēs uzreiz arī varam aplūkot, nospiežot pogu <Show Code>. Mums atvērsies logs, kurā mēs redzēsim SQL kodu visām entītijām (jeb tabulām) ar visiem atribūtiem un to tipiem (skat. 9.5.att.).

78

Page 79: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

9.5.att. Uzģenerētais kods

Pētāmajā CASE rīkā ir arī iespēja izvēlēties objektu ģenerēšanas kārtību. Šo funkciju var palaist no galvenās izvēlnes joslas, izvēloties ModelOrder of Generated Objects (skat. 9.6.att.).

9.6.att. Koda ģenerēšanas kārtības aktivizēšana

Tiek attēlots logs, kurā ir iespējams paskatīties un izlabot objektu ģenerēšanas kārtību (ar zaļo bultiņu palīdzību) (skat. 9.10.att.). Mēs uzstādīsim secību tādu, ka sākuma tiks ģenerētas entītijas, tad skati un procedūras, pēc tam tikai sinonīmi un virknes.

9.6.att. Koda ģenerēšanas kārtības izvēle

79

Page 80: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Pēc tam veicam atkārtotu ģenerēšanu un redzam, ka ģenerētā secība ir tāda, kādu mēs esam definējuši (skat. 9.7.att.).

9.7.att. Uzģenerētais SQL kods pēc secības izvēles

Tagad apskatīsies noģenerētā SQL koda kvalitāti. Sāksim ar tabulām. Tā kā to ir daudz, tad apskatīsim tikai dažas no tām (skat. 9.8.att.).

9.8.att. Uzģenerētais kods dažām tabulām

Tabulas ir izveidotas visai korekti, ar visiem tipiem, ierobežojumiem un primārām atslēgām. Vienīgais kas trūkst ir ārējo atslēgu definēšana, bet tas ir atsevišķs process, ko apskatīsim vēlāk, jo šo elementu definēšana notiek atsevišķi, pašās beigās.

80

Page 81: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Tālāk apskatīsimies kodu mantošanas struktūrām (skat. 9.9. un 9.10.att.).

9.9.att. Uzģenerētais kods mantošanas trigerim (1)

9.10.att. Uzģenerētais kods mantošanas trigerim (2)

Kā var redzēt, mantošanas saite abām tabulām Students un Pasniedzējs tika realizēta kā trigeris. Izveidoto trigeru struktūra abos gadījumos ir vienāda. Gadījumā ka vienā no tabulām tiek veikta jauna ieraksta pievienošana, tad pirms ievades trigeris pārbauda, vai otrajā tabulā jau nav ievadīts tāds pats personas kods, kas ir unikāla primārā atslēga. Gadījumā, ja tiek ievadīts tāds personas kods, kas jau otrā tabulā eksistē, tad tiek izvadīts kļūdas paziņojums.

Pievērsim uzmanību skata, procedūras, sinonīma un virknes uzģenerētajiem kodiem (skat. 9.11.att.).

81

Page 82: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

9.11.att. Uzģenerētais kods skatam, procedūrai, sinonīmam un virknei

Šīs konstrukcijas ir korektas un pareizas, jo gan skata, gan procedūras kodu mēs ievadījām manuāli. Tieši šī pusautomātiskās pieejas dēļ, šajās konstrukcijās varam būt droši.

Sinonīma un virknes izveide fiziskajā modelī arī nebija grūta un mēs varam redzēt, ka abas šīs struktūrās ir korektas.

Tagad atsevišķi izskatīsim to, kā realizējās ārējo atslēgu piesaistīšana uz unārās saites piemēra (skat. 9.12.att.).

9.12.att. Uzģenerētais kods ārējo atslēgu piesaistīšanai uz unārās saites piemēra

Varam secināt, kā šī saite arī ir izpildīta veiksmīgi (ir korekti definētas atsauces un ārējās atslēgas).

82

Page 83: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

10. LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA

Divu modeļu salīdzināšanu var veikt, galvenajā izvēlnē izvēloties Model->Compare...(skat. 10.1.att.).

10.1.att. Modeļu salīdzināšanas procesa aktivizēšana

Paradīsies dialoga logs, kurā ir iespējams izvēlēties otro modeli, ar kuru mēs salīdzināsim tekošo loģisko modeli. Mūsu gadījumā mēs salīdzināsim loģisko modeli, ar transformēto modeli, kuru mēs ieguvām pēc transformācijas, t.i., salīdzināsim divus modeļus LER un PER (jeb sākumdatus ar beigu datiem) (skat. 10.2.att.).

10.2.att. Modeļu salīdzināšana

Loga kreisā daļa atbilst LER modelim, bet labā, attiecīgi - PER modelim. Jau šajā logā ir skaidri redzams, piemēram, tas, ka kreisajā pusē ir Entītija Cilvēks. Šī entītija piedalās mantošanā kā „vecāka” entītija kopā ar diviem bērniem Pasniedzējs un Students. Bet labajā loga pusē šī entītija neeksistē (skat. attēla „a)” daļu). Tas ir izskaidrojams ar to, ka entītijas atribūti ir pārgājuši pie abiem bērniem ar visu primāro atslēgu.

Tā pat varam redzēt to, ka PER modelī ir parādījušās divas entītijas, kuru nebija loģiskajā modelī (skat. attēla „b)” daļu). Tas ir izskaidrojams ar to, ka loģiskajā modelī bija realizētas N:M saites, kuras pēc transformācijas ir papildinājušās ar šīm starptabulām.

83

Page 84: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Varam arī pamanīt to, ka loģiskajā modelī mums bija realizēta mantošanas struktūra (skat. attēla „c)” daļu), taču fiziskajā modelī šo struktūru mēs neredzam. Tam par iemeslu ir tas, ko mēs jau izpētījām iepriekš – „vecāku” realitātes sadalīšana uz abām „bērnu” realitātēm.

Intereses pēc varam pamēģināt arī transformēt mūsu jau esošo fizisko modeli atpakaļ loģiskajā modelī. To dara ar tādu pašu darbību palīdzību, kā mēs to darījām iepriekš, transformējot LERPER (skat. 10.3.att.).

10.3.att. Fiziskā modeļa transformācija loģiskajā

Apskatīsimies jauno loģisko modeli vizuāli (skat. 10.4.att.). Uzreiz varam pamanīt to, ka ārējās atslēgas atkal ir pazudušas no tabulām. Bez tam, mums ir parādījušās divas pavisam tukšas tabulas, kuras fiziskajā modelī kalpoja kā starptabulas un saturēja tikai ārējās atslēgas.

10.4.att. Jauns loģiskais modelis, transformēts no fiziskā modeļa

84

Page 85: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Tagad salīdzināsim sākuma modeli LER (kuru izveidojām darba gaitas pašā sākumā) ar to modeli, kuru ieguvām pēc otrās kārtas transformācijas (sākuma LER PER, un pēc tam PERLER2) (skat. 10.5.att.).

10.5.att. Pirmā un otrā loģisko modeļu salīdzināšana

Varam secināt, ka katru reizi mašīna interpretē transformāciju no savas „pieredzes”, t.i. katru transformāciju veic pēc saviem likumiem. Varam redzēt kā sākuma LER modelis nav vienāds ar beigu LER modeli. Pirmkārt, mums uz visiem laikiem ir pazaudēta mantošanas struktūra transformācijas gaitā un otrās kārtas LER modelī mantošana vairs neeksistē. Entītija „Cilvēks” arī vairs nav jaunajā LER modelī. Otrkārt, jaunajā LER modelī ir divas tabulas (fiziskajā modelī bija starptabulas), kuras sākuma modelī nav.

Pēc katras transformācija modelis mainās. Nekad nevar iegūt to pašu kas bija iepriekš. Tas ir pārbaudīts praksē, kaut tomēr ir pats par sevi saprotams.

85

Page 86: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

SUBJEKTĪVA KRITIKA

Izpētot TDM rīku, mēs mēģinājām atrast rīka priekšrocības un trūkumus (skat. 3.tabulu).3.tabula

Toad Data Modeler plusi un mīnusiPlusi Mīnusi

Modeļu salīdzināšana Manuāla skatu, procedūru definēšana (SQL kods)Atskaites Loģiskā un konceptuālā modeļa līdzībaMantošanas realizācija trigerī pēc transformācijas Tikai 2 notācijasHelp AutoLayout nepārskatāms izvietojumsModeļu atjaunošana pēc labojumiem Nepārskatāms izkārtojums pēc transformācijasVersiju glabāšana projekta ietvaros Tehniskās prasībasĒrta lietotāju saskarne Var realizēt tikai dažas struktūrasTransformācijas (LERPER; PERLER; PERPER) Trial versijas ierobežojumiSQL skriptsPER modeļa papildināšanaLiels DBVS atbalstsApvērstā inženierijaDiagrammu kā grafisko attēlu saglabāšanaSolis-pa-solim vedņi

Savienojamība ar citu Quest programmatūruĻoti liela funkcionalitāte

Mēģināsim arī aprakstīt mūsu izveidotās tabulas kritiku ar nedaudz detalizētāku aprakstu.PLUSI:

Modeļu salīdzināšanas iespēja - var redzēt atšķirības vienā un otrā modelī. Tiek salīdzinātas Entītijas, Saites, Atribūti, Kategorijas, Ierobežojumi, Tipi un citi parametri (ļoti izsmeļošs divu modeļu salīdzinājums).

Ir pieejama iespēja atskaišu ģenerēšanai vairākos formātos – HTML, PDF, RTF un XSLT.Mantošanas realizācija trigerī ir notikusi pēc LER modeļa transformācijas uz PER. Abām

„bērnu” realitātēm tika pievienots trigeris, kurš pirms ievades vienā no tabulām pārbauda, vai otrajā tabulā nav tāds pats ieraksts pie primārās atslēgas. Līdz ar to, trigeris realizē diezgan netriviālu, loģisku un stabilu mantošanas risinājumu.

Ļoti izsmeļošs HELP fails - viegli atrast un saprast jebkuru informāciju, kura nav skaidra, ir sniegti izpildes piemēri ar detalizētu aprakstu.

Modeļu atjaunošana pēc labojumiem – lietderīga tad, kad, piemēram, LER modelis jau ir transformēts uz PER modeli, kurā jau ir veikti labojumi, piemēram, tas ir papildināts ar procedūrām, funkcijām, skatiem, u.c. Bet tad pēkšņi ir atrasta kļūda loģiskajā modelī, vai aizmirsta kāds ierobežojums. Ar konvertera palīdzību ir iespējams jaunās izmaiņas pārnest uz fizisko modeli, nepārveidojot to no jauna.

Ir iespējams izveidot ar Versiju Menedžera palīdzību veselu versiju projektu, kurā ir iespējams pievienot vairākus modeļus. Piemēram, tajā var ievietot modeļa pašu pirmo versiju. Pēc tam veikt tajā labojumus un pievienot jau kā jaunāku versiju. Līdz ar to lietotājam vienmēr ir iespēja redzēt sava modeļa attīstības gaitu.

Ir iespējams veikt transformācijas: LERPER, PERLER. Transformāciju var veikt ļoti viegli, jo ir labs dialogs ar lietotāju, kur ir jādefinē nepieciešamie elementi, kurus gribam redzēt transformētā modelī, kā arī uzstādīt citas transformācijas īpašības. Tā pat var veikt PER PER modeļu transformācijas no viena DBVS modeli uz citu.

Ļoti pārskatāmu DDL jeb SQL skriptu ģenerēšana ar iespēju izvēlēties elementu ģenerēšanas kārtību.

86

Page 87: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

PER modeli var papildināt ar visiem nepieciešamajiem elementiem – skati, procedūras, funkcijas, trigeri, materializētie skati, procedūru pakotnes, virknes, sinonīmi, ierobežojumi.

TDM atbalsta ļoti daudzas DBVS, tādas kā Oracle, MySql, Postgre, Sybase utt. Ir arī iespēja izvelēties DBVS versijas.

Apvērstās inženierijas iespējas – ir iespēja izveidot PER modeli jau eksistējošai datu bāzei, importējot to, piemēram, no Oracle9i uz Toad Data Modeler.

Katru izveidoto modeli, jeb tā ER diagrammu ir iespējams eksportēt uz grafisko failu BMP, JPEG vai PNG formātā, kas ir ļoti ērti tad, ja attēls ir grūti pārskatāms rīka darba telpā.

Katrai kaut nedaudz īpatnējai rīka funkcijai ir pieejams „solis-pa-solim” vednis (interaktīvas palīdzības līdzeklis), piemēram, Report Wizard, Reverse Engeneering Wizard, u.t.t. Tā pat arī šie vedņi palīdz viegli veikt transformācijas, koda ģenerēšanu, u.tml. Tie palīdz lietotājam virzīties uz priekšu soli pa solim, uzstādot jautājumus, piedāvājot vajadzīgo informāciju un izskaidrojot iespējamos ceļus.

MĪNUSI:Skati, materializētie skati, funkcijas, procedūru pakotnes, trigeri (atsevišķos gadījumos),

procedūras ir jādefinē pašrocīgi ar SQL koda palīdzību.Loģiskais modelis (kaut arī izstrādātāji to sauc par “kompleksais loģiskais modelis”) ir

ļoti līdzīgs konceptuālajam modelim, jo tajā vēl nav migrējušas primārās atslēgas, ir iespējams definēt mantošanu, u.t.t. Tātad, darbs ir jāsāk uzreiz loģiskajā, vai pat fiziskajā modelī.

Var izvelēties tikai starp divām notācijām (izmantojām IE notāciju (ar „vārna kāju”)).Pēc automātiskā izkārtojuma visas entītijas ir izvietotas vienā vertikālē, vai horizontālē.

Labākajā gadījumā tās tiek izbīdītas ļoti lielā attālumā viena no otras, un tad, lai redzētu visu kopējo modeli, tas ir jāsamazina tik ļoti, ka nevar redzēt pat nosaukumus.

Pēc katras modeļa transformācijas vai atjaunošanas pēc labojumiem visi elementi atrodas darba telpā viens uz otra. Līdz ar to, lai izpētītu transformēto modeli, ir jāpatērē laiks elementu izbīdīšanai (ļoti nelietderīgi, ja ir datu bāze ar ļoti lielu realitāšu skaitu).

Kaut arī operatīvās atmiņas minimālās prasības ir 254MB, tomēr izstrādātājs min arī optimālās prasības – 1GB. Šāda programmatūra patērē diezgan daudz datora resursu, līdz ar to, pat uzinstalējot to uz datora ar 1GB operatīvās atmiņas, tā strādāja ļoti lēni.

Nav iespējas noradīt vājo realitāšu, superrealitāšu, arc, vai ternāro saišu struktūras (jārealizē pēc projektētāja interpretācijas), kā arī nevar saitēm pielikt klāt atribūtus (šajā gadījumā vajag definēt atsevišķi entītiju, kurā arī būtu jāieliek nepieciešamie atribūti).

Izmēģinājuma versijā nav iespējas izmantot vairākas programmas funkcijas, piemēram Versiju Menedžeri, kā arī ir noteikt entītiju skaits, ko varam vienlaicīgi izvietot darba telpā (25 entītijas), kā arī skripta ģenerēšanas ierobežojumi lielākam entītiju skaitam.

PLUSI / MĪNUSI:Programmas integrācija ar citu Quest programmatūru bieži vien traucē lietotāja

darbam. Piemēram, ja lietotājam ir uzstādīts Toad for Oracle, tad pēc SQL koda ģenerēšanas, kad ir vēlme apskatīties uzģenerēto kodu, tiek uzreiz atvērts Toad For Oracle, notiek pieslēgšanās kādai datu bāzei zem izvēlētā lietotāja, SQL fails tiek saskaldīts pa atsevišķiem CREATE failiem un katrs tiek atvērts atsevišķi dažādos ciļņos. Ērtāk tomēr apskatīties kodu paša TDM SQL failu attēlotājā, jo tas ir līdzīgs teksta redaktoram un ļauj pāršķirstīt failu lietotājam pierastajā veidā. No otras puses, ja iekš Toad for Oracle fails uzreiz tiek saskaldīts un programma jau ir pieslēgusies datu bāzei, tad šajā vietā, ja SQL teksts apmierina, to var uzreiz palaist un tas tiks izveidots datu bāzē.

Programmai ir milzīga funkcionalitāte un ļoti daudz iespēju. Lietotājs, kurš ir strādājis ar šo programmu tās sākuma versijās, varētu būt pārsteigts ar nepierastu lietotāja saskarni un nepierastajām funkcijām. TDM pieļauj tik lielu iespēju un funkciju klāstu, ka darba ietvaros pat nav iespējams apskatīt tās visas (par neskatoties uz trial versijas ierobežojumiem).

87

Page 88: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

SECINĀJUMI

Dotais darbs ir izstrādāts atbilstoši definētajai uzdevuma nostādnei, kuras galvenais mērķis bija realizēt datu bāzes struktūru ar CASE tehnoloģijas palīdzību, izmantojot Toad Data Modeler CASE rīku, kurš sevī apvieno objektorientēto, konceptuālo un fizisko datu modelēšanas iespējas.

Praktiskā darba gaitā tika izstrādāts loģiskais (konceptuālais) modelis „Universitāte”, ar kura palīdzību tika realizēta arī visa darba praktiskā daļa, izpētot minēto rīku.

Darba izpildei mēs izvēlējāmies pašu pēdējo izstrādātāja ”Quest” produkta versiju 3.3.8.11, kura ir laista klājā 2009. gada 5.martā, kas liecina par to, ka izstrādātājs joprojām atbalsta šo programmlīdzekli un turpina to uzlabot.

Darbu sākām ar nelielu ieskatu CASE rīkos un arī pašā Toad Data Modeler (turpmāk TDM) rīkā. Līdz ar to, pirmo darba sadaļu nodēvējām par teorētisko. Šajā daļā mēs tuvāk iepazināmies ar rīka lietotāja saskarni un tā pamatfunkcijām. Sākumā, sākot darbu ar TDM, bija nedaudz sarežģīti tajā orientēties, jo lietotājam tiek piedāvāts ļoti liels funkciju un iespēju klāsts, kuru darbību sākumā bija grūti izprast. Taču tas ir normāli, sākot darbu pirmo reizi ar jebkuru programmatūru (ja vēl rēķinās ar to, ka ar šāda veida programmām iepriekš vispār nav bijusi pieredze). Taču, pateicoties „fenomenālam” un „fantastiskam” lietotāja ceļvedim un programmatūras Help failiem, mēs ātri tikām galā ar produkta izprašanu. Patiešām nepietiek pateicības vārdu izstrādātājiem par ceļveža izstrādi, jo tik labus Help-us mēs sen nebijām sastapuši.

Tātad, tieši darba praktiskajā daļā mēs centāmies aprakstīt visas interesantākās rīka iespējas un pat pievērst uzmanību tām funkcijām (sniedzot piemērus), kuras praktiskajā daļā nolēmām neizskatīt (citādi darba apjoms pārsniegtu pāris simtus lappušu). Centāmies ar piemēriem parādīt arī tās funkcijas, kuras mums, izmantojot 15-dienu izmēģinājuma versiju (trial), nebija pieejamas. Šādu piemēru attēlošanai ir nācies meklēt daudz informācijas internetā ar citu lietotāju atsauksmēm, kā arī izmantojot ceļvedī sniegto informāciju. Kā piemēru, varam minēt Version Manager iespēju, kura ir pieejama tikai Expert režīmā, ko neatbalsta izmēģinājuma versija. Bez tam, attēlojām arī apvērstās inženierijas piemērus. Šī iespēja arī mums pašiem bija pieejama, taču dziļāk to nepētījām. Mēs vienkārši pievienojāmies Oracle datu bāzei (zem „system” lietotāja) un nodrošinājām šīs datu bāzes modeļa automātisko TDM vidē. Rezultāts patiešām bija satriecošs, jo mums tika attēlotas visas datu bāzes tabulas ar visām saitēm, kā arī daudz tabulas, kuras nebija saistītas ne ar vienu citu. Tā pat izskatījām arī uzdevumu sarakstu (To-Do list), ar kura palīdzību lietotājs var izveidot sev (vai citam lietotājam, kurš vēlāk strādās ar modeli) atgādinājumu sarakstu, lai atcerētos to, kas, piemēram, būtu jāizdara nākošajā darba dienā.

Kad bijām pabeiguši programmatūras izpēti un teorētisko aprakstu, ķērāmies pie interesantākās daļas – saišu-realitāšu diagrammas veidošanas TDM vidēm izmantojot pasniedzēja piedāvāto priekšmetisko vidi „Universitāte”.

Uzreiz pirmajā solī sapratām to, ka izstrādātāja definētais „kompleksais loģiskais modelis” tomēr vairāk atbilst konceptuālā modeļa īpašībām. Pirmkārt, ārējās atslēgas uzreiz nemigrē (kā

88

Page 89: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

tam jābūt loģiskajā modelī). Otrkārt, mums bija iespēja definēt mantošanas struktūru (loģiskajā modelī tai jau būtu jābūt transformētai struktūrai). Treškārt, mums nebija iespējas uzreiz izveidot skatus (kā to var izdarīt loģiskajā modelī). Tomēr, neskatoties uz to visu, daudzviet realitātes jau tomēr tiek dēvētas par „tabulām”, kā tas pēc būtības arī ir loģiskajā modelī (turpmāk LER). Līdz ar to mēs nonācām pie secinājuma, ka sākotnējais modelis ir sava veida loģiskā un konceptuālā modeļa simbioze. Neskatoties uz to, mēs tomēr uzzīmējām konceptuālā modeļa diagrammu, kurā attēlojām dažas struktūras, kuras TDM vidē nebija iespējams realizēt. Piemērām, mums bija jārealizē vājā realitāte kā tabula, kurā pēc transformācijas fiziskajā modelī būtu jāmigrē ārējām atslēgām no abām tabulām, ar kurām tā ir saistīta. Vēl kā piemēru varam minēt to, ka mums nebija iespējams pievienot saitei datus, līdz ar to šo struktūru mēs realizējām kā atsevišķu tabulu, ar vajadzīgajiem datiem (datums no, datums līdz). Tā pat mēs mēģinājām modelī ieviest arī dažviet kādus ierobežojumus atribūtiem, piemēram, atzīmes vērtībai iespējamo vērtību intervālu (no 1 līdz 10), lai pēc tam pārbaudītu vai šī informācija arī tiks transformēta. Pamēģinājām arī realizēt N:M saites, lai redzētu to, vai pēc transformācijas izveidosies starptabulas, kā tam būtu jānotiek pēc visiem transformēšanas likumiem. Un visbeidzot realizējām mantošanu no realitātēm Cilvēks, kura bija kā „vecāku” realitāte, un divām „bērnu” realitātēm – Students un Pasniedzējs. Bez tam, definējot mantošanu mēs uzstādījām parametru, ka abi bērni manto vecāku datus. Tas bija izdarīts ar mērķi izpētīt mantošanas transformāciju pēc modeļa konvertēšanas fiziskajā modelī (turpmāk PER).

Pabeidzot darbu ar LER modeli, mēs izveidojām atskaiti HTML formātā. Atskaites detalizētība patiešām var pārsteigt jebkuru lietotāju. Mums bija ne tikai iespēja izvēlēties atskaites vizuālo izskatu, bet arī definēt nepieciešamos elementus un objektus, kurus gribam redzēt atskaitē. Bez tam, varam droši apgalvot, ka atskaites kvalitāte ir ļoti laba, jo tā ir ērti pārskatāma, kā arī ir nodrošināta diezgan efektīva un interaktīva mijiedarbība ar lietotāju.

Pēc modeļa izveides, mēs veicām verifikāciju. Noskaidrojās ka mums bija ieviesušās dažas kļūdas. Sākumā bija grūti atrast veidu, ka apskatīties ieviesto kļūdu sarakstu, taču atkal pateicoties ļoti labam programmas ceļvedim mēs tikām galā ar šo problēmu, un visas kļūdas, kā arī brīdinājumi, tika novērsti.

Tad bija pienācis laiks modeļa konvertēšanai, jeb transformācijai uz PER modeli. Sākuma mums šķita, ka transformācija ir diezgan vienkāršs process, kur tikai jāizvēlas datu bāzes tips uz kuru konvertēsim un tad arī ar viena klikšķa palīdzību datu bāze būs gatava. Tomēr tā tas nav. PER modeļa izveide ir liels lērums papildināšanas darbību un jo vairāk uzmanības tiek pievērsts detaļām, jo kvalitatīvāks būs rezultāts. Pie tāda secinājuma mēs nonācām tikai pēc tam, kad izpētījām jau transformēto PER modeli un to papildinājām.

Tātad, sakumā nolēmām veikt atsevišķu elementu transformāciju. Visas transformācijas, pēc savas būtības, notika tā, ka mēs arī paredzējām – unārās saites ārējā atslēga migrēja otru reizi uz to pašu tabulu, dodot atsauci pašai uz sevi; N:M saites transformācijas gaitā ir izveidojušās starptabulas, kā arī ir migrējušas visas nepieciešamās ārējās atslēgas. Tā pat arī ar ierobežojumiem – tie bija pārvietojušies arī uz PER modeli, kas arī bija pats par sevi saprotams. Interesantāk bija ar mantošanu. PER modelī bija izzudusi „vecāku” tabula Cilvēks, savukārt tās atribūti bija pārvietojušies uz abām „bērnu” tabulām. Pie tam, papildus bija izveidojies arī

89

Page 90: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

trigeris abām „bērnu” realitātes tabulām, kas patiešām mūs pārsteidza. Pēc SQL koda sapratām, ka trigeris pirms jauna ieraksta ievades (Before Insert) tabulā „Students” pārbauda vai tāds pats personas kods jau neeksistē tabulā „Pasniedzējs”, jo tā ir unikāla vērtība, kura ir kā primārā atslēga migrējusi no „vecāku” tabulas. Līdz ar to, ja ievadāmais personas kods jau eksistē otrajā tabulā, tad tiks izvadīts paziņojums par ievades kļūdu. Šāda veida trigeris realizē diezgan netriviālu, loģisku un stabilu mantošanas risinājumu.

Neskatoties uz to, pēc detalizētas izpētes mēs secinājām, ka šāda trigera izpilde pirms katras ievades var aizņemt daudz laika, jo tam būtu jāpārbauda visu tabulu (gadījumā ja tās apjoms ir ļoti liels. No otras puses – labāk lēnāk, bet korektāk. Tas arī tiek nodrošināts. Cits secinājums ir tāds, ka pēc būtības būtu jāizveido vēl viens pirms atjaunošanas (Before Update) trigeris, lai pārliecinātos par to, ka nav iespējams nomainīt primārās atslēgas, jo tad tās var pārstāt būt unikālas. Un visbeidzot – ja tiktu pievienota vēl viena atkarīgā tabula (trešā) (jo fiziskajā modelī ir iespējams vēl pievienot tabulas, saites, u.t.t.), tad visi trigeri būtu jāmaina. Neskatoties uz visu iepriekš minēto, šāds mantošanas interpretējums nav sastopams nevienā citā CASE rīkā, kas viennozīmīgi priecē.

Visbeidzot mēs veicām arī pilno modeļa transformāciju, iekļaujot tajā visus objektus. Pēc būtības, šādā transformācijas veidā vienīgā atšķirīgā īpašība bija primāro atslēgu migrēšanai tabulā Students. Šeit nāca klāt „vecāku” tabulas primārā atslēga un kļuva par tabulas Students primāro atslēgu un tieši tādēļ šī atslēga ir arī otro reizi migrējusi uz tabulu kā otrā primārā atslēga (aiz studenta numura) kā unārās saites atsauce pašai uz sevi.

Tālāk veicām modeļa papildināšanu. Mums ļoti patika tas, ka PER modelī ir iespēja ne tikai pievienot citas tabulas ar saitēm, bet arī izveidot skatus, procedūras, virknes, sinonīmus, funkcijas, procedūru pakotnes, citus ierobežojumus, kā ari citus trigerus. Tiesa gan, daži no šiem elementiem ir tīri manuāli izpildāmo darbību process, piemēram, skati, procedūras, funkcijas, trigeri un procedūru pakotnes ir jāraksta mums visiem pierastajā SQL kodā. Taču, ja labi padomā, tad kā gan savādāk. Nedaudz savādāk ir ar virkņu un sinonīmu realizēšanu. Šajā gadījumā mums tiek piedāvāta forma, kurā mums burtiski ir jāieraksta nosaukums, virkņu gadījumā - pieauguma skaits un sākuma skaitlis; sinonīma gadījumā – atbilstošais objekts. Protams, ka pēc būtības tas arī ir viss, kas jādefinē virknei vai sinonīmam. Tomēr, pēc šo parametru definēšanas uzreiz ir iespēja apskatīties SQL kodu un, pēc vēlmes vai nepieciešamības, to papildināt vai labot. Būtībā, mums ir iespēja PER modelī veikt jebkurus manuālus labojumus SQL kodā, kas arī uzreiz tiks attēlots labojamajā struktūrā.

Šeit būtu svarīgi piebilst to, ka ir nācies pēc tam, kad jau PER modelis tika papildināts ar citiem objektiem, atrast kādas kļūdas LER modelī. Par sava veida glābiņu šeit nāca rīka iespēja atjaunot modeli pēc labojumiem. Tā ir pēc būtības tā pati konvertācija, tikai konvertējot LER modeli atkārtoti, kā datu bāzes tipu transformācijai ir jāizvēlas jau esošais PER modelis. Tādā gadījumā tiks transformētas jau tikai tās LER modeļa sastāvdaļas, kuras nav PER modelī.

Pēc papildināšanas mēs izveidojām atskaiti PDF formātā. Šī atskaite bija tik pat detalizēta, kā LER modelī, un šoreiz aizņēma 50 lappuses. Patika tas, ka atskaite bija ļoti labi noformēta, ar titullapu un pilnībā gatava drukāšanai.

90

Page 91: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

Nākošajā solī mēs ķērāmies klāt modeļu salīdzināšanai. Salīdzinājām LER un PER modeļus. Šeit uzreiz varējām redzēt to, ka ir izzudusi entītija Cilvēks, parādījās divas starptabulas, kā arī entītijas Students un Pasniedzējs ir ieguvušas papildus atribūtus. Tā pat izmēģinājām arī transformēt mūsu PER modeli atpakaļ uz LER modeli, lai varētu salīdzināt sākotnējo LER ar gala LER. Ari šeit rezultāts bija tāds pats. Šajā vietā varam secināt, ka katru reizi mašīna interpretē transformāciju no savas „pieredzes”, t.i. katru transformāciju veic pēc saviem likumiem. Pēc katras transformācija modelis mainās un mēs nekad nevaram iegūt atpakaļ to pašu, kas bija iepriekš. Tas ir pārbaudīts praksē, kaut tomēr ir pats par sevi saprotams. Gribētu pieminēt arī to, ka rīkā ir iespēja arī veikt PERPER transformāciju gadījumam, ja vienas datu bāzes vadības sistēmas PER modelis ir jātransformē citā datu bāzes vadības sistēmā.

Visbeidzot, darba noslēguma daļā mēs izpildījām koda ģenerēšanu. Koda ģenerēšana arī ir diezgan vienkārša, kur mums ir jāizvēlas objekti, kuriem mums ir jāiegūst kods. Tā pat mums arī varējām izvēlēties objektu ģenerēšanas secību un arī primāro atslēgu ģenerēšanas vietu (iekš tabulas vai ārpus tās). Ģenerēšanas secības izvēle ir diezgan lietderīga, jo mēs varam definēt konkrētu struktūru secību, lai nevajadzētu meklēt kurā faila vietā kāds kods atrodas. Šeit atradām ari vienu īpašību, kuru nevarētu nosaukt ne par programmas plusu, ne par mīnusu. Mūsuprāt, integrācija ar citu Quest programmatūru bieži vien traucē lietotāja darbam. Piemēram, ja lietotājam ir uzstādīts Toad for Oracle, tad pēc SQL koda ģenerēšanas, kad ir vēlme apskatīties uzģenerēto kodu, tiek uzreiz atvērts Toad For Oracle, notiek pieslēgšanās kādai datu bāzei zem izvēlētā lietotāja, SQL fails tiek saskaldīts pa atsevišķiem CREATE failiem un katrs tiek atvērts atsevišķi dažādos ciļņos. Ērtāk tomēr apskatīties kodu paša TDM SQL failu attēlotājā, jo tas ir līdzīgs teksta redaktoram un ļauj pāršķirstīt failu lietotājam pierastajā veidā. No otras puses, ja iekš Toad for Oracle fails uzreiz tiek saskaldīts un programma jau ir pieslēgusies datu bāzei, tad šajā vietā, ja SQL teksts apmierina, to var uzreiz palaist un tas tiks izveidots datu bāzē.

Gribētos uzsvērt arī programmas vienu no lielākajiem plusiem – solis-pa-solim vedņi. Tie palīdz lietotājam virzīties uz priekšu soli pa solim, uzstādot jautājumus, piedāvājot vajadzīgo informāciju un izskaidrojot iespējamos ceļus. Tas patiešām palīdz lietotājam, kas strādā ar šāda veida programmatūru vai nu pirmo reizi, vai arī ne visai skaidri saprot kā to var realizēt manuāli. Ar mūsu citiem definētajiem plusiem un mīnusiem izpētītajai programmai var iepazīties subjektīvās kritikas sadaļā. Protams, kā jau minējām, šī kritika ir vairāk subjektīva, jo mēs sniedzām vērtējumus pēc savas pieredzes, strādājot ar programmatūru.

Lielākā grūtība darba gaitā tomēr ir bijusi darba izpilde grupā no trim cilvēkiem. Katram ir savas idejas, savas pretenzijas un priekšlikumi. Katrs grib realizēt kaut ko savu, kas, iespējams, citi grupas biedri nepiekrist. Bez tam, katram ir savs darba izpildes stils, kas bieži vien liekas neskaidrs citam. Vieglāk tomēr ir katram orientēties savā darbā, kuru cilvēks pats ir veidojis un pārzina „no A līdz Z”, nekā mēģināt gūt skaidrību cita paveiktajā darbā.

Kopumā uzskatam, ka esam padarījušas lielu darbu, kurš patiešām ir veiksmīgi izpildīts. Mēs varam apgalvot, ka mašīna nespēj transformēt lielāko daļu virtuālās daļas un permanentās daļas struktūru. Galu galā – projektētājam vienmēr ir labāka pieredze nekā mašīnai un pati mašīna bez projektētāja, pat tad ja tā ir automatizēta, nespēj paveikt visu pati.

91

Page 92: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

INFORMĀCIJAS AVOTI

Literatūra latviski:1) J.Eiduks, 2008./2009.māc.g. Izdales materiāli no diska.2) Semināra materiāli: vaicājumi valodā SQL un tas paplašinājums PL/SQL. J. Eiduks (no 2002 gada).

Literatūra krieviski:3) Базы данных, Проектированиеб реализация и сопровождение. Теория и практика / Под ред. Т. Конноли, К. Бегг, А. Страчан. – М., изд. дом Вильямс, 2000.4) „Дипломное проектирование” В.В.Родионов, учебно-методическое пособие.

Literatūra angliski:5) Toad Data Modeler Help.

Internets:6) http://www.interface.ru/fset.asp?Url=/ca/idef1x.htm7) http://www.casestudio.com/enu/products.aspx8) http://www.quest.com/common/registration.aspx?requestdefid=10037 9) http://www.networkcomputing.com/showitem.jhtml?articleID=47900819&pgno=610) http://www.casestudio.com/enu/tdm_statement_of_direction.aspx11) http://modeling.inside.quest.com/index.jspa12) http://zenobank.com/index.php?symbol=QSFT&page=quotesearch13) http://en.wikipedia.org/wiki/Toad_Data_Modeler14) http://www.toadsoft.com/toaddm/toad_data_modeler.htm15) http://www.databasejournal.com/features/oracle/article.php/3754671/Product-Review--Toad-Data-Modeler-3.htm16) http://www.dbta.com/cgi-bin/redir.cgi?id=quest_200711

92

Page 93: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

PIELIKUMI

1.pielikums. Uzģenerētā SQL koda pirmteksts

/*Created: 02.05.2009Modified: 02.05.2009Model: UniversitateDatabase: Oracle 9i*/-- Create tables section --------------------------------------------------- Table Katedra

CREATE TABLE "Katedra"( "K_Num" Integer NOT NULL, "K_Nos" Varchar2(50 ), "K_Tel" Integer CONSTRAINT "ValidValuesK_Tel" CHECK (("K_Tel" BETWEEN 20000000 AND 29999999)), "Dat_No_P" Date, "Dat_Lidz_P" Date, "I_Num" Integer, "Pasn_Num" Integer, "PASN_Pers_Kods" Varchar2(15 ), CONSTRAINT "K_Num" PRIMARY KEY ("K_Num"))/

-- Table Fakultate

CREATE TABLE "Fakultate"( "F_Num" Integer NOT NULL, "F_Nos" Varchar2(50 ), "F_Tel" Integer CONSTRAINT "ValidValuesF_Tel" CHECK (("F_Tel" BETWEEN 20000000 AND 29999999)), CONSTRAINT "F_Num" PRIMARY KEY ("F_Num"))/

-- Table Instituts

CREATE TABLE "Instituts"( "I_Num" Integer NOT NULL, "I_Nos" Varchar2(50 ), "I_Tel" Varchar2(15 ), "F_Num" Integer, CONSTRAINT "I_Num" PRIMARY KEY ("I_Num"))/

-- Table Atzime

CREATE TABLE "Atzime"( "Atz_Vertiba" Integer CONSTRAINT "ValidValuesAtz_Vertiba" CHECK (("Atz_Vertiba" BETWEEN 1 AND 10)), "Pasn_Num" Integer, "S_Num" Integer, "STU_Pers_Kods" Varchar2(15 ), "PASN_Pers_Kods" Varchar2(15 ))/

-- Table Studentu_grupa

CREATE TABLE "Studentu_grupa"( "Gr_Num" Integer NOT NULL, "Gr_Nos" Varchar2(50 ), CONSTRAINT "Gr_Num" PRIMARY KEY ("Gr_Num"))/

-- Table Asociacija1

CREATE TABLE "Asociacija1"( "Dat_No" Date, "Dat_Lidz" Date, "Mp_Num" Integer NOT NULL, "K_Num" Integer NOT NULL, CONSTRAINT "UI02" PRIMARY KEY ("Mp_Num","K_Num"))/

-- Table Macibu_Programma

CREATE TABLE "Macibu_Programma"( "Mp_Num" Integer NOT NULL, "Mp_Nos" Varchar2(50 ), CONSTRAINT "Mp_Num" PRIMARY KEY ("Mp_Num"))/

-- Table Macibu_Priekshmets

CREATE TABLE "Macibu_Priekshmets"( "P_Num" Integer NOT NULL, "P_Nos" Varchar2(50 ),

93

Page 94: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

CONSTRAINT "P_Num" PRIMARY KEY ("P_Num"))/

-- Table Asociacija2

CREATE TABLE "Asociacija2"( "Dat_No" Date, "Dat_Lidz" Date, "Gr_Num" Integer, "Mp_Num" Integer)/

-- Table Students

CREATE TABLE "Students"( "Vards" Varchar2(50 ), "Uzvards" Varchar2(50 ), "STU_Pers_Kods" Varchar2(15 ) NOT NULL, "S_Num" Integer NOT NULL, "Gr_Num" Integer, "A_S_Num" Integer, "A_STU_Pers_Kods" Varchar2(15 ), CONSTRAINT "S_Num" PRIMARY KEY ("S_Num","STU_Pers_Kods"))/

-- Create triggers for table Students

CREATE TRIGGER "InheritanceStudents" BEFORE INSERT ON "Students" for each rowdeclare numrows integerbegin select count(*) into numrows from Pasniedzejs where Pers_Kods = :NEW.Pers_Kods if (numrows > 0) then RAISE_APPLICATION_ERROR(-20003,'Exlusive Inheritance violation with entity Pasniedzejs'); end if; end; /

-- Table Pasniedzejs

CREATE TABLE "Pasniedzejs"( "Vards" Varchar2(50 ), "Uzvards" Varchar2(50 ), "PASN_Pers_Kods" Varchar2(15 ) NOT NULL, "Pasn_Num" Integer NOT NULL, "Pasn_Amats" Varchar2(50 ), CONSTRAINT "Pasn_Num" PRIMARY KEY ("Pasn_Num","PASN_Pers_Kods"))/

-- Create triggers for table Pasniedzejs

CREATE TRIGGER "InheritancePasniedzejs" BEFORE INSERT ON "Pasniedzejs" for each rowdeclare numrows integerbegin select count(*) into numrows from Students where Pers_Kods = :NEW.Pers_Kods if (numrows > 0) then RAISE_APPLICATION_ERROR(-20003,'Exlusive Inheritance violation with entity Students'); end if; end; /

-- Table Studenta_Atz_Saraksts

CREATE TABLE "Studenta_Atz_Saraksts"( "Sar_Num" Number, "Pasn_Num" Integer, "P_Num" Integer, "S_Num" Integer, "STU_Pers_Kods" Varchar2(15 ), "PASN_Pers_Kods" Varchar2(15 ))/

-- Table Macibu_Priekshmets_Pasniedzejs

CREATE TABLE "Macibu_Priekshmets_Pasniedzejs"( "P_Num" Integer, "Pasn_Num" Integer, "PASN_Pers_Kods" Varchar2(15 ))/

-- Table Macibu_Programma_Macibu_Priekshmets

CREATE TABLE "Macibu_Programma_Macibu_Priekshmets"( "Mp_Num" Integer, "P_Num" Integer)/

-- Create views section -------------------------------------------------

CREATE VIEW "Studentu_grupas" AS SELECT A.Vards, A.Uzvards, A.STU_Pers_Kods, B.Gr_Num, B.Gr_Nos

94

Page 95: ANOTĀCIJA · Web view8.4.Fiziskā modeļa atskaites ģenerēšana PDF formātā72 9.SQL KODA ĢENERĒŠANA75 10.LOĢISKĀ UN FIZISKĀ MODEĻU SALĪDZINĀŠANA81 SUBJEKTĪVA KRITIKA84

FROM Students A, Studentu_grupa BWHERE A.Gr_Num=B.Gr_Num/

-- Create procedures section -------------------------------------------------

CREATE PROCEDURE "GlabProc"SELECT A.Vards, A.Uzvards, B.Gr_NumFROM Students A, Studentu_grupa BWHERE A.Gr_Num=B.Gr_NumEND GlabProc/

-- Create synonyms section -------------------------------------------------

CREATE SYNONYM "Syn_StudGrupa" FOR "Studentu_grupa"/

-- Create sequences section -------------------------------------------------

CREATE SEQUENCE "Fak_Seq" INCREMENT BY 1 START WITH 2 NOMAXVALUE NOMINVALUE CACHE 20/

-- Create relationships section -------------------------------------------------

ALTER TABLE "Instituts" ADD CONSTRAINT "Ir1" FOREIGN KEY ("F_Num") REFERENCES "Fakultate" ("F_Num")/

ALTER TABLE "Katedra" ADD CONSTRAINT "Ir2" FOREIGN KEY ("I_Num") REFERENCES "Instituts" ("I_Num")/

ALTER TABLE "Asociacija1" ADD CONSTRAINT "Asociacija1" FOREIGN KEY ("Mp_Num") REFERENCES "Macibu_Programma" ("Mp_Num")/

ALTER TABLE "Asociacija1" ADD CONSTRAINT "Asociacija_1" FOREIGN KEY ("K_Num") REFERENCES "Katedra" ("K_Num")/

ALTER TABLE "Asociacija2" ADD CONSTRAINT "Asociacija2" FOREIGN KEY ("Gr_Num") REFERENCES "Studentu_grupa" ("Gr_Num")/

ALTER TABLE "Asociacija2" ADD CONSTRAINT "Asociacija_2" FOREIGN KEY ("Mp_Num") REFERENCES "Macibu_Programma" ("Mp_Num")/

ALTER TABLE "Atzime" ADD CONSTRAINT "Saite1" FOREIGN KEY ("Pasn_Num", "PASN_Pers_Kods") REFERENCES "Pasniedzejs" ("Pasn_Num", "PASN_Pers_Kods")/

ALTER TABLE "Studenta_Atz_Saraksts" ADD CONSTRAINT "Saite2" FOREIGN KEY ("Pasn_Num", "PASN_Pers_Kods") REFERENCES "Pasniedzejs" ("Pasn_Num", "PASN_Pers_Kods")/

ALTER TABLE "Katedra" ADD CONSTRAINT "Saite8" FOREIGN KEY ("Pasn_Num", "PASN_Pers_Kods") REFERENCES "Pasniedzejs" ("Pasn_Num", "PASN_Pers_Kods")/

ALTER TABLE "Studenta_Atz_Saraksts" ADD CONSTRAINT "Studenta_atz_Saraksts1" FOREIGN KEY ("P_Num") REFERENCES "Macibu_Priekshmets" ("P_Num")/

ALTER TABLE "Atzime" ADD CONSTRAINT "Studenta_atz_Saraksts" FOREIGN KEY () REFERENCES "Studenta_Atz_Saraksts" ()/

ALTER TABLE "Students" ADD CONSTRAINT "Saite_5" FOREIGN KEY ("Gr_Num") REFERENCES "Studentu_grupa" ("Gr_Num")/

ALTER TABLE "Atzime" ADD CONSTRAINT "Saite6" FOREIGN KEY ("S_Num", "STU_Pers_Kods") REFERENCES "Students" ("S_Num", "STU_Pers_Kods")/

ALTER TABLE "Studenta_Atz_Saraksts" ADD CONSTRAINT "Saite7" FOREIGN KEY ("S_Num", "STU_Pers_Kods") REFERENCES "Students" ("S_Num", "STU_Pers_Kods")/

ALTER TABLE "Macibu_Priekshmets_Pasniedzejs" ADD CONSTRAINT "Relationship1_1" FOREIGN KEY ("P_Num") REFERENCES "Macibu_Priekshmets" ("P_Num")/

ALTER TABLE "Macibu_Priekshmets_Pasniedzejs" ADD CONSTRAINT "Relationship1" FOREIGN KEY ("Pasn_Num", "PASN_Pers_Kods") REFERENCES "Pasniedzejs" ("Pasn_Num", "PASN_Pers_Kods")/

ALTER TABLE "Students" ADD CONSTRAINT "Relationship4" FOREIGN KEY ("A_S_Num", "A_STU_Pers_Kods") REFERENCES "Students" ("S_Num", "STU_Pers_Kods")/

ALTER TABLE "Macibu_Programma_Macibu_Priekshmets" ADD CONSTRAINT "Relationship5_1" FOREIGN KEY ("Mp_Num") REFERENCES "Macibu_Programma" ("Mp_Num")/

ALTER TABLE "Macibu_Programma_Macibu_Priekshmets" ADD CONSTRAINT "Relationship5" FOREIGN KEY ("P_Num") REFERENCES "Macibu_Priekshmets" ("P_Num")/

95