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

Podobne dokumenty
Projektowanie Systemów Informacyjnych

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

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

Bazy danych i usługi sieciowe

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Bazy Danych i Usługi Sieciowe

Pojęcie zależności funkcyjnej

Normalizacja baz danych

Wykład 2. Relacyjny model danych

Cel normalizacji. Tadeusz Pankowski

Bazy danych i usługi sieciowe

Bazy danych. Andrzej Łachwa, UJ, /15

Technologia informacyjna

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

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

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

Pierwsza postać normalna

Związki pomiędzy tabelami

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

Technologie baz danych

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

Modelowanie danych, projektowanie systemu informatycznego

Projektowanie baz danych

RBD Relacyjne Bazy Danych Więzy realcji

Bazy danych. Zasady konstrukcji baz danych

1 Wstęp do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego

Bazy Danych i Usługi Sieciowe

Baza danych. Modele danych

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

Projektowanie baz danych

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

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

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

1 Projektowanie systemu informatycznego

Bazy danych 3. Normalizacja baz danych

Normalizacja baz danych

Literatura. Bazy danych s.1-1

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

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

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

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

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

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

Bazy Danych 2008 Część 1 Egzamin Pisemny

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

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

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

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

Systemy informatyczne. Modelowanie danych systemów informatycznych

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

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

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

Systemy baz danych. Notatki z wykładu

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

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

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

Przykłady normalizacji

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

Pierwsza postać normalna

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

Zależności funkcyjne pierwotne i wtórne

Baza danych. Baza danych to:

Autor: Joanna Karwowska

Program nauczania. Systemy baz danych. technik informatyk

Plan wykładu: Etapy projektowania bazy danych. Modelowanie danych za pomocą diagramów związków encji:

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

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

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

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

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

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

1 Przygotował: mgr inż. Maciej Lasota

Podstawowy Wykład z Systemów Baz Danych

Normalizacja relacji

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych

Autor: Joanna Karwowska

Normalizacja tabel POSTACIE NORMALNE TABEL

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

Posługiwanie się tabelami

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Relacyjny model danych

Model relacyjny. Wykład II

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Algebra relacji

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

Systemy GIS Systemy baz danych

Projektowanie bazy danych

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

Model relacyjny bazy danych

Wykład I. Wprowadzenie do baz danych

Normalizacja schematów logicznych relacji

Transkrypt:

Bazy 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.Widom Copyrights by Arkadiusz Rzucidło 1

Encja Byt pojęciowy opisany argumentami Model rzeczy, osób posiadające tożsamość o których chcemy przechowywać informacje Osoba Samochód Faktura Obraz Książka Komputer Index Filmy tytuł rok długość typ filmu Encja Argumenty Copyrights by Arkadiusz Rzucidło 2

Atrybuty Określają cechy rzeczy, osób itp.: identyfikują opisują podają ilości klasyfikują Są prostego (atomowego) typu Muszą mieć precyzyjne nazwy Rodzaje atrybutów: Obowiązkowe Opcjonalne Przykłady: kod towaru, nazwa nr identyfikacyjny, imię, nazwisko, adres cena, wartość, rodzaj płatności Copyrights by Arkadiusz Rzucidło 3

Klucze Klucz relacji jest zbiorem atrybutów, które jednoznacznie wyznaczają krotkę Klasyfikacja kluczy klucze właściwe: żaden podzbiór właściwy klucza właściwego nie jest kluczem klucz główny: jeden z kluczy właściwych relacji, wybrany do identyfikowania krotek Klucze wykrywa się analizując opisywany świat, a nie dostępne dane! Przykład: id pracownika jest kluczem nazwisko nie jest kluczem nazwisko + imię + data urodzenia + imię ojca -- jest kluczem Copyrights by Arkadiusz Rzucidło 4

