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



Podobne dokumenty
1 Przygotował: mgr inż. Maciej Lasota

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

Technologia informacyjna

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

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

Model relacyjny bazy danych

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

Normalizacja baz danych

Normalizacja baz danych

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

Projektowanie Systemów Informacyjnych

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

Pierwsza postać normalna

Pojęcie zależności funkcyjnej

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

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

Model relacyjny. Wykład II

Wykład 2. Relacyjny model danych

Bazy danych. Algebra relacji

Bazy Danych i Usługi Sieciowe

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

Normalizacja. Pojęcie klucza. Cel normalizacji

1 Wstęp do modelu relacyjnego

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

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Cel normalizacji. Tadeusz Pankowski

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

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

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

Normalizacja tabel POSTACIE NORMALNE TABEL

Projektowanie relacyjnych baz danych

WPROWADZENIE DO BAZ DANYCH

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

Związki pomiędzy tabelami

Systemy baz danych. Notatki z wykładu

WPROWADZENIE DO BAZ DANYCH

Pierwsza postać normalna

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

Relacyjny model danych

Baza danych. Baza danych to:

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,

Technologie baz danych

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

Projektowanie bazy danych przykład

Bazy danych i usługi sieciowe

Autor: Joanna Karwowska

Transformacja modelu ER do modelu relacyjnego

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Projekt małej Bazy Danych.

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

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

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

Technologia Informacyjna

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

Baza danych. Modele danych

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

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

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

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

Przykłady normalizacji

Bazy danych 3. Normalizacja baz danych

Program nauczania. Systemy baz danych. technik informatyk

Normalizacja relacji

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

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

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

Bazy danych Algebra relacji Wykład dla studentów matematyki

Agnieszka Ptaszek Michał Chojecki

Egzamin / zaliczenie na ocenę* 0,5 0,5

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

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych i usługi sieciowe

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

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

Technologie baz danych

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

Model relacyjny. Wykład II

Bazy danych TERMINOLOGIA

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

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

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Zadanie 1. Suma silni (11 pkt)

Zajęcia 1. W następnej tabeli zebrane są dane używane w bibliotece, które są przetwarzane przez bibliotekarza w różnych fazach obsługi czytelnika.

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

Teoretyczne podstawy informatyki

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

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

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Literatura. Bazy danych s.1-1

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

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

Bazy danych. Andrzej Łachwa, UJ, /15

Teoretyczne podstawy informatyki

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

Transkrypt:

Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009

Definicje Operacje na relacjach Relacja definicja Relacyjny model baz danych pojawił się po raz pierwszy w artykule naukowym Edgara Codda w 1970 roku. W terminologii matematycznej baza danych jest zbiorem relacji. Stąd historyczne pochodzenie nazwy relacyjny model danych i relacyjna baza danych. W matematyce relację definiuje się jako podzbiór iloczynu kartezjańskiego zbiorów wartości. Reprezentacją relacji jest dwuwymiarowa tabela złożona z kolumn i wierszy.

Definicje Operacje na relacjach Relacja W relacji cechy rzeczywistości opisywane są w atrybutach: Schemat relacji to zbiór nazw atrybutów: S = {A 1,..., A n } Wartość atrybutów należy do dziedziny: {D 1,..., D n } Relacja na schemacie S to podzbiór iloczynu kartezjańskiego dziedzin atrybutów (zbiorów wartości): R D 1 x,..., xd n Relacja R jest zbiorem krotek, zbiór krotek może być reprezentowany jako tabela (kolumny odpowiadają atrybutom, wiersze odpowiadają krotkom): R { k 1,..., k n }

Definicje Operacje na relacjach Relacja W relacji cechy rzeczywistości opisywane są w atrybutach: Schemat relacji to zbiór nazw atrybutów: S = {A 1,..., A n } Wartość atrybutów należy do dziedziny: {D 1,..., D n } Relacja na schemacie S to podzbiór iloczynu kartezjańskiego dziedzin atrybutów (zbiorów wartości): R D 1 x,..., xd n Relacja R jest zbiorem krotek, zbiór krotek może być reprezentowany jako tabela (kolumny odpowiadają atrybutom, wiersze odpowiadają krotkom): R { k 1,..., k n }

