db projektēšana (ar oracle designer rīku) web view · 2014-10-10database design...

60
Romans Lukašenko DB projektēšana ar Oracle Designer CASE rīku RTU 2005.

Upload: vodang

Post on 15-Mar-2018

228 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Romans Lukašenko

DB projektēšana ar Oracle Designer CASE rīku

RTU 2005.

Page 2: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

SATURS

1. UZDEVUMA NOSTADNE........................................................................................61.1. Uzdevuma analīze un prasības darbam.................................................................................6

1.2. Uzdevuma risināšanas projektējums.....................................................................................6

2. PRIEKŠMETISKAS VIDES MODELIS....................................................................8

3. DB PROJEKTĒŠANA UZ PAPĪRA...........................................................................93.1. ER modelis................................................................................................................................9

3.2. DB tabulu kopa......................................................................................................................10

4. DB PROJEKTĒŠANA AR „ORACLE DESIGNER” RĪKU....................................144.1. Projektēšanas rīka apraksts..................................................................................................14

4.2. ER diagrammas izveidošana.................................................................................................17

4.3. Servera modeļa iegūšana.......................................................................................................27

4.4. Servera modeļa labošana.......................................................................................................28

4.5. DB ģenerēšana........................................................................................................................42

SECINĀJUMI.................................................................................................................45

LITERATŪRA................................................................................................................47

PIELIKUMI....................................................................................................................481. pielikums.................................................................................................................................48

DB tabulu veidošanas DDL datne...................................................................................................48

2. pielikums.................................................................................................................................50

DB tabulu papildelementu veidošanas DDL datne.........................................................................50

3. pielikums.................................................................................................................................54

DB skatu veidošanas DDL datne....................................................................................................54

Lapa 2 no 47

Page 3: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Pasūtījuma pieņemšana

Pasūtījuma nodošana ražošanā

Pasūtījuma izgatavošana

Pasūtījuma novietošana

noliktavā

Pasūtījuma izsniegšana

Atzīme par pieņemšanu

Atzīme par izpildi

Atzīme par izsniegšanu

Pārdevējs

Skārdnieks

Noliktavas pārzinis

1. PRIEKŠMETISKAS VIDES MODELIS

Izmantota priekšmetiskā vide ir skārda izstrādājumu ražošanas uzņēmums. Atbilstošie skārda

izstrādājumi tiek izgatavoti pēc klientu individuālajiem pasūtījumiem. Katrs klienta pasūtījums

(veidlapa) obligāti satur šādu svarīgo informāciju:

- dati par klientu;

- dati par izmantojamā materiāla veidu;

- dati par skārda detaļu konfigurāciju;

- dati par skārdniekiem, kuri izgatavo pasūtījumu.

Pasūtījuma izpildes procesa datus par vienu un to pašu pasūtījumu apstrādā šādas personas:

1) Pārdevējs – noformē klienta pasūtījumu, norādot pasūtījuma veidlapā visu augstāk minēto

informāciju, ka arī atzīmējot to faktu, ka pasūtījums ir pieņemts ražošana;

2) Skārdnieks – izgatavo klienta pasūtījumu pēc iedotas pasūtījuma veidlapas, beigās atzīmējot to

faktu, ka pasūtījums ir saražots;

3) Noliktavas pārzinis – izsniedz klienta pasūtījumu no noliktavas, beigās atzīmējot to faktu, ka

pasūtījums ir izsniegts klientam.

Shematiski, skārda izstrādājumu ražošanas uzņēmuma darbu var attēlot šāda veidā (sk. 2.1. att.):

2.1. att. Skārda izstrādājumu ražošanas uzņēmuma darba process

Lapa 3 no 47

Page 4: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

2. DB PROJEKTĒŠANA UZ PAPĪRA

2.1. ER modelis

Izejot no sistēmas apraksta (sk. 2. punktu), priekšmetiskās vides galvenās realitātes un to

savstarpējas saites var attēlot šādas ER diagrammas veidā (sk. 3.1.1. att.):

3.1.1. att. Priekšmetiskas vides ER modelis

2.2. DB tabulu kopa

Lapa 4 no 47

Page 5: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Darbinieki Klienti

Materiāli Produkcija

Pasūtījumi

DATU BĀZE

Kā redzams no problēmvides ER diagrammas, priekšmetiskās vides datu glabāšanai ir

nepieciešamas vismaz 5 datu krātuves (sk. 3.2.1. att.):

3.2.1. att. Sistēmas datu krātuvju kopa

Sistēmas datu krātuves īsumā var raksturot šādi:

1. Materiāli – datu krātuve, kas satur datus par uzņēmumam pieejamajiem skārda veidiem, un

kuriem var būt izgatavots klienta pasūtījums. Skārda veidi – tas ir kombinācijas starp skārda

krāsām un skārda augšējiem pārklājumu tipiem.

2. Produkcija – datu krātuve, kas satur datus par uzņēmumā izgatavojamiem skārda detaļu

veidiem jeb par uzņēmuma produkcijas nomenklatūru.

3. Strādnieki – datu krātuve, kas satur datus par uzņēmuma strādniekiem, kas ir iesaistīti klientu

pasūtījumu ražošanā.

4. Klienti – datu krātuve, kas satur datus par uzņēmuma klientiem, kuri kaut vienreiz pasūtīja

skārda izstrādājumus.

5. Pasūtījumi – datu krātuve, kas satur datus par visiem uzņēmumā izdarīties pasūtījumiem uz

skārda izstrādājumu ražošanu.

Ņemot vērā iepriekš uzbūvēto problēmvides realitātes modeli, var izveidot topošas datu bāzes

tabulu sākotnējas struktūras:

1) Tabula Darbinieki

a) Tabulas nozīme

Tabulā tiek glabāta informāciju par uzņēmumā strādājošiem darbiniekiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsPersonas kods String Darbinieka personas kodsUzvards String Darbinieka uzvārds

Lapa 5 no 47

Page 6: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Vards String Darbinieka vārdsAmats String Darbinieka ieņemamais amatsNodala String Nodaļa, kur strādā darbinieksStatuss Boolean Darbinieka darba statuss

2) Tabula Klienti

a) Tabulas nozīme

Tabulā tiek glabāta informāciju par uzņēmuma klientiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsKods / Numurs String Klienta personas kods vai firmas reģistrācijas numursUzvards Vards / Nosaukums

String Klienta uzvārda un vārds vai firmas nosaukums

Adrese String Klienta atrašanas adreseTelefons String Klienta kontakttelefonsBankas nosaukums String Klienta bankas nosaukumsBankas konts String Klienta bankas konta numurs

3) Tabula Skards

a) Tabulas nozīme

Tabulā tiek glabāta informāciju par uzņēmumam pieejamajiem skārda veidiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsSkarda Kods String Skārda kodsKrasa Integer Skārda krāsas numursParklajums String Skārda pārklājuma nosaukumsKvalitate String Skārda kvalitātes līmenisStatuss Boolean Skāra izmantojamības statuss

4) Tabula Izstradajumi

a) Tabulas nozīme

Tabulā tiek glabāta informāciju par uzņēmuma ražotiem skārda izstrādājumiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsIzstradajuma Kods String Izstrādājuma kodsNosaukums String Izstrādājuma nosaukumsMateriala paterins Real Izstrādājuma izgatavošanas materiāla patēriņšLaika paterins Real Izstrādājuma izgatavošanas materiāla patēriņš Statuss Boolean Izstrādājuma izmantojamības statuss

Lapa 6 no 47

Page 7: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

5) Tabula Pasutijumi

a) Tabulas nozīme

Tabulā tiek glabāta vispārīgā informāciju par klientu pasūtījumiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsPasutijuma Numurs Integer Pasūtījuma numursKlienta Kods/Numurs String Klienta (kas izdarīja pasūtījumu) personas kods vai firmas

reģistrācijas numursPavadzimes numurs String Pasūtījumu pavadzīmes numursApmaksas veids String Pasūtījuma pavadzīmes apmaksas veidsDarbinieka personas kods („pardevejs”)

