Normalizacja Projektowanie Diagramy encji. Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

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

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

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Związki pomiędzy tabelami

Projektowanie Systemów Informacyjnych

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

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

Projektowanie baz danych

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Pojęcie zależności funkcyjnej

Bazy Danych i Usługi Sieciowe

Technologia informacyjna

Normalizacja. Pojęcie klucza. Cel normalizacji

Cel normalizacji. Tadeusz Pankowski

Drużyny piłkarskie. Rozwiązanie

Baza danych. Baza danych to:

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

Projektowanie baz danych

1 Wstęp do modelu relacyjnego

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

Bazy danych i usługi sieciowe

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Projektowanie baz danych

Program nauczania. Systemy baz danych. technik informatyk

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

Pierwsza postać normalna

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

Projektowanie baz danych

1 Przygotował: mgr inż. Maciej Lasota

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny?

Bazy danych. Andrzej Łachwa, UJ, /15

Transformacja modelu ER do modelu relacyjnego

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

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

Normalizacja baz danych

Hurtownie danych a transakcyjne bazy danych

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

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

Bazy danych 3. Normalizacja baz danych

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

Bazy Danych i Usługi Sieciowe

Wykład 2. Relacyjny model danych

Pierwsza postać normalna

Bazy danych 3. Normalizacja baz danych (c.d.)

Literatura. Bazy danych s.1-1

Technologia Informacyjna

WPROWADZENIE DO BAZ DANYCH

Modelowanie danych, projektowanie systemu informatycznego

Projektowanie relacyjnych baz danych

Relacyjny model danych

1 Projektowanie systemu informatycznego

Bazy Danych 2008 Część 1 Egzamin Pisemny

Autor: Joanna Karwowska

Normalizacja baz danych

1. Mapowanie diagramu klas na model relacyjny.

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

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

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

Przykłady normalizacji

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

Baza danych. Modele danych

Technologie baz danych

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Bazy danych. Zasady konstrukcji baz danych

Normalizacja schematów logicznych relacji

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Zależności funkcyjne

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

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

Model relacyjny. Wykład II

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

Systemy baz danych. Notatki z wykładu

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Autor: Joanna Karwowska

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Bazy danych i usługi sieciowe

Normalizacja relacji

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

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

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Najważniejsze problemy, których dostarczy nam tak zaprojektowana tabela :

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Politechnika Częstochowska. Projekt aplikacji PZPN

Projektowanie bazy danych

S y s t e m y. B a z D a n y c h

Spis treści. 2. Przypomnienie najważniejszych pojęć z baz danych.

Transkrypt:

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

Wprowadzenie Idea Cel usuwanie redundancji usuwanie anomalii (przy wstawianiu, usuwaniu, modyfikowaniu wierszy)

Wprowadzenie Przykład idwyk imię nazwisko gabinet idkatedry wydział nazwakatedry idkursu nazwakursu 1 Jan Kowalski 107 W11K2 11 informatyki I04 Bazy danych 2 Adam Kowalski 107 W13K1 13 matematyki T06 Matematyka dyskretna 3 Jan Nowak 387 W8K3 8 informatyki Z17 Techn.programowania 4 Adam Nowak 41 W11K4 11 fizyki teoretycznej T07 Fizyka co stanie się jeśli usuniemy wiersze dla idwyk=3? co jeśli zmienimy nazwisko prowadzącego Bazy danych na Nowak? jak wstawić nowy kurs (np. nazwę)?

Definicje 1NF Pierwsza postać normalna Relacja R jest w pierwszej postaci normalnej iff każdy atrybut ma wartość atomową oraz nie istnieją powtarzające się krotki (tzn. istnieje klucz).