Definicje Operacje na relacjach Relacja W relacji cechy rzeczywistości opisywane są w atrybutach: Schemat relacji to zbiór nazw atrybutów: S = {A 1,..., A n } Wartość atrybutów należy do dziedziny: {D 1,..., D n } Relacja na schemacie S to podzbiór iloczynu kartezjańskiego dziedzin atrybutów (zbiorów wartości): R D 1 x,..., xd n Relacja R jest zbiorem krotek, zbiór krotek może być reprezentowany jako tabela (kolumny odpowiadają atrybutom, wiersze odpowiadają krotkom): R { k 1,..., k n }

Definicje Operacje na relacjach Relacja W relacji cechy rzeczywistości opisywane są w atrybutach: Schemat relacji to zbiór nazw atrybutów: S = {A 1,..., A n } Wartość atrybutów należy do dziedziny: {D 1,..., D n } Relacja na schemacie S to podzbiór iloczynu kartezjańskiego dziedzin atrybutów (zbiorów wartości): R D 1 x,..., xd n Relacja R jest zbiorem krotek, zbiór krotek może być reprezentowany jako tabela (kolumny odpowiadają atrybutom, wiersze odpowiadają krotkom): R { k 1,..., k n }

Definicje Operacje na relacjach Klucz relacji Klucz relacji K jest zbiorem atrybutów (jeden lub wiele), które jednoznacznie wyznaczają krotkę (wiersz). Klucze możemy podzielić: klucze właściwe (żaden podzbiór właściwy klucza właściwego nie jest kluczem), klucze główne (jeden klucz właściwy relacji, wybrany do identyfikacji krotki).

Definicje Operacje na relacjach Operacje na relacjach 1 Selekcja wybór krotek (wierszy): Σ w (R) ={K R:w(k)} w - warunek selekcji 2 Projekcja (rzut) wybór atrybutów (kolumn): Π w (S ) ={k(s ) : k R} S - podzbiór schematu S 3 Złączenie operacje na dwóch relacjach 4 Operacje teoriomnogościowe (suma, iloczyn, różnica)

Definicje Operacje na relacjach Operacje na relacjach 1 Selekcja wybór krotek (wierszy): Σ w (R) ={K R:w(k)} w - warunek selekcji 2 Projekcja (rzut) wybór atrybutów (kolumn): Π w (S ) ={k(s ) : k R} S - podzbiór schematu S 3 Złączenie operacje na dwóch relacjach 4 Operacje teoriomnogościowe (suma, iloczyn, różnica)

Definicje Operacje na relacjach Operacje na relacjach 1 Selekcja wybór krotek (wierszy): Σ w (R) ={K R:w(k)} w - warunek selekcji 2 Projekcja (rzut) wybór atrybutów (kolumn): Π w (S ) ={k(s ) : k R} S - podzbiór schematu S 3 Złączenie operacje na dwóch relacjach 4 Operacje teoriomnogościowe (suma, iloczyn, różnica)

Definicje Operacje na relacjach Operacje na relacjach 1 Selekcja wybór krotek (wierszy): Σ w (R) ={K R:w(k)} w - warunek selekcji 2 Projekcja (rzut) wybór atrybutów (kolumn): Π w (S ) ={k(s ) : k R} S - podzbiór schematu S 3 Złączenie operacje na dwóch relacjach 4 Operacje teoriomnogościowe (suma, iloczyn, różnica)

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

wstęp Jak zacząć? Etapy projektowania Model związków encji Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu, oraz tego, co próbujemy osiągnąć poprzez stworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości: Zdolność przechowywania potrzebnych danych Zdolność obsługi wymaganych związków (relacji) Zdolność rozwiązywania problemu Zdolność do narzucania integralności danych Zdolność narzucania wydajności w przetwarzaniu danych Zdolność uwzględniania przyszłych zmian

