85
RĪGAS TEHNISKĀ UNIVERSITĀTE Datorzinātnes un informācijas tehnoloģijas fakultāte Informācijas tehnoloģijas institūts 2. praktiskais darbs mācību priekšmetā “ Informācijas sistēmas un CASE rīki” „Toad Data Modeler” Autors: Santa Pūce Grupa: 2DMI0-2 Pārbaudīja: prof. J. Eiduks

datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

RĪGAS TEHNISKĀ UNIVERSITĀTE

Datorzinātnes un informācijas tehnoloģijas fakultāte

Informācijas tehnoloģijas institūts

2. praktiskais darbs mācību priekšmetā

“ Informācijas sistēmas un CASE rīki”

„Toad Data Modeler”

Autors: Santa Pūce

Grupa: 2DMI0-2

Pārbaudīja: prof. J. Eiduks

RĪGA 2011

Page 2: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

ANOTĀCIJA

2.praktiskajā darbā ir izprojektēts datu bāzes Universitāte piemērs ar DB 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 izstrādāts 2 daļās - teorētiskā daļa, kurā tiek apskatīts un izpētīts izmantojamais

CASE rīks, tā iespējas un funkcionalitāte, un praktiskā daļa, kurā tiek apskatīta DB realizācija ar

Toad Data Modeler rīka palīdzību. Vēl teorētiskajā daļā tiek apskatīti vairāki piemēri tām rīka

iespējām, kuras praktiskajā darba daļā netiek izmantotas - apvērstā inženierija, versiju

menedžeris, uzdevumu saraksts, sinhronizācija un automātiskā izkārtošana. Darba gaitā tiek

izveidots loģiskais modelis, kurš pēc īpašībām ir 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 DB modelis. 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. Gan fiziskajam, gan loģiskajam

modelim tiek uzģenerētas atskaites. Gala rezultātā tiek iegūts arī SQL kods izveidotajai DB.

2

Page 3: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Saturs

1. Uzdevuma nostādne...................................................................................................................4

2. Teorētiskā daļa...........................................................................................................................5

2.1. СASE rīks: definīcija, raksturojums un izmantošana...........................................................5

2.2. Toad Data Modeler: definīcija un iespējas..........................................................................6

2.3. Toad Data Modeler instalācija.............................................................................................7

2.4. CASE rīka Toad Data Modeler darba vide........................................................................11

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

2.6. Rīka tehniskās prasības un iespējas...................................................................................13

2.7. TDM Modeļi........................................................................................................................19

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

2.9. Apvērstā inženierija (reverse engineering)........................................................................25

2.10. Papildus TQM funkcijas un iespējas................................................................................28

3. Praktiskā daļa..........................................................................................................................30

3.1. Konceptuālais modelis „Visio” vidē..................................................................................30

3.2. Loģiskais modelis................................................................................................................30

3.3. Fiziskais modelis.................................................................................................................44

3.4. SQL koda ģenerēšana.........................................................................................................54

3.5. Loģiskā un fiziskā modeļa salīdzināšana............................................................................55

4. Subjektīvais novērtējums........................................................................................................58

Secinājumi....................................................................................................................................59

Izmantotā literatūra....................................................................................................................60

1.pielikums.....................................................................................................................................61

3

Page 4: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

1. UZDEVUMA NOSTĀDNE

1. Jāizpēta CASE rīkā realizējamie modeļi un to, kā tie saistīti savā starpā:

konceptuālais modelis;

loģiskais modelis (dati);

fiziskais modelis.

2. Jāizpēta apzīmējumiem izmantojamās notācijas.

3. Jāsniedz piemēri:

konceptuālais modelis loģiskais modelis fiziskais modelis

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.

4

Page 5: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2. TEORĒTISKĀ DAĻA

2.1. СASE rīks: definīcija, raksturojums un izmantošana

Definīcija. CASE (Computer Aided Software Engineering) - agrāk tas tika pielietots

attiecībā uz programmnodrošinājuma izstrādes automatizāciju, bet mūsdienās CASE rīks apzīmē

informācijas sistēmu (IS) izstrādes procesu kopumā, ietverot:

IS izstrādi un nodrošinājumu;

analīzi;

prasību formulēšanu;

lietišķu programmnodrošinājumu un datu bāžu projektēšanu;

koda ģenerēšanu;

testēšanu;

dokumentēšanu;

kvalitātes nodrošināšanu;

konfigurācijas;

projekta vadību;

un citus procesus.

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ākā 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 veidu, 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:

metodoloģija (Method Diagrams) - nosaka vienotu grafisko valodu un noteikumus

strādājot ar to;

5

Page 6: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

grafiskie redaktori (Graphic Editors) - 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 apgalvo, ka CASE rīku izmantošanas

programmlīdzekļu izstrādes procesā ir efektīva. Tomēr eksistē neveiksmju procents, kurš ir

diezgan liels. Ņemot vērā CASE rīku dabas daudzveidību, nevajadzētu galvot par reāliem

ieguvumiem no to izmantošanas. Daži faktori, 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 prakses daudzveidība;

detalizētu metriku trūkums;

plašs priekšmetisko apgabalu diapazons;

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

2.2. Toad Data Modeler: definīcija un iespējas

Definīcija. 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 saprotamais 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 DB, kā arī lietojumprogrammu izstrādi un analīzi. Ir

iespējama datu plūsmas diagrammu izveide un ātra ER-diagrammu izveide dažādām datubāzes

sistēmām, kā piemēram MS SQL, Oracle, Sybase.

Izmantojot Toad Data Modeler, ir iespējams:

grafiski realizēt DB struktūru (loģiskās un fiziskās ER diagrammas);

veidot ER diagrammas vairākām DB sistēmām (Oracle, MS SQL, DB2, MySQL, PostgreSQL, utml.)