Dobór kluczy Jest bardzo trudny Nie może istnieć więcej niż jeden zestaw wartości atrybutów, który posiadałby taki sam zestaw wartości atrybutów tworzących klucz Jeśli istnieje to znaczy, że klucz został źle dobrany Przykład: abstrakcyjny obiekt w pamięci komputera ma klucz, który jest jednoznacznie identyfikowany przez adres przydzielonego mu obszaru pamięci DBMS nie pozwoli na utworzenie zestawu wartości dla których klucz byłby taki sam Niekiedy zestaw atrybutów nie jest wystarczający aby tworzyć klucz. Wprowadza się nowy atrybut (sztuczny) Copyrights by Arkadiusz Rzucidło 5

Dobór kluczy - przykład Firma ma bazę gromadzącą dane o wystawianych fakturach. Co będzie kluczem? Numer Faktury. Jeśli numeracja zaczyna się od początku w każdym roku, Numer Faktury i Rok. Jeśli poszczególne działy stosują własną numerację faktur, Numer Faktury i Nazwa Działu lub Numer Faktury, Nazwa Działu i Rok. Jak widać, właściwy dobór klucza zależy od rzeczywistości, którą chcemy przedstawić w bazie danych. Studenci: Numer Indeksu Rządowa baza danych: PESEL Copyrights by Arkadiusz Rzucidło 6

Związki encji Encje reprezentują elementy rzeczywistości w modelu danych Encje podobnie jak elementy, które reprezentują pozostają względem siebie w relacjach. Schemat relacyjnej bazy danych jest zbiorem schematów relacji Relacyjna baza danych jest zbiorem relacji spełniających warunki integralności dla każdej relacji i między relacjami Copyrights by Arkadiusz Rzucidło 7

Liczebność związków encji Liczebność związków (multiplicity) Wiele do wielu Jeden pracownik może korzystać z wielu zestawów narzędzi Zestaw narzędziowy może być używany przez wielu pracowników Jeden do wielu Jeden pracownik może używać kilku zestawów narzędziowych Narzędzia mogą być używane tylko przez jednego pracownika Wiele do jednego Jeden pracownik może używać tylko jednego zestawu narzędzi Zestaw narzędziowy może być wykorzystywany przez wielu pracowników Jeden do jednego Pracownik ma przypisany zestaw narzędziowy Zestaw narzędziowy może być wykorzystywany tylko przez jednego pracownika Copyrights by Arkadiusz Rzucidło 8

Ograniczenia integralności Świat rzeczywisty opisują tylko te z możliwych relacji, które spełniają zależności semantyczne istniejące w modelowanym świecie Zależności w b.d. modeluje się jako tzw. ograniczenia integralności (integrity constraints) Zależności semantyczne wykrywa się analizując opisywany świat, a nie dostępne dane! Copyrights by Arkadiusz Rzucidło 9

Rodzaje zależności Ograniczenia dotyczące atrybutu obowiązkowość ograniczenia wartości Ograniczenia dotyczące jednej relacji funkcyjne (functional dependency) wielowartościowe (multivalued ) Zależności między relacjami Jednoznaczności referencyjne - zgodność wartości wybranych atrybutów Copyrights by Arkadiusz Rzucidło 10

Zależności funkcyjne Zbiór atrybutów Y jest zależny funkcyjnie od zbioru X gdy z każdą konfiguracją wartości atrybutów z X jest związana co najwyżej jedna konfiguracja wartości z Y Przykład: Imię zależy funkcyjnie od id pracownika (bo pracownik musi posiadać imienie) Id nie zależy funkcyjnie od imienia (bo pracowników o tym samym imieniu może być wielu) Imię nie zależy funkcyjnie od nazwiska (bo Kowalskich o tym samym imieniu może być wielu ) Copyrights by Arkadiusz Rzucidło 11

Zależności wielowartościowe Zbiór atrybutów Y jest zależny wielowartościowo od zbioru X gdy z każdą konfiguracją wartości atrybutów z X jest związany zbiór konfiguracji wartości z Y niezależnie od wartości pozostałych atrybutów Przykład: podręczniki nie zależą od wykładowców nie ma zależności funkcyjnych Układ: Zajęcia Wykładowca - Podręcznik Copyrights by Arkadiusz Rzucidło 12