Etapy projektowania Relacja Jak zacząć? Etapy projektowania Model związków encji 1 Pierwszym etapem w projektowaniu bazy danych jest zebranie informacji o tym, do czego ma nam ona służyć. Na pierwszym miejscu należy określić cel projektowania bazy danych. Ważne jest znać cel przed rozpoczęciem zbierania bardziej szczegółowych informacji. 2 Drugim etapem jest określenie obiektów, czyli zdefiniowanie kluczowych obiektów, które powinny się znaleźć w bazie danych. np. projektując bazę sklepu kluczowymi obiektami są klienci, zamówienia, produkty itd. Każdy stworzony obiekt posiada określone cechy np. klient posiada imię, nazwisko, adres itd.

Etapy projektowania Relacja Jak zacząć? Etapy projektowania Model związków encji 1 Pierwszym etapem w projektowaniu bazy danych jest zebranie informacji o tym, do czego ma nam ona służyć. Na pierwszym miejscu należy określić cel projektowania bazy danych. Ważne jest znać cel przed rozpoczęciem zbierania bardziej szczegółowych informacji. 2 Drugim etapem jest określenie obiektów, czyli zdefiniowanie kluczowych obiektów, które powinny się znaleźć w bazie danych. np. projektując bazę sklepu kluczowymi obiektami są klienci, zamówienia, produkty itd. Każdy stworzony obiekt posiada określone cechy np. klient posiada imię, nazwisko, adres itd.

Etapy projektowania c.d. Jak zacząć? Etapy projektowania Model związków encji 3 Trzeci etap, gdy każdemu obiektowi bazy danych przypiszemy określone cechy możemy dane obiekty przekształcić w tabele (w przypadku modelu relacyjnego). Na tym etapie obiekty nazywane są tabelami natomiast cechy określają kolumny w tabelach. Każda kolumna posiada określoną nazwę np. tabela klienci może posiadać kolumny imię, nazwisko, adres itd. 4 Czwarty etap, najtrudniejszy polega na określeniu relacji między tabelami oraz krotności. Należy rozbić te kolumny, które mogą występować po kilka razy dla każdej tabeli. Dodatkowo należy zdecydować w jaki sposób poszczególne tabele wiążą się ze sobą

Etapy projektowania c.d. Jak zacząć? Etapy projektowania Model związków encji 3 Trzeci etap, gdy każdemu obiektowi bazy danych przypiszemy określone cechy możemy dane obiekty przekształcić w tabele (w przypadku modelu relacyjnego). Na tym etapie obiekty nazywane są tabelami natomiast cechy określają kolumny w tabelach. Każda kolumna posiada określoną nazwę np. tabela klienci może posiadać kolumny imię, nazwisko, adres itd. 4 Czwarty etap, najtrudniejszy polega na określeniu relacji między tabelami oraz krotności. Należy rozbić te kolumny, które mogą występować po kilka razy dla każdej tabeli. Dodatkowo należy zdecydować w jaki sposób poszczególne tabele wiążą się ze sobą

Etapy projektowania c.d. Jak zacząć? Etapy projektowania Model związków encji 5 Ostatni etap, każdej tabeli przypisujemy klucze główne. Wyodrębniamy klucze kandydatów - potencjalne dane, które mogą się przyczynić do jednoznacznej identyfikacji każdego wiersza. Następnie wybieramy jeden z nich na klucz główny całej tabeli. W przypadku gdy nie można jednoznacznie określić żadnego klucza głównego lub uważamy, że klucze - kandydaci nie nadają się do tego możemy stworzyć tzw. logiczny klucz główny. Logiczny klucz główny to dodatkowa kolumna w tabeli jednoznacznie identyfikująca każdy wiersz tabeli.

Model związków encji Jak zacząć? Etapy projektowania Model związków encji Najbardziej powszechnym modelem abstrakcyjnie przedstawiającym strukturę bazy danych jest model związków encji (model E/R). W modelu E/R struktura danych jest reprezentowana graficznie jako diagram związków encji, w którym korzysta się z trzech typów elementów: encje atrybuty związki

Zbiory encji Relacja Jak zacząć? Etapy projektowania Model związków encji Encje są pewnego rodzaju obiektami abstrakcyjnymi, a kolekcja podobnych encji tworzy zbiór encji. Encje określają coś co istnieje, co jest odróżnialne od innych, o czym informację trzeba znać lub przechowywać. Reprezentacją graficzną zbioru encji jest prostokąt:

Atrybuty Relacja Jak zacząć? Etapy projektowania Model związków encji Atrybuty są to właściwości encji danego typu, reprezentują pewną wartość np. liczbę całkowitą, rzeczywistą lub napis. Opisują encje i dla każdego egzemplarza encji powinny przyjmować pojedynczą atomową wartość. Reprezentacją graficzną atrybutu jest elipsa:

Związki Relacja Jak zacząć? Etapy projektowania Model związków encji Związki są połączeniami między dwoma lub większą liczbą zbiorów encji. Wyróżniamy związki binarne (najczęściej stosowane) oraz związki wieloargumentowe. Reprezentacją graficzną związku jest romb:

Diagramy związków encji Jak zacząć? Etapy projektowania Model związków encji Diagramy związków encji są grafami reprezentującymi zbiory encji, atrybuty i związki. Elementy tych różnych typów są reprezentowane jako wierzchołki grafów.

Relacja Jak zacząć? Etapy projektowania Model związków encji Nr Imie Nazwisko Adres 10 Karol Wieczorek 100 11 Jan Serce 101 12 Hans Kloss 102 13 Clark Kent 103 14 Bruce Wayne 104 Nr Miasto Kod pocztowy Ulica Nr m 100 Kielce 25-010 Padarewskiego 35 101 Kraków 34-145 Smocza 102 102 Warszawa 00-917 Woronicza 17 103 Kielce 25-277 Warszawska 122 104 Morawica 23-088 Kielecka 34

Diagram związków encji Jak zacząć? Etapy projektowania Model związków encji

Normalizacja definicja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Normalizacja to proces organizacji danych w bazie danych. Polega on na tworzeniu tabel i ustanawianiu pomiędzy nimi powiązań według reguł obowiązujących zarówno przy ochronie danych, jak i uelastycznianiu bazy danych przez eliminowanie powtarzających się i niespójnych zależności. Normalizując bazę danych usuwamy z niej nadmiarowość tzw. redundancję. Nadmiarowość w bazie danych bywa szkodliwa. Jej istnienie powoduje niepotrzebny wzrost objętości bazy danych, oraz prowadzi do problemów z utrzymaniem spójności danych czyli tzw. anomalii.

Schemat normalizacji Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski

1PN definicja Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Pierwsza postać normalna dotyczy powtarzających się grup danych, jeżeli zależności funkcyjne pomiędzy danymi wskazują na związki jeden do wielu, wskazuje to na istnienie grup danych. Definicja pierwszej postaci normalnej Relacja jest w pierwszej postaci normalnej wtedy i tylko wtedy gdy każdy atrybut niekluczowy jest funkcyjnie zależny od klucza głównego Pierwsza postać normalna wymaga, aby żaden atrybut(kolumna) w tabeli nie był podzielny dalej, a także, aby nie było powtarzających się grup.

2PN definicja Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Druga postać normalna dotyczy zależności funkcyjnych od części klucza złożonego, normalizacja do drugiej postaci ma na celu wykluczenie takich zależności. Definicja drugiej postaci normalnej Relacja jest w drugiej postaci normalnej wtedy i tylko wtedy, gdy jest w pierwszej postaci normalnej i każdy atrybut niekluczowy, czyli nie należący do zadanego klucza, jest w pełni funkcyjnie zależny od klucza głównego. Druga postać normalna mówi, że żadna informacja w wierszu nie może zależeć tylko od części klucza podstawowego (głównego).

