Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Podobne dokumenty
INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Modelowanie danych, projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego

Transformacja modelu ER do modelu relacyjnego

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Modelowanie danych Model związków-encji

Projektowanie bazy danych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Wykład 2. Relacyjny model danych

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Modelowanie danych Model związków-encji

Autor: Joanna Karwowska

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Bazy danych Wykład zerowy. P. F. Góra

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Technologie baz danych

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Modelowanie danych. Biologiczne Aplikacje Baz Danych

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

Bazy danych i usługi sieciowe

Projektowanie Systemów Informacyjnych

Pojęcie bazy danych. Funkcje i możliwości.

Transformacja modelu ER do modelu relacyjnego

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Przykładowa baza danych BIBLIOTEKA

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Systemy baz danych. mgr inż. Sylwia Glińska

PRZEWODNIK PO PRZEDMIOCIE

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Systemy informatyczne. Modelowanie danych systemów informatycznych

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Relacyjny model baz danych, model związków encji, normalizacje

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

1 Wstęp do modelu relacyjnego

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

PODSTAWOWE POJĘCIA BAZ DANYCH

TECHNIKI MODELOWANIA STRUKTURY INFORMACYJNEJ

SZKOLENIE: Administrator baz danych. Cel szkolenia

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

Modelowanie konceptualne model EER

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Bazy danych 2. Wykład 1

Model relacyjny. Wykład II

P o d s t a w y j ę z y k a S Q L

Wykład I. Wprowadzenie do baz danych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

MODELOWANIE DANYCH. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

WPROWADZENIE DO BAZ DANYCH

Projektowanie relacyjnych baz danych

Model relacyjny. Wykład II

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Bazy danych 1. Podstawowe pojęcia

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Transformacja modelu pojęciowego. do logicznego

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Biblioteka. Bazy danych I dokumentacja projektu. Cel projektu:

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1

KSS: Modelowanie konceptualne przykład

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Modelowanie związków encji

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Przykłady normalizacji

PROJEKT Z BAZ DANYCH

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie związków encji. Etapy budowy systemu informatycznego przedsiębiorstwa (1/4) Etapy budowy systemu informatycznego przedsiębiorstwa (2/4)

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Projektowanie baz danych za pomocą narzędzi CASE

Paweł Kurzawa, Delfina Kongo

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD)

Bazy danych - wykład wstępny

Transkrypt:

Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski

Wykład 6 Model relacyjny danych projektowanie relacyjnych baz danych, model logiczny i relacyjny, zastosowanie Oracle SQL Developer Data Modeler Bazy danych. Wykład 5 2

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) W modelu związków encji: ENCJE reprezentują obiekty świata rzeczywistego ZWIĄZKI między ENCJAMI opisują zależności między obiektami świata rzeczywistego Stosuje się różne notacje w modelach związków encji, spośród których omówione zostaną dwie: notacja Chena (o znaczeniu głównie historycznym i dydaktycznym) notacja Barkera (preferowana w narzędziach Oracle) Bazy danych. Wykład 6 3

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Charakterystyka encji: Encja reprezentuje zbiór obiektów opisanych tymi samymi cechami (atrybutami, własnościami). Dany obiekt świata rzeczywistego jest reprezentowany jako wystąpienie encji (instancja encji). Dana rzecz lub obiekt świata rzeczywistego powinien być reprezentowany tylko przez jedną encję. Każda encja posiada unikalną nazwę. Nazwa encji powinna być rzeczownikiem w liczbie pojedynczej (obecnie ten wymóg często nie jest respektowany). Encje zwykle wchodzą w związki z innymi encjami z wyjątkiem encji, reprezentujących dane słownika i konfiguracyjne bazy danych Bazy danych. Wykład 6 4

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Charakterystyka atrybutu encji: Atrybut encji musi posiadać unikalną nazwę, odróżniającą go od innych atrybutów tej encji. Atrybutu encji posiada określoną dziedzinę danych. Atrybut encji może dozwalać brak wartości (NULL) bądź zawsze wymagać podania wartości (NOT NULL) Wartości atrybutu mogą być unikalne bądź nie. Bazy danych. Wykład 6 5

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Kategorie klasyfikacji związków (asocjacji) między encjami: Stopień Kardynalność Przynależność Klasyfikacja związków (asocjacji) między encjami wg kategorii: Stopień związku - unarny (binarny rekursywny, binarny rekurencyjny) - binarny - ternarny - n-arny Kardynalność (jeden bądź wiele charakteryzuje końcówkę związku!) - jeden do jeden - jeden do wiele - wiele do wiele Przynależność (opcjonalny bądź obowiązkowy także charakteryzuje końcówkę związku!) - opcjonalny (obustronnie) - obowiązkowy (obustronnie) - jednostronnie opcjonalny lub jednostronnie obowiązkowy Bazy danych. Wykład 6 6

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Kategorie klasyfikacji związków (asocjacji) między encjami: Stopień Kardynalność Przynależność Klasyfikacja związków (asocjacji) między encjami wg kategorii: Stopień związku - unarny (binarny rekursywny) - binarny - ternarny - n-arny Kardynalność (jeden bądź wiele charakteryzuje końcówkę związku!) - jeden do jeden - jeden do wiele - wiele do wiele Przynależność (opcjonalny bądź obowiązkowy także charakteryzuje końcówkę związku!) - opcjonalny (obustronnie) - obowiązkowy (obustronnie) - jednostronnie opcjonalny lub jednostronnie obowiązkowy Bazy danych. Wykład 6 7

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Notacja Chena: Symbol encji prostokąt Symbol atrybutu encji koło Symbol związku między encjami romb Symbole kardynalności końcówki związku między encjami: - jeden: 1 - wiele: N bądź M Symbole kardynalności związków: - jeden do jeden 1 : 1 - jeden do wiele 1 : N - wiele do wiele N : M Niekiedy określa się, że model koncepcyjny (konceptualny) to model związków encji bez atrybutów. Natomiast model logiczny (pełny) można przedstawić jako model związków encji ze zdefiniowanymi atrybutami encji. Bazy danych. Wykład 6 8

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Związek binarny w notacji Chena model konceptualny ENCJA_1 ZWIĄZEK_B ENCJA_2 Rekursywny związek binarny (związek unarny) w notacji Chena model konceptualny ENCJA_1 ZWIĄZEK_BR Bazy danych. Wykład 6 9

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Związek ternarny w notacji Chena model konceptualny ENCJA_3 ENCJA_1 ZWIĄZEK_T ENCJA_2 Związek n-arnego w notacji Chena dla n = 4 model konceptualny ENCJA_3 ENCJA_1 ZWIĄZEK_N4 ENCJA_2 ENCJA_4 Bazy danych. Wykład 6 10

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Związek binarny typu 1:1 w notacji Chena model konceptualny ENCJA_1 1 1 ZWIĄZEK_B11 ENCJA_2 Związek binarny typu 1:N w notacji Chena model konceptualny ENCJA_1 1 N ZWIĄZEK_1N ENCJA_2 Związek binarny typu N:M w notacji Chena model konceptualny ENCJA_1 N ZWIĄZEK_BNM M ENCJA_2 Bazy danych. Wykład 6 11

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Przykład związku binarnego typu 1:N w notacji Chena model logiczny Id_rodzaju_nosnika Id_ksiazki RODZAJ_NOSNIKA 1 N RN-KS KSIAZKA Tytul Rok_wydania Nazwa_rodzaju_nosnika Bazy danych. Wykład 6 12