pārveidot jau eksistējošu DB struktūru un attēlot eksistējošās DB struktūru diagrammas formā;

6

Page 7: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

pievienot loģiskos datus diagrammām un labāk aprakstīt eksistējošās DB struktūras;

pārbaudīt ER diagrammas modeļus un apskatīt piedāvāto kļūdu, brīdinājumu un ieteikumu (hints) sarakstus;

automātiski ģenerēt SQL kodu, atbilstoši izvēlētajai DB;

ģenerēt detalizētu dokumentāciju HTML, PDF, RTF formātos;

sinhronizēt modeli ar fiziski eksistējošām DB, izmantojot Alter Script Generation un Model Merge opcijas;

saglabāt izmaiņu masīvus, izmantojot Version Manager opcijas;

veidot uzdevumu sarakstu, kurš 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.

2.3. Toad Data Modeler instalācija

Lai izpētītu CASE rīku Toad Data Modeler, tas ir jāuzinstalē lietotāja datorā. Šim

mērķim tiek palaists Toad Data Modeler setup.exe fails. Pēc noklusējuma tiek piedāvāta vieta

lietotāja datorā, kurā atradīsies Toad Data Modeler pēc instalācijas. Instalācijas gaitā tiek

izvēlētas īpatnības (atbalsts priekš atšķirīgām DB sistēmām), kuras vēlamies instalēt. CASE rīka

instalācijas procesu ir iespējams apskatīt zemāk attēlotajos attēlos.

7

Page 8: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.1. att. CASE rīka Toad Data Modeler palaišana

2.2. att. Licences apstiprināšana

2.3. att. Instalācijas personalizācija – iespējams uzstādīt piekļuvi rīkam vienam

vai jebkuram lietotājam

8

Page 9: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.4. att. Rīka atrašanās vietas uzstādīšana (tiek izvēlēts noklusējums)

2.5. att. Datubāzu atbalsta izvēle, kurās tiks ieinstalētas TDM

2.6. att. Tiek izvēlēti papildus uzstādījumi rīka ikonas izvietošanā uz lietotāja datora

9

Page 10: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.7. att. Rīka instalēšanas process

2.8. att. Instalācijas pabeigšana

Ierobežojumi: rīka trial version neiekļauj visas iespējas un atļauj lietotājam saglabāt

modeli, kurā ir mazāk nekā 25 entītijas.

10

Page 11: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.9. att. TDM pirmā palaišana, kur tiek izvēlēta jauna konfigurācija

2.10. att. Darba uzsākšana

2.4. CASE rīka Toad Data Modeler darba vide

Lietotāja saskarne

Rīka lietotāja saskarne ir izpildīta Windows-lietotnes stilā. Tā ir pietiekami vienkārša un

intuitīvi skaidra.

Rīku joslas funkcijas:

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

Fiziskā modeļa veidošanas funkcijas:

izvēles veikšanas kursors

pievienot entītiju modelī

pievienot identificējošu saiti modelī

11

Page 12: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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ī

Loģiskā modeļa veidošanas funkcijas:

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ī

12

Page 13: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Meta modeļa veidošanas funkcijas:

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ī

Meta modeļa veidošanas rīki:

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

13

Page 14: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.5. 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 – 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 - 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.

2.6. Rīka tehniskās prasības un iespējas

TDM tehniskās prasības

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

2.1. tabula

TDM tehniskās prasības

Minimālās prasības Optimālās prasības

Platforma Pentium IV Pentium dual core

Atmiņa 256 MB 1 GB

Vieta uz cietā diska 100 MB 200 MB

Operētājsistēma Windows 2000/XP/Vista Windows 2000/XP/Vista

Toad Data Modeler cena ir 479$. Darba gaitā tiks izmantota programmas „trial” versija.

Atbalstīto DB saraksts

Viena no svarīgām Toad Data Modeler īpašībām ir liels datu bāžu skaits, ko atbalsta šis

CASE rīks. Zemāk ir uzskaitītas datu bāzes, kurām var realizēt fizisko ER diagrammas modeli

Toad Data Modeler rīkā:

Page 15: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

Page 16: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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,

kā arī no galvenās izvēlnes ViewDisplay Level.

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

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

Notācijas

Modeļu veidošanai Toad Data Modeler rīkā ir iespējams izmantot divas notācijas:

IDEF1X,

IE (Information Engineering).

IDEF1X metodoloģija tika 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 tiek pielietotas,

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:

Page 17: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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.

Definīcija. 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.

Definīcija. 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, kur:

Page 18: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

pilnā hierarhija liecina par analīzes pabeigtību. Tajā piedāvāto apakštipu salikumu var

uzskatīt par izsmeļošu;

nepilnā hierarhija 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, kur:

pie izslēdzošas hierarhijas superrealitāte var spēlēt tikai vienas apakšrealitātes

lomu;

pie iekļaujošas hierarhijas superrealitāte var spēlēt vairāk nekā vienu lomu.

Abu notāciju salīdzinājumus ir attēlots tabulā 2.2.

Page 19: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.2. tabulaIDEF1X un IE notāciju salīdzinājums un to apzīmējumi

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

RealitāteRealitā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.

Iekļaujoša kategoriju hierarhija.

Nepilnā kategoriju hierarhija

Page 20: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Toad Data Modeler piedāvā 2 notāciju izvēles iespējas, nodrošinot vieglu „pārslēgšanos”

no IDEF1X uz IE notāciju. Lai to izdarītu, ir jāizvēlas „Notation” opcija no galvenās rīku

izvēlnes (2.13. att.).

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

IDEF1X un IE notāciju realizāciju Toad Data Modeler var apskatīt, izmantojot