3PN definicja Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Trzecia postać normalna ma na celu wykluczenie zależności przechodnich pomiędzy danymi poprzez określenie danych determinujących spośród niekluczowych atrybutów relacji. Definicja trzecia postaci normalnej Relacja jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy jest w drugiej postaci normalnej i każdy niekluczowy atrybut jest bezpośrednio, a nie przechodnio, zależny od klucza głównego. Trzecia postać mówi, że żadna informacja w kolumnie, która nie jest kluczem podstawowym, nie może zależeć od niczego innego, jak tylko od klucza podstawowego.

normalizacji 1 Wprowadzenie Omówienie PN Dodatkowe PN Wnioski W poniższych krokach przedstawiono proces normalizacji fikcyjnej tabeli student. Mamy tabelę student w postaci nieznormalizowanej: 1 Autorprzykadu : PiotrGawrysiak pgawrysiak@supermedia.pl PolitechnikaWarszawska

normalizacji c.d. Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Pierwsza postać normalna cechy: Brak powtarzających się grup Tabele powinny mieć tylko dwa wymiary Ponieważ jeden student ma kilka klas, klasy powinny znajdować się w oddzielnej tabeli Występowanie pól Klasa 1, Klasa 2 i Klasa 3 w powyższych rekordach jest oznaką problemów podczas projektowania

normalizacji 1PN Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Pierwsza postać normalna 1PN:

normalizacji 2PN Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Druga postać normalna cechy: Eliminowanie powtarzających się danych W powyższej tabeli dla każdego pola Nr Studenta istnieje wiele wartości w polach Nr Klasy Pole Nr Klasy nie jest zależne od pola Nr Studenta (klucz podstawowy), dlatego ta relacja nie znajduje się w drugiej postaci normalnej

normalizacji 2PN Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Drugą postać normalną przedstawiono na następujących dwóch tabelach: studenci i rejestracja

normalizacji 3PN Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Trzecia postać normalna cechy: Eliminowanie danych, które nie zależą od klucza W ostatnim przykładzie pole Pokój (numer pokoju opiekuna) jest zależne od atrybutu Opiekun Rozwiązaniem jest przeniesienie tego atrybutu z tabeli Studenci do tabeli Wydział

normalizacji 3PN Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Trzecia postać normalna 3PN:

Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Postać normalna Beyoce a - Codda Definicja postaci normalnej Boyce a-codda stanowi właściwie sumę pierwszej, drugiej i trzeciej postaci normalnej. Posługując się wyłącznie tą definicją można stwierdzić, czy relacja spełnia warunki relacyjnego modelu danych. PN B-C Relacja jest w postaci normalnej Boyce a-codda wtedy i tylko wtedy, kiedy każdy jej atrybut zależy funkcjonalnie tylko od jej klucza głównego.

4 i 5 PN definicje Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Czwarta postać normalna służy do eliminacji relacji między tabelami typu (jeden do wielu) zachodzących między niezależnymi kolumnami. Piąta postać normalna polega na podziale tabeli źródłowej na maksymalną ilość tabel w celu uniknięcia redundancji (nadmiarowości).

Wnioski Relacja Wprowadzenie Omówienie PN Dodatkowe PN Wnioski Bardzo często bazy danych są normalizowane do 3PN lub BCPN. Dalsza normalizacja zazwyczaj nie jest nieopłacalna ze względu na duży spadek wydajności tak znormalizowanych baz danych (głównie chodzi o czas realizacji zapytań w przypadku dużych zbiorów danych). Znormalizowanie bazy do postaci 5PN powoduje, że zwiększa się ilość prostych zapytań do bazy danych w ramach uzyskania danych z wielu tabel, co znacznie wpływa no obniżenie prędkości wykonania zapytań.

Pytania?

Koniec Dziękuję za uwagę