Przykłady normalizacji

Podobne dokumenty
Pierwsza postać normalna

Normalizacja relacji

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

Pierwsza postać normalna

Bazy danych TERMINOLOGIA

Technologia informacyjna

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

WPROWADZENIE DO BAZ DANYCH

Baza danych. Baza danych to:

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

Transformacja modelu ER do modelu relacyjnego

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

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Normalizacja baz danych

Wykład 2. Relacyjny model danych

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

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

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

Relacyjne bazy danych

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

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

SIECI KOMPUTEROWE I BAZY DANYCH

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Podstawy technologii WWW

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

KATOLICKI UNIWERSYTET LUBELSKI. Projekt Bazy Danych. Maciej Lis K A T O L I C K I U N I W E R S Y T E T L U B E L S K I

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

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Związki pomiędzy tabelami

Technologia Informacyjna

Bazy danych. Zasady konstrukcji baz danych

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

2017/2018 WGGiOS AGH. LibreOffice Base

Krzysztof Kadowski. PL-E3579, PL-EA0312,

SIECI KOMPUTEROWE I BAZY DANYCH

Model relacyjny. Wykład II

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

Agnieszka Ptaszek Michał Chojecki

Projektowanie Systemów Informacyjnych

Baza danych. Modele danych

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

Projektowanie bazy danych przykład

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

Wprowadzenie do baz danych

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

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

1 Przygotował: mgr inż. Maciej Lasota

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Relacyjny model danych

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Normalizacja. Pojęcie klucza. Cel normalizacji

Przykładowa baza danych BIBLIOTEKA

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

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

1 Wstęp do modelu relacyjnego

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Transformacja modelu ER do modelu relacyjnego

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

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

Wstęp do relacyjnych baz danych. Jan Bartoszek

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Projektowanie relacyjnych baz danych

KSS: Modelowanie konceptualne przykład

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

Krzysztof Kluza proste ćwiczenia z baz danych

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

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

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

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

FUNKCJE SZBD. ZSE - Systemy baz danych 1

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Cel normalizacji. Tadeusz Pankowski

Rozmiar pola (długość danych)

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

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Bazy danych. Algebra relacji

Pojęcie systemu informacyjnego i informatycznego

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

Technologie baz danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

PTI S1 Tabele. Tabele. Tabele

Bazy danych i usługi sieciowe

2. Tabele w bazach danych

Projektowanie internetowej bazy danych część 1

Bazy danych - wykład wstępny

Posługiwanie się tabelami

Autor: Joanna Karwowska

Bazy Danych i Usługi Sieciowe

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

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

Transkrypt:

Przykłady normalizacji

Nr faktury Za okres Nabywca Usługa Strefa czasowa od 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 8 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 9 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 10 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 11 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 12 do 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 Kierunek Liczba jednostek (czas połączenia) Wartość netto Stawka VAT Kwota VAT Wartość brutto Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 25,3 50,60 22,00 11,13 61,73 Szczyt Plus GSM 30 33,00 22,00 7,26 40,26 Poza szczytem Plus GSM 15 15,00 22,00 3,30 18,30 SMS 20 10,00 22,00 2,20 12,20 Razem 186,10 0,00 186,10 Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 15 30,00 22,00 6,60 36,60 Szczyt Plus GSM 28 30,80 22,00 6,78 37,58 Poza szczytem Plus GSM 12 12,00 22,00 2,64 14,64 SMS 15 7,50 22,00 1,65 9,15 Razem 156,30 33,07 183,37

Nr faktury Za okres Nabywca Usługa Strefa czasowa od 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 8 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 9 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 10 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 11 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 12 do 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5 Kierunek Liczba jednostek (czas połączenia) Wartość netto Stawka VAT Kwota VAT Wartość brutto Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 25,3 50,60 22,00 11,13 61,73 Szczyt Plus GSM 30 33,00 22,00 7,26 40,26 Poza szczytem Plus GSM 15 15,00 22,00 3,30 18,30 SMS 20 10,00 22,00 2,20 12,20 Razem 186,10 0,00 186,10 Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 15 30,00 22,00 6,60 36,60 Szczyt Plus GSM 28 30,80 22,00 6,78 37,58 Poza szczytem Plus GSM 12 12,00 22,00 2,64 14,64 SMS 15 7,50 22,00 1,65 9,15 Razem 156,30 33,07 183,37 Powtarzająca się grupa danych

Nr faktury Za okres Nabywca Usługa Strefa czasowa od do 21113332437 1.11.2007 30.11.2007 21113332442 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 Adam Stawowy, Zabierzów ul. Spokojna 5 Kierunek Liczba jednostek (czas połączenia) Wartość netto Stawka VAT Kwota VAT Wartość brutto Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 25,3 50,60 22,00 11,13 61,73 Szczyt Plus GSM 30 33,00 22,00 7,26 40,26 Poza szczytem Plus GSM 15 15,00 22,00 3,30 18,30 SMS 20 10,00 22,00 2,20 12,20 Razem 186,10 0,00 186,10 Abonament 1 70,00 22,00 15,40 85,40 Połaczenia krajowe Połaczenia krajowe Połaczenia krajowe Szczyt Era 15 30,00 22,00 6,60 36,60 Szczyt Plus GSM 28 30,80 22,00 6,78 37,58 Poza szczytem Plus GSM 12 12,00 22,00 2,64 14,64 SMS 15 7,50 22,00 1,65 9,15 Razem 156,30 33,07 183,37 Klucz w grupie

Nr faktury od Za okres To nie jest pole elementarne do Nabywca 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332442 1.11.2007 30.11.2007 Adam Stawowy, Zabierzów ul. Spokojna 5

to też jest powtarzająca się grupa danych bo za miesiąc będzie tak: Nr faktury Za okres Identyfikator Nabywca od do nabywcy Imię Nazwisko Miejscowość Ulica Nr domu 21113332437 1.11.2007 30.11.2007 1 Andrzej Macioł Kraków Armii Krajowej 7 21113332442 1.11.2007 30.11.2007 2 Adam Stawowy Zabierzów Spokojna 5 21218909871 1.12.2007 31.12.2007 1 Andrzej Macioł Kraków Armii Krajowej 8 21218909900 1.12.2007 31.12.2007 2 Adam Stawowy Zabierzów Spokojna 6

Nr faktury Za okres Nabywca od do Imię Nazwisko Miejscowość Ulica Nr domu 21113332437 1.11.2007 30.11.2007 21218909871 1.12.2007 31.12.2007 21113332442 1.11.2007 30.11.2007 21218909900 1.12.2007 31.12.2007 Andrzej Macioł Kraków Armii Krajowej 7 Adam Stawowy Zabierzów Spokojna 5 brak dobrego kandydata na klucz grupy i dlatego wprowadzamy klucz sztuczny Nr faktury Za okres Identyfikator Nabywca od do nabywcy Imię Nazwisko Miejscowość Ulica Nr domu 21113332437 1.11.2007 30.11.2007 1 21218909871 1.12.2007 31.12.2007 1 21113332442 1.11.2007 30.11.2007 2 21218909900 1.12.2007 31.12.2007 2 Andrzej Macioł Kraków Armii Krajowej 7 Adam Stawowy Zabierzów Spokojna 5

Nr faktury od Za okres do Identyfikator nabywcy 21113332437 1.11.2007 30.11.2007 1 21218909871 1.12.2007 31.12.2007 1 21113332442 1.11.2007 30.11.2007 2 21218909900 1.12.2007 31.12.2007 2 wartość netto = liczba jednostek * cena kwota VAT = wartość netto * stawka wartość brutto = wartość netto + kwota Vat tego nie trzeba pamiętać

to też jest powtarzająca się grupa danych, bo tabela może wyglądać tak:

brak dobrego kandydata na klucz grupy i dlatego wprowadzamy klucz sztuczny i wykonujemy dekompozycję

to też jest powtarzająca się grupa danych, w której kluczem jest rodzaj usługi i dlatego trzeba tablicę zdekomponować:

to nie są powtarzające się grupy danych, ale powtarzające się dane, które warto przechowywać w słownikach:

można nie używać sztucznych kluczy ale należy wówczas zadbać o integralność poprzez zapewnienie kaskadowej aktualizacji: on update cascade on delete cascade

Nr faktury Za okres od do Identyfikator nabywcy 21113332437 1.11.2007 30.11.2007 1 21218909871 1.12.2007 31.12.2007 1 21113332442 1.11.2007 30.11.2007 2 21218909900 1.12.2007 31.12.2007 2

kluczem jest podzbiór: nr faktury, usługa, strefa czasowa, kierunek cena zależy funkcyjnie od podzbioru klucza: usługa, strefa czasowa, kierunek stawka VAT zależy funkcyjnie od podzbioru klucza: usługa

kluczem w prawej tabeli jest id usługi tabela nie jest w trzeciej postaci normalnej bo cena zależy funkcyjnie od zbioru: id usługi, strefa czasowa, kierunek

lewa tabela pozornie nie jest w trzeciej postaci normalnej ale zauważmy, że id rodzaju usługi, strefa czasowa i kierunek to też klucz

Projektowanie relacji Diagramy związków encji Entity Relationships Diagrams ERD

Diagram ERD - przykład atrybut encja Słaba encja związek

Realizacja w modelu relacyjnym

Realizacja - przykład Product Specification ProductToPart Material Part PartToPart

Realizacja - przykład

Projektowanie relacji Związki

Relacja a relacja

Związki Związek (ang. relationship) to powiązanie pomiędzy parą tabel. Istnieje ona wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy. Każda więź jest opisywana przez typ Związki istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel

Typy związków jeden-do-jednego (jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót)

Związek jeden-do-jednego

Typy związków jeden-do-wielu (jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej)

Związek jeden-do-wielu

Związki identyfikujące Klucz obcy, który jest składnikiem złożonego klucza głównego w relacji zależnej określany jest mianem klucza obcego głównego (Primary Foreign Key) a tak zbudowana więź Związkiom identyfikującą

Związek jeden-do-wielu (identyfikujący)

Obcy klucz główny (IdPracownika) Rok Miesiac IdPracownika LiczbaGodzin 2005 01 1 160 2005 01 2 150 2005 02 1 140 2005 02 2 160 Taki wiersz nie może się pojawić 2005 01 1 140

Związek wiele-do-wielu (dane) IdAgregatu Agregat Data IdPracownika Nazwisko Godziny 1 Piła 10.03.05 1 Kowalski 4 1 Piła 10.03.05 2 Lis 4 2 Tokarka 10.03.05 1 Kowalski 4 2 Tokarka 10.03.05 3 Kot 8 1 Piła 11.03.05 1 Kowalski 8 2 Tokarka 11.03.05 3 Kot 2 2 Tokarka 11.03.05 2 Lis 6

Związek wiele-do-wielu Na jednym agregacie mogą pracować różni pracownicy, np. na agregacie Piła 10. marca pracowało dwóch pracowników Jeden pracownik może pracować na wielu agregatach, np. Kowalski pracował 10. marca na Pile i Tokarce)

Związek wiele-do-wielu

Związek wiele-do-wielu (po rekonstrukcji) IdAgregatu Data IdPracownika Godziny 1 10.03.05 1 4 1 10.03.05 2 4 2 10.03.05 1 4 2 10.03.05 3 8 1 11.03.05 1 8 2 11.03.05 3 2 2 11.03.05 2 6

Typy uczestnictwa obowiązkowy (jeśli w pierwszej tabeli muszą znajdować się pewne rekordy zanim zaczniemy wprowadzać rekordy do tabeli drugiej) opcjonalny (jeśli wprowadzanie rekordów do tabeli drugiej nie wymaga istnienia żadnych rekordów w tabeli pierwszej). Stopień uczestnictwa określa minimalną i maksymalną liczbę rekordów w jednej tabeli, które można powiązać z pojedynczym rekordem w tabeli drugiej.

Opcjonalny typ uczestnictwa

Klucz sztuczny Klucz stworzony wyłącznie dla potrzeb Związki w celu zastąpienia złożonego klucza głównego

Klucz złożony...

...zastąpiony kluczem sztucznym

Klucz złożony...

...zastąpiony kluczem sztucznym

Klucz sztuczny Klucz sztuczny może być wykorzystany do kodowania atrybutów tekstowych (w niektórych przypadkach także liczbowych) o powtarzających się wartościach, dla których można utworzyć listę Użycie klucza sztucznego wymaga stworzenia dodatkowej tabeli (słownika) pozwalającego na rozkodowanie klucza