programmas „Help”, kurā viegli pārskatāmi ir paradīti saišu un realitāšu realizācijas piemēri

(att.2.14 – 2.17.).

2.14. att. „Help” par IE notācijām

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

20

Page 21: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.16. att.. „Help” par IDEF1X notācijām

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

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

Šī darba izpildei tiks izmantota IE notācija.

21

Page 22: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.7. TDM Modeļi

Loģiskais modelis un ar to saistītā funkcionalitāte (LER)

Loģiskā modeļa veidošana

Toad Data Modeler vidē ir iespējams izveidot loģisko modeli, definējot darba telpu,

pievienojot entītijas (realitātes), atribūtus, unikālos identifikatorus, pievienojot un definējot

saites, pievienojot un specificējot mantošanu. 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 katru savā krāsā.

Loģiskā modeļa verifikācija

Viena no rīka 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ļā (2.18. att.).

2.18. att. Loģiskā modeļa pārbaude

Atskaišu veidošana

Toad Data Modeler automātiski ģenerē 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 tiks ģenerēta atskaite Universitātes priekšmetiskās vides

loģiskajam modelim. HTML atskaites var modificēt, paplašinot eksistējošo metodi. Izmantojot

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.

22

Page 23: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.19. att. Loģiskā modeļa Script Explorer atskaišu rediģēšana

Modeļu salīdzināšana

Šajā rīkā 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.

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

Salīdzināt var gan loģiskos modeļus, gan fiziskos modeļus, kā arī pastāv iespēja

automātiski noģenerēt atskaiti HTML formātā, kas saturēs atšķirīgos datus.

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

Gadījumā, kad loģiskais modelis jau ir konvertēts fiziskajā modelī un tajā tiek veiktas

izmaiņas, pastāv iespēja atjaunot arī loģisko modeli, atbilstoši izmaiņām, kas tika veiktas

fiziskajā modelī. Šim nolūkam tiek izmantots Convertor. Tā pat ir iespējams apvienot divus

loģiskus modeļus vienā, izmantojot Merge Models funkciju.

2.21. att. Modeļa atjaunošana un apvienošana

23

Page 24: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Loģiskā modeļa transformācija uz fizisko modeli (LER PER)

Toad Data Modeler ļauj transformēt loģisko modeli fiziskajā modelī. Šim mērķim, tiek

izmantots Convertor, izvēloties Model -> Simple Model Conversion vai Model Conversion,

Model Merge.

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

Pirms loģiskā modeļa konvertēšanas uz fizisko modeli, ir jāņem vērā šādi nosacījumi:

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.c.

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

Fiziskā modeļa veidošana

Toad Data Modeler(TDM) vidē ir iespējams veidot fizisko modeli. Tā kā TDM atbalsta

vairākas DBVS, pirms modeļa veidošanas ir jānokonkretizē un jāizvēlas kāda no DB sistēmām.

Pēc tam ir iespējams pievienot entītijas, un nodefinēt to īpašības.

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

24

Page 25: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

TDM rīks piedāvā daudz funkcijas, kuras ir iespējams, veidojot entītiju fiziskajā modelī:

General – visi galvenie uzstatījumi, kas definē entītiju: nosaukums, uzraksts, kategorija,

izmērs

Attributes – var veidot, koriģēt un dzēst entītijas atribūtus

Keys – var veidot primāras atslēgas un alternatīvas atslēgas

Indexes – var veidot indeksus

Check Constraints – var veidot ierobežojumus

Triggers – var veidot trigerus

Permissions – var definēt pieejas atļaujas lietotājiem vai lietotāju grupām

To Do – var definēt uzdevumus entītijām

Notes – entītiju detaļas, paskaidrojumi

SQL Preview – entītijas SQL kods (att. 2.24).

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

Fiziskajā modelī ir iespējams nodefinēt saites, kardinalitātes (saišu jaudas) (2.25 att.).

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

25

Page 26: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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šanu,

procedūru un funkciju definēšanu,

indeksu, trigeru definēšanu

lietotāja datu tipu definēšana ērtākam darbam.

Fiziskā modeļa verifikācija

Tā pat kā loģiskajā modelī, arī šeit ir iespējams pārbaudīt fizisko modeli, veicot modeļa

verifikāciju, kas palīdz atklāt kļūdas un brīdinājumus.

2.26. att. Fiziskā modeļa verifikācija

Dokumentācija

Toad Data Modeler automātiskā dokumentācija fiziskajam modelim piedāvā sekojošas

iespējas:

ģenerēt atskaites HTML, RTF un PDF formātos, izmantojot Report Wizard.

2.27. att. Fiziskā modeļa atskaišu ģenerēšana

izveidot lietotāju atskaites fiziskajam modelim – HTML, PDF, CSV, text vai XML

formātos, izvēloties sev piemērotākos.

ģenerēt XSD failu fiziskajam modelim.

2.28. att. XSD fails fiziskajam modelim

26

Page 27: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Skripta ģenerēšana

No fiziskā modeļa ir iespējams ģenerēt DDL/SQL kodu, kā arī 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.

2.29. att. DDL/SQL koda ģenerēšana

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

Toad Data Modeler ļauj konvertēt fizisko modeli no vienas DB sistēmas uz citu,

piemēram, Oracle 10g fiziskais modelis var būt konvertēts uz SQL Server 2005 modeli. 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.

2.30. att. Modeļa konvertēšana

27

Page 28: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.9. Apvērstā inženierija (reverse engineering)

Apvērstās inženierijas opcija dod iespēju ielādēt jau eksistējošo DB struktūru un veidot

jaunas ER diagrammas. Pastāv divi apvērstās inženierijas veidi:

standard reverse engineering,

live reverse engineering.

Standard reverse engineering režīmā indeksi, komentāri, trigeri, saites, ierobežojumi,

funkcijas, skati, procedūras, lietotāju tipi ielādējās jaunajā ER diagrammā atbilstoši eksistējošai

DB 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ālāk ir redzams kā tas tiek izpildīts.

Sākumā ir jāizvēlas saglabātus pseidonīmus (at. 2.31.) un pēc tam ir jāizvēlas DB (att. 2.32).

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

2.32. att. Datu bāzes izvēle

28

Page 29: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Kad tas ir izdarīts, ir jāizvēlas savienošanas tips no izvēlētajai DB pieejamiem tipiem.

2.33. att. Savienošanas tipu izvēle

Ir pieejami ADO; Native; TCP/IP; ODBC savienošanas tipi (atkarībā no DB). Pēc tam

notiek savienojuma konfigurācija (att.2.34) un jāizvēlas datu migrators (att. 2.35).

2.34. att. Savienojuma konfigurācija

2.35. att. Datu migratora izvēle

29

Page 30: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

2.36. att. Pārveidojamo objektu izvēle (jāizvēlas objekti, kuri ir jāpārveido)

Tālāk notiek pseidonīma saglabāšana uz datora, pēc kuras notiek shēmu un tabulu izvēle.

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

Spiežot pogu „Execute”, tiek izvadīts paziņojums par apvērstās inženierijas pabeigšanas

procesu.

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

Kad apvērstā inženierija ir pabeigta, var apskatīt jauno ER diagrammu no iepriekš

eksistējošas datu bāzes. Tika izveidots fiziskais modelis.

30

Page 31: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

2.10. Papildus TQM funkcijas un iespējas

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

Automātiskā izkārtojuma funkcija ļauj automātiski izvietot modeļa objektus darba telpā.

Tā varētu būt noderīga pēc loģiska modeļa konvertēšanas uz fizisko modeli.

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

Sinhronizācija

Toad Data Modeler ļauj sinhronizēt:

datu bāzi un Toad Data Modeler modeli;

fizisko un loģisko modeli.

31

Page 32: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Version Manager

Toad Data Modeler rīkā ir iespējams veidot projektus, pievienot modeļus un citus failus,

mainīt modeļus, veidot to versijas. Ir iespējams veidot neierobežotu projektu skaitu. Lai

pievienotu esošo modeli kādam konkrētam projektam, ir jāizveido jauns projekts, izmantojot Add

Project. Pēc tam projektam ir jāpievieno esošais modelis, izmantojot Add to Version Manager.

Pēc apstiprināšanas, izvēlētais modelis (tāpat kā katrs no jauna pievienotais modelis) tiks

pievienots konkrētam projektam, līdz ar to vienmēr būs iespēja apskatīt projekta vairākas

versijas, kuras ir bijušas pievienotas projektam ar Version Manager.

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.

To-Do list ir jāpievieno:

kāda modeļa daļa, uzklikšķot uz objekta ar labo peles pogu un Edit izvēlnē izvēloties

Properties, kurā tālāk jāizvēlas To Do cilne. Rezultātā tiks attēlots uzdevumu saraksts, kas ir

saistīts ar izvēlēto objektu;

galvenais To Do dialoga logs, kas atrodas zem Model To Do. Rezultātā tiek paradīts pilns

uzdevumu saraksts. Lai pievienotu jaunu uzdevumu, ir jāizvēlas Add opcija, lai izmainītu

esošo uzdevumu, ir jāizvēlas opcija Edit, savukārt lai izdzēstu uzdevumu, ir jāizvēlas opcija

Delete.

Toad Data Modeler vidē var piesaistīt uzdevumus ne tikai modelim kopumā, bet arī

atsevišķiem objektiem.

Objektu saraksts, kuriem var pievienot uzdevumus:

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.

32

Page 33: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3. PRAKTISKĀ DAĻA

3.1. Konceptuālais modelis „Visio” vidē

Darba gaitā tiek izmantota IS “Universitāte”, kas ir aprakstīta dokumentā

“PowerDesignr15.doc” un apraksta universitātes struktūru. Toad Data Modeler nav iespējas

izveidot konceptuālo modeli, tāpēc tas tiek realizēts Visio vidē, balstoties uz iepriekš minētā

piemēra struktūras (att. 3.1.).

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

Tālāk, lai veiktu modeļa realizāciju, tiek veidots loģiskais modelis.

3.2. Loģiskais modelis

Modeļa izveide

Sākot loģiskā modeļa izveidi, ir jāizveido jauns modelis ar FileNew Model... palīdzību

(galvenā izvēlne). Pēc tam atveras dialoga logs, kur jāveic izvēle Logical Data Model.

33

Page 34: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.2. att. Loģiskā modeļa izveide

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

ObjectsEntity opciju.

3.3. att. Entītijas izveidošana

Tālāk parādās jauna entītija, uz kuras, uzklikšķinot ar peles kreiso taustiņu, parādās jauns

logs EntityProperties.

34

Page 35: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.4. att. Entītijas „Fakultāte” datu definēšana

3.5. att. Entītijas „Fakultāte” atribūtu definēšana

3.6. att. Entītijas „Fakultāte” atribūtu veidošana

35

Page 36: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.7. att. Visi definētie entītijas atribūti

Nedrīkst aizmirst, ka vienam no atribūtiem obligāti jābūt primārajai atslēgai. Tālāk tiek

izmantotas UniqueIdentifiers iespējas.

3.8. att. Unikālo identifikatoru (primāro atslēgu) rediģēšana

Lai pievienotu primāro atslēgu (unikālo identifikatoru), ir jānospiež Add, un tālāk ir

iespējams izvēlēties primārās atslēgas Attributes cilnē. Izvēlētie atribūti ar bultu pogām tiek

aizvirzīti uz labo logu.

3.9. att. Unikālo identifikatoru pievienošana

Gala rezultātā ir apskatāma izveidotā entītija Fakultāte.

36

Page 37: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

Šādi tiek definētas visas nepieciešamās entītijas priekšmetiskās vides realizācijai.

Binārās saites izveide

Tālāk tiek definētas saites starp entītijām. Attēlā 3.11 ir redzama binārā saite starp

realitātēm Fakultāte un Institūts.

3.11. att. Binārā saite starp realitātēm Fakultāte un Institūts

3.12. att. Binārās saites realizācija TDM rīkā

Tiek izvēlēta saite no rīku joslas Objects Relationship un uzklikšķināts ar ar peles

kreiso taustiņu 1.reizi uz vienas, 2. reizi uz otras entītijas - entītijas, kurai būs foreign key lauks.

Veicot šīs darbības, paradās saite starp 2 izvēlētajām entītijām. Uzklikšķinot uz saites ar

peles kreiso taustiņu 2 reizes, paradīsies logs RelationshipProperties.

3.13. att. RelationshipProperties - saites datu definēšana37

Page 38: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Ārējās atslēgas nosaukums F_Num laukam ForeignUniqueIdentifier. Saite tiek

nosaukta par „Ir”, jo attiecība starp „Vecāku” un „Bērnu” pastāv, kas nozīmē, Fakultātei ir jeb

pieder Institūts. Cilnē Cardinality ir iespējams izvēlēties saites veidu, kura mums ir

nepieciešama 1:1, vai 1:N.

3.14. att. Saites veida izvēle

Mantošanas realizācija

Izmantojot atribūtus un unikālus identifikatorus, kā arī Objects Inheritance opciju, tiek

izveidota mantošana starp trim realitātēm Cilvēks ir Parent entītija, Students un Pasniedzējs ir

Child entītijas.

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

38

32.att.

Page 39: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.17. att. Mantošanas tipa izvēle

Cilnē Generation ir iespēja atzīmēt kurš ko mantos – vecāks visus bērnus, katras bērns

vecāku, vai arī transformējot modeli fiziskajā, tas sakritīs ar loģisko. Tiks izvēlēts otrais variants,

lai pārbaudītu mantošanas struktūru konvertācijas procesā.

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

Modelī mantošana ir realizējama starp realitātēm bērnu Pasniedzējs, Students un vecāku

realitātes Cilvēks.

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

Realizējot šo struktūru ar Toad Data Modeler CASE rīka palīdzību, šī struktūra izskatās

diezgan līdzīga.

39

Page 40: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.20. att. Realizētā mantošanas struktūra TDM vidē

Unārās saites izveide

Lai realizētu unāro saiti realitātei Students, tiks izmantots saites instrument, un nospiests

uz vienas un tās pašas entītijas 2 reizes, kā arī saitei tiek uzstādīti noteikti parametri.

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

3.22. att. Realizētā unārās saites struktūra TDM vidē

Vājās realitātes realizācija

Vājā realitāte loģiskajā modelī ir realizējama realitātei Atzīme, kas ir atkarīga no

realitātēm Students un Pasniedzējs.

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

40

Page 41: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.24. att. Realizētā vājās realitātes struktūra TDM vidē

Saites N:M izveide

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.

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

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

41

Page 42: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Ternārās saites izveide

Modelī ternārā saite ir starp realitātēm Atzīme un Mācību priekšmets, Students. Ternāro

saiti realizē ar asociācijas tabulas Studenta_Atz_Saraksts palīdzību, kura savā starpā savieno

visas realitātes.

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

3.28. att. Realizētās ternārās saites struktūra TDM vidē

Kategoriju izveide

Tālāk tiks izveidotas kategorijas entītijām, kuras ir loģiski saistītas savā starpā. Tiks

izdalīta kategorija Personas, kurā attiecīgi atradīsies visas entītijas, kas būtībā atrodas

mantošanās attiecībās. Realizēšanai tiek atvērtas entītijas Cilvēks īpašības un galvenajā cilnē tiek

izvēlēta kategorija, no sākuma definējot kategoriju. Tā pat tiek definētas kategorijas entītijām

Students un Pasniedzējs, vienīgi šeit būs jāizvēlas jau eksistējošā kategorija jau no kategoriju

saraksta.

3.29. att. Kategoriju definēšana, izmantojot „Entity Properties”

42

Page 43: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.30. att. Vienas kategorijas pārstāvju entītijas

3.31. att. Kategorijas UniversitatesAdministracija pārstāvju entītijas

Tālāk tiek izveidota „leģenda” ar kategoriju nosaukumiem, izmantojot ikonu Category

rīku joslā. Parādās taisnstūris ar darba telpā eksistējošām kategorijām. Tādā veidā ir iespējams

grafiski izdalīt loģiski saistītas realitātes, kas ir uzskatāmi, un grafiski ar to palīdzību ir iespējams

realizēt superrealitāšu saites.

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

Modelis ir izveidots līdz galam - ir definētas visas entītijas un saites. Tālāk notiek modeļa

verifikācija (sistēmas pārbaude), 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.

Loģiskā modeļa verifikācija

Loģiskā modeļa verifikāciju pārbaudi veic, izvēloties Model VerifyModel galvenajā

izvēlē.

43

Page 44: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.33. att. Modeļa verifikācijas uzsākšana

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

3.35. att. Verifikācijas rezultāta ziņojuma logs pēc Verify nospiešanas

Ja ir radušās kļūdas, tās tiek izlabotas un veikta atkārtota modeļa verifikācija. Ja ir

radušies kādi brīdinājumi, ir jāmēģina tos novērst un atkārtoti veikt verifikāciju, kamēr vairs

netiek konstatētas kļūdas un brīdinājumi.

44

Page 45: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Kopējais modelis

Darba gaitā it izveidots loģiskais modelis izvēlētajai priekšmetiskai videi Universitāte.

3.36. att. Izveidotais loģiskais modelis Universitāte TDM vidē

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

Toad Data Modeler Report Wizard palīdzību tiks izveidota atskaite par loģisko modeli.

3.37. att. Atskaites formāta izvēle

3.38. att. Izvēlēties, kam veikt atskaiti

45

Page 46: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.39. att. Atskaites vizuālā tēla izvēle

3.40. att. Atskaitē attēlojamās informācijas izvēle

Spiežot pogu Execute atskaite tiek uzģenerēta ar izvēlētajiem parametriem. Lai apskatītu

izveidoto atskaiti, ir jāizvēlas poga Show Report poga. Tālāk it redzamas loģiskā aplūkot loģiskā

modeļa atskaites. Atskaites lapā ir vairākas cilnes, kur var apskatīt dažādu informāciju par

entītijām, par atribūtiem, par mantošanas attiecībām, kā arī var apskatīt ER diagrammu un

vispārīgu informāciju par modeli.

46

Page 47: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.41. att. Atskaites ER diagramma

3.3. Fiziskais modelis

Šajā darbā jaunizveidotais loģiskais modelis tiks konvertēts fiziskajā modelī. Lai uzsāktu

modeļa konvertēšanu, galvenajā izvēlnē ir jāizvēlas opcija Model Model Conversion,

ModelMerge.... Katra struktūra tiks transformēta atsevišķi, līdz ar to iepriekšējās transformācijas

katrā no jaunajām struktūrām nebūs redzamas.

3.42. att. Modeļa konvertēšanas uzsākšana

Atsevišķu elementu transformācija

Mantošanas transformācija

Mantošanas realizācijā loģiskajā modelī piedalās 3 entītijas – Cilvēks kā „vecāku”

realitāte un divas bērnu realitātes Students un Pasniedzējs.

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

47

Page 48: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Pēc Model Model Conversion, ModelMerge palaišanas atvērsies logs, kur ir jāizvēlas

fiziskā modeļa tips (šajā gadījumā Oracle9i). Attēlotajā logā ir iespējams ar zilo bultu palīdzību

izvēlēties vēlamos elementus transformācijai – mantošanas entītijas, mantošanu un kategorijas

(tiks izvēlēta kategorija Personas, kurā ir iekļautas minētās entītijas loģiskajā modelī). Pēc tam ir

jānospiež poga Execute.

3.44. att. Modeļa transformēšana mantošanai

Pēc tam atveras papildus cilne, kurā ir attēlota transformētā loģiskā modeļa struktūra

fiziskajā modelī. Attēlā ir redzams, ka 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).

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

Unāras saites transformācija

Unārās saites realizācijā loģiskajā modelī piedalās entītija Students ar saiti pašai uz sevi.

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

Transformācijas logā tiek izvēlēti tie elementi, kuri attiecas uz jauno transformējamo

struktūru vēlamā entītija un saite, kuru jātransformē.

48

Page 49: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.47. att. Modeļa transformēšana unārai saitei

Rezultātā transformētajā fiziskajā modelī parādās vēlamās struktūras transformācija.

Transformācijā ir redzams, ka 2 reizes atkārtojas atribūts S_NUM, kas nozīmē to, ka viens no

tiem ir primārā atslēga, bet otrs - ārējā atslēga. Līdz ar to, viens atribūts atsaucas uz otru.

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

Vājās realitātes transformācija

Vājās realitātes realizācijā loģiskajā modelī piedalās entītijas Students un Pasniedzējs, no

kuriem, savukārt, ir atkarīga vājā realitāte Atzīme.

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

Transformācijas logā tiek izvēlēti elementus, kas attiecas uz jauno transformējamo

struktūru - vēlamās entītijas un saites, kuras jātransformē.

49

Page 50: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.50. att. Modeļa transformēšana vājai realitātei

Rezultātā transformētajā fiziskajā modelī parādās transformēšanai izvēlētā struktūra.

Attēlā var 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īga vājā realitāte.

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

Saites N:M transformācija

Loģiskajā modelī saites N:M ir 2, kurās piedalās entītijas Mācību priekšmets un

Pasniedzējs, kā arī Mācību priekšmets un Mācību programma.

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

Transformācijas logā tiek izvēlēti elementi, kuri attiecas uz jauno transformējamo

struktūru - vēlamās entītijas un saites, kuras jātransformē.

50

Page 51: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.53. att. Modeļa transformēšana saitēm N:M

Rezultātā transformētajā fiziskajā modelī parādās transformēšanai izvēlētā struktūra. 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 notiek ar tabulām Mācību programma un Mācību

priekšmets – starp tām ir izveidojusies starptabula Mācību programmas mācību priekšmets ar

mantotām primārajām atslēgām.

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

Ternārās saites transformācija

Ternārās saites realizācijā loģiskajā modelī piedalās 4 entītijas - Students, Atzīme, Mācību

priekšmets un Studenta_Atz_Saraksts (kalpo par sava veida asociāciju realitāti tabulu

savienošanai).

51

Page 52: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

Transformācijas logā tiek izvēlēti elementi, kuri attiecas uz jauno transformējamo

struktūru - vēlamās entītijas un saites, kuras jātransformē.

3.56. att. Modeļa transformēšana saitēm N:M

Rezultātā transformētajā fiziskajā modelī parādās transformēšanai izvēlētā struktūra.

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

52

Page 53: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Tālāk tiek veikta kopējā modeļa transformācija, kur ārējās atslēgas ies nedaudz savādāk

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

Kopējā modeļa transformācija

Kopējā loģiskā modeļa transformācijai galvenajā izvēlnē jāizvēlas Model Model