String Pārdēvēja (kas pieņēma pasūtījuma) personas kods

Darbinieka personas kods („skardnieks”)

String Skārdnieka (kas izgatavoja pasūtījumu) personas kods

Pienemsanas datums Date Pasūtījuma pieņemšanas datumsIzpildes datums Date Pasūtījuma izpildes datumsIzsniegsanas datums Date Pasūtījuma reālais izsniegšanas datums

6) Tabula Pasutijumi_Izstradajumi

a) Tabulas nozīme

Tabulā tiek glabāta detalizēta informāciju par klientu pasūtījumiem.

b) Tabulas struktūra

Atribūts Datu tips PaskaidrojumsPasutijuma Numurs Integer Pasūtījuma numursSkarda Kods Integer Skārda kodsIzstradajuma nosaukums String Izstrādājuma nosaukumsIzstradajumu daudzums Integer Izstrādājumu daudzumsIzstradajuma cena Real Viena izstrādājuma cena

Visu tabulu savstarpējas saites var attēlot ar šādas diagrammas palīdzību (sk. 3.2.2. att.):

Lapa 7 no 47

Page 8: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3.2.2. att. Sistēmas tabulu savstarpējas saites

Lapa 8 no 47

Page 9: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3. DB PROJEKTĒŠANA AR „ORACLE DESIGNER” RĪKU

3.1. Projektēšanas rīka apraksts

Kompānijas Oracle CASE tehnoloģija (tai skaitā Oracle Designer rīks) bāzējas uz strukturētu

pieeju informācijas sistēmas izstrādei. Viss process tiek sadalīts galīga skaita etapos, kuri saistīti

savā starpā (sk. 4.1.1. att.):

3.2.1. att. Oracle CASE tehnoloģija – IS izstrādes strukturēta pieeja

IS izstrādes strukturēta pieeja, kas balstās uz Oracle CASE tehnoloģijas izmantošanu, ietver sevi

šādu izstrādes posmu realizāciju (sk. 4.1.1. tab.):

4.1.1. tabula. IS izstrādes strukturētas pieejas galvenie posmi

Nr. Posms Realizējamas darbības1 „Process” Tiek izstrādāti modeļi, kuri apraksta procesus, datus un informācijas plūsmas, kas

nodrošina organizācijas biznesa darbību.

Tabulas 4.1.1. turpinājums

Lapa 9 no 47

Page 10: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Nr. Posms Realizējamas darbības2 „Analīze” Tiek noteiktas prasības lietojumprogrammai un tiek noteikti procesi, kurus

jāautomatizē.3 „Transformēšana” [Starpposms]4 „Dizains” Tiek veikta projektētas sistēmas specifikāciju pārveidošana uz datu bāzu struktūrām

un lietojumprogrammām.5 „Ģenerēšana” Tiek veikta programmas koda automātiskā ģenerācija

Viens no firmas Oracle projektēšanas rīkiem, kas, kas pilnība atbalsta IS izstrādes strukturēto pieeju

(sk. 4.1.1. att. un 4.1.1. tab.) ir Oracle Designer rīks, kas ir redzams 4.1.2. attēlā.

4.1.2. att. Oracle Designer rīka ārējais izskats

Projektēšanas rīks Oracle Designer sastāv no šādām pamatdaļām:

Pirmā grupa – „Model System Requirements” – ir paredzēta sistēmas prasību modelēšanai.

Uzsākot sistēmas modelēšanu ar šo rīku, pirmais solis ir sistēmas prasību definēšana, izmantojot

dažus vai visus šos modeļus.

- Apakšrīks „Entity Relationship Diagrammer” – tiek izmantots problēmvides entītiju –

relāciju modelēšanai. Šīs apakšrīks ietver sevī biznesa sistēmas svarīgo objektu (entītiju)

izdalīšanu, kā arī to īpašību (atribūtu) noteikšanu, kā arī to savstarpējo mijiedarbību

(relācijas). Rezultātā iegūtais modelis nav atkarīgs ne no datu glabāšanas principa, ne no

datu pieejas metodes.

Lapa 10 no 47

Page 11: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

- prasību definēšana - servera modeļa iegūšana - servera modeļa labošana- datu bāzes iegūšana

Otrā grupa – „Transform Preliminary Designs” – ir paredzēta datu bāzes un

lietojumprogrammu sākotnējos modeļu ģenerēšanai.

- Apakšrīks „Database Design Transformer” – tiek izmantots datu bāzes modeļa (jeb servera

modeļa) izveidošanai un pārvaldībai. Tas izveido tabulas, kurās ierakstīt visus entītijas

eksemplārus, kā arī kolonas, kurās glabāt entītijas atribūtus, kā arī ierobežojumus, lai

īstenotu relācijas starp entītijām.

Trešā grupa – „Design and Generate” – ir paredzēta uzģenerēto sākotnējo modeļu labošanai un

papildināšanai.

- Apakšrīks „Design Editor” – tiek izmantots visu tipu repozitārija elementu (tai skaitā

tabulu, skatu, formu) veidošanai, labošanai, dzēšanai.

Ceturtā grupa – „Repository tools” – ir paredzēta topošās informācijas sistēmas repozitorija

objektu pārvaldībai.

- Apakšrīks „Repository Object Navigator” – tiek izmantots repozitorijā (visu izveidoto datu

bāzes objektu) satura apskatīšanai.

Lai izveidotu pilnvērtīgo datu bāzes modeli, pietiks, ja prasības informācijas sistēmai būs

nodefinētas tikai entītiju – relāciju diagrammas veidā. Izejot no tā trešā laboratorijas darba gala

mērķa sasniegšanai (t.i. priekšmetiskas vides datu bāzes iegūšanai) būs pielietoti rīka Oracle

Designer šādi apakšrīki (sk. 4.1.3. att.):

4.1.3. att. Oracle Designer apakšrīku izmantošanas secība

3.2. ER diagrammas izveidošana

ER diagrammas izveidošanu Designer rīkā ir jāveic saskaņā ar šādu shēmu:

1) Domēni (atribūtu vērtību apgabalu definēšana);

2) Realitātes (problēmvides būtību definēšana);

Lapa 11 no 47

Page 12: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3) Atribūti (būtību īpašību definēšana);

4) Saites (būtību savstarpējas sasaistes definēšana).

1. Domēni

Domēnus pielieto realitāšu atribūtu datu tipu definēšanai. Uz realitātes „Darbinieks” atribūta

„Amats” piemēra nodemonstrēsim domēna (jeb datu tipa) izveidošanu priekš šī atribūta:

a) Domēna definēšana (sk. 4.2.1. att.):

4.2.1. att. Domēna definēšana

b) Domēna detalizēšana (sk. 4.2.2. att.):

Lapa 12 no 47

Page 13: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.2.2. att. Domēna detalizēšana

c) Domēna vērtību uzdošana (sk. 4.2.3. att.):

4.2.3. att. Domēna vērtību uzdošana

Visu izveidoto domēnu saraksts izskatās šādi (sk. 4.2.1. tab.):

4.2.1. tabula. Izveidoto domēnu saraksts

Nr. Domēns Formāts Garums Vērtības1 TDARBINIEKAAMATS VARCHAR2 50 [Pardevejs]

[Skardnieks][Noliktavas parzinis]

2 TDARBINIEKANODALA VARCHAR2 50 [Ofiss][Razosana][Noliktava]

Lapa 13 no 47

Page 14: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3 TDARBINIEKAUZVARDS VARCHAR2 504 TDARBINIEKAVARDS VARCHAR2 305 TDARBINIEKAKODS INTEGER 116 TDETALASDAUDZUMS NUMBER 57 TDETALASKODS VARCHAR2 38 TDETALASLAIKS NUMBER 49 TDETALASMATERIALS NUMBER 510 TDETALASNOSAUKUMS VARCHAR2 5011 TKLIENTAADRESE VARCHAR2 10012 TKLIENTABANKASNOSAUKUMS VARCHAR2 5013 TKLIENTAKODS VARCHAR2 1614 TKLIENTANOSAUKUMS VARCHAR2 8015 TKLIENTATELEFONS INTEGER 716 TKLIENTABANKASKONTS VARCHAR2 2017 TKOPEJAISCENA NUMBER 718 TKOPEJAISDATUMS DATE -19 TKOPEJAISNUMURS INTEGER 320 TKOPEJAISSTATUSS INTEGER 1 [0]

[1]21 TPASUTIJUMAAPMAKSA VARCHAR2 5 [Kase]

[Banka]22 TPASUTIJUMANUMURS INTEGER 523 TPASUTIJUMAPAVADZIME VARCHAR2 724 TSKARDAKODS VARCHAR2 625 TSKARDAKRASA VARCHAR2 3026 TSKARDAKVALITATE VARCHAR2 6 [Zema]

[Videja][Augsta]

27 TSKARDAPARKLAJUMS VARCHAR2 3

2. Realitātes

Uz realitātes „Skards” piemēra nodemonstrēsim realitātes (jeb būtības) izveidošanu:

a) Būtības definēšana (sk. 4.2.4. att.):

Lapa 14 no 47

Page 15: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.2.4. att. Būtības definēšana

b) Būtības sinonīmu izdošana (sk. 4.2.5. att.):

4.2.5. att. Būtības sinonīmu uzdošana

Visu nodefinēto realitāšu saraksts izskatās šādi (sk. 4.2.2. tab.):

4.2.2. tabula. Nodefinēto realitāšu saraksts

Nr. Realitāte Īsais vārds Sinonīmi1 SKARDA VEIDS SKARDS MATERIALS2 IZSTRADAJUMA VEIDS DETALA IZSTRADAJUMS3 FIRMAS DARBINIEKS DARBINIEKS STRADNIEKS4 FIRMAS KLIENTS KLIENTS PASUTITAJS, PIRCEJS5 KLIENTA PASUTIJUMS PASUTIJUMS PIRKUMS6 PASUTIJUMA KOMPLEKTACIJA SASTAVS KOMPLEKTS, SASTAVDALAS

3. Atribūti

Lapa 15 no 47

Page 16: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Uz realitātes „Skārds” atribūtu piemēra nodemonstrēsim atribūtu definēšanu priekš šis realitātes:

a) Atribūtu definēšana (sk. 4.2.6. att.):

4.2.1. att. Atribūtu definēšana

b) Atribūtu detalizēšana (sk. 4.2.7. att.):

Lapa 16 no 47

Page 17: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.2.7. att. Atribūtu detalizēšana

Realitāšu visu nodefinēto atribūtu saraksts izskatās šādi (sk. 4.2.3. tab.):

4.2.3. tabula. Nodefinēto realitāšu atribūtu saraksts

Nr. Atribūts Domēns Formāts Garums Obligāts AtslēgaRealitāte „SKARDA VEIDS”1 S_KODS TSKARDAKODS VARCHAR2 6 V V2 S_PARKLAJUMS TSKARDAPARKLAJUMS VARCHAR2 3 V3 S_KRASA TSKARDAKRASA VARCHAR2 30 V4 S_KVALITATE TSKARDAKVALITATE VARCJAR2 6 V5 S_STATUSS TKOPEJAISSTATUSS INTEGER 1 VRealitāte „IZSTRADAJUMA VEIDS”1 I_KODS TDETALASKODS VARCHAR2 3 V V2 I_NOSAUKUMS TDETALASNOSAUKUMS VARCHAR2 50 V3 I_MATPATERINS TDETALASMATERIALS NUMBER 5 V4 I_LAIPATERINS TDETALASLAIKS NUMBER 4 V5 I_STATUSS TKOPEJAISSTATUSS INTEGER 1 VRealitāte „FIRMAS DARBINIEKS”1 D_NUMURS TKOPEJAISNUMURS INTEGER 3 V V2 D_VARDS TDARBINIEKAVARDS VARCHAR2 30 V3 D_UZVARDS TDARBINIEKAUZVARDS VARCHAR2 50 V4 D_PERSONASKODS TDARBINIEKAKODS INTEGER 11 V5 D_NODALA TDARBINIEKANODALA VARCHAR2 50 V6 D_AMATS TDARBINIEKAAMATS VARCHAR2 50 V7 D_STATUSS TKOPEJAISSTATUSS INTEGER 1 V

Tabulas 4.2.3. turpinājums

Nr. Atribūts Domēns Formāts Garums Obligāts AtslēgaRealitāte „FIRMAS KLIENTS”1 K_NUMURS TKOPEJAISNUMURS INTEGER 3 V V2 K_NOSAUKUMS TKLIENTANOSAUKUMS VARCHAR2 80 V3 K_KODS TKLIENTAKODS VARCHAR2 16 V4 K_ADRESE TKLIENTAADRESE VARCJAR2 1005 K_TELEFONS TKLIENTATELEFONS INTEGER 76 K_BANKA TKLIENTABANKA VARCHAR2 507 K_KONTS TKLIENTAKONTS VARCHAR2 208 K_STATUSS TKOPEJAISSTATUSS INTEGER 1 VRealitāte „KLIENTA PASUTIJUMS”1 P_NUMURS TPASUTIJUMANUMURS INTEGER 5 V V2 P_KLIENTS TKOPEJAISNUMURS INTEGER 3 V3 P_PAVADZIME TPASUTIJUMAPAVADZIM VARCHAR2 7 V4 P_APMAKSA TPASUTIJUMAAPMAKSA VARCHAR2 5 V5 P_PARDEVEJS TKOPEJAISNUMURS INTEGER 3 V6 P_SKARDNIEKS TKOPEJAISNUMURS INTEGER 3 V

Lapa 17 no 47

Page 18: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

7 P_PIENDATUMS TKOPEJAISDATUMS DATE - V8 P_IZPDATUMS TKOPEJAISDATUMS DATE -9 P_IZSNDATUMS TKOPEJAISDATUMS DATE -Realitāte „PASUTIJUMA KOMPLEKTACIJA”1 A_PASUTIJUMS TPASUTIJUMANUMURS INTEGER 5 V V2 A_POZICIJA TKOPEJAISNUMURS INTEGER 3 V V3 A_SKARDS TSKARDAKODS VARCHAR2 6 V4 A_IZSTRADAJUMS TDETALASKODS VARCHAR2 3 V5 A_DAUDZUMS TDETALASDAUDZUMS NUMBER 5 V6 A_CENA TKOPEJAISCENA NUMBER 7 V

4. Saites

Uz saites starp realitātēm „Pasūtījuma komplektācija” un „Izstrādājuma veids” piemēra

nodemonstrēsim sasaistes definēšanu priekš šim realitātēm:

a) Saites definēšana (sk. 4.2.8. att.):

Visu nodefinēto realitāšu saišu saraksts izskatās šādi (sk. 4.2.4. tab.):

4.2.4. tabula. Nodefinēto realitāšu saišu saraksts

Nr. NO UZ

Realitāte Saite Pakāpe Obligāta Realitāte Saite Pakāpe Obligāta

1 PASUTIJ. KOMPLEKT.

sastav no N V SKARDA VEIDS

ietilpst N

2 PASUTIJ. KOMPLEKT.

sastav no N V IZSTRADAJ. VEIDS

ietilpst N

3 KLIENTA PASUTIJ.

pasuta N V FIRMAS KLIENTS

pasuta 1 V

4 KLIENTA PASUTIJ.

apstrada N V FIRMAS DARBINIEKS

apstrada N

5 PASUTIJ. KOMPLEKT.

ietilpst N V KLIENTA PASUTIJ.

sastav no 1 V

Lapa 18 no 47

4.2.8. att. Saites definēšana

Page 19: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Visu iepriekšējo darbību izpildes rezultātā tika iegūta šāda izvelētas problēmvides ER diagramma

(sk. 4.2.9. att.):

4.2.9. att. Problēmsfēras ER diagramma Designer vidē

Lai pārliecinātos par to, ka visi iepriekš apskatītie objekti bija veiksmīgi izveidoti repozitorijā, ir

jāpalaiž Designer apakšrīks „Repository Object Navigator”, kas dod iespēju apskatīties

repozitorija tekošo saturu.

Piem., atribūtu visu izveidoto domēnu kopa izskatās šāda veidā (sk. 4.2.10. att.):

Lapa 19 no 47

Page 20: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.2.10. att. Repozitorijā izveidoto domēnu kopa

Visu izveidoto realitāšu un atribūtu kopas izskatās šāda veidā (sk. 4.2.11. att.):

Lapa 20 no 47

Page 21: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.2.11. att. Repozitorijā izveidoto realitāšu un atribūtu kopa

Visu izveidoto diagrammu (kas definē sistēmas prasības) kopa izskatās šāda veidā (sk. 4.2.12. att.):

3.3. Servera modeļa iegūšana

Servera modeļa (jeb datu bāzes loģiskas struktūras) ģenerēšana Designer rīkā notiek automātiskā

ceļā, palaižot Designer apakšrīku „Database Design Transformer”.

Nobeidzoties servera modeļa ģenerēšanai no izveidotas ER diagrammas (sk. 4.2.9. att.), ekrānā tiks

paradīts šāds atskaites logs (sk. 4.3.1. att.):

Lapa 21 no 47

4.2.12. att. Repozitorijā izveidoto diagrammu kopa

Page 22: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.3.1. att. Servera modeļa ģenerēšanas statusa logs

Lai pārliecinātos par to, ka servera modeļa ģenerēšana bija veiksmīga un tika iegūtas attiecīgās

relāciju tabulas no problēmsfēras ER diagrammas, atkal jāpalaiž Designer apakšrīks „Repository

Object Navigator”, kas dod iespēju apskatīties repozitorija tekošo saturu.

Visu izveidoto relāciju tabulu kopa izskatās šāda veidā (sk. 4.3.2. att.):

Lapa 22 no 47

No sešām realitātēm tika iegūtas sešās tabulas

Page 23: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.3.2. att. Servera modeļa relāciju tabulu kopa

3.4. Servera modeļa labošana

Servera modeļa pareizības pārbaudi un iespējamo labošanu Designer rīkā ir ieteicams veikt saskaņā

ar šādu shēmu:

1) Tabulu struktūra (tabulu kolonu kopas satura pārbaude un labošana);

2) Tabulu sasaiste (tabulu savstarpējas sasaistes pareizības pārbaude un labošana);

3) DB papildus objekti (DB papildus objektu izveidošana, piem., skati utt.).

Jāatzīmē, ka servera modeļa objektu pārvaldībai ļoti ērti izmantot tā saucamo servera modeļa karti

(sk. 4.4.1. att.), kas uzskatama veidā pārada servera modeļa struktūru:

4.4.1. att. Servera modeļa karte

1. Tabulu struktūra

Tabulu struktūru pārvaldībai servera modeļa kartē ir jāizvēlas sadaļa „Tables”. Uz tabulas

„Sastavs” piemēra nodemonstrēsim tabulas struktūras pārbaudi un labošanu priekš šīs tabulas:

a) Tabulas nosaukuma pārvaldība (sk. 4.4.2. att.):

Lapa 23 no 47

Page 24: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.2. att. Tabulas nosaukumu pārvaldība

b) Tabulas kolonu pārvaldība (sk. 4.4.3. att.):

4.4.3. att. Tabulas kolonu pārvaldība

Lapa 24 no 47

Page 25: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Analizējot kolonu kopu tabulai „SASTAVS” atklājās viens ļoti interesants moments:

servera modeļa ģenerēšanas laikā tabulai bija pievienoti trīs papildus kolonas, kas nebija

nodefinētas šis tabulas realitātei „PASUTIJUMA KOMPLEKTACIJA” ER diagrammā!

T.i., ja būvējot ER diagrammu bija ieplānots, ka tabulai „SASTAVS” būs šāda kolonu kopa:

4.4.1. tabula. Tabulas „SASTAVS” no sākuma ieplānotā struktūraNr. Atribūts Domēns Formāts Garums1 A_PASUTIJUMS TPASUTIJUMANUMURS INTEGER 52 A_POZICIJA TKOPEJAISNUMURS INTEGER 33 A_SKARDS TSKARDAKODS VARCHAR2 64 A_IZSTRADAJUMS TDETALASKODS VARCHAR2 35 A_DAUDZUMS TDETALASDAUDZUMS NUMBER 56 A_CENA TKOPEJAISCENA NUMBER 7

Tad pēc servera modeļa ģenerēšanas tabulas „SASTAVS” kolonu kopa izskatās šāda veidā:

4.4.2. tabula. Tabulas „SASTAVS” uzģenerētā struktūraNr. Atribūts Domēns Formāts Garums1 A_PASUTIJUMS TPASUTIJUMANUMURS INTEGER 52 A_POZICIJA TKOPEJAISNUMURS INTEGER 33 A_SKARDS TSKARDAKODS VARCHAR2 64 A_IZSTRADAJUMS TDETALASKODS VARCHAR2 35 A_DAUDZUMS TDETALASDAUDZUMS NUMBER 5

Tabulas 4.4.2. turpinājums

Nr. Atribūts Domēns Formāts Garums1 A_PASUTIJUMS TPASUTIJUMANUMURS INTEGER 52 A_POZICIJA TKOPEJAISNUMURS INTEGER 33 A_SKARDS TSKARDAKODS VARCHAR2 64 A_IZSTRADAJUMS TDETALASKODS VARCHAR2 35 A_DAUDZUMS TDETALASDAUDZUMS NUMBER 56 A_CENA TKOPEJAISCENA NUMBER 77 PASUTIJUMS_P_NUMURS TPASUTIJUMANUMURS INTEGER 58 SKARDS_S_KODS TSKARDAKODS VARCHAR2 69 DETALA_I_KODS TDETALASKODS VARCHAR2 3

Lai sameklētu racionālo iemeslu tam, kāpēc servera modeļa izveidošanas laikā tabulai

„SASTAVS” bija pievienoti papildus lauki, ir vērts paskatīties uz problēmvides ER diagrammu,

kas ir atspoguļota 4.2.9. attēlā. No diagrammas ir redzams, ka tabula „SASTAVS” (jeb tabulai

atbilstošā realitāte „PASUTIJUMA KOMPLEKTACIJA”) ir saistīta ar trim citām tabulām:

„SKARDS” (jeb realitāte „SKARDA VEIDS”), „DETALA” (jeb realitāte „IZSTRADAJUMA

VEIDS”) un „PASUTIJUMS” (jeb realitāte „KLIENTA PASUTIJUMS”). Tieši tāpēc katras

saites fiziskai realizācijai tabulai „SASTAVS” servera modeļa ģenerēšanas laikā bija pievienoti

trīs papildus sasaistēs lauki. Bet lieta ir tāda, ka šādi sasaistes lauki jau bija paredzēti tabulas

„SASTAVS” struktūras plānošanas laikā un bija ielikti ER diagramma (realitātes

Lapa 25 no 47

Page 26: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.4. att. Tabulu „dubultās sasaistes” problēma

„PASUTIJUMA KOMPLEKTACIJA” atribūti A_PASUTIJUMS, A_SKARDS,

A_IZSTRADAJUMS), tāpēc pēc servera modeļa ģenerēšanas tabulai „SASTAVS” izveidojas

dubultā sasaiste ar trim citam tabulām (sk. 4.4.4. att.).

Lai izvairītos no šis dubultas sasaistes, kas pastāv tabulā „SASTAVS”, sasaistes lauku vienu

komplektu (3 atribūti) ir jādzēš nost (dzēšam nost servera modeļa ģenerēšanas laikā automātiski

pievienotus laukus)!

No tā visa izriet, ka saites („Relation”) elementam ER diagrammā ir ne tikai informatīvais

raksturs – saite nodrošina tabulu sasaisti fiziskajā līmenī, un servera modeļa ģenerēšanas

