Pierwsza postać normalna

Podobne dokumenty
Pierwsza postać normalna

Przykłady normalizacji

Normalizacja relacji

Relacyjny model danych

Normalizacja baz danych

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

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

Technologia informacyjna

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

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

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

Wykład 2. Relacyjny model danych

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

Baza danych. Baza danych to:

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

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Technologia Informacyjna

1 Przygotował: mgr inż. Maciej Lasota

1 Wstęp do modelu relacyjnego

WPROWADZENIE DO BAZ 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 Systemów Informacyjnych

Transformacja modelu ER do modelu relacyjnego

Model relacyjny. Wykład II

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

Baza danych. Modele danych

Bazy danych TERMINOLOGIA

Technologie baz danych

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

Cel normalizacji. Tadeusz Pankowski

Związki pomiędzy tabelami

Normalizacja baz danych

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

Normalizacja schematów logicznych relacji

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

Normalizacja schematu bazy danych. Radosław Fijołek Paweł Romanowski Paweł Trzos

Bazy Danych i Usługi Sieciowe

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

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

Autor: Joanna Karwowska

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

Bazy danych i usługi sieciowe

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Postać normalna Boyce-Codd (BCNF)

Pojęcie zależności funkcyjnej

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

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

Podstawy technologii WWW

Relacyjne Bazy Danych Andrzej M. Borzyszkowski. Projekt bazy danych normalizacja. PJATK/ Gdańsk. Dwie metodologie. Formalne zasady projektowe

Bazy danych w sterowaniu

Normalizacja tabel POSTACIE NORMALNE TABEL

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

Model relacyjny bazy danych

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych 3. Normalizacja baz danych

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

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

Systemy baz danych. Notatki z wykładu

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Agnieszka Ptaszek Michał Chojecki

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

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

Relacyjne bazy danych

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

Bazy danych. Zasady konstrukcji baz danych

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

Projektowanie relacyjnych baz danych

Bazy danych Karta pracy 1

Transformacja modelu ER do modelu relacyjnego

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

Projektowanie baz danych

RELACYJNE BAZY DANYCH

Model relacyjny. Wykład II

PTI S1 Tabele. Tabele. Tabele

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

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

Bazy danych. Algebra relacji

Pojęcie systemu informacyjnego i informatycznego

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

Krzysztof Kluza proste ćwiczenia z baz danych

MS Access Projektowanie c.d. i kwerendy

Projektowanie bazy danych przykład

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

Transkrypt:

Normalizacja

Pierwsza postać normalna Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną) (lpn) oznacza, że tabela nie zawiera powtarzających się grup informacji, co znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę

Relacja nie znormalizowana Pracownik Języki Jan Kowalski angielski słabo, niemiecki - dobrze Adam Kot rosyjski bardzo dobrze

Relacja nie znormalizowana Pracownik Znajomość języków Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo dobrze

Relacja nie znormalizowana Relację "przed normalizacją" zdefiniowano na dwóch dziedzinach: Pracownik i Znajomość Języków Elementami dziedziny Znajomość Języków są również relacje (zdefiniowane na dziedzinach Język i Poziom) Relacja jest z punktu widzenia definicji relacją dwuczłonową, ale nie wszystkie jej dziedziny są proste (dziedzina prosta to taka, której wszystkie elementy są atomowe)

Relacja znormalizowana Pracownik Język Poziom Jan Kowalski angielski słabo Jan Kowalski niemiecki dobrze Adam Kot rosyjski bardzo dobrze

Relacja znormalizowana Relacja jest relacją trójczłonową, której wszystkie dziedziny są proste, jest więc znormalizowana Powodem tego jest uproszczenie struktury danych, które z kolei powoduje uproszczenie operatorów w subjęzyku danych Uproszczenia te nie ograniczają w niczym możliwości reprezentowania obiektów

Relacja znormalizowana - nieporozumienia Pracownik Imię dziecka Data ur. dziecka Kowalski Ania 01.01.2000 Jaś 15.03.2001 Kot Patrycja 20.10.2001 Filemon 30.07.2003

Relacja znormalizowana - nieporozumienia Pracownik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowalski Ania 01.01.2000 Jaś 15.03.2001 Kot Patrycja 20.10.2001 Filemon 30.07.2003

Pierwsza postać normalna Przedmiot Prowadzący Student Ocena matematyka prof. Lis Jak Kot 2,0 matematyka prof. Lis Ewa Osa 3,0 matematyka prof. Lis Adam Struś 5,0