Zależność jednoznaczności Istnieje co najwyżej jeden zestaw wartości atrybutów encji B, który wchodzi w relację z pewnym zestawem wartości atrybutów encji A Zestaw z encji B nie musi istnieć. Może być obiektem pustym Nie wszystkie zestawy z A muszą wchodzić w relację z B Copyrights by Arkadiusz Rzucidło 13

Zależności integralności referencyjnej Istnieje dokładnie jeden zestaw wartości atrybutów encji B, który wchodzi w relację z zestawem wartości atrybutów encji A Zestaw wartości atrybutów encji B musi istnieć Nie może być obiektem pustym Wszystkie zestawy wartości encji A muszą wchodzić w relację z wartościami atrybutów encji B Więzy integralności referencyjnej wymuszają istnienie wskazanego argumentu lub zestawu argumentów W przypadku próby usunięcia takiego atrybutu (zestawu) DBMS: Nie pozwoli na operację usunięcia lub Usunie wszystkie zestawy, które na atrybut (zestaw) wskazują (kaskadowe usuwanie danych) BARDZO NIEBEZPIECZNE!!! Copyrights by Arkadiusz Rzucidło 14

Inne rodzaje więzów Więzy domenowe (zakresu) atrybut może przyjąć wartości tylko z pewnego zakresu. Więzy ogólne na przykład ograniczenie stopnia związku, to jest ilości partnerów w relacji. Copyrights by Arkadiusz Rzucidło 15

Zbiory słabych encji Jeśli elementy pewnego klucza zbioru encji wybiera się spośród atrybutów innego zbioru encji, zbiór o tak utworzonym kluczu nazywa się zbiorem słabych encji numer Klucz zbioru Szkoły Nazwa Szkoły Miasta Szkoła leży w mieście Copyrights by Arkadiusz Rzucidło 16

Redundancja i Anomalie Redundancja redundancja polega na powtarzaniu wady redundancji: anomalie konieczność utrzymania spójności kopii marnowanie miejsca Anomalie istnienia wstawiania usuwania modyfikacji Copyrights by Arkadiusz Rzucidło 17

Rozkład relacji i normalizacja redundancję usuwa się przez rozkład relacji rozkład odwracalny: można odwrócić przez naturalne złączenie rozkład relacji powinien doprowadzić do tzw. postaci normalnej rozkład relacji nie powinien powodować utraty zależności istniejących w relacji pierwotnej Copyrights by Arkadiusz Rzucidło 18

Normalizacja 1NF Pierwsza postać normalna Relacja jest w pierwszej postaci normalnej gdy wszystkie atrybuty są atomowe prostych typów nr_zam ilosc opis1 opis2 opis3 1234 3 chleb masło ser 1235 1 herbata 1236 3 kawa chleb nr_zam ilosc opis 1234 3 chleb, masło, ser 1235 1 herbata 1236 3 kawa, chleb nr_zam ilosc opis wartość 1234 1 chleb 1,50 zł 1234 1 masło 2,70 zł 1234 1 ser 4,40 zł 1235 1 herbata 2,30 zł 1236 1 kawa 10,50 zł 1236 2 chleb 3,00 zł Copyrights by Arkadiusz Rzucidło 19

Normalizacja 2NF relacja jest w 2NF gdy każdy atrybut niekluczowy (nie należący do klucza właściwego) jest zależny funkcyjnie od całego klucza właściwego przyczyną braku 2NF jest zwykle błędne połączenie danych nr_zam ilosc opis wartość 1234 1 chleb 1,50 zł 1234 1 masło 2,70 zł 1234 1 ser 4,40 zł 1235 1 herbata 2,30 zł 1236 1 kawa 10,50 zł 1236 2 chleb 3,00 zł nr_zam ilosc nr_prod wartość 1234 1 1 1,50 zł 1234 1 2 2,70 zł 1234 1 3 4,40 zł 1235 1 4 2,30 zł 1236 1 5 10,50 zł 1236 2 1 3,00 zł nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł Copyrights by Arkadiusz Rzucidło 20