laikā saite starp realitātēm būs realizēta tabulām papildus sasaistes lauku pievienošanas

veidā. Šīs moments ir jāatceras DB projektētājam!

Lai nodrošinātu ievadāmo datu korektumu (un tāda veidā veicinātu DB integritāti), tabulas

kolonu pārvaldības logā (sk. 4.4.3. att.) ir iespējams uzdod tabulas atribūta pieļaujamas vērtības

(sk. 4.4.5. att.):

Lapa 26 no 47

Page 27: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.5. att. Tabulas kolonas pieļaujamo vērtību definēšana

c) Tabulas attēlošanas pārvaldība:

Tabulas attēlošanas pārvaldība ietver sevi izvadāmo lauku uzdošanu (sk. 4.4.6. att.) un lauku

satura izvades formatēšanu (sk. 4.4.7. att.).

4.4.6. att. Tabulas attēlošanas pārvaldība (1)

Lapa 27 no 47

Page 28: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.7. att. Tabulas attēlošanas pārvaldība (2)

Par cik ievadāmo datu korektuma nodrošināšana ir ļoti svarīgs nosacījums DB integritātes

saglabāšanai, tad visu tabulu lauku pieļaujamo vērtību definēšana izskatās šādi (sk. 4.4.3. tab.):

4.4.3. tabula. Tabulu lauku pieļaujamas vērtības

Nr. Atribūts Formāts Garums Vērtību diapazons Diskrētas vērtībasTabula „SKARDS”1 S_KODS VARCHAR2 6 - -2 S_PARKLAJUMS VARCHAR2 3 - -3 S_KRASA VARCHAR2 30 - -4 S_KVALITATE VARCJAR2 6 - (Zema, Videja, Augsta)5 S_STATUSS INTEGER 1 - (0, 1)Tabula „IZSTRADAJUMI”1 I_KODS VARCHAR2 3 - -2 I_NOSAUKUMS VARCHAR2 50 - -3 I_MATPATERINS NUMBER 5 [0.001; 9.999] -4 I_LAIPATERINS NUMBER 4 [0.01; 9.99] -5 I_STATUSS INTEGER 1 - (0, 1)Tabula „DARBINIEKI”1 D_NUMURS INTEGER 3 [1; 999] -2 D_VARDS VARCHAR2 30 - -3 D_UZVARDS VARCHAR2 50 - -4 D_PERSONASKOD

SINTEGER 11 [000000000; 111111111] -

5 D_NODALA VARCHAR2 50 - (Ofiss, Razosana, Noliktava)6 D_AMATS VARCHAR2 50 - (Pardevejs, Skardnieks,

Noliktavas darbinieks)7 D_STATUSS INTEGER 1 - (0, 1)Tabula „KLIENTI”1 K_NUMURS INTEGER 3 [1; 999] -2 K_NOSAUKUMS VARCHAR2 80 - -3 K_KODS VARCHAR2 16 - -4 K_ADRESE VARCJAR2 100 - -5 K_TELEFONS INTEGER 7 - -6 K_BANKA VARCHAR2 50 - -7 K_KONTS VARCHAR2 20 - -8 K_STATUSS INTEGER 1 - (0, 1)

Lapa 28 no 47

Page 29: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Tabula „PASUTIJUMI”1 P_NUMURS INTEGER 5 [1; 99999] -2 P_KLIENTS INTEGER 3 [1; 999] -3 P_PAVADZIME VARCHAR2 7 - -4 P_APMAKSA VARCHAR2 5 - (Banka, Kase)5 P_PARDEVEJS INTEGER 3 [1; 999] -6 P_SKARDNIEKS INTEGER 3 [1; 999] -7 P_PIENDATUMS DATE - - -8 P_IZPDATUMS DATE - - -9 P_IZSNDATUMS DATE - - -Tabula „SASTAVS”1 A_PASUTIJUMS INTEGER 5 [1; 99999] -2 A_POZICIJA INTEGER 3 [1; 999] -3 A_SKARDS VARCHAR2 6 - -4 A_IZSTRADAJUMS VARCHAR2 3 - -5 A_DAUDZUMS NUMBER 5 [0.01; 99.99] -6 A_CENA NUMBER 7 [0.01; 9999.99] -

2. Tabulu sasaiste

Tabulu struktūru pārvaldībai servera modeļa kartē ir jāizvēlas sadaļa „Tables -> Constraints ->

Foreign Keys ”. Uz tabulas „Sastavs” saites ar tabulu „Pasutijums” piemēra nodemonstrēsim

tabulas sasaistes pārbaudi un labošanu priekš šīm tabulām:

a) Sasaistes nosaukuma pārvaldība (sk. 4.4.8. att.):

4.4.8. att. Sasaistes nosaukuma pārvaldība

b) Sasaistes sastāva pārvaldība (sk. 4.4.9. att.):

Lapa 29 no 47

Page 30: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.9. att. Sasaistes sastāva pārvaldība

c) Sasaistes darbības pārvaldība (sk. 4.4.10. att.):

4.4.10. att. Sasaistes darbības pārvaldība

Visu tabulu saišu (jeb ārējo atslēgu saraksts) izskatās šādi (sk. 4.4.4. tab.):

4.4.4. tabula. Tabulu sasaišu (jeb ārējo atslēgu) saraksts

Nr. Ārēja atslēga Lauks tabulā Lauks pakārtotā tabulāTabula „PASUTIJUMI”1 PASUTIJUMS_DARBINIEKS_FK1 P_PARDEVEJS D_NUMURS2 PASUTIJUMS_DARBINIEKS_FK1 P_SKARDNIEKS D_NUMURS3 PASUTIJUMS_KLIENTS_FK P_KLIENTS K_NUMURS

Lapa 30 no 47

Page 31: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

A_IZSTRADAJUMS = I_KODS

Tabula „SASTAVS”1 SASTAVS_SKARDS_FK A_SKARDS S_KODS2 SASTAVS_DETALA_FK A_IZSTRADAJUMS I_KODS3 SASTAVS_PASUTIJUMS_FK A_PASUTIJUMS P_NUMURS

3. DB papildus objekti

DB papildus objektu realizācijai izvelēsimies – skatus, jo tie visvairāk noder, kad ir

nepieciešams attēlot datus lietotājam ērta formā. Skatu struktūru pārvaldībai servera modeļa

kartē ir jāizvēlas sadaļa „Advanced -> Views”. Uz skata priekš tabulas „Sastavs” piemēra

nodemonstrēsim skata izveidošanu priekš šīs tabulas. Skata vispārējā struktūra ir šāda (sk.

4.4.11. att.):

4.4.11. att. Skata vispārējā struktūra

a) Skata nosaukuma pārvaldība (sk. 4.4.12. att.):

Lapa 31 no 47

Page 32: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.12. att. Skata nosaukuma pārvaldība

b) Skatā ietilpstošo tabulu pārvaldība (sk. 4.4.13. att.):

4.4.13. att. Skatā ietilpstošo tabulu pārvaldība

c) Skatā ietilpstošo tabulu lauku pārvaldība (sk. 4.4.14. att.):

Lapa 32 no 47

Page 33: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.14. att. Skatā ietilpstošo tabulu lauku pārvaldība

d) Skatā SQL izteiksmes pārvaldība (sk. 4.4.15. att.):

4.4.15. att. Skatā SQL izteiksmes pārvaldība

e) Skatā attēlošanas pārvaldība

Skata attēlošanas pārvaldība ietver sevi izvadāmo lauku uzdošanu (sk. 4.4.16. att.) un lauku

satura izvades formatēšanu (sk. 4.4.17. att.).

Lapa 33 no 47

Page 34: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

4.4.16. att. Skatā attēlošanas pārvaldība (1)

4.4.17. att. Skatā attēlošanas pārvaldība (2)

Visu izveidoto skatu saraksts izskatās šādi (sk. 4.4.5. tab.):

4.4.5. tabula. Izveidoto skatu saraksts

Nr. Skats Ietilpstošas tabulas

Ietilpstošas kolonas WHERE izteiksme

1 SKARDS_VIEW1 SKARDS S_KODSS_PARKLAJUMSS_KRASAS_KVALITATES_STATUSS

WHERE S_STATUSS = 1

2 IZSTRADAJUMI_VIEW1 IZSTRADAJUMI I_KODSI_NOSAUKUMSI_MATPATERINSI_LAIPATERINSI_STATUSS

WHERE I_STATUSS = 1

3 DARBINIEKI_VIEW1 DARBINIEKI D_NUMURSD_VARDS

WHERE D_STATUSS = 1

Lapa 34 no 47

Page 35: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

D_UZVARDSD_PERSONASKODSD_NODALAD_AMATSD_STATUSS

4 KLIENTI_VIEW1 KLIENTI K_NUMURSK_NOSAUKUMSK_KODSK_ADRESEK_TELEFONSK_BANKAK_KONTSK_STATUSS

WHERE K_STATUSS = 1

Tabulas 4.4.5. turpinājums

Nr. Skats Ietilpstošas tabulas

Ietilpstošas kolonas WHERE izteiksme

5 PASUTIJUMI_VIEW1 PASUTIJUMIDARBINIEKI(1)DARBINIEKI(2)KLIENTI

P_NUMURSK_NOSAUKUMSD_VARDS(1)D_UZVARDS(1)D_VARDS(2)D_UZVARDS(2)P_PIENDATUMSP_IZPDATUMSP_IZSNDATUMSP_PAVADZIMEP_APMAKSA

WHERE (P_KLIENTS = K_NUMURS) AND (P_PARDEVEJS = D_NUMURS(1)) AND (P_SKARDNIEKS = D_NUMURS(2))

6 SASTAVS_VIEW1 SASTAVSIZSTRADAJUMI

A_PASUTIJUMSA_POZICIJAA_SKARDSI_NOSAUKUMSA_DAUDZUMSA_CENA

WHERE (A_IZSTRADAJUMS = I_KODS)

Lai pārliecinātos par to, ka visi iepriekš apskatītie objekti bija veiksmīgi izveidoti jau servera

modelī, ir jāapskatās servera modeļa tekošais saturs. Servera modeļa tabulu un skatu kopas izskatās

šāda veidā (sk. 4.2.18. att.):

Lapa 35 no 47

Page 36: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3.5. DB ģenerēšana

DB (fiziskā realizācija) ģenerēšana no servera modeļa (loģiskā struktūra) Designer rīkā notiek

automātiskā ceļā, noradot servera modeļa pārveidojamo objektu (mūsu gadījuma tas ir tikai tabulas

un skati) un izpildot komandu „Generate -> Generate Database from Server Model ...”.

Konfigurējot DB objektu ģenerēšanai no izvelētājiem servera modeļa objektiem, ekrānā tiks

paradīts šāds parametru uzdošanas logs (sk. 4.5.1. att.):

4.3.1. att. DB ģenerēšanas procesa konfigurēšanas logs

Lapa 36 no 47

4.2.18. att. Servera modelī izveidoto tabulu un skatu kopa

Page 37: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Lai pārliecinātos par to, ka DB objektu ģenerēšana bija veiksmīga un tika iegūtas attiecīgie datu

bāzes objekti (šajā gadījumā tabulas un skati) no servera modeļa attiecīgajiem objektiem, ar

komandas „Tools -> Database Navigator ...” izpildi ir jāpieslēdzas izveidotajai DB un jāapskatās

DB tekošo saturu.

Piem., datu bāzes visu izveidoto relāciju tabulu kopa izskatās šāda veidā (sk. 4.3.2. att.):

4.3.2. att. Datu bāzes relāciju tabulu kopa

Lapa 37 no 47

Page 38: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

Datu bāzes visu izveidoto skatu kopa izskatās šāda veidā (sk. 4.3.3. att.):

4.3.3. att. Datu bāzes skatu kopa

Pielikumos 1, 2 un 3 ir dots uzģenerēto DDL datņu saturs - palaižot šīs datnes Oracle SQL*Plus

vidē tika uzģenerēti attiecīgi DB objekti.

Lapa 38 no 47

Page 39: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

PIELIKUMI

1. pielikums

DB tabulu veidošanas DDL datne

-- C:\Documents and Settings\User\Desktop\Lab2\DatuBaze\TabulasDLL\Base02Tabulas.tab---- Generated for Oracle 9i on Fri Jan 06 16:01:54 2006 by Server Generator 9.0.2.80.4

PROMPT Creating Table 'SASTAVS'CREATE TABLE SASTAVS (A_PASUTIJUMS NUMBER(5) NOT NULL ,A_POZICIJA NUMBER(3) NOT NULL ,A_SKARDS VARCHAR2(6) NOT NULL ,A_IZSTRADAJUMS VARCHAR2(3) NOT NULL ,A_DAUDZUMS NUMBER(5,2) DEFAULT 1 NOT NULL ,A_CENA NUMBER(7,2) DEFAULT 1 NOT NULL )/

PROMPT Creating Table 'PASUTIJUMI'CREATE TABLE PASUTIJUMI (P_NUMURS NUMBER(5) NOT NULL ,P_KLIENTS NUMBER(3) NOT NULL ,P_PARDEVEJS NUMBER(3) NOT NULL ,P_SKARDNIEKS NUMBER(3) NOT NULL ,P_PIENDATUMS DATE NOT NULL ,P_IZPDATUMS DATE NOT NULL ,P_IZSNDATUMS DATE NOT NULL ,P_PAVADZIME VARCHAR2(7) NOT NULL ,P_APMAKSA VARCHAR(5) DEFAULT 'Banka' NOT NULL )/

PROMPT Creating Table 'SKARDS'CREATE TABLE SKARDS (S_KODS VARCHAR2(6) NOT NULL ,S_PARKLAJUMS VARCHAR2(3) NOT NULL ,S_KRASA VARCHAR2(30) NOT NULL ,S_KVALITATE VARCHAR2(6) DEFAULT 'Videja' NOT NULL ,S_STATUSS NUMBER(1) DEFAULT 1 NOT NULL )/

PROMPT Creating Table 'DARBINIEKI'CREATE TABLE DARBINIEKI (D_NUMURS NUMBER(3) NOT NULL ,D_VARDS VARCHAR2(30) NOT NULL ,D_UZVARDS VARCHAR2(50) NOT NULL ,D_PERSONASKODS NUMBER(11) NOT NULL ,D_NODALA VARCHAR2(50) DEFAULT 'Razosana' NOT NULL ,D_AMATS VARCHAR2(50) DEFAULT 'Skardnieks' NOT NULL ,D_STATUSS NUMBER(1) DEFAULT 1 NOT NULL

Lapa 39 no 47

Page 40: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

)/

PROMPT Creating Table 'KLIENTI'CREATE TABLE KLIENTI (K_NUMURS NUMBER(3) NOT NULL ,K_NOSAUKUMS VARCHAR2(80) NOT NULL ,K_KODS VARCHAR2(16) NOT NULL ,K_ADRESE VARCHAR2(100) ,K_TELEFONS NUMBER(7) ,K_BANKA VARCHAR2(50) ,K_KONTS VARCHAR2(20) ,K_STATUSS NUMBER(1) DEFAULT 1 NOT NULL )/

PROMPT Creating Table 'IZSTRADAJUMI'CREATE TABLE IZSTRADAJUMI (I_KODS VARCHAR2(3) NOT NULL ,I_NOSAUKUMS VARCHAR2(50) NOT NULL ,I_MATPATERINS NUMBER(5,3) DEFAULT 1 NOT NULL ,I_LAIPATERINS NUMBER(4,2) DEFAULT 1 NOT NULL ,I_STATUSS NUMBER(1) DEFAULT 1 NOT NULL )/

Lapa 40 no 47

Page 41: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

2. pielikums

DB tabulu papildelementu veidošanas DDL datne

-- C:\Documents and Settings\User\Desktop\Lab2\DatuBaze\TabulasDLL\Base02Tabulas.con---- Generated for Oracle 9i on Fri Jan 06 16:01:54 2006 by Server Generator 9.0.2.80.4 PROMPT Creating Primary Key on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT SASTAVS_PK PRIMARY KEY (A_PASUTIJUMS ,A_POZICIJA))/

PROMPT Creating Primary Key on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT PASUTIJUMS_PK PRIMARY KEY (P_NUMURS))/

PROMPT Creating Primary Key on 'SKARDS'ALTER TABLE SKARDS ADD (CONSTRAINT SKARDS_PK PRIMARY KEY (S_KODS))/

PROMPT Creating Primary Key on 'DARBINIEKI'ALTER TABLE DARBINIEKI ADD (CONSTRAINT DARBINIEKS_PK PRIMARY KEY (D_NUMURS))/

PROMPT Creating Primary Key on 'KLIENTI'ALTER TABLE KLIENTI ADD (CONSTRAINT KLIENTS_PK PRIMARY KEY (K_NUMURS))/

PROMPT Creating Primary Key on 'IZSTRADAJUMI'ALTER TABLE IZSTRADAJUMI ADD (CONSTRAINT DETALA_PK PRIMARY KEY (I_KODS))/

PROMPT Creating Check Constraint on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT AVCON_1136556114_A_PAS_000 CHECK (A_PASUTIJUMS BETWEEN 1 AND 99999))/

PROMPT Creating Check Constraint on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT AVCON_1136556114_A_POZ_000 CHECK (A_POZICIJA BETWEEN 1 AND 999))

Lapa 41 no 47

Page 42: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

/

PROMPT Creating Check Constraint on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT AVCON_1136556114_A_DAU_000 CHECK (A_DAUDZUMS BETWEEN 0.01 AND 99.99))/

PROMPT Creating Check Constraint on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT AVCON_1136556114_A_CEN_000 CHECK (A_CENA BETWEEN 0.01 AND 9999.99))/ PROMPT Creating Check Constraint on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT AVCON_1136556114_P_NUM_000 CHECK (P_NUMURS BETWEEN 1 AND 99999))/

PROMPT Creating Check Constraint on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT AVCON_1136556114_P_KLI_000 CHECK (P_KLIENTS BETWEEN 1 AND 999))/

PROMPT Creating Check Constraint on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT AVCON_1136556114_P_PAR_000 CHECK (P_PARDEVEJS BETWEEN 1 AND 999))/

PROMPT Creating Check Constraint on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT AVCON_1136556114_P_SKA_000 CHECK (P_SKARDNIEKS BETWEEN 1 AND 999))/

PROMPT Creating Check Constraint on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT AVCON_1136556114_P_APM_000 CHECK (P_APMAKSA IN ('Banka', 'Kase')))/ PROMPT Creating Check Constraint on 'SKARDS'ALTER TABLE SKARDS ADD (CONSTRAINT AVCON_1136556114_S_KVA_000 CHECK (S_KVALITATE IN ('Zema', 'Videja', 'Augsta')))/

PROMPT Creating Check Constraint on 'SKARDS'ALTER TABLE SKARDS ADD (CONSTRAINT AVCON_1136556114_S_STA_000 CHECK (S_STATUSS IN (0, 1)))/ PROMPT Creating Check Constraint on 'DARBINIEKI'ALTER TABLE DARBINIEKI ADD (CONSTRAINT AVCON_1136556114_D_NUM_000 CHECK (D_NUMURS BETWEEN 1 AND 999))/

PROMPT Creating Check Constraint on 'DARBINIEKI'ALTER TABLE DARBINIEKI ADD (CONSTRAINT AVCON_1136556114_D_PER_000 CHECK (D_PERSONASKODS BETWEEN 00000000000 AND 99999999999))/

PROMPT Creating Check Constraint on 'DARBINIEKI'ALTER TABLE DARBINIEKI

Lapa 42 no 47

Page 43: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

ADD (CONSTRAINT AVCON_1136556114_D_NOD_000 CHECK (D_NODALA IN ('Ofiss', 'Razosana', 'Noliktava')))/

PROMPT Creating Check Constraint on 'DARBINIEKI'ALTER TABLE DARBINIEKI ADD (CONSTRAINT AVCON_1136556114_D_AMA_000 CHECK (D_AMATS IN ('Pardevejs', 'Skardnieks', 'Noliktavas darbinieks')))/

PROMPT Creating Check Constraint on 'DARBINIEKI'ALTER TABLE DARBINIEKI ADD (CONSTRAINT AVCON_1136556114_D_STA_000 CHECK (D_STATUSS IN (0, 1)))/ PROMPT Creating Check Constraint on 'KLIENTI'ALTER TABLE KLIENTI ADD (CONSTRAINT AVCON_1136556114_K_NUM_000 CHECK (K_NUMURS BETWEEN 1 AND 999))/

PROMPT Creating Check Constraint on 'KLIENTI'ALTER TABLE KLIENTI ADD (CONSTRAINT AVCON_1136556114_K_STA_000 CHECK (K_STATUSS IN (0, 1)))/ PROMPT Creating Check Constraint on 'IZSTRADAJUMI'ALTER TABLE IZSTRADAJUMI ADD (CONSTRAINT AVCON_1136556114_I_MAT_000 CHECK (I_MATPATERINS BETWEEN 0.001 AND 9.999))/

PROMPT Creating Check Constraint on 'IZSTRADAJUMI'ALTER TABLE IZSTRADAJUMI ADD (CONSTRAINT AVCON_1136556114_I_LAI_000 CHECK (I_LAIPATERINS BETWEEN 0.01 AND 9.99))/

PROMPT Creating Check Constraint on 'IZSTRADAJUMI'ALTER TABLE IZSTRADAJUMI ADD (CONSTRAINT AVCON_1136556114_I_STA_000 CHECK (I_STATUSS IN (0, 1)))/

PROMPT Creating Foreign Key on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT SASTAVS_PASUTIJUMS_FK FOREIGN KEY (A_PASUTIJUMS) REFERENCES PASUTIJUMI (P_NUMURS))/

PROMPT Creating Foreign Key on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT SASTAVS_DETALA_FK FOREIGN KEY (A_IZSTRADAJUMS) REFERENCES IZSTRADAJUMI (I_KODS))/

PROMPT Creating Foreign Key on 'SASTAVS'ALTER TABLE SASTAVS ADD (CONSTRAINT SASTAVS_SKARDS_FK FOREIGN KEY (A_SKARDS) REFERENCES SKARDS (S_KODS))

Lapa 43 no 47

Page 44: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

/

PROMPT Creating Foreign Key on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT PASUTIJUMS_DARBINIEKS_FK2 FOREIGN KEY (P_SKARDNIEKS) REFERENCES DARBINIEKI (D_NUMURS))/

PROMPT Creating Foreign Key on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT PASUTIJUMS_KLIENTS_FK FOREIGN KEY (P_KLIENTS) REFERENCES KLIENTI (K_NUMURS))/

PROMPT Creating Foreign Key on 'PASUTIJUMI'ALTER TABLE PASUTIJUMI ADD (CONSTRAINT PASUTIJUMS_DARBINIEKS_FK1 FOREIGN KEY (P_PARDEVEJS ,P_SKARDNIEKS) REFERENCES DARBINIEKI (D_NUMURS ,D_STATUSS))/

Lapa 44 no 47

Page 45: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

3. pielikums

DB skatu veidošanas DDL datne

-- C:\Documents and Settings\User\Desktop\Lab2\DatuBaze\SkatiDLL\Base02Skati.vw---- Generated for Oracle 9i on Fri Jan 06 15:53:44 2006 by Server Generator 9.0.2.80.4

