Oracle Data Modeler (4.1) Tworzenie modelu danych – specyfikacja wymagań informacyjnych (na dane) Tworzenie modelu procesów – specyfikacja wymagań funkcyjnych.

Slides:



Advertisements
Podobne prezentacje
Indeksy w bazie danych Oracle
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Projektowanie bazy danych
SQL – Strukturalny język zapytań
BD-LAB4 Wojciech Pieprzyca
WPROWADZENIE DO BAZ DANYCH
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Projektowanie Aplikacji Komputerowych
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 8: Perspektywy i sekwencery.
ZSBD PL/SQL CZĘŚĆ 3 Wykład 5 Prowadzący: dr Paweł Drozda.
Język definicji danych (Data Definition Language)
Język definicji danych (Data Definition Language)
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Wykład 8 Wojciech Pieprzyca
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Projektowanie relacyjnych baz danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Modele baz danych - spojrzenie na poziom fizyczny
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Język SQL (Structured Query Language) DDL (Data Definition Language)
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Najpierw z menu wyboru wybierz moduł tworzenia Quizów ( JQuiz )
UML 2.x Robert Pająk.
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
SQL – Structured Query Language (1)
Andrzej Macioł Bazy danych – SQL – cz. 1. Andrzej Macioł Składowe SZBD Jądro SZBD realizuje podstawowe funkcje związane z przechowywaniem danych, kontrolą
Tworzenie typów danych i tabel
SQL - Structured Query Language
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Systemy Zarządzania Bazami Danych Laboratorium 05 Widoki i eksport tabel/widoków 1.
Projekt i częściowa implementacja gry logicznej w technologii HTML5
Komendy SQL do pracy z tabelami i bazami
Visual Basic w Excelu.
PL/SQL – dalsza wędrówka
Projektowanie relacyjnych baz danych – postacie normalne
Projektowanie bazy danych
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Systemy Baz Danych Wykład III
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Visual Basic w Excelu - podstawy
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Autor: Damian Urbańczyk
Projektowanie relacyjnych baz danych – diagramy związków encji
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Komendy SQL do pracy z danymi
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Projektowanie postaci formularza:
1 W wykładzie 2 zaprezentowana jest podstawowa metoda tworzenia schematu relacyjnej bazy danych. Jest ona dwustopniowa. W pierwszej fazie projektujemy.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Modelowanie Danych (ERD) – część 1 (Wspomaganie Modelowania danych)
Prototypowanie w ORACLE DESIGNER Transformacja Modelu danych.
Prototypowanie w ORACLE DESIGNER Oracle Forms Design.
Prototypowanie w ORACLE DESIGNER Projektowanie Bazy Danych.
Prototypowanie w ORACLE DESIGNER Projektowanie Modułów.
Metodyki i narzędzia CASE
Modelowanie Procesów Biznesowych. Dlaczego modelujemy procesy biznesowe? Żeby je zrozumieć Żeby je wizualizować - zobrazować.
Oracle Data Modeler (4.1). Aplikacja Wymagania biznesowe Tworzenie systemu informacyjnego Procesy Informacje Analiza Projektowanie Browser: Hollywood.
Oracle Data Modeler ( ) Wiele opcji dostępnych poprzez prawy przycisk myszy zarówno na elementach nawigatora obiektów (z lewej strony), jak i na.
Wyższa Szkoła Bankowa, Poznań, dr inż. mirosław Loręcki
T. 18. E Proces DGA - Działania (operatorka).
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Oracle Data Modeler (4.1) Tworzenie modelu danych – specyfikacja wymagań informacyjnych (na dane) Tworzenie modelu procesów – specyfikacja wymagań funkcyjnych Tworzenie modelu powiązania procesów z danymi – specyfikacja wymagań na powiązania funkcji z danymi Wiele opcji dostępnych poprzez prawy przycisk myszy zarówno na elementach nawigatora obiektów (z lewej strony), jak i na samych diagramach” na ich elementach jak i na obszarze diagramu (pane).

Tworzenie systemu informacyjnego Aplikacja Wymagania biznesowe Procesy Informacje Analiza Projektowanie W procesie analizy koncentracja na tym co ma być, a nie jak to jest aktualnie realizowane. Browser: http:// Hollywood X Action Edit Block Filed + Customers: Budowa Baza danych

Dlaczego tworzymy modele? Aby zrozumieć Aby zwizualizować „A picture is worth a thousand words!” W Oracle: Modelowanie danych – diagramy związków encji Modelowanie funkcji – diagram procesów, diagram hierarchii funkcji, diagram przepływu danych

Process Model -> Data Flow Diagram Model procesów służy do: modelowania procesów w firmie, specyfikowania wymagań funkcyjnych dla systemu informacyjnego, który ma zostać zbudowany do wspomagania tych procesów. Model procesów składa się ze zbioru diagramów przepływu danych. Każdy diagram przepływu danych modeluje jeden proces bazowy. Proces bazowy diagramu – składa się z wewnętrznych procesów, przepływów (flows), magazynów danych (information store) i eksternali (external agents) – inicjujących lub kończących proces bazowy. Z kolei wewnętrzny proces może być nierozkładalny albo można zbudować jego własny diagram z nim jako procesem bazowym. Proces bazowy diagramu: Obsługa klienta Diagram przepływu danych Proces wewnętrzny – krok procesowy procesu bazowego Połączenie z modelem danych Powiązanie z encjami przy użyciu struktur informacyjnych – opisują dane uczestniczące w przepływach.

Data Modeler i model danych Interfejs składa się z: Menu Pasek narzędzi Nawigator (browser) Zakładki z diagramami Encje i perspektywy (views) tworzy się z paska narzędzi. Rozpoczęcie pracy: Wczytanie gotowego modelu/projektu: File->Open Logical Model->Show lub Designs->New Design Dostępne notacje: Standardowa w Oracle notacja Barkera (zastosowana na rysunku) Notacja Bachmana Notacja Information Engineering Ustawienie View->Logical Diagram Notation

Tworzenie dziedziny atrybutu Tools->Domains Administration

Dziedziczenie - inheritance Tworzymy obie encje. We właściwościach podencji podajemy nazwę nadencji jako Super Type

Łuk Aby utworzyć łuk: przy wciśniętym klawiszu SHIFT naciskamy encję Dept, kolejno oba związki, na koniec wybieramy z paska narzędzi New Arc

Tworzenie perspektywy (view) Ikonką New View z paska narzędzi; potem opcja Query Builder

Model logiczny

Podmodele (subviews) modelu logicznego Jest jeden pełny model logiczny oraz jego podzbiory zgrupowane w podmodele (subviews) (SubViews->New Subview + na ekranie prawy przycisk myszy->Objects->Add/Remove objects). The logical model combines two kinds of data: One logical diagram, plus an optional set of subviews and auxiliary displays, each associated with the appropriate diagram or subview Logical model object definitions Subviews are considered as independent diagrams of the logical model, created to represent different subject areas. The logical model enables you to create and manage object definitions for entities, logical views, attributes, unique identifiers, inheritances, relations, and arcs. All logical model objects are displayed in the object browser tree. Dodawanie obiektów do logical-subview: na ekranie prawy przycisk myszy->Objects->Add objects Tworzenie dziedzin z menu Tools->Domains Administration

Engineering: Model logiczny -> Model relacyjny Wygenerowany klucz-surogat Head_ID Przy użyciu ikony Engineer to Relational Model. Tabelę Dyrektor można wyjąć na zewnątrz tabeli Emp. W projekcie jest tylko jeden model logiczny, wiele modeli relacyjnych. Dla każdego modelu relacyjnego może być wiele modeli fizycznych.

Wprowadzenie schematu dla tabel W modelu relacyjnym jest możliwość określenia schematów: w Nawigatorze obiektów Schemas->New Schema a następnie wprowadzeniu do nich tabel (w modelu logicznym nie ma tej możliwości). Strukturalizacja

Właściwości kolumn Dostęp przez Navigator i dla kolumny Sal jej Properties. Okienko Default and Constraint: Dotyczące wartości składowanych w bazie danych.

Właściwości kolumn – prezentacyjne: UI Defaults Domyślne właściwości prezentacyjne dla wszystkich modułów, które używają kolumnę Ustalają standardowe spójne standardy prezentacji danych Oszczędzają czas tworzenia aplikacji Nie mają wpływu na implementację kolumny w bazie danych

Generowanie jednoznacznych wartości w kolumnie Najpierw opcja General potem Auto Increment

DDL (View -> DDL File Editor + wybór dostawcy i wersji) ORACLE:: CREATE TABLE Dept ( Deptno INTEGER NOT NULL , Dname VARCHAR2 (20) NOT NULL , Loc MDSYS.SDO_GEOMETRY ) LOGGING ; ALTER TABLE Dept ADD CONSTRAINT Dept_PK PRIMARY KEY ( Deptno ) ; CREATE SEQUENCE Numery START WITH 1 NOCACHE ORDER ; CREATE OR REPLACE TRIGGER D_Deptno_TRG BEFORE INSERT ON Dept FOR EACH ROW WHEN (NEW.Deptno IS NULL) BEGIN :NEW.Deptno := Numery.NEXTVAL; END; / SQL SERVER:: TABLE Dept ( Deptno INTEGER NOT NULL IDENTITY NOT FOR REPLICATION , Dname VARCHAR (20) NOT NULL , Loc SDO_GEOMETRY , CONSTRAINT Dept_PK PRIMARY KEY CLUSTERED (Deptno) ) GO

Implementacja łuku w Oracle CREATE TABLE "order" ( order_id INTEGER NOT NULL , Firma_Id_firmy INTEGER , Osoba_Id_osoby INTEGER ) ; ALTER TABLE "order" ADD CONSTRAINT FKArc_1 CHECK ( ( (Firma_Id_firmy IS NOT NULL) AND (Osoba_Id_osoby IS NULL) ) OR ( (Osoba_Id_osoby IS NOT NULL) AND (Firma_Id_firmy IS NULL) ) OR ( (Firma_Id_firmy IS NULL) AND (Osoba_Id_osoby IS NULL) ) ) ; ALTER TABLE "order" ADD CONSTRAINT order_PK PRIMARY KEY ( order_id ) ; ALTER TABLE "order" ADD CONSTRAINT order_Firma_FK FOREIGN KEY ( Firma_Id_firmy ) REFERENCES Firma ( Id_firmy ) ; ALTER TABLE "order" ADD CONSTRAINT order_Osoba_FK FOREIGN KEY ( Osoba_Id_osoby ) REFERENCES Osoba ( Id_osoby ) ; W SQL Server kod jest prawie identyczny

Implementacja hierarchii, klucza-surogatu i dziedziny Dziedzina określona dla kolumny Job

ADD CONSTRAINT Person_PK PRIMARY KEY ( Person_ID ) ; -- klucz surogat CREATE TABLE Person(Person_ID NUMBER NOT NULL , Name VARCHAR2 (50) NOT NULL ) ; ALTER TABLE Person ADD CONSTRAINT Person_PK PRIMARY KEY ( Person_ID ) ; -- klucz surogat CREATE TABLE Emp(Person_Person_ID NUMBER NOT NULL , Job VARCHAR2 NOT NULL) ; ALTER TABLE Emp ADD CHECK ( Job IN ('Clerk', 'Director', 'Finance', 'Salesman')) ; -- dziedzina ALTER TABLE Emp ADD CONSTRAINT Emp_PK PRIMARY KEY ( Person_Person_ID ) ; ALTER TABLE Emp ADD CONSTRAINT FK_ASS_1 FOREIGN KEY ( Person_Person_ID ) REFERENCES Person ( Person_ID ) ; CREATE TABLE Stud(Person_Person_ID NUMBER NOT NULL, ssn INTEGER NOT NULL) ; ALTER TABLE Stud ADD CONSTRAINT Stud_PK PRIMARY KEY ( Person_Person_ID ) ; ALTER TABLE Stud ADD CONSTRAINT FK_ASS_2 FOREIGN KEY ( Person_Person_ID ) REFERENCES Person ( Person_ID ) ; CREATE SEQUENCE Person_Person_ID_SEQ START WITH 1 NOCACHE ORDER ; CREATE OR REPLACE TRIGGER Person_Person_ID_TRG BEFORE INSERT ON Person FOR EACH ROW WHEN (NEW.Person_ID IS NULL) BEGIN :NEW.Person_ID := Person_Person_ID_SEQ.NEXTVAL; END; Sekwencja tworzona automatycznie dla klucza surogatu

Model fizyczny: ustalenie dostawcy systemu bazodanowego oraz wersji np Model fizyczny: ustalenie dostawcy systemu bazodanowego oraz wersji np. Oracle Database 12c: Physical Models->New Rozwinięcie – opcja Open Pojawiły się dodatkowe elementy baz danych Oracle i SQL Server – funkcjonalność zbliżona do SQL Developera.

Model procesów Tworzymy nowy diagram przepływu danych dla procesu bazowego „Tworzenie struktury organizacyjnej”. Następnie: eksternal „Założyciel”, proces wewnętrzny „Wpisz dane organizacyjne”, przepływ danych między nimi „Utworzenie struktury organizacyjnej”, magazyn danych „Struktura departamentów” i przepływ danych „Zapisanie departamentów” – zaznaczamy operację Create. Przepływy wpływające i wypływające z magazynów danych określają struktury informacyjne, które mają być zrealizowane w bazie danych i używane przez procesy.

Struktura informacyjna – połączenie z modelem danych Struktury informacyjne definiuje się w okienku właściwości przepływu łączącego proces z magazynem danych. W okienku właściwości struktury informacyjnej określa się atrybuty wchodzące w skład struktury informacyjnej. Wybiera się atrybuty. Encje przechodzą same.

Powiązanie procesów z encjami i atrybutami Budujemy diagram procesów (procesy, eksternale, magazyny danych, przepływy). Dla każdego przepływu związanego z magazynem danych podajemy nazwy struktur informacyjnych (nowych lub już zdefiniowanych). Dla każdej struktury informacyjnej określamy atrybuty wchodzące w jej skład. Encje i atrybuty pojawiają się we właściwościach procesów. Uwaga: Zielony krzyżyk oznacza możliwość wstawienia, jego brak - tylko odczytywanie, gdzie indziej określanych informacji. 2 3 4 1 W Designerze można było w oparciu o te informacje wygenerować prototyp aplikacji.

Macierz CRUD dla procesu WpiszPracownika Magazyn danych -> Baza danych Użycie danych przez proces -> Implementacja procesu Specyfikacja użycia danych przez proces.

Przykład diagramu przepływu danych

Business Information Określając właściwości obiektów można w nich zamieszczać informacje biznesowe jak dokumenty, które system zbiorczo gromadzi w węźle „Business Information”.

Zadanie semestralne Podać definicję problemu Używając Data Modelera zbudować logiczny model danych obejmujący również perspektywy oraz jego podział na co najmniej dwa podmodele (podwidoki). *Używając Data Modelera wygenerować relacyjny model danych, fizyczny model danych oraz skrypt DDL. Wykonać skrypt DDL na przyjętym serwerze bazy danych. Używając Data Modelera zbudować co najmniej jeden diagram DFD z co najmniej dwoma procesami. Podać macierze CRUD dla zidentyfikowanych procesów.