Przypomnienie z poprzedniego wykładu przykładu dekompozycji relacji KSIĘGOZBIÓR Dla dziedziny rzeczywistości, jaką są książki i ich autorzy, przyjęliśmy założenia: (1) Relacja KSIĘGOZBIÓR o nagłówku N(KSIĘGOZBIÓR) = {Id_książki, Tytuł, Rok_wydania, Id_autora, Imię_autora, Nazwisko_autora} jest w 1NF. (2) Książka może mieć wielu autorów. (3) Autor mógł napisać wiele książek. Wówczas PK(KSIĘGOZBIÓR)={ Id_książki, Id_autora } KSIĘGOZBIÓR Id_książki PK Id_autora KSIĄŻKI Id_książki PK AUTORSTWO Id_książki PK Id_autora AUTORZY Id_autora PK Tytuł Tytuł Imię_autora Rok_wydania Imię_autora Rok_wydania Nazwisko_autora Nazwisko_autora Bazy danych. Wykład 5 13

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Przykład związku binarnego typu N:M w notacji Chena model logiczny Id_ksiazki Id_autora KSIAZKA N KS-AU M AUTOR Tytul Rok_wydania Imie_autora Nazwisko_autora Bazy danych. Wykład 6 14

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) W szkicach projektów wygodnie jest stosować zmodyfikowaną notację Chena: Symbol encji prostokąt z nazwą encji nad jego górną krawędzią Symbol atrybutu encji nie stosuje się: - atrybuty danej encji są wypisane w prostokącie reprezentującym tę encję - dla wygody warto jawnie podać atrybuty kluczy obcych Symbol związku między encjami romb jednak opcjonalnie można pominąć romb, poprzestając na linii łączącej encje i/lub strzałką zakończyć końcówkę linii, wskazującą klucz odniesienia (klucz główny) dla klucza obcego definiowanego przez ten związek) Symbole kardynalności końcówki związku między encjami: - jeden: 1 - wiele: N bądź M Symbole kardynalności związków: - jeden do jeden 1 : 1 - jeden do wiele 1 : N - wiele do wiele N : M Bazy danych. Wykład 6 15

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Notacja Barkera (stosowana w narzędziach Oracle): Symbol encji bez atrybutów Symbol encji z atrybutami Symbole związków między encjami Symbole kardynalności końcówki związku między encjami: - jeden: - wiele: Symbole przynależności końcówki związku między encjami: - opcjonalny: - obowiązkowy: Symbol identyfikującej własności końcówki między encjami: Bazy danych. Wykład 6 16

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Przykład związku binarnego typu 1:N w notacji Barkera model logiczny Związek RODZAJ_NOSNIKA KSIAZKI jest typu jeden do wiele, opcjonalny po stronie encji RODZAJ_NOSNIKA i obowiązkowy po stronie encji KSIAZKI Bazy danych. Wykład 6 17

Model logiczny koncepcyjny (konceptualny) oraz pełny na przykładzie modelu związków encji (ERD Entity Relationship Diagram) Przykład związku binarnego typu N:M w notacji Barkera model logiczny Związek AUTORZY KSIAZKI jest typu wiele do wiele, opcjonalny po stronie encji AUTORZY i obowiązkowy po stronie encji KSIAZKI Bazy danych. Wykład 6 18

Model fizyczny implementacyjny na przykładzie modelu relacyjnego wygenerowanego z modelu logicznego w narzędziu Oracle SQL Developer Data Modeler Przykład związku binarnego KSIĄŻKI AUTORZY typu wiele do wiele sprowadzonego do postaci z encją słabą AUTORSTWO (reprezentującą kardynalność tego związku) Przypomnijmy relacje powstałe po dekompozycji relacji KSIĘGOZBIÓR: KSIĄŻKI Id_książki PK Tytuł AUTORSTWO Id_książki Id_autora PK AUTORZY Id_autora PK Imię_autora Rok_wydania Nazwisko_autora Zrzuty ekranu dostępne w pliku ksiegozbiorksatsau.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego poprzez model relacyjny (fizyczny) do wygenerowania skryptu DDL, a następnie jego implementacji na serwerze bazy danych. Bazy danych. Wykład 6 19

Model fizyczny implementacyjny na przykładzie modelu relacyjnego wygenerowanego z modelu logicznego w narzędziu Oracle SQL Developer Data Modeler Przykład związku binarnego RODZAJ_NOŚNIKA KSIĄŻKI typu jeden do wiele przedstawionego wcześniej w notacji Chena Zrzuty ekranu dostępne w pliku ksiegozbiorpelny.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego poprzez model relacyjny (fizyczny) do wygenerowania skryptu DDL. Projektowanie jest kontynuowane w modelu logicznym, zawierającym już związek KSIĄŻKI AUTORZY z encją słabą AUTORSTWO. Bazy danych. Wykład 6 20

Model fizyczny implementacyjny na przykładzie modelu relacyjnego wygenerowanego z modelu logicznego w narzędziu Oracle SQL Developer Data Modeler Przykład związku binarnego KSIĄŻKI AUTORZY typu wiele do wiele w czystej formie, tj. bez jawnego wystąpienia encji słabej AUTORSTWO w modelu logicznym Przypomnijmy relacje powstałe po dekompozycji relacji KSIĘGOZBIÓR: KSIĄŻKI Id_książki PK Tytuł Rok_wydania AUTORSTWO Id_książki PK Id_autora AUTORZY Id_autora PK Imię_autora Nazwisko_autora Zrzuty ekranu dostępne w pliku ksiegozbiorrb.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego poprzez model relacyjny (fizyczny) do wygenerowania skryptu DDL. Na zrzutach przedstawiających model logiczny pokazane zostały w pełnej formie reguły biznesowe jako etykiety końcówek związków między encjami. Bazy danych. Wykład 6 21

Model fizyczny implementacyjny na przykładzie modelu relacyjnego wygenerowanego z modelu logicznego w narzędziu Oracle SQL Developer Data Modeler Uzupełnienie modelu logicznego zawierającego już związek binarny KSIĄŻKI AUTORZY typu wiele do wiele (bez encji słabej) o związek binarny RODZAJ_NOŚNIKA KSIĄŻKI typu jeden do wiele z podaniem pełnych reguł biznesowych jako etykiet końcówek związku. Zrzuty ekranu dostępne w pliku ksiegozbiorrbkontynuacja.pdf pokazują szczegóły pracy w module Data Modeler od uzupełnienia modelu logicznego poprzez aktualizację (ponowne utworzenie) modelu relacyjnego (fizycznego) do wygenerowania skryptu DDL. Bazy danych. Wykład 6 22

Inżynieria odwrotna w relacyjnym modelowaniu danych za pomocą narzędzia Oracle SQL Developer Data Modeler Utworzenie modelu relacyjnego a następnie logicznego na podstawie schematu użytkownika istniejącego w bazie danych Zrzuty ekranu dostępne w pliku scott_inzynieria_odwrotna.pdf pokazują szczegóły pracy w module Data Modeler od importu ze słownika danych bazy danych schematu użytkownika a15 i utworzenie na jego podstawie modelu relacyjnego, a następnie utworzenie modelu logicznego na podstawie modelu relacyjnego (fizycznego). Bazy danych. Wykład 6 23

Związek unarny (binarny rekursywny) w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Uzupełnienie modelu logicznego wygenerowanego poprzednio na podstawie schematu użytkownika istniejącego w bazie danych o rekursywny związek binarny typu 1:N zastosowany dla encji EMP. Zrzuty ekranu dostępne w pliku scottbr.pdf pokazują szczegóły pracy w module Data Modeler od importu utworzone wcześniej projektu na podstawie istniejącego w bazie danych schematu użytkownika a15 i uzupełnienia modelu logicznego o rekursywny związek binarny EMP-EMP typu 1:N po wygenerowanie z rozbudowanego modelu relacyjnego nowego modelu relacyjnego (fizycznego), a z niego nowego skryptu DDL. Bazy danych. Wykład 6 24

Związek unarny (binarny rekursywny) w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Problem do rozważenia wraz z uzasadnieniem odpowiedzi: Które z pokazanych poniżej związków są dozwolone w modelu logicznym? (a) (b) (c) (d) Bazy danych. Wykład 6 25

Związki typu 1:1 w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Uzupełnienie poprzedniego modelu logicznego o związek binarny typu 1:1 między encjami EMP i DEPT. Zrzuty ekranu dostępne w pliku scottbrszd.pdf pokazują szczegóły pracy w module Data Modeler od importu utworzone poprzednio projektu i uzupełnienia modelu logicznego o związek binarny EMP-DEPT typu 1:1 po wygenerowanie z rozbudowanego modelu logicznego nowego modelu relacyjnego (fizycznego), a z niego nowego skryptu DDL. Bazy danych. Wykład 6 26

Związki typu 1:1 w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Prawidłowy w modelu logicznym z koncepcyjnego punktu widzenia związek binarny typu 1:1 między encjami EMP i DEPT, który jest obowiązkowy po stronie encji DEPT i opcjonalny po stronie encji EMP, generuje jednak więzy w modelu relacyjnym (fizycznym), jakie stwarzają utrudnienia w obsłudze tabel EMP i DEPT zaimplementowanych na serwerze bazy danych, jeśli jednocześnie występuje między encjami DEPT i EMP związek binarny 1:N, który oryginalnie jest implementowany w edukacyjnym schemacie użytkownika SCOTT. Proszę sprawdzić, co daje poniżej przedstawiony dla modelu logicnzego układ związków między encjami EMP i DEPT po wygenerowaniu na jego podstawie modelu relacyjnego (fizycznego). Bazy danych. Wykład 6 27

Związki typu 1:1 w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Zastosowanie identyfikującego związku binarnego typu 1:1 między encjami PRACOWNICY i ADRESY_ZAMIESZKANIA. Zrzuty ekranu dostępne w pliku pracownicy_adresy.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego z encjami PRACOWNICY i ADRESY_ZAMIESZKANIA, między którymi zdefiniowano identyfikujący związek typu 1:1, do wygenerowania z modelu logicznego modelu relacyjnego (fizycznego), a z niego skryptu DDL. Bazy danych. Wykład 6 28

Hierarchie encji w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Hierarchia encji na przykładzie poprzednio omówionych encji PRACOWNICY i ADRESY_ZAMIESZKANIA, przedstawionych w nowym modelu logicznym jako nadencja (nadtyp, supertyp) PRACOWNICY i jej podencja (podtyp) ADRESY_ZAMIESZKANIA, które w modelu relacyjnym prowadzą do identyfikującego związku binarnego typu 1:1 między relacjami PRACOWNICY i ADRESY_ZAMIESZKANIA. Zrzuty ekranu dostępne w pliku pracownicy_adresy_hierarchia.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego z nadencją PRACOWNICY i jej podencją ADRESY_ZAMIESZKANIA poprzez wygenerowanie z modelu logicznego modelu relacyjnego (fizycznego), a z niego skryptu DDL. Bazy danych. Wykład 6 29

Hierarchie encji w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Hierarchia encji rozpatrywana w modelu logicznym z punktu widzenia encji generalizacji nadencji (nadtypu, supertypu) PRACOWNICY o wspólnych atrybutach dla dwóch encji specjalizacji podencji (podtypów) OBYWATEL_POLSKI i OBYWATEL_ZAGRANICZNY o atrybutach specyficznych tylko dla siebie. Ta hierarchia prowadzi w modelu relacyjnym do związków wyłącznych (exclusive relationships) między relacjami specjalizacji a relacją generalizacji. Związki wyłączne w modelu logicznym charakteryzują się tym, że dane wystąpienie encji może wchodzić tylko w jeden ze związków. Bazy danych. Wykład 6 30

Hierarchie encji w relacyjnym modelowaniu danych Zastosowanie w Oracle SQL Developer Data Modeler Związki wyłączne znajdują interpretację w przypadku zdefiniowanej hierarchii encji znajdują w tym, że dane wystąpienie encji generalizacji może wchodzić w związek tylko z jedną z encji specjalizacji. W ogólności hierarchia encji posiada następujące własności: (1) Każde wystąpienie encji generalizacji nadencji wiąże się zawsze z jednym wystąpieniem encji specjalizacji podencji. (2) Encje specjalizacji podencje dziedziczą wszystkie atrybuty swojej encji generalizacji nadencji. (3) Klucz encji generalizacji nadencji jest wspólny dla jej wszystkich encji specjalizacji podencji. (4) Zatem każde wystąpienie encji specjalizacji podencji jest wystąpieniem także jej encji generalizacji nadencji. Zrzuty ekranu dostępne w pliku pracownicy_obywatelstwo.pdf pokazują szczegóły pracy w module Data Modeler od modelu logicznego z encją generalizacji nadencją PRACOWNICY oraz jej encjami specjalizacji podencjami OBYWATEL_POLSKI i OBYWATEL_ZAGRANICZNY poprzez wygenerowanie z modelu logicznego modelu relacyjnego (fizycznego), a z niego skryptu DDL. Bazy danych. Wykład 6 31

Reguły Codda relacyjnego modelowania danych (w formie 12 zasad + zerowa zasada podstawowa) (0) Reguły 1 12 dotyczą dowolnego systemu baz danych, w którym dane składowane są wyłącznie zgodnie z relacyjnym modelem danych. (1) Reguła informacyjna: Dane składowane w bazie danych, zarówno dane użytkowników, jak i metadane, muszą być wartościami pojedynczych komórek tabel (tzn. jako atomowe wartości atrybutów w każdej krotce relacji, stanowiącej matematyczną reprezentację danej tabelę). Upraszczając, wszystko w bazie danych musi być składowane w tabelach. (2) Reguła gwarantowanego dostępu: Każda pojedyncza wartość atrybutu (w każdej krotce) ma być rozpoznawana (dostępna) logicznie za pomocą kombinacji: nazwa tabeli, wartość podkrotki klucza głównego i nazwa atrybutu, którego wartość chcemy zidentyfikować. (3) Reguła systematycznego traktowania wartości pustej (NULL): Wartość NULL musi być traktowana systematycznie i jednakowo (we wszystkich bazach relacyjnych) jako brak wartości, nieznana wartość lub wartość nie znajdująca zastosowania (nieadekwatna). Bazy danych. Wykład 6 32

Reguły Codda relacyjnego modelowania danych (w formie 12 zasad + zerowa zasada podstawowa) (4) Reguła dotycząca aktywnego online katalogu (tzn. słownika bazy danych): Opis struktury całej bazy danych musi być składowany w katalogu, zwanym słownikiem (bazy) danych, który jest dostępny online dla autoryzowanych użytkowników, korzystających do wydobycia informacji z katalogu tego samego języka zapytań, jaki umożliwia wydobycie (eksplorację) wszystkich innych danych z bazy danych. (5) Kompleksowa reguła dotycząca języka danych: Dane składowane w bazie danych może być jedynie za pomocą języka o liniowej składni, który umożliwia definiowanie danych (tzn. struktur, w których są składowane), manipulowanie danymi i operacje zarządzania transakcjami w bazie danych. Język danych może być stosowany zarówno bezpośrednio w bazie danych, jak i za pomocą aplikacji. Gdy baza danych zezwala na dostęp do danych bez wykorzystania tego języka, traktowane jest to jako naruszanie dostępu do bazy danych. Uwaga dotycząca języków o liniowej składni: Składnia liniowa oznacza możliwość pisania kodu bez użycia znaków końca linii lub znaku powrotu karetki. Chociaż użycie takich znaków jest zalecane dla czytelności kodu, Bazy danych. Wykład 6 33

Reguły Codda relacyjnego modelowania danych (w formie 12 zasad + zerowa zasada podstawowa) są one opcjonalne, ponieważ kompilatory nie polegają na nich do analizowania i kompilowania kodu. Kod HTML, C i SQL to przykłady języków, które wykorzystują liniową składnię; wszystkie one polegają na przecinkach, średnikach i nawiasach w celu oddzielenia bloków kodu. Składnię liniową można analizować od lewej do prawej. (6) Reguła aktualizacji perspektyw: System bazy danych musi umożliwiać aktualizację wszystkich perspektyw w bazie danych, które zgodnie z teorią mogą być aktualizowane. (7) Reguła modyfikowalności danych (wysokopoziomowych operacji insert, update i delete): Baza danych musi umożliwiać (wysokopoziomowe) wstawianie, aktualizację i usuwanie danych. Te operacje (transakcje) nie mogą być ograniczone do pojedynczych wierszy, tzn. muszą także wspierać unię, przecięcie i różnicę, aby dawać zbiory rekordów danych. Bazy danych. Wykład 6 34

Reguły Codda relacyjnego modelowania danych (w formie 12 zasad + zerowa zasada podstawowa) (8) Reguła fizycznej niezależności danych: Dane składowane w bazie danych muszą być niezależne od aplikacji, która ma dostęp do bazy danych. Żadna zmiana w fizycznej strukturze bazy danych (tj. w fizycznych modelach danych, w organizacji struktury składowania czy w urządzeniach składowania danych) nie może mieć jakiegokolwiek wpływu na modele logiczne (koncepcyjne) schematów bazy danych, a także na dostępność danych dla zewnętrznych aplikacji. (9) Reguła logicznej niezależności danych: Logika (model logiczny) danych w określonym schemacie bazy danych musi być niezależny z punktu widzenia użytkownika aplikacji. Jakakolwiek zmiana logiki (modelu logicznego) danych (określonego schematu) w bazie danych nie może wpływać na aplikacje, korzystające z tych danych. To jedna z najtrudniejszych reguł do spełnienia! Bazy danych. Wykład 6 35

Reguły Codda relacyjnego modelowania danych (w formie 12 zasad + zerowa zasada podstawowa) (10)Reguła niezależności integralności danych: W bazie danych wszystkie więzy integralności danych mogą być modyfikowane niezależnie od aplikacji, korzystającej z danych składowanych w bazie danych, tzn. bez potrzeby jakichkolwiek zmian w aplikacji. Ta reguła czyni bazę danych niezależną od fasady aplikacji (tzw. części front-end aplikacji) i jej interfejsu. (11)Reguła niezależności dystrybucyjnej: Użytkownik końcowy nie może dostrzegać dystrybucji (rozproszenia, rozłożenia) danych w różnych lokalizacjach. Użytkownicy powinni zawsze mieć wrażenie, że dane są składowane tylko w jednej lokalizacji. Ta reguła została uznana za podstawę rozproszonych systemów baz danych. (12)Reguła zakazująca działalności wywrotowej (non-subversion rule): Jeżeli system baz danych posiada interfejs, dający dostęp niskopoziomowy do rekordów danych (tzn. do operacji na pojedynczych rekordach), to taki interfejs bazy danych nie może dopuszczać do uszkodzenia systemu bazy danych, obejścia mechanizmów zabezpieczeń ani do ominięcia więzów integralności danych. Bazy danych. Wykład 6 36