Definicje 2NF Druga postać normalna Relacja R jest w drugiej postaci normalnej iff R jest w 1NF oraz żaden atrybut niekluczowy nie jest zależny funkcyjnie od właściwego podzbioru klucza minimalnego. Oznacza to, że jeśli A jest atrybutem niekluczowym oraz X jest kluczem minimalnym relacji (niekoniecznie kluczem głównym) R, to każda zależność funkcyjna Y A, dla Y X narusza 2NF. Normalizacja 1 Szukamy zależności funkcyjnej X Y naruszającej 2NF 2 Rozkładamy R względem tej relacji U 1 = {X } +, U 2 = (U \ {X } + ) X. 3 Kończymy, gdy nie ma zależności naruszających 2NF.

Definicje 3NF Trzecia postać normalna Relacja R jest w trzeciej postaci normalnej iff R jest w 2NF oraz wszystkie niekluczowe atrybuty zależą tylko od pełnego klucza minimalnego. Oznacza to, że dla dowolnych atrybutów niekluczowych X, Y dowolna zależność funkcyjna X Y narusza 3NF.

Definicje 3NF Trzecia postać normalna Relacja R jest w trzeciej postaci normalnej iff R jest w 2NF oraz wszystkie niekluczowe atrybuty zależą tylko od pełnego klucza minimalnego. Oznacza to, że dla dowolnych atrybutów niekluczowych X, Y dowolna zależność funkcyjna X Y narusza 3NF. Alternatywnie Relacja R jest w trzeciej postaci normalnej iff R dla każdej zależności funkcyjnej (X Y ) F zachodzi przynajmniej jeden z warunków: Y X X jest nadkluczem każdy atrybut A Y \ X jest atrybutem kluczowym.

Definicje Podział przykładowej relacji idwyk imię nazwisko gabinet idkatedry 1 Jan Kowalski 107 W11K2 2 Adam Kowalski 107 W13K1 3 Jan Nowak 387 W8K3 4 Adam Nowak 41 W11K4 idkatedry wydział nazwakatedry W11K2 11 informatyki W13K1 13 matematyki W8K3 8 informatyki W11K4 11 fizyki teoretycznej idkursu nazwakursu prowadzący I04 Bazy danych 1 T06 Matematyka dyskretna 2 Z17 Techn.programowania 3 T07 Fizyka 4

Definicje A Simple Guide to 5 Normal Forms in Relational DB Theory. W. Kent Every non-key attribute must provide a fact about the key (1NF), the whole key (2NF), and nothing but the key (3NF). (So help me Codd.)

Definicje BCNF Postać normalna Boyce a Codda Relacja R jest w postaci normalnej Boyce a Codda iff R dla każdej zależności funkcyjnej (X Y ) F zachodzi przynajmniej jeden z warunków: Y X X jest nadkluczem Uwaga: Nie każdą relację można bezstratnie znormalizować do BCNF. Przykładem schematu nie spełniającego BCNF jest {AB C, C A}.

Definicje Przykład R = ABCDEFG, F min = {A C, A D, B D, A F, B C, CG B, FG D, DE C, DE G} klucz minimalny: AE, at. kluczowe: A, E, at. niekluczowe: B, C, D, F, G 1NF: 2NF:? 3NF:? BCNF:?

Definicje Przykład R = ABCDEFG, F min = {A C, A D, B D, A F, B C, CG B, FG D, DE C, DE G} klucz minimalny: AE, at. kluczowe: A, E, at. niekluczowe: B, C, D, F, G 1NF: 2NF: Szukamy z.f. właściwy podzbiór klucza atrybut niekluczowy, np. A C 3NF:? BCNF:?

Definicje Przykład R = ABCDEFG, F min = {A C, A D, B D, A F, B C, CG B, FG D, DE C, DE G} klucz minimalny: AE, at. kluczowe: A, E, at. niekluczowe: B, C, D, F, G 1NF: 2NF: R 1 = ACDF, F 1 = {A C, A D, A F }, R 2,1 = BCDEG, R 2,2 = DFG, F 2,1 = {DE C, DE G, CG B, B C, B D}, F 2,1 = {FG D} 3NF: BCNF:

Wstęp Projektowanie baz bazodanowy komponent projektujemy w sposób analogiczny do całej aplikacji ustalamy główne wymagania klienta, a przede wszystkim najczęstsze zastosowanie bazy danych OLTP vs. OLAP pomaga podjąć decyzję dot. normalizacji nadanie priorytetów komponentom i funkcjonalnościom, identyfikujemy encje, relacje między nimi, uwzględniamy ograniczenia projektu

Koncepcja Koncepcyjny model danych Etap mapowania pojęć dziedzinowych na komponenty (encje) baz danych. Rozpoznanie wymagań biznesowych. Lokalizowanie głównego komponentu i rozbudowywanie zależnie od powiązań. modelowanie abstrakcyjnych pojęć brak wchodzenia w strukturę baz danych, model musi być zrozumiały dla eksperta dziedzinowego i projektanta bazy danych określenie komponentów, które będą podlegać uszczegółowieniu

Modelowanie logiczne Etap modelu logicznego utechniczniamy model koncepcyjny podstawa pod implementację eliminacja redundantnych encji, ponowne wykorzystanie encji i określenie relacje między encjami Diagram struktur danych Identyfikujemy podstawowe encje, własności (atrybuty) encji oraz powiązania między encjami. Informacje te można przedstawić w postaci graficznej: diagram Chena IDEF1X diagram Bachmana diagram Martina UML

Modelowanie fizyczne Fizyczny model danych określamy wchodzące w skład bazy danych: tabele, ich kolumny, typy danych, klucze (w tym klucze obce), ograniczenia na wartości kolumn, triggery(kontrola spójności), poziomy dostępu, widoki i procedury składowane normalizujemy bazę danych rozważając każdą tabelę z osobna uwzględniamy ograniczenia systemowe (np. dialekt, system operacyjny, API frontendu) oraz organizacyjne (np. przewidywana liczba użytkowników, liczba ról użytkowników, wymagania odnośnie logowania zdarzeń, nazewnictwo)

Modelowanie fizyczne Transformacja z modelu logicznego do fizycznego Zależnie od typu bazy danych (relacyjna, relacyjno-obiektowa, obiektowa) mogą pojawić się trudności: implementacja zależności jeden do wielu i wiele do wielu brak dziedziczenia ograniczony zbiór typów danych typy atomowe, dla wielu wartości jednego atrybutu potrzebne jest powielanie rekordu dobór klucza wymagania użytkownika, np. czas działania, wymagania pamięciowe (przydatna denormalizacja)

Modelowanie fizyczne Podsumowanie 1 Określamy cel bazy 2 Określamy podstawowe komponenty, identyfikujemy nośniki informacji 3 Organizujemy informacje w encje, określamy ich atrybuty i powiązania między encjami 4 Transformujemy encje w tabele, określamy klucze 5 Uwzględniamy ograniczenia systemowe, normalizujemy

Diagramy Chena Podstawowe elementy Historia Notacja usystematyzowana przez P. Chena w 1976 r. Pozwala określić encje (transformowane do tabel), ich atrybuty (kolumny) i związki między nimi (klucze obce lub tabele). Podstawowa notacja będąca bazą dla kolejnych. Encja Atrybut Związek

Diagramy Chena Encje Wyszczególniony koncept podczas modelowania logicznego, cechuje się regularną strukturą własności i powiązań. Między encjami może zachodzić specjalny rodzaj powiązania uszczegółowienie isa

Diagramy Chena Atrybuty określają cechy encji określają cechy związków określają cechy złożonego atrybutu wyróżniamy podzbiór atrybutów identyfikujący encję (klucz)

Diagramy Chena Związki Określają powiązania między encjami powiązanie jednoznaczne (1-1) powiązania funkcyjne: jeden do wielu (1-n) powiązania wieloznaczne: wiele do wielu (n-m) Uwaga: mogą występować samopowiązania (związki rekurencyjne) a także związki między więcej niż dwoma encjami

Diagramy Martina Podstawowe elementy rozszerzenie notacji Chena (np. dodanie aktywności) umożliwienie modelowania zdarzeń (diagram przepływów) rozszerzenie modelowania krotności (encje opcjonalne) Określenie krotności:

UML Diagram klas każda encja reprezentowana jest przez klasę różne poziomy szczegółowości (uwzględnienie atrybutów, funkcji,... ) możemy tworzyć drzewa klas (dziedziczenie) umożliwiając różne stopnie uszczegóławiania encji Nazwa_Klasy Atrybuty Funkcje, Procedury, Triggery

UML Asocjacje wskazują na powiązania klas etykieta asocjacji wskazuje krotności oraz kierunek asocjacji asocjacja może mieć oznaczone krotności (cf. notacja Martina) w przypadku autoasocjacji konieczne jest określenie ról wraz z krotnością na końcach asocjacji asocjacja może mieć własne atrybuty (klasy asocjacyjne, łączone przerywaną linią do asocjacji)

UML Agregacja i kompozycja związki silniejsze niż asocjacja (część całości) w przeciwieństwie do asocjacji, istnienie jednej encji może być warunkowane istnieniem innej atrybuty, krotności jak w asocjacji na diagramie oznaczane odpowiednio pustym i wypełnionym diamentem

UML Modelowanie asocjacji połączenie 1-1: poszerzamy tabelę lub stosujemy rozwiązanie dla innych połączeń połączenie 1 do wielu: implementujemy tabelę dla każdej encji i używamy kluczy obcych lub stosujemy rozwiązanie dla wiele do wielu połączenie wiele do wielu (lub inne z atrybutami asocjacji): tworzymy osobną tabelę połączenia, zawierającą klucze obce do tabel reprezentujących łączone encje

UML Uszczegóławianie i dziedziczenie W relacyjnych bazach danych typowe dla baz i języków obiektowych dziedziczenie trzeba obejść: Jedna tabela dla całego drzewa klas wraz z atrybutem uszczegóławiającym obowiązkowe komentarze Zsumowanie atrybutów klasy głównej i dziedziczącej, utworzenie osobnych tabel dla wszystkich klas pochodnych Rozdzielenie każdej z klas, modelowanie zależności dziedziczenia przez agregację/kompozycję z ustalonymi krotnościami

Przykład Przykład Opis: Zaprojektuj bazę danych dla ligi piłkarskiej.

Przykład Przykład Opis: Zaprojektuj bazę danych dla ligi piłkarskiej. Uwzględnij piłkarzy, drużyny oraz rozgrywane mecze.

Przykład Przykład Opis: Zaprojektuj bazę danych ułatwiającą zarządzanie ligą piłkarską. W lidze zawsze jest przynajmniej jedna drużyna, składająca się z wielu piłkarzy oraz przynajmniej jednego trenera. Drużyny identyfikowane są przez ich nazwę oraz siedzibę, natomiast osoby przez imię, nazwisko i datę urodzenia. Dodatkowo przechowywane są informacje o bramkach, asystach i kartkach dla każdego z zawodników. (Natomiast dla każdej z drużyn znamy... ) Każdy mecz odbywa się na konkretnym stadionie, w ramach ustalonych rozgrywek. Grają w nim drużyna gospodarzy oraz gości, uporządkowana para drużyn wraz z sezonem rozgrywek jednoznacznie identyfikuje dany mecz. Żadna drużyna nie może rozgrywać meczy dwa dni pod rząd. Dla każdego meczu przechowujemy jego wynik, strzelców bramek, informację o asystach, kartkach, prowadzącym mecz sędzi oraz dodatkowe statystyki jak procent posiadania piłki (suma posiadania piłki przez obie drużyny nie może przekraczać 100). Baza danych powinna automatycznie uaktualniać statystyki piłkarzy na podstawie dodanego meczu. Możliwe powinno być wygenerowanie aktualnej tabeli drużyn. Po rozegraniu wszystkich meczy (mecz i rewanż pomiędzy każdą parą zespołów) sezon powinien być automatycznie kończony.

Narzędzia Przykładowe narzędzia dla ER i UML Dia NetBeans UML Oracle J/SQL Developer Eclipse UML StarUML UMLet Papyrus UML Modeler Vertabelo TikZ przykład, pakiet TikZ-UML