Conversion, ModelMerge...un dialoga logā Convertor, kurš atvērsies, ir jānorāda fiziskā modeļa

tips, kurai DB tas tiek domāts. Tiek izvēlēts Oracle9i DB tips.

3.58. att. Modeļa transformēšana

Jāņem vērā, ka transformējot loģisko modeli fiziskajā, ir jātransformē gan saites,

realitātes u.c., gan atribūtu ierobežojumi, piemēram, entītijas Atzīme atribūta Atz_Vertiba var būt

robežās no 1 līdz 10. Tālāk notiek transformācija LERPER, kur PER modelis manto ārējās

atslēgas, izveido starptabulas u.tml.

53

Page 54: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.59. att. Transformētais loģiskais modelis Universitāte fiziskajā modelī,

izmantojot TDM vidi

Jebkurā fiziskā modeļa vietā ir iespējams veikt labojumus gan nosaukumos, gan

ierobežojumos, kā arī ir iespējams pārveidot jebkuru SQL kodu. Līdzīgā veidā ir transformējušās

arī citas entītijas. 3.60. att. ir redzams entītijas „Atzīme” SQL kods. To var mainīt manuāli. Kodā

ir redzams, ka ir izveidojusies 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.

3.60. att. Entītijas Atzīme SQL kods

Page 55: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Fiziskā modeļa papildināšana

Pēc fiziskā modeļa transformēšanas ir iespējams to palabot un pievienot tam visu, kas ir

nepieciešams, piemēram, skatus, trigerus, ierobežojumus, glabājamās procedūras, virknes,

sinonīmus, procedūru pakotnes, funkcijas u.c. Papildināt fizisko modeli Toad Data Modeler vidē

var vairākos veidos:

katras entītijas opcijās (Properties) ir iespējams pievienot trigerus,

galvenās izvēlnes joslā (Model Views) ir iespējams izvēlēties skati, materializētu

skatu, funkciju, procedūru, sinonīmu veidošanu,

fiziskā modeļa pārlūkā ir iespējams izveidot vajadzīgo objektu atbilstošajā mapē skati,

funkcijas, procedūras, virknes, pakotnes, sinonīmi, materializētie skati.

Skata pievienošana

Piemēram tiks pievienots skats, kas atlasa studentu datus un atbilstošas grupas datus.

Skata izveidošana jāsāk no galvenās izvēlnes Model Views opcijas. Tiek rakstīts tikai

vaicājuma teksts. Skatu pievienošanas process ir pusautomātisks - manuāli ir jāievada skata SQL

skripts cilnē SQL.

3.61. att. Skata SQL skripts

Pēc skata izveidošanas tas ir redzams fiziskā modeļa darba telpā.

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

Page 56: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

Pēc loģiskā modeļa konvertēšanas fiziskā modelī tiek apskatīta atskaišu ģenerēšana PER

modeļiem. Ar Toad Data Modeler Report Wizard palīdzību tiks izveidota atskate par

transformēto fizisko modeli.

3.63. att. Fiziskā modeļa atskaites ģenerēšanas uzsākšana

Atšķirīgi no loģiskā modeļa, atskaišu ģenerēšanas procesā fiziskajam modelim var

izvēlēties atskaites formātu. Piemēram, var izvēlēties PDF formātu, kā arī atskaitei nepieciešamo

informāciju. Atskaites ģenerēšanas soļi ir tādi paši kā ģenerējot loģiskā modeļa atskaiti. Atverot

atskaiti, atveras galvenā lapa. Atskaitē ir iekļauts detalizēts modeļa apraksts. Tā pat atskaitē

atsevišķi pa daļām ir aprakstīta katra struktūra - saites, atribūti, trigeri, virknes u.c. Atskaite ir

pilnībā gatava drukāšanai.

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

Page 57: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

3.4. SQL koda ģenerēšana

Tiek izveidots DDL skripts, galvenajā izvēlnē izvēloties Model Generate DDL Skript.

Visu SQL koda skriptu var aplūkot 1.pielikumā.

3.65. att. DDL/SQL koda ģenerēšanas uzsākšana

Tālāk no saraksta jāizvēlas visi elementi, kuriem tiks ģenerēts kods, piemēram, visas

entītijas, funkcijas, skati, pakotnes.

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

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

Page 58: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Pēc pogas Generate nospiešanas tiek saglabāts fails *.sql formātā norādītajā mapē.

Uzģenerēto kodu var aplūkot, nospiežot pogu Show Code. Logā būs iespējams redzēt SQL kodu

visām entītijām, atribūtiem un to tipiem. Kopumā kods tiek uzģenerēts precīzi.

3.68. att. Uzģenerētais SQL kods

3.5. Loģiskā un fiziskā modeļa salīdzināšana

Abu modeļu salīdzināšana tiek veikta galvenajā izvēlnē izvēloties Model Compare....

3.69. att. Modeļu salīdzināšanas uzsākšana

Dialoga logā ir iespējams izvēlēties otro modeli, ar kuru salīdzināt tekošo loģisko modeli.

Darbā tiks salīdzināts loģiskais modelis ar transformēto modeli, kurš tika iegūts pēc

transformācijas tiek salīdzināti 2 modeļi LER un PER (sākumdati ar beigu datiem).

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

Page 59: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Loga kreisā daļa atbilst LER modelim, bet labā - PER modelim. Logā ir skaidri redzams,

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. Labajā loga pusē šī entītija neeksistē, jo entītijas

atribūti ir pārgājuši pie abiem bērniem ar visu primāro atslēgu. Tā pat var redzēt, ka PER modelī

ir parādījušās divas jaunas entītijas, kuras nebija loģiskajā modelī, jo loģiskajā modelī bija