PROMPT Creating View 'DARBINIEKI_VIEW1'CREATE OR REPLACE FORCE VIEW DARBINIEKI_VIEW1 (DARBINIEKS_D_NUMURS ,DARBINIEKS_D_VARDS ,DARBINIEKS_D_UZVARDS ,DARBINIEKS_D_PERSONASKODS ,DARBINIEKS_D_NODALA ,DARBINIEKS_D_AMATS ,DARBINIEKS_D_STATUSS) AS SELECT DARBINIEKS.D_NUMURS DARBINIEKS_D_NUMURS ,DARBINIEKS.D_VARDS DARBINIEKS_D_VARDS ,DARBINIEKS.D_UZVARDS DARBINIEKS_D_UZVARDS ,DARBINIEKS.D_PERSONASKODS DARBINIEKS_D_PERSONASKODS ,DARBINIEKS.D_NODALA DARBINIEKS_D_NODALA ,DARBINIEKS.D_AMATS DARBINIEKS_D_AMATS ,DARBINIEKS.D_STATUSS DARBINIEKS_D_STATUSSFROM DARBINIEKI DARBINIEKS where darbinieks.d_statuss = 1/

PROMPT Creating View 'SKARDS_VIEW1'CREATE OR REPLACE FORCE VIEW SKARDS_VIEW1 (SKARDS_S_KODS ,SKARDS_S_PARKLAJUMS ,SKARDS_S_KRASA ,SKARDS_S_KVALITATE ,SKARDS_S_STATUSS) AS SELECT SKARDS.S_KODS SKARDS_S_KODS ,SKARDS.S_PARKLAJUMS SKARDS_S_PARKLAJUMS ,SKARDS.S_KRASA SKARDS_S_KRASA ,SKARDS.S_KVALITATE SKARDS_S_KVALITATE ,SKARDS.S_STATUSS SKARDS_S_STATUSSFROM SKARDS SKARDS where skards.s_statuss = 1/

PROMPT Creating View 'KLIENTI_VIEW1'CREATE OR REPLACE FORCE VIEW KLIENTI_VIEW1 (KLIENTS_K_NUMURS ,KLIENTS_K_NOSAUKUMS ,KLIENTS_K_KODS ,KLIENTS_K_ADRESE ,KLIENTS_K_TELEFONS ,KLIENTS_K_BANKA ,KLIENTS_K_KONTS ,KLIENTS_K_STATUSS)

Lapa 45 no 47

Page 46: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

AS SELECT KLIENTS.K_NUMURS KLIENTS_K_NUMURS ,KLIENTS.K_NOSAUKUMS KLIENTS_K_NOSAUKUMS ,KLIENTS.K_KODS KLIENTS_K_KODS ,KLIENTS.K_ADRESE KLIENTS_K_ADRESE ,KLIENTS.K_TELEFONS KLIENTS_K_TELEFONS ,KLIENTS.K_BANKA KLIENTS_K_BANKA ,KLIENTS.K_KONTS KLIENTS_K_KONTS ,KLIENTS.K_STATUSS KLIENTS_K_STATUSSFROM KLIENTI KLIENTS where klients.k_statuss = 1/

PROMPT Creating View 'SASTAVS_VIEW1'CREATE OR REPLACE FORCE VIEW SASTAVS_VIEW1 (SASTAVS_A_PASUTIJUMS ,SASTAVS_A_POZICIJA ,SASTAVS_A_SKARDS ,SASTAVS_A_IZSTRADAJUMS ,SASTAVS_A_DAUDZUMS ,SASTAVS_A_CENA ,DETALA_I_KODS ,DETALA_I_NOSAUKUMS) AS SELECT SASTAVS.A_PASUTIJUMS SASTAVS_A_PASUTIJUMS ,SASTAVS.A_POZICIJA SASTAVS_A_POZICIJA ,SASTAVS.A_SKARDS SASTAVS_A_SKARDS ,SASTAVS.A_IZSTRADAJUMS SASTAVS_A_IZSTRADAJUMS ,SASTAVS.A_DAUDZUMS SASTAVS_A_DAUDZUMS ,SASTAVS.A_CENA SASTAVS_A_CENA ,DETALA.I_KODS DETALA_I_KODS ,DETALA.I_NOSAUKUMS DETALA_I_NOSAUKUMSFROM SASTAVS SASTAVS ,IZSTRADAJUMI DETALA where sastavs.a_izstradajums = detala.i_kods/

PROMPT Creating View 'PASUTIJUMI_VIEW1'CREATE OR REPLACE FORCE VIEW PASUTIJUMI_VIEW1 (PASUTIJUMS_P_NUMURS ,PASUTIJUMS_P_KLIENTS ,PASUTIJUMS_P_PARDEVEJS ,PASUTIJUMS_P_SKARDNIEKS ,PASUTIJUMS_P_PIENDATUMS ,PASUTIJUMS_P_IZPDATUMS ,PASUTIJUMS_P_IZSNDATUMS ,PASUTIJUMS_P_PAVADZIME ,PASUTIJUMS_P_APMAKSA ,KLIENTS_K_NUMURS ,KLIENTS_K_NOSAUKUMS ,DARBINIEKS_D_NUMURS ,DARBINIEKS_D_VARDS ,DARBINIEKS_D_UZVARDS ,DARBINIEKS1_D_NUMURS ,DARBINIEKS1_D_VARDS ,DARBINIEKS1_D_UZVARDS) AS SELECT PASUTIJUMS.P_NUMURS PASUTIJUMS_P_NUMURS ,PASUTIJUMS.P_KLIENTS PASUTIJUMS_P_KLIENTS ,PASUTIJUMS.P_PARDEVEJS PASUTIJUMS_P_PARDEVEJS ,PASUTIJUMS.P_SKARDNIEKS PASUTIJUMS_P_SKARDNIEKS ,PASUTIJUMS.P_PIENDATUMS PASUTIJUMS_P_PIENDATUMS ,PASUTIJUMS.P_IZPDATUMS PASUTIJUMS_P_IZPDATUMS ,PASUTIJUMS.P_IZSNDATUMS PASUTIJUMS_P_IZSNDATUMS

Lapa 46 no 47

Page 47: DB projektēšana (ar Oracle Designer rīku)  Web view · 2014-10-10Database Design Transformer

,PASUTIJUMS.P_PAVADZIME PASUTIJUMS_P_PAVADZIME ,PASUTIJUMS.P_APMAKSA PASUTIJUMS_P_APMAKSA ,KLIENTS.K_NUMURS KLIENTS_K_NUMURS ,KLIENTS.K_NOSAUKUMS KLIENTS_K_NOSAUKUMS ,DARBINIEKS.D_NUMURS DARBINIEKS_D_NUMURS ,DARBINIEKS.D_VARDS DARBINIEKS_D_VARDS ,DARBINIEKS.D_UZVARDS DARBINIEKS_D_UZVARDS ,DARBINIEKS1.D_NUMURS DARBINIEKS1_D_NUMURS ,DARBINIEKS1.D_VARDS DARBINIEKS1_D_VARDS ,DARBINIEKS1.D_UZVARDS DARBINIEKS1_D_UZVARDSFROM PASUTIJUMI PASUTIJUMS ,KLIENTI KLIENTS ,DARBINIEKI DARBINIEKS ,DARBINIEKI DARBINIEKS1 where (pasutijums.p_klients = klients.k_numurs) and (pasutijums.p_pardevejs = darbinieks.d_numurs) and (pasutijums.p_skardnieks = darbinieks1.d_numurs)/

PROMPT Creating View 'IZSTRADAJUMI_VIEW1'CREATE OR REPLACE FORCE VIEW IZSTRADAJUMI_VIEW1 (DETALA_I_KODS ,DETALA_I_NOSAUKUMS ,DETALA_I_MATPATERINS ,DETALA_I_LAIPATERINS ,DETALA_I_STATUSS) AS SELECT DETALA.I_KODS DETALA_I_KODS ,DETALA.I_NOSAUKUMS DETALA_I_NOSAUKUMS ,DETALA.I_MATPATERINS DETALA_I_MATPATERINS ,DETALA.I_LAIPATERINS DETALA_I_LAIPATERINS ,DETALA.I_STATUSS DETALA_I_STATUSSFROM IZSTRADAJUMI DETALA where detala.i_statuss = 1/

Lapa 47 no 47