Oskar Skibski, grupa nr 4, sala 2043

Bazy danych 2015/16

Laboratorium 9 (07.12.2015) - Model związków encji [2]

Poznajemy Oracle SQL Developer Data Modeler

Program uruchamiamy z menu lub z konsoli:

/opt/datamodeler/datamodeler.sh

Przy pierwszym uruchomieniu trzeba podać ścieżkę do javy:

/usr/lib64/jvm/java

Program uruchamia się ze stworzonym nowym projektem. Model logiczny (logical) w programie to znany z zajęć model związków encji. Pracę możemy zacząć zatem od przywołania go (trzeba kliknąć polecenie "Show" w menu kontekstowym węzła Logical po lewej stronie). Teraz encje i związki możemy tworzyć za pomocą górnego paska narzędzi.

Oracle Data Modeler ma miliony opcji, dlatego łatwo poczuć się w nim zagubionym. Z większości dodatkowych opcji nie trzeba jednak korzystać, co oznacza że większości pól nie trzeba wypełniać (np. przy tworzeniu tabeli wystarczy podać nazwę nowej tabeli i przejść do zakładki atrybuty). Tak samo ustalając atrybuty najłatwiej wybrać typ logiczny (Logical, nie Domain ani Structured) i z listy rozwijanej wybrać jedną z opcji.

Po stworzeniu modelu związków encji klikamy 'Design > Engineer To Relational Model', co generuje nam model relacyjnej bazy danych (przy okazji opisując sposób konwersji). Aby otrzymać plik SQL generujący zaprojektowaną bazę klikamy 'Generate DDL' na pasku narzędzi (albo 'View > DDL File Editor' (albo 'File > Export > DDL File')).

Aby wyciągnąć dane z bazy należy użyć opcji 'Import > Data Dictionary' z menu 'File', a potem utworzyć nowe połączenie za typ podając 'TNS' i wybierając połączenie z aliasem 'LABS'.

Zadanie 1.

Zaprojektuj schemat bazy zgodny z tabeli emp i dept ze skryptu demobld.sql. Zaproponuj (pominięte w skrypcie) związki między encjami oraz rozsądne klucze tabeli. (*)

Zadanie 2.

Stwórz znaną z poprzednich zajęć hierarchiczną strukturę z Wykonawcą, Muzykiem i Zespołem. Zmieniając 'FWD Engineer Strategy' w parametrach encji rozważ możliwe translacje tej struktury na model relacyjny.

(*) Jeżeli wystarczająco zmęczyły Cię próby zmienienia nazwy atrybutu na 'mgr' odznacz opcję 'Keep as the name of the Originating attribute' w 'Tools > Preferences' i dalej 'Data Modeler > Model > Logical'.


Oskar Skibski (oski@mimuw.edu.pl), Wydział Matematyki, Informatyki i Mechaniki