realizētas N:M saites, kuras pēc transformācijas ir papildinājušās ar starptabulām. Ir redzams, ka

oģiskajā modelī ir realizēta mantošanas struktūra, taču fiziskajā modelī šī struktūra nav redzama,

jo notiek „vecāku” realitātes sadalīšana uz abām „bērnu” realitātēm. Tālāk tiek transformēts

esošais fiziskais modelis atpakaļ loģiskajā modelī, veicot tādas pašas darbības kā iepriekš,

transformējot LER PER.

3.71. att. Fiziskā modeļa transformācija loģiskajā modelī

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

Ārējās atslēgas atkal ir pazudušas no tabulām, un ir parādījušās divas pavisam tukšas

tabulas, kuras fiziskajā modelī bija starptabulas un saturēja tikai ārējās atslēgas.

Page 60: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

Tālāk tiek salīdzināts sākuma modelis LER ar modeli, kurš tika iegūts pēc otrās kārtas

transformācijas LER PER un tad PERLER2.

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

Katru reizi tiek interpretēta transformācija pēc saviem likumiem. Var redzēt kā sākuma

LER modelis nav vienāds ar beigu LER modeli. Pirmkārt, 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 jaunas 2 tabulas (fiziskajā modelī

tās bija starptabulas), kuras sākuma modelī nav. Pēc katras transformācijas modelis mainās.

Nekad nevar iegūt to pašu, kas bija iepriekš.

Page 61: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

4. SUBJEKTĪVAIS NOVĒRTĒJUMS4.1. tabula

CASE rīka Toad Data Modeler vājās un stiprās puses

Plusi 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ība

Mantošanas realizācija trigerī pēc

transformācijas

Tikai 2 notācijas

Help iespējas AutoLayout nepārskatāms izvietojums

Modeļu atjaunošana pēc labojumiem Nepārskatāms izkārtojums pēc

transformācijas

Versiju glabāšana projekta ietvaros Tehniskās prasības

Ērta lietotāju saskarne Var realizēt tikai dažas struktūras

Transformācijas

(LERPER; PERLER; PERPER)

Trial versijas ierobežojumi

SQL skripts

PER modeļa papildināšana

Liels DBVS atbalsts

Apvērstā inženierija

Diagrammu kā grafisko attēlu

saglabāšana

Solis-pa-solim iespējas

Liela funkcionalitāte

Page 62: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

SECINĀJUMI

Dotais darba uzdevums ir izstrādāts atbilstoši definētajai uzdevuma nostādnei, kuras

galvenais mērķis bija realizēt DB 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.

Darbs sastāv no 2 pamatdaļām. Teorētiskajā daļā tika apskatītas izvēlētā rīka iespējas,

lietotāja saskarne un tā pamatfunkcijas, savukārt praktiskā darba gaitā tika izstrādāts loģiskais

(konceptuālais) modelis Universitāte.

Darba izpildei tika izvēlēta ”Quest” produkta Toad Data Modeler versija 3.3.8.11.

Darbs tika uzsākts ar nelielu ieskatu CASE rīkos un Toad Data Modeler rīkā. No sākuma

bija diezgan grūti orientēties visās rīka iespējās, jo tiek piedāvātas diezgan daudzas opcijas. Lai

ātrāk orientētos šajā rīkā izmantoju Help iespējas, kas bija labs palīgs darba izpildes gaitā.

Darba gaitā tika izmantota Oracle datu bāze, kā rezultātā tika attēlotas visas datu bāzes

tabulas ar visām saitēm, kā arī daudzas tabulas, kuras nebija saistītas ne ar vienu citu.

Pēc loģiskā modeļa izveides tika veikta šī modeļa atsevišķa transformācija uz

fizisko modeli un beigās tika iegūts arī kopējā transformācija. Salīdzinot iegūtās transformācijas

ar sākotnējo modeli tika pamanītas diezgan daudzas izmaiņas. Bija uzskatāmi redzams, ka pēc

katras transformācijas modelis mainās un nekad nevar iegūt to pašu, kas bija iepriekš. Darba

gaitā tika apskatīta arī SQL koda ģenerācija, kas arī bija diezgan interesants pasākums.

1.pielikumā ir redzams uzģenerētais kods.

Darba noslēgumā ir sniegts subjektīvs rīka novērtējums. Diemžēl man bija iespēja

izmantot tikai trial rīka versiju, kurai bija diezgan daudz ierobežojumi. Taču nedaudz papētīju arī

pilnās Expert rīka iespējas. Ar rīku strādāt bija viegli un ļoti saprotami. Par spīti dažiem rīka

mīnusiem, manuprāt, rīka plusi ir spēcīgāki.

Page 63: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

IZMANTOTĀ LITERATŪRA

J.Eiduks, 2008./2009.māc.g. Izdales materiāli no diska.

Semināra materiāli: vaicājumi valodā SQL un tas paplašinājums PL/SQL. J. Eiduks (no 2002

gada).

Toad Data Modeler Help.

http://www.casestudio.com/enu/products.aspx

http://www.casestudio.com/enu/tdm_statement_of_direction.aspx

http://modeling.inside.quest.com/index.jspa

http://en.wikipedia.org/wiki/Toad_Data_Modeler

http://www.toadsoft.com/toaddm/toad_data_modeler.htm

Page 64: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

1.PIELIKUMS

Uzģenerētā SQL koda pirmteksts/*Created: 20.09.2009Modified: 20.09.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 ))/

Page 65: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

-- 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 ), 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

Page 66: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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

Page 67: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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_NosFROM 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")/

Page 68: datubaze.files.wordpress.com · Web viewDefinīcija. Saites jauda – attiecība, kas parāda to, kādam „bērna” realitātes eksemplāru skaitam var atbilst „vecāku” realitātes

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")/