Pierwsza postać normalna Powtarzająca się grupa danych to podzbiór relacji zawierający co najmniej dwa atrybuty, posiadająca własny klucz prosty, w którym istnieją powtarzające się krotki Powtarzanie się takich samych krotek wymuszone jest faktem, że mamy do czynienia z grupą dla której część atrybutów jest strukturą a nie wartością skalarną

Pierwsza postać normalna Przedmiot Student Ocena matematyka Jak Kot 2,0 matematyka Ewa Osa 3,0 matematyka Adam Struś 5,0 Przedmiot matematyka Prowadzący prof. Lis

Anomalie przy usuwaniu, wstawianiu i aktualizacji baza klientów systemu CRM

Anomalie przy usuwaniu Po usunięciu informacji o firmie P H U Żagiel tracimy informacje o branży Handel (Opis)

Anomalie przy wstawianiu Wstawienie informacji nowym kliencie wymaga wpisania opisu branży mimo, że opis już istnieje

Anomalie przy aktualizacji Zmiana opisu Usług krawieckich musi być dokonana w czterech miejscach

Druga postać normalna Relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego

Ta relacja nie jest w drugiej postaci normalnej

Ta relacja nie jest w drugiej postaci normalnej bo: kluczem w relacji jest podzbiór atrybutów Id Firmy i Nazwa branży bo powtórzenie krotki o dwóch identycznych wartościach tych atrybutów wskazywałoby na powtórne przypisanie tej samej branży tej samej firmie atrybut Nazwa zależy funkcjonalnie od atrybutu Id Firmy a nie zależy od atrybutu Nazwa branży (może być wiele firm w każdej z branż)

Relacja po dekompozycji

Trzecia postać normalna Relacja jest w trzeciej postaci normalnej, jeśli: jest w drugiej postaci normalnej żaden atrybut nie będący kluczem nie jest funkcjonalnie związany z żadnym innym atrybutem nie będącym również kluczem

Ta relacja nie jest w trzeciej postaci normalnej Pracownik PESEL KodPocztowy Miejscowość Województwo Jan Kowalski 12345678911 32-082 Bolechowice małopolskie Adam Kot 98977796666 30-150 Kraków małopolskie Ewa Lis 76281976372 32-082 Bolechowice małopolskie

Zależność funkcjonalna przechodnia Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z

Forma normalna Boyce-Codd a Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące kandydatami na klucze są: wielokrotne, złożone, nakładające się na siebie

Forma normalna Boyce a-codd a Relacja jest w postaci Boyce-Codd a jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji Zależność X Y jest trywialna jeżeli Y jest podzbiorem X Definicja BCNF zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając

Forma normalna Boyce-Codd a IdPracownika Zawód Wykształcenie Stawka 1 ślusarz podstawowe 5,20 1 tokarz zawodowe 5,30 2 ślusarz zawodowe 5,50 3 tokarz zawodowe 5,30 4 ślusarz podstawowe 5,20 kluczem w relacji jest podzbiór IdPracownika, Zawód lub IdPracownika, Wykształcenie zależność Zawód, Wykształcenie Stawka jest funkcjonalna i nietrywialna a Zawód, Wykształcenie nie jest zbiorem identyfikującym

Forma normalna Boyce-Codd a IdStudenta Seminarium Opiekun 1 marketing Kowalski 1 kadry Kozłowski 2 kadry Janowski 3 marketing Kowalski 4 informatyka Macioł ponieważ opiekun może mieć tylko jedno seminarium to kluczem w relacji jest podzbiór IdStudenta, Seminarium lub IdStudenta, Opiekun zależność Opiekun Seminarium jest funkcjonalna i nietrywialna a Opiekun nie jest zbiorem identyfikującym

Czwarta forma normalna Relacja jest w czwartej formie normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie zawiera wielowartościowej zależności atrybutów

Więzi Więź (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 więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel

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

Więź jeden-do-jednego

Typy więzi 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)

Więź jeden-do-wielu

Więzi 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ęź więziom identyfikującą

Więź jeden-do-wielu (identyfikująca)

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

Więź 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

Więź 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)

Więź wiele-do-wielu

Więź 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 więzi 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

Przykłady normalizacji

Nr faktury Za okres Nabywca Usługa Strefa czasowa od do 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 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 do 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 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