Normalizacja 3NF relacja jest w 3NF gdy: jest w 1 NF i każdy atrybut niekluczowy jest bezpośrednio zależny funkcyjnie od całego klucza właściwego Jeśli wartość może być wyliczona nie może być atrybutem 3NF jest zazwyczaj wystarczająca dla usunięcia praktycznie ważnych anomalii nr_zam ilosc nr_prod 1234 1 1 1234 1 2 1234 1 3 1235 1 4 1236 1 5 1236 2 1 nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł Copyrights by Arkadiusz Rzucidło 21

Postać normalna Boyce-Codda relacja jest w BCNF gdy każda nietrywialna zależność funkcyjna jest zależnością od klucza (niekoniecznie właściwego) nie każdy schemat można doprowadzić do BCNF z zachowaniem zależności Zakłada izolację niezależnych złożonych relacji. Żadna z encji nie może należeć do dwóch lub więcej relacji jeden-do-wielu lub wiele-do-wielu jeżeli relacje te nie są ze sobą powiązane Klienta zamawia wiele książek a ta sama książka może być dostarczona do wielu klientów najczęściej zależności prowadzące do braku BCNF nie są istotne z punktu widzenia projektu Copyrights by Arkadiusz Rzucidło 22

Normalizacja - 4NF relacja jest w 4NF gdy jeśli każda nietrywialna zależność wielowartościowa jest zależnością od klucza (niekoniecznie właściwego) schemat doprowadza się do 4NF przez rozkład Zakłada izolację znaczeniowo powiązanych złożonych relacji nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł nr_rodz rodzaj_prod nr_kol nr_prod nr_rodz 1 pieczywo 121 1 1 2 nabiał 122 2 2 3używki 123 3 2 124 4 3 125 5 3 Copyrights by Arkadiusz Rzucidło 23

Zasady projektowania związków encji Dokładność projekt powinien odpowiadać specyfikacji. Zbiory encji powinny odzwierciedlać świat rzeczywisty Unikanie redundancji ponieważ powtarzane dane zajmują zbyt wiele miejsca i ryzykuje się, że nie wszystkie wystąpienia dane informacji będą uaktualnione Prostota tylko tyle elementów ile naprawdę potrzeba. Dobór właściwych elementów nie wszystko da się zamodelować jako atrybuty Copyrights by Arkadiusz Rzucidło 24

Cele modelowania pojęciowego precyzyjne określenie zakresu projektu modelowanie informacji: niezbędnej dla działania organizacji niezależnie od implementacji wg określonego modelu danych Copyrights by Arkadiusz Rzucidło 25

Diagramy związków encji Graficzna metoda modelowania bazy danych Trzy główne składowe: Zbiory encji (entity sets) encje są elementami w zbiorach encji Atrybuty (atributes) wartości atrybutów opisują właściwości encji Związki (relationships) opisują połączenia między dwoma lub większą liczbą zbiorów encji. W modelu związków encji w relacje mogą wchodzić więcej niż dwa zbiory encji. Filmy tytuł rok długość typ filmu gwiazdy w posiada Gwiazdy nazwisko adres Studia nazwa adres Copyrights by Arkadiusz Rzucidło 26

Diagramy ERD Atrybuty Obowiązkowe Opcjonalne Związki pokazują zależności między encjami powinny być obustronnie nazwane nie zapisuje się sposobu realizacji Poprawność związków związki 1-1 są podejrzane związki obustronnie obowiązkowe są podejrzane związki rekurencyjne muszą być obustronnie opcjonalne związki n-m powinny zostać rozbite Copyrights by Arkadiusz Rzucidło 27

ERD - przykład Copyrights by Arkadiusz Rzucidło 28

Koniec Copyrights by Arkadiusz Rzucidło 29