Súčasťou dokumentácie sú obrázky logického a relačného modelu. Tvorba relačnej databázy začína tvorbou tabuliek. Pre túto potrebu môžeme ručne napísať SQL skript, resp. vygenerovať ho priamo z dátového modelu.
2.1.6. Tlač modelu
Pred exportom môžeme v okne dátového modelu kliknúť pravým tlačidlom a vybrať možnosť
Resize to Visible
na automatické upravenie vzhľadu. Vizuálny export logického alebo fyzického modelu získame, ak v hornom menu vyberieme File → Data Modeler → Print Diagram
a vyberieme
si typ súboru aký potrebujeme. Pre fyzický model je postup rovnaký.
2.1.7. Export DDL skriptu
Pred exportom sa prepneme do fyzického modelu. Na exportovanie máme viacero možnosti. Prvá
možnosť sa nachádza v hornom menu ako tretia ikona od konca s popisom Generate DDL
.
V novom okne si nastavíme parameter, verziu databázy. Spustenie DDL staršej verzie by nemal byť
problém aj na novšej verzií ale radšej konzultuj s cvičiacim. Následne stlačíme Generate
. Otvorí sa
nové okno v ktorom stačí stlačiť Ok
. DDL skript vieme skopírovať, upraviť alebo uložiť kliknutím na
Save
.
Názov databázy: Oracle Database 11g Enterprise Edition Release a verzia: 11.2.0.1.0
Verziu databázy zistíme pomocou SQL dopytu
1
SELECT * FROM v$version;
Druhá možnosť je označiť fyzický model kurzorom resp. stlačením kombinácie kláves Ctrl + A, potom
pravým tlačidlom myši vyvoláme menu a vyberieme možnosť DDL Preview
. Nevieme ale zmeniť
verziu databázy ani exportovať skript do súboru, vieme len editovať a skopírovať skript.
Pomocou DDL skriptu vieme spätne importovať model (
File → Data Modeler → Import → DDL File
), ak sa nám poškodí alebo stratíme súbor s príponou dmd.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
CREATE TABLE mis_datum (
id_datum INTEGER NOT NULL,
datum_sk VARCHAR2(50 CHAR),
rok_sk VARCHAR2(50 CHAR),
kvartal_sk VARCHAR2(50 CHAR),
mesiac_sk VARCHAR2(50 CHAR)
);
ALTER TABLE mis_datum ADD CONSTRAINT mis_datum_pk PRIMARY KEY ( id_datum );
CREATE TABLE mis_fakt (
id_fakt INTEGER NOT NULL,
produkcia_sk INTEGER,
mis_datum_id_datum INTEGER NOT NULL,
mis_miesto_id_miesto INTEGER NOT NULL,
mis_znecistenie_id_znecistenie INTEGER NOT NULL,
mis_prevadzka_id_prevadzka INTEGER NOT NULL
);
ALTER TABLE mis_fakt ADD CONSTRAINT mis_fakt_pk PRIMARY KEY ( id_fakt );
CREATE TABLE mis_miesto (
id_miesto INTEGER NOT NULL,
miesto_sk VARCHAR2(50 CHAR),
typ_sk VARCHAR2(50 CHAR),
zdroj_sk VARCHAR2(50 CHAR)
);
ALTER TABLE mis_miesto ADD CONSTRAINT mis_miesto_pk PRIMARY KEY ( id_miesto );
CREATE TABLE mis_prevadzka (
id_prevadzka INTEGER NOT NULL,
popis_sk VARCHAR2(50 CHAR),
percenta_sk VARCHAR2(10 CHAR)
);
ALTER TABLE mis_prevadzka ADD CONSTRAINT mis_prevadzka_pk PRIMARY KEY ( id_prevadzka );
CREATE TABLE mis_znecistenie (
id_znecistenie INTEGER NOT NULL,
uroven_sk VARCHAR2(10 CHAR)
);
ALTER TABLE mis_znecistenie ADD CONSTRAINT mis_znecistenie_pk PRIMARY KEY ( id_znecistenie );
ALTER TABLE mis_fakt
ADD CONSTRAINT mis_fakt_mis_datum_fk FOREIGN KEY ( mis_datum_id_datum )
REFERENCES mis_datum ( id_datum );
ALTER TABLE mis_fakt
ADD CONSTRAINT mis_fakt_mis_miesto_fk FOREIGN KEY ( mis_miesto_id_miesto )
REFERENCES mis_miesto ( id_miesto );
ALTER TABLE mis_fakt
ADD CONSTRAINT mis_fakt_mis_prevadzka_fk FOREIGN KEY ( mis_prevadzka_id_prevadzka )
REFERENCES mis_prevadzka ( id_prevadzka );
ALTER TABLE mis_fakt
ADD CONSTRAINT mis_fakt_mis_znecistenie_fk FOREIGN KEY ( mis_znecistenie_id_znecistenie )
REFERENCES mis_znecistenie ( id_znecistenie );