Bazy danych 3. Zależności funkcyjne Normalizacja relacyjnych baz danych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Bazy danych 3. Zależności funkcyjne Normalizacja relacyjnych baz danych"

Transkrypt

1 Bazy danych 3. Zależności funkcyjne Normalizacja relacyjnych baz danych P. F. Góra /18

2 Zależności funkcyjne (ang. functional dependencies) to jedno z najważniejszych pojęć teoretycznych w relacyjnym modelu baz danych. Definicja. Niech A 1, A 2,..., A n, B 1, B 2,..., B m, C 1, C 2,... będa atrybutami pewnej tabeli R. Oznaczmy X = {A 1, A 2,..., A n }, Y = B 1, B 2,..., B m }, Z = {C 1, C 2,... }. Mówimy, że zbiór atrybutów Y zależy funkcyjnie od zbioru atrybutów X wtedy i tylko wtedy, gdy każda ustalona wartość X jest jednoznacznie powiazana z dokładnie jedna wartościa Y. Zależności funkcyjne zapisujemy w postaci lub w skrócie A 1, A 2,..., A n B 1, B 2,..., B m X Y Copyright c P. F. Góra 3 2

3 Alternatywnie możemy powiedzieć, że wynik rzutowania określa Y jako funkcję X. π X,Y (R) Alternatywnie, jeżeli dwie krotki w tabeli R sa zgodne w atrybutach A 1,..., A n musza być zgodne w atrybutach B 1, B 2,..., B m. Copyright c P. F. Góra 3 3

4 X Y X Y Z x y z 1 x y z 2 jeżeli sa zgodne tutaj to musza być zgodne tutaj Na przykład spodziewamy się, że w osobowej bazie danych obowiazuje zależność funkcyjna PESEL Nazwisko. Jeżeli dwie krotki maja taki sam numer PESEL, musza odnosić się do osób majacych to samo Nazwisko. Zauważmy, że odwrotna zależnść funkcyjna w ogólności nie musi zachodzić. W powyższym przykładzie dwie osoby powiedzmy, matka i córka moga mieć to samo nazwisko, ale różne numery PESEL. Copyright c P. F. Góra 3 4

5 Zależności funkcyjne stanowia więz nałożony na dopuszczalne wartości danych (na przykład nie wolno stworzyć dwóch krotek o takich samych PESELach, ale różnych Nazwiskach). Zależności funkcyjne odkrywamy (lub arbitralnie narzucamy) w procesie analizy tego fragmentu rzeczywistości, który projektowana baza danych ma modelować. Zależności funkcyjne należa do schematu bazy. Zależności funkcyjne sa matematycznym modelem więzów jednoznaczności w modelu relacyjnym baz danych. O zależnościach funkcyjnych nie można wnioskować jedynie na podstawie instancji (faktycznych wystapień) tabel. Copyright c P. F. Góra 3 5

6 Zależności trywialne Zależność funkcyjna A 1, A 2,..., A n B nazywam trywialna, jeśli atrybut B jest równy któremuś atrybutowi A 1,2,...,n. Jeśli przyjmiemy skrótowy zapis zależności z wieloczłonowa prawa strona, zależność jest Trywialna, jeśli zbiór złożony z atrybutów B jest podzbiorem zbioru złożonego z atrybutów A Nietrywialna, jeśli co najmniej jeden B nie jest A Całkowicie nietrywialna, jeśli żadnen B nie jest A. Copyright c P. F. Góra 3 6

7 Reguły wnioskowania (aksjomaty Armstronga) zwrotność: Jeżeli {B 1, B 2,..., B m } {A 1, A 2,..., A n }, to A 1, A 2,..., A n B 1, B 2,..., B m. rozszerzenie: Jeżeli A 1, A 2,..., A n B 1, B 2,..., B m, to A 1, A 2,..., A n, C 1, C 2,..., C k B 1, B 2,..., B m, C 1, C 2,..., C k dla dowolnych C 1, C 2,..., C k. przechodniość: Jeżeli A 1, A 2,..., A n B 1, B 2,..., B m oraz B 1, B 2,..., B m C 1, C 2,..., C k, to A 1, A 2,..., A n C 1, C 2,..., C k. Copyright c P. F. Góra 3 7

8 Dodatkowe reguły wnioskowania Można udowodnić, że poniższe reguły wniokowania wynikaja wprost z aksjomatów Armstronga: Relacja zwrotna: X X Rozszerzanie: jeżeli X Y, wtedy X, Z Y Sumowanie: jeżeli X Y oraz X Z, wtedy X Y, Z Rozkład: jeżeli X Y oraz Z Y, to X Z Przechodniość: jeżeli X Y oraz Y Z, to X Z Pseudoprzechodniość: jeżeli X Y oraz Y, Z W, to X, Z W. Copyright c P. F. Góra 3 8

9 Domknięcia Niech {A 1, A 2,..., A n } będzie pewnym zbiorem atrybutów, S niech będzie zbiorem zależności funkcyjnych. Domknięciem zbioru {A 1, A 2,..., A n } nad S nazywamy taki zbiór atrybutów B, że jeśli jego elementy spełniaja wszystkie zależności funkcyjne z S, to spełniaja także zależność A 1, A 2,..., A n B, a zatem zależność A 1, A 2,..., A n B wynika z S. Domknięcie oznaczam cl{a 1, A 2,..., A n }. Mówiac niezbyt ściśle, domknięcie to zbiór wszystkich atrybutów determinowanych, w sensie zależności funkcyjnych, przez atrybuty zbioru wyjściowego. Copyright c P. F. Góra 3 9

10 Algorytm obliczania domknięcia 1. Na poczatku X oznacza zbiór {A 1, A 2,..., A n }. 2. Znajdujemy wszystkie zależności funkcyjne postaci B 1, B 2,..., B m C, gdzie B i należa do X, a C nie należy. Dołaczamy C do X. 3. Powtarzamy krok 2 tak długo, jak długo do X można dołaczyć jakiś nowy atrybut. Ponieważ X może się tylko rozszerzać, zaś zbiór atrybutów jest skończony, po skończonej liczbie kroków nastapi moment, w którym do X nie da się niczego dołaczyć. 4. W tym momencie X = cl{a 1, A 2,..., A n }. Copyright c P. F. Góra 3 10

11 Powyżej przedstawiony algorytm jest poprawny i intuicyjnie prosty, ale nie jest efektywny może być algorytmem kwadratowym (w czasie) w najgorszym przypadku. Znacznie rozsadniej jest tak uporzadkować zależności funkcyjne, aby każda była używana ( odpalana ) dokładnie w tym momencie, w którym wszystkie atrybuty jej lewej strony znajda się w kandydacie X. Dla dużych baz (i tabel) domknięć nie oblicza się ręcznie! software, który to robi. Istnieje specjalny Copyright c P. F. Góra 3 11

12 Przykład Rozważmy zbiór atrybutów {A, B, C, D, E, F }. Załóżmy, że w tym zbiorze zachodza zależności A, B C, B, C A, D, D E, C, F B. Obliczmy cl{a, B}. X = {A, B}. Wszystkie atrybuty poprzednika zależności A, B C sa w X, więc do X dołaczamy C. X = {A, B, C}. Lewa strona zależności B, C A, D jest w X, A jest już w X, więc do X dołaczamy D. X = {A, B, C, D}. Na mocy zależności D E, dołaczamy do X atrybut E. X = {A, B, C, D, E}. Zleżności C, F B nie możemy wykorzystać, ponieważ F X i nie ma jak dołożyć F do X. Ostatecznie cl{a, B} = {A, B, C, D, E}. Copyright c P. F. Góra 3 12

13 Bazy zależności funkcyjnych Każdy zbiór zależności funkcyjnych pewnego zbioru atrybutów, z którego można wyprowadzić wszystkie inne zależności funkcyjne zachodzace pomiędzy elementami tego zbioru, nazywam baza zbioru zależności funkcyjnych. Jeśli żaden podzbiór bazy nie jest baza (nie umożliwia wyprowadzenia wszystkich relacji), bazę tę nazywam baza minimalna. Copyright c P. F. Góra 3 13

14 Przykład Mam atrybuty A, B, C i zależności A B, A C, B A, B C, C A, C B. Można teraz wyprowadzić zależności nietrywialne A, B C, A, C B, B, C A (oraz zależności trywialne). Baza minimalna jest zbiór {A B, B A, B C, C B}. Inna baza minimalna jest A B, B C, C A. Copyright c P. F. Góra 3 14

15 Pytanie: Po co jemy tę żabę?! Copyright c P. F. Góra 3 15

16 Klucze Mówimy, że zbiór atrybutów {A 1, A 2,..., A n } tworzy klucz pewnej tabeli, jeśli wszystkie pozostałe atrybuty z tej tabeli sa funkcyjnie zależne od wskazanego zbioru. Dwie różne krotki nie moga mieć tych samych kluczy (jeśli maja takie same klucze, musza mieć równe także pozostałe atrybuty, a zatem nie sa różne). Jeżeli przyjmujemy, że tabele sa zbiorami krotek w zabiorze każdy element występuje co najwyżej raz widzimy, że klucz jednoznacznie identyfikuje krotkę. Copyright c P. F. Góra 3 16

17 Klucz o tej własności, że żaden jego podziór właściwy nie jest kluczem, nazywamy kluczem minimalnym. Terminologia alternatywna: W niej to, co powyżej nazwaliśmy kluczem minimalnym, nazywa się po prostu kluczem, natomiast każdy nadzbiór klucza nazywamy nadkluczem. Copyright c P. F. Góra 3 17

18 Zauważmy, że zbiór cl{a 1, A 2,..., A n } zawiera wszystkie atrybuty pewnej tabeli wtedy i tylko wtedy, gdy {A 1, A 2,..., A n } jest (nad)kluczem tej tabeli. Sprawdzenie, czy dany zbiór elementów stanowi klucz tabeli, sprowadza się do sprawdzenia, czy wszystkie atrybuty tabeli należa do domknięcia klucza kandydujacego, czy jakiś właściwy podzbiór klucza kandydujacego także nie ma tej właściwości. Obliczanie domknięć nad zadanym zbiorem zależności funkcyjnych jest formalnym narzędziem służacym do identyfikowania kluczy tabel. Copyright c P. F. Góra 3 18

19 Pierwsza postać normalna Tabela jest w pierwszej postaci normalnej (1PN), jeżeli 1. Tabela posiada klucz. 2. Wszystkie składowe krotek sa atomowe. Można powiedzieć, że pierwsza postać normalna jest warunkiem tego, żeby w ogóle można było mówić o sytemie relacyjnym. Warunek posiadania klucza jest równoważny temu, że tabela jest zbiorem krotek. Copyright c P. F. Góra 3 19

20 Atomowość danych Atomowość danych oznacza, że składowych krotek nie można podzielić. Warunek atomowości uniemożliwia to, żeby składowymi krotek były złożone struktury danych, takie jak tablice, listy itp. W zasadzie wymóg atomowości nakazuje dzielić też atrybuty, które można podzielić, na części logicznie niepodzielne. Na przykład zamiast atrybutu Imię i Nazwisko, powinniśmy mieć dwa atrybuty: Imię, Nazwisko. Można sobie jednak wyobrazić sytuacje, w których taki podział byłby niepotrzebny lub niewskazany. O ile zatem pierwsza postać normalna z cała pewnościa wyklucza złożone struktury danych, o tyle interpretacja pojęcia można podzielić może niekiedy zależeć od natury samych danych, które reprezentować ma konstruowana przez nas baza danych. Rozważmy na przykład nazwy osobowe z Chin czy Korei. Copyright c P. F. Góra 3 20

21 Anomalie baz danych Redundancja ta sama informacja jest niepotrzebnie przechowywana w kilku krotkach. Anomalia modyfikacji informacja zostanie zmodyfikowana w pewnych krotkach, a w innych nie. Która informacja jest wówczas prawdziwa? Anomalia usuwania usuwanie części informacji powoduje utratę innej informacji, której nie chcielibyśmy stracić. Anomalia dołaczania wprowadzenie pewnej informacji jest możliwe tylko wtedy, gdy jednocześnie wprowadzamy jakaś inna informację, która może być obecnie niedostępna. Celem normalizacji baz danych jest unikanie powyższych anomalii. Copyright c P. F. Góra 3 21

22 Druga postać normalna Tabela jest w drugiej postaci normalnej (2PN), jeżeli 1. Tabela jest 1PN. 2. Wszystkie atrybuty niekluczowe zależa funkcyjnie od pełnego klucza. Atrybuty niekluczowe maja zależeć od pełnego klucza, a nie od jego podzbioru właściwego (który nie musi być kluczem!). Wszystkie tabele 1PN, które maja klucze jednokolumnowe, sa automatycznie 2PN. Copyright c P. F. Góra 3 22

23 Przykład Załóżmy, że zależności funkcyjne pomiędzy pewnymi atrybutami maja postać A, B C, A D. Poniższa tabela (podkreślenia oznaczaja klucz) A B C D a 1 b 1 c 1 d 1 a 1 b 2 c 2 d 1 a 1 b 3 c 3 d 1 a 2 b 1 c 4 d 2 nie jest 2PN, gdyż atrybut D zależy tylko od atrybutu A, a więc od części klucza, nie od całego klucza. Copyright c P. F. Góra 3 23

24 Schemat tabeli ze strony 23 nie chroni przed wymienionymi wyżej anomaliami: Nie można wprowadzić informacji o tym, że a 3 d 3, nie wprowadzajac jednocześnie informacji, że (a 3, b ) c (anomalia dołaczania). Usunięcie informacji o tym, że a 2 d 2 wymaga jednoczesnego usunięcia informacji, iż (a 2, b 1 ) c 4 (anomalia usuwania). Wartość d 1 przechowywana jest niepotrzebnie w trzech różnych krotkach (redundancja). Copyright c P. F. Góra 3 24

25 Po rozbiciu powyższej tabeli na dwie tabele będace w 2PN, anomalie dołacza- nia i usuwania nie występuja, a wartość d 1 przechowywana jest tylko w jednej krotce. A B C a 1 b 1 c 1 a 1 b 2 c 2 a 1 b 3 c 3 a 2 b 1 c 4 A D a 1 d 1 a 2 d 2 Proszę pomyśleć, że w poczatkowym przykładzie d 1 mogłoby występować nie w 3, ale w 300 lub w 3000 krotek. Copyright c P. F. Góra 3 25

26 Bezstratne złaczenie (ang. lossless join) Normalizację baz danych (powyżej 1PN) przeprowadza się dzielac tabele wertykalnie na tabele potomne. Tabele te jednak musza pozwalać na pełne odtworzenie wyjściowej informacji po dokonaniu naturalnego złaczenia. Niedopuszczalne jest także, aby naturalne złaczenia kreowały informację fałszywa. Dekompozycję tabeli R na tabele R 1, R 2,..., R n nazywamy dekompozycja bezstratnego złaczenia (ze względu na pewien zbiór zależności funkcyjnych), jeśli naturalne złaczenie R 1, R 2,..., R n jest równe tabeli R. Copyright c P. F. Góra 3 26

27 Dekompozycja tabeli R na dwie tabele R 1, R 2 jest dekompozycja bezstratnego złaczenia, jeśli spełniony jest jeden z dwu warunków (symbol oznacza zależność funkcyjna): lub (R 1 R 2 ) (R 1 R 2 ) (R 1 R 2 ) (R 2 R 1 ) Innymi słowy, wspólna część atrybutów R 1, R 2 musi zawierać klucz kandydujacy R 1 lub R 2. Copyright c P. F. Góra 3 27

28 Twierdzenie Heatha Tabelę R o atrybutach X, Y, Z, spełniajac a zależność funkcyjna X Y można bezstratnie zdekomponować na wyniki rzutowania R 1 = π XY (R) oraz R 2 = π XZ (R). Copyright c P. F. Góra 3 28

29 Przykład Rozpatrzmy tabelę, spełniajac a zależność funkcyjna ID Imię: Tabela S ID Imię Przedmiot 17 Alicja Bazy danych 17 Alicja Teoria języków formalnych 17 Alicja SPK 112 Bogdan Bazy danych 112 Bogdan Systemy czasu rzeczywistego 119 Czesław Teoria języków formalnych 119 Czesław SPK Tabela ta zawiera zależności wielowartościowe, do których jeszcze wrócimy. Copyright c P. F. Góra 3 29

30 Tabelę tę można bezstratnie podzielić na następujace dwie tabele: Tabela S 1 Tabela S 1 ID Imię ID Przedmiot 17 Alicja 17 Bazy danych 112 Bogdan 17 Teoria języków formalnych 119 Czesław 17 SPK 112 Bazy danych 112 Systemy czasu rzeczywistego 119 Teoria języków formalnych 119 SPK Zachodzi S = S 1 S 2. Zauważmy, że taka dekompozycja pozwala uniknać anomalii redundancji, a przede wszystkim anomalii modyfikacji: Gdyby student o ID = 17 zmienił imię, zmianę tę trzeba by wprowadzić w trzech miejscach przed dekompozycja, ale tylko w jednym po dekompozycji. Copyright c P. F. Góra 3 30

31 Trzecia postać normalna Tabela jest w trzeciej postaci normalnej (3PN), jeżeli 1. Tabela jest 2PN. 2. Dla wszystkich atrybutów tabeli zachodzi: Jeżeli A 1, A 2,..., A n A m, to albo {A 1, A 2,..., A n } jest nadkluczem, albo A m jest elementem innego klucza. Trzecia postać normalna jest postacia najczęściej występujac a w zastosowaniach praktycznych. Druga część warunku definicyjnego ( albo A m jest elementem innego klucza ) ma znaczenie tylko wówczas, gdy w tabeli występuja zależności cykliczne (lub częściowe zależności cykliczne). Copyright c P. F. Góra 3 31

32 Zależności przechodnie Jeżeli w tabeli nie występuja zależności cykliczne, powiada się, że 3PN zakazuje wsytępowania zależności przechodnich. Istotnie, przyjmijmy, że spełnione sa zależności funkcyjne A B, B C, A C; ostatnia z tych zależności wynika z dwu pierwszych na zasadzie przechodniości. Następujaca tabela A B C jest 2PN, ale nie jest 3PN, gdyż zachodzi zależność B C, zaś atrybut B nie jest nadkluczem. Sprowadzenie do 3PN oznacza rozbicie powyższej tabeli na dwie tabele: A B B C Copyright c P. F. Góra 3 32

33 Przykład Niech zależności funkcyjne będa takie, jak na poprzednim ekranie. Rozważmy następujac a instancję pierwszej tabeli: A B C a 1 b 1 c 1 a 2 b 1 c 1 a 3 b 1 c 1 a 4 b 2 c 2 Copyright c P. F. Góra 3 33

34 Występuja anomalie dołaczania (nie można wprowadzić a 5 b 3 bez jednoczesnego wprowadzenia b 3 c 3 ), usuwania (nie można usunać b 2 c 2 bez jednoczesnego usunięcia a 4 b 2 ) oraz redundancja (wielkość c 1 przechowywana jest w trzech krotkach). Po sprowadzeniu do 3PN A B a 1 b 1 a 2 b 1 a 3 b 1 a 4 b 2 B C b 1 c 1 b 2 c 2 anomalie te znikaja. Copyright c P. F. Góra 3 34

35 Cykliczne zależności funkcyjne Przykładem cyklicznych zależności funkcyjnych jest A B, B C, C A. W takiej sytuacji atrybuty A, B, C sa sobie równoważne określenie wartości jednego z nich, jednoznacznie ustala wartość dwu pozostałych. Każda z trzech tabel A B C A B C A B C jest 3PN, gdyż co prawda występuja zależności przechodnie, ale atrybuty niekluczowe sa elementami innych kluczy (de facto sa innymi kluczami). Copyright c P. F. Góra 3 35

36 Uwaga! Przy cyklicznych zależnościach funkcyjnych jak poprzednio, tabele rozbite w taki sposób: A B B C C A technicznie rzecz biorac także sa 3PN, a nie zawieraja zależności przechodnich. Jednak taki projekt nie zapobiega redundancji, przeciwnie, wymusza ja, gdyż każda wartość każdego z atrybutów A, B, C jest przechowywana dwa razy. Projekty z poprzedniej strony sa z tego względu zdecydowanie lepsze. Copyright c P. F. Góra 3 36

37 Procedura postępowania 1. Dany jest zbiór atrybutów, które chcemy reprezentować, i zbiór zależności funkcyjnych pomiędzy atrybutami. 2. Znajdujemy bazę minimalna zbioru zależności funkcyjnych. 3. Majac bazę minimalna, sumujemy zależności funkcyjne o takich samych lewych stronach i dla każdej wysumowanej zależności tworzymy tabelę z odpowiednia lewa strona zależności jako kluczem. Taki sposób postępowania prowadzi do projektu bazy, w której tabele sa 3PN. Copyright c P. F. Góra 3 37

38 Procedura szukania bazy minimalnej 1. Każdy atrybut musi występować z lewej lub z prawej strony jednej zależności funkcyjnej w zbiorze. 2. Jeśli jakaś zależność funkcyjna jest właczona do zbioru, nie wszystkie zależności funkcyjne potrzebne do jej wyprowadzenia moga występować w tym zbiorze. 3. Jeśli jakaś zależność funkcyjna zostaje wyłaczona ze zbioru, zależności funkcyjne potrzebne do jej wyprowadzenia musza zostać doń dołaczone. Jeżeli w zbiorze zależności funkcyjnych występuja (częściowe) cykle, może istnieć więcej niż jedna baza minimalna. Copyright c P. F. Góra 3 38

39 Przykład 1 Zaprojektujmy tabele będace (co najmniej) w trzeciej postaci normalnej, spełniajace zależności funkcyjne P, Q R, S, T (1a) R S, T (1b) Czasami wygodnie narysować jest graf skierowany, obrazujacy analizowane zależności funkcyjne. Dla zależności (1) graf taki ma postać P S R Q T Copyright c P. F. Góra 3 39

40 Zależności P, Q S, T można usunać, gdyż na mocy przechodniości wynikaja one z zalezności P, Q R, R S, T. Ostatecznie tabele maja postać T 1 (P, Q, R) T 2 (R, S, T ), gdzie podkreślone atrybuty stanowia klucz. Copyright c P. F. Góra 3 40

41 Przykład 2 Zaprojektujmy tabele będace (co najmniej) w trzeciej postaci normalnej, spełniajace zależności funkcyjne A B, C (2a) B C, D (2b) E, F G, H (2c) G H (2d) A, E D (2e) Zależności A C oraz E, F H eliminujemy na mocy przechodniości. Na pierwszy rzut oka pewna trudność może sprawiać ostatnia z zależności (2). Wiemy jednak, że na mocy przechodniości A D, a poprzednik każdej zależności funkcyjnej można rozszerzyć. Zatem zależność A, E D wynika z pozostałych zależności funkcyjnych (2) i można ja pominać. Copyright c P. F. Góra 3 41

42 Jako graf zależności funkcyjnych (2) otrzymujemy zaś jako tabele A E F B G C D H T 1 (A, B), T 2 (B, C, D), T 3 (E, F, G), T 4 (G, H). Copyright c P. F. Góra 3 42

43 Przykład 3 Zaprojektujmy tabele będace (co najmniej) w trzeciej postaci normalnej, spełniajace zależności funkcyjne A B, D, E (3a) B C, D, E (3b) C A, D, E (3c) D E (3d) Widać, że atrybuty D, E zależa od każdego z atrybutów A, B, C, te zaś trzy tworza cykl. Zależność C E można wyeliminowac na mocy przechodniości. Copyright c P. F. Góra 3 43

44 Grafem zależności funkcyjnych jest natomiast tabele maja postać A B C D E T 1 (A, B, C), T 2 (C, D), T 3 (D, E) W tabeli T 1 kluczem móglby być dowolny spośród atrybutów A, B, C. Podobnie w tabeli T 2 kluczem mógłby być któryś z atrybutów A, B, nie zaś koniecznie C. Copyright c P. F. Góra 3 44

45 Postać normalna Boyce a-codda Tabela jest w postaci normalnej Boyce a-codda (BCNF, PNBC), jeżeli 1. Tabela jest 2PN. 2. Dla każdej zależności nietrywialnej, jeżeli A 1, A 2,..., A n A m, to zbiór {A 1, A 2,..., A n } jest nadkluczem. PNBC jest silniejsza wersja 3PN. Każda tabela będaca PNBC jest także 3PN, ale wynikanie odwrotne nie musi zachodzić. Copyright c P. F. Góra 3 45

46 Do czego dażymy? Przeprowadzajac normalizację bazy danych, staramy się jednocześnie spełnić trzy warunki: 1. Bezstratne złaczenie. 2. Zachowanie wszystkich zależności funkcyjnych. 3. PNBC. Czy zawsze jest to możliwe? Copyright c P. F. Góra 3 46

47 Rozważmy tabelę A B C z następujacymi zależnościami funkcyjnymi: C A A, B C (Na przykład: A nazwa banku, B nazwisko klienta uprawnionego do personal banking, C nazwisko bankiera. Pierwsza zależność mówi, że każdy bankier pracuje w określonym banku, druga, że każdego uprawnionego klienta w danym banku obsługuje określony bankier. Ale klient może mieć konta w więcej niż jednym banku... ) Copyright c P. F. Góra 3 47

48 Powyższa tabela nie jest PNBC, gdyż C nie może być nadkluczem. Jednak żadne rozbicie na dwie tabele dwuatrybutowe albo nie zachowuje kompletu zależności funkcyjnych, albo nie jest dekompozycja bezstratnego złaczenia, albo jedno i drugie. W tej sytuacji zadowalamy się niższa postacia normalna. Zachowanie kompletu zależności funkcyjnych oraz bezstratność złaczeń musza mieć priorytet! Nie każda tabelę daje się znormalizować do PNBC. Copyright c P. F. Góra 3 48

49 Zależności wielowartościowe Przypuśćmy, że kolumny (atrybuty) pewnej tabeli możemy podzielić na trzy wzajemnie rozłaczne podzbiory: X, Y, Z. Wybierzmy teraz pewna wartość x c X faktycznie występujac a w tabeli. Mówimy, że zbiory X, Y zwiazane sa zależnościa wielowartościowa, co zapisujemy X Y, jeżeli po utworzeniu zbioru wszystkich kombinacji x c yz faktycznie występujacych w tabeli stwierdzamy, że x c jest stowarzyszone z tymi samymi wartościami y bez względu na wartości z. Oznacza to, że zbiory Y, Z sa niezależne, czyli nie sa ze soba powiazane bezpośrednio, a co najwyżej poprzez zbiór X. Copyright c P. F. Góra 3 49

50 Mówimy, że zależność wielowartościowa X Y jest trywialna, jeżeli Y X lub X Y stanowi zbiór wszystkich atrybutów tabeli. Każda zależność funkcyjna jest zarazem zależnościa wielowartościowa (być może trywialna), jednak zależność wielowartościowa odnosi się do faktycznej instancji tabeli. Przykład tabeli z zależnościa wielowartościowa już się pojawił na stronie 29. Redundancja i niebezpieczeństwo anomalii modyfikacji sa oczywiste. Copyright c P. F. Góra 3 50

51 Czwarta postać normalna Tabela jest w czwartej postaci normalnej (4PN), jeżeli 1. Tabela jest 3PN. 2. Dla każdej nietrywialnej zależności wielowartościowej A B, A jest nadkluczem. Każda tabela PNBC, która nie zawiera nietrywialnych zależności wielowartościowych, jest automatycznie w 4PN. Copyright c P. F. Góra 3 51

52 W przykładzie ze strony 29 podana tabelę należy rozbić na dwie mniejsze: ID Imię ID Przedmiot Pewne badania wskazuja, że około 20% praktycznie działajacych systemów bazodanowych zawiera tabele nie spełniajace czwartej postaci normalnej, choć spełniajace wymagania niższych postaci. Zapewnienie spełniania 4PN jest więc ważnym, choć najwyraźniej niedocenianym problemem praktycznym. Jest on ważny w szczególności dla tabel pomostowych, opisujacych zwiazki wieloargumentowe. Można co prawda zastanawiać się, czy przynajmniej część z tych tabel jest w 1PN, w szczególności, czy posiadaja klucz. Jednak wiele praktycznie działajacych RDMS dopuszcza duplikaty. Copyright c P. F. Góra 3 52

53 Normalizacja a wydajność Normalizacja baz danych dostarcza mechanizmu pozwalajacego unikać anomalii. Ma to jednak swoja cenę: Dostęp do danych w bazie znormalizowanej może być wolniejszy, gdyż RDBMS musi wykonywać złaczenia. W praktyce czas wykonania zapytania ze złaczeniem lub bez może zależeć od fizycznego stanu instancji bazy (np. fragmentacja plików dyskowych itp.). Dlatego w wielkich bazach danych zoptymalizowanych na odczyt (na przykład w hurtowniach danych) często rezygnuje się z wyższych postaci normalnych, przechowujac dane w tabelach 1PN. To także ma swoja cenę: Wprowadzajac dane do takich tabel lub modyfikujac istniejace dane należy dołożyć szczególnej staranności, aby nie dopuścić do anomalii usuwania lub dołaczania, a szczególnie do anomalii modyfikacji (redundancja jest w tego typu bazy niejako wbudowana). Copyright c P. F. Góra 3 53

Bazy danych 3. Normalizacja baz danych

Bazy danych 3. Normalizacja baz danych Bazy danych 3. Normalizacja baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 Pierwsza postać normalna Tabela jest w pierwszej postaci normalnej (1PN), jeżeli 1. Tabela posiada klucz.

Bardziej szczegółowo

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

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych Bazy danych 2. Zależności funkcyjne Normalizacja baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13 Zależności funkcyjne Definicja: Mówimy, że atrybut B jest zależny funkcyjnie od atrybutów

Bardziej szczegółowo

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

Bazy danych 3. Normalizacja baz danych (c.d.) Bazy danych 3. Normalizacja baz danych (c.d.) P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13 Postać normalna Boyce a-codda Tabela jest w postaci normalnej Boyce a-codda (BCNF, PNBC), jeżeli 1.

Bardziej szczegółowo

Bazy danych 2. Algebra relacji Zależności funkcyjne

Bazy danych 2. Algebra relacji Zależności funkcyjne Bazy danych 2. Algebra relacji Zależności funkcyjne P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 Relacyjne systemy baz danych... zdominowały rynek. Systemy nierelacyjne maja status eksperymentalny

Bardziej szczegółowo

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

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE PLAN WYKŁADU Zależności funkcyjne Anomalie danych Normalizacja Postacie normalne Zależności niefunkcyjne Zależności złączenia BAZY DANYCH Wykład 5 dr inż. Agnieszka Bołtuć ZALEŻNOŚCI FUNKCYJNE Niech R

Bardziej szczegółowo

Normalizacja. Pojęcie klucza. Cel normalizacji

Normalizacja. Pojęcie klucza. Cel normalizacji Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

Pojęcie zależności funkcyjnej

Pojęcie zależności funkcyjnej Postacie normalne Plan wykładu Zależności funkcyjne Cel normalizacji Pierwsza postać normalna Druga postać normalna Trzecia postać normalna Postać normalna Boyca - Codda Pojęcie zależności funkcyjnej Definicja

Bardziej szczegółowo

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

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny? Plan wykładu Spis treści 1 Projektowanie baz danych 1 2 Zależności funkcyjne 1 3 Normalizacja 1NF, 2NF, 3NF, BCNF 4 4 Normalizacja 4NF, 5NF 6 5 Podsumowanie 9 6 Źródła 10 1 Projektowanie baz danych Projektowanie

Bardziej szczegółowo

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

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki Bazy danych Teoria projektowania relacyjnych baz danych. Wykład dla studentów matematyki 2 kwietnia 2017 Ogólne wprowadzenie No przecież do tego służa reguły, rozumiesz? Żebyś się dobrze zastanowił, zanim

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 10/15 Semantyka schematu relacyjnej bazy danych Schemat bazy danych składa się ze schematów relacji i więzów

Bardziej szczegółowo

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009 Systemy baz danych Notatki z wykładu http://robert.brainusers.net 17.06.2009 Notatki własne z wykładu. Są niekompletne, bez bibliografii oraz mogą zawierać błędy i usterki. Z tego powodu niniejszy dokument

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Cel normalizacji. Tadeusz Pankowski

Cel normalizacji. Tadeusz Pankowski Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

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 BAZY DANYCH Microsoft Access NORMALIZACJA BAZ DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Zależności funkcyjne pierwotne i wtórne

Zależności funkcyjne pierwotne i wtórne Zależności funkcyjne pierwotne i wtórne W praktyce, w przypadku konkretnej bazy danych, nie jest zwykle możliwe (ani potrzebne), by projektant określił wszystkie zależności funkcyjne na etapie analizy

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 1 / 40 Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B

Bardziej szczegółowo

Zależności funkcyjne

Zależności funkcyjne Zależności funkcyjne Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności

Bardziej szczegółowo

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

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych BAZY DANYCH wykład 7 Projektowanie relacyjnych baz danych Dr hab. Sławomir Zadrożny, prof. PR Zależności funkcyjne Niech X i Y oznaczają zbiory atrybutów relacji R Powiemy, że dla relacji R obowiązuje

Bardziej szczegółowo

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 BAZY DANYCH Microsoft Access NORMALIZACJA BAZ DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

Bardziej szczegółowo

Projektowanie Systemów Informacyjnych

Projektowanie Systemów Informacyjnych Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło

Bardziej szczegółowo

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

Relacyjny model baz danych, model związków encji, normalizacje 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

Bardziej szczegółowo

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja relacyjnych baz danych. Sebastian Ernst Normalizacja relacyjnych baz danych Sebastian Ernst Zależności funkcyjne Zależność funkcyjna pomiędzy zbiorami atrybutów X oraz Y oznacza, że każdemu zestawowi wartości atrybutów X odpowiada dokładnie

Bardziej szczegółowo

Projektowanie baz danych

Projektowanie baz danych Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2005/06 Plan wykładu Ewolucja

Bardziej szczegółowo

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

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

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

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J. 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

Bardziej szczegółowo

Pierwsza postać normalna

Pierwsza postać normalna 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,

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 1 / 50 Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Wrocławska Wyższa Szkoła Informatyki Stosowanej Normalizacja baz danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Normalizacja relacji ma na celu takie jej przekształcenie,

Bardziej szczegółowo

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

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski azy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Normalizacja relacji bazy danych jako podstawa relacyjnego modelowania danych (wykład przygotowany z wykorzystaniem materiałów

Bardziej szczegółowo

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

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

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

Relacyjne Bazy Danych Andrzej M. Borzyszkowski. Projekt bazy danych normalizacja. PJATK/ Gdańsk. Dwie metodologie. Formalne zasady projektowe Relacyjne Bazy Danych Andrzej M. Borzyszkowski PJATK/ Gdańsk materiały dostępne elektronicznie http://szuflandia.pjwstk.edu.pl/~amb Projekt bazy danych normalizacja 2 Dwie metodologie Formalne zasady projektowe

Bardziej szczegółowo

Bazy danych 6. Przykłady

Bazy danych 6. Przykłady Bazy danych 6. Przykłady P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Przykład I Przedsiębiorca tworzy bazę danych pracowników na potrzeby wypłacania im wynagrodzeń i przekazywania

Bardziej szczegółowo

Normalizacja schematów logicznych relacji

Normalizacja schematów logicznych relacji Normalizacja schematów logicznych relacji Wykład przygotował: Tadeusz Morzy BD wykład 5 Celem niniejszego wykładu jest przedstawienie i omówienie procesu normalizacji. Proces normalizacji traktujemy jako

Bardziej szczegółowo

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

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model relacyjny Opracował: dr inż. Piotr Suchomski Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które

Bardziej szczegółowo

Postać normalna Boyce-Codd (BCNF)

Postać normalna Boyce-Codd (BCNF) Postać normalna Boyce-Codd (BCNF) Grunty Id_Własności Wojewódz. Id-gruntu Obszar Cena Stopa_podatku Postać normalna Boyce-Codd a stanowi warunek dostateczny 3NF, ale nie konieczny. GRUNTY Id_Własności

Bardziej szczegółowo

Pierwsza postać normalna

Pierwsza postać normalna 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,

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

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

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40 Bazy danych wykład trzeci Modelowanie schematu bazy danych Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Modelowanie schematu bazy danych 1 / 40 Outline 1 Zalezności funkcyjne

Bardziej szczegółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie relacji, relacja równoważności, rozkłady zbiorów 1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i

Bardziej szczegółowo

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

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji BAZY DANYCH WYKŁAD 5 Normalizacja relacji. Zapytania zagnieżdżone cd. Wady redundancji Konieczność utrzymania spójności kopii, Marnowanie miejsca, Anomalie. (Wybrane materiały) Dr inż. E. Busłowska Copyright

Bardziej szczegółowo

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

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 5 (Projektowanie i normalizacja bazy danych)

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja Plan Zależności funkcyjne 1. Zależności funkcyjne jako klasa ograniczeń semantycznych odwzorowywanego świata rzeczywistego. 2. Schematy relacyjne = typ relacji + zależności funkcyjne. 3. Rozkładalność

Bardziej szczegółowo

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

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości. elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana

Bardziej szczegółowo

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

Bazy danych Algebra relacji Wykład dla studentów matematyki Bazy danych Algebra relacji Wykład dla studentów matematyki 8 marca 2015 Algebra relacji Model teoretyczny do opisywania semantyki relacyjnych baz danych, zaproponowany przez T. Codda (twórcę koncepcji

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 11/15 NORMALIZACJA c.d. Przykład {UCZEŃ*, JĘZYK*, NAUCZYCIEL} {UCZEŃ, JĘZYK} NAUCZYCIEL NAUCZYCIEL JĘZYK Są

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Podczas używania bazy danych mogą pojawić się tzw. anomalie sytuacje, w których może dojść do utracenia danych. Anomalie, mogące wystąpić w niedostatecznie znormalizowanych tabelach,

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

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

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki. Normalizacja Niewłaściwe zaprojektowanie schematów relacji może być przyczyną dublowania się danych, ich niespójności i anomalii podczas ich aktualizowania Przykłady anomalii PROWNIY id_prac nazwisko adres

Bardziej szczegółowo

Związki pomiędzy tabelami

Związki pomiędzy tabelami Związki pomiędzy tabelami bazy danych. Stosowanie relacji jako nazwy połączenia miedzy tabelami jest tylko grą słów, którą można znaleźć w wielu podręcznikach ( fachowo powinno się używać związku). Związki

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1 Bazy Danych Instrukcja laboratoryjna Temat: Normalizacje 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie. Normalizacja to proces organizacji danych w bazie danych. Polega on na

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Model relacyjny Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach baz danych. Podstawą tego modelu stała się praca opublikowana przez E.F. Codda

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

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

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model związków encji Opracował: dr inż. Piotr Suchomski Świat rzeczywisty a baza danych Świat rzeczywisty Diagram związków encji Model świata rzeczywistego Założenia, Uproszczenia, ograniczenia

Bardziej szczegółowo

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

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL Plan wykładu 2 ZY DNYH Wykład 2: Sprowadzanie do postaci normalnych. SQL. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Zależności funkcyjne c.d.

Zależności funkcyjne c.d. Zależności funkcyjne c.d. Przykłady. Relacja Film (zapis w postaci tabeli): Tytuł Rok Długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne 1977 124 Kolor Fox Carrie Fisher Gwiezdne 1977 124 Kolor Fox

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

Bardziej szczegółowo

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

PODSTAWY BAZ DANYCH 2009/ / Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 2009/2010 1 Literatura 1. Connolly T., Begg C.: Systemy baz danych. Tom 1 i tom 2. Wydawnictwo RM 2004. 2. R. Elmasri, S. B. Navathe: Wprowadzenie do systemu baz danych, Wydawnictwo

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia III Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. III Jesień 2011 1 / 1 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

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

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

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

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

Bardziej szczegółowo

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Matematyczne Podstawy Kognitywistyki

Matematyczne Podstawy Kognitywistyki Matematyczne Podstawy Kognitywistyki Dorota Leszczyńska-Jasion Kombinatoryka, ci agi liczbowe, skończone przestrzenie probabilistyczne Przykłady zagadnień kombinatorycznych Rozważmy układ n miast o bardzo

Bardziej szczegółowo

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

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

Program nauczania. Systemy baz danych. technik informatyk 351203

Program nauczania. Systemy baz danych. technik informatyk 351203 Program nauczania Systemy baz technik informatyk 351203 Treści nauczania Lp. Temat Liczba godzin Efekty kształcenia 1. Zapoznanie z pojęciem baz 53 1. Pojęcie bazy podstawowe definicje 2 PKZ(E.b)11 2.

Bardziej szczegółowo

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

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19 Bazy danych wykład trzeci Przekształcenie modelu ER na model relacyjny Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Przekształcenie modelu ER na model relacyjny 1 / 19 Przekształcanie

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH 1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na

Bardziej szczegółowo

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B. RELACJE Relacje 1 DEFINICJA Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B. Relacje 2 Przykład 1 Wróćmy do przykładu rozważanego

Bardziej szczegółowo

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

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Słowo wstępne (13) Przedmowa i podziękowania (drugie wydanie) (15) Podziękowania (15) Przedmowa i podziękowania (pierwsze wydanie)

Bardziej szczegółowo

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Układy liniowo niezależne

Układy liniowo niezależne Układy liniowo niezależne Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW 3.wykład z algebry liniowej Warszawa, październik 2016 Mirosław Sobolewski (UW) Warszawa, październik 2016 1

Bardziej szczegółowo

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

Bazy danych 11. Algorytmy złaczeń. P. F. Góra Bazy danych 11. Algorytmy złaczeń P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT... FROM

Bardziej szczegółowo

Bazy danych. Algebra relacji

Bazy danych. Algebra relacji azy danych lgebra relacji Model danych Model danych to spójny zestaw pojęć służący do opisywania danych i związków między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania więzów

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań

Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań 1 Struktury modelowe Przedstawimy teraz pewien

Bardziej szczegółowo

Zadanie 1. Suma silni (11 pkt)

Zadanie 1. Suma silni (11 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. Suma silni (11 pkt) Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco: 1 dla n = 1 n! = ( n 1! ) n dla n> 1 Rozpatrzmy funkcję

Bardziej szczegółowo

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

Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Relacyjne bazy danych Stworzone

Bardziej szczegółowo

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Wstęp

Bardziej szczegółowo

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania

Bardziej szczegółowo

Teoretyczne podstawy programowania liniowego

Teoretyczne podstawy programowania liniowego Teoretyczne podstawy programowania liniowego Elementy algebry liniowej Plan Kombinacja liniowa Definicja Kombinacja liniowa wektorów (punktów) x 1, x 2,, x k R n to wektor x R n k taki, że x = i=1 λ i

Bardziej szczegółowo

Układy równań liniowych

Układy równań liniowych Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K

Bardziej szczegółowo

RBD Relacyjne Bazy Danych Więzy realcji

RBD Relacyjne Bazy Danych Więzy realcji Wykład 8 RBD Relacyjne Bazy Danych Więzy realcji Bazy Danych - A. Dawid 2011 1 Więzy (Constraints) Więzy ograniczenia na związki między poszczególnymi atrybutami w bazie danych. Określają często zakres

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

Bazy danych TERMINOLOGIA Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.

Bardziej szczegółowo

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

Bazy danych 2. Relacyjny model baz danych

Bazy danych 2. Relacyjny model baz danych Bazy danych 2. Relacyjny model baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 Relacyjny model baz danych jest stary, ale wciaż zajmuje 80% rynku. Nic nie wskazuje na to, aby w najbliższym

Bardziej szczegółowo

Model relacyjny bazy danych

Model relacyjny bazy danych Bazy Danych Model relacyjny bazy danych Przygotował: mgr inż. Maciej Lasota Bazy Danych 1 1) Model relacyjny bazy danych Relacyjny model bazy danych pojawił się po raz pierwszy w artykule naukowym Edgara

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Normalizacja relacji

Normalizacja relacji Wydział Zarządzania AGH Katedra Informatyki Stosowanej Normalizacja relacji Informatyczne systemy zarządzania Program wykładu Normalizacja Pierwsza postać normalna Druga postać normalna Klucze Przykłady

Bardziej szczegółowo

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

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge BAZA DANYCH Informatyka ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge Treść zadania: Dyrektor szkoły dysponuje plikami Uczniowie, Klasy i Przedmioty. Oto opisy wierszy w poszczególnych plikach:

Bardziej szczegółowo

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo