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

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

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

Transkrypt

1 PODSTAWY BAZ DANYCH 2009/2010 1

2 Literatura 1. Connolly T., Begg C.: Systemy baz danych. Tom 1 i tom 2. Wydawnictwo RM R. Elmasri, S. B. Navathe: Wprowadzenie do systemu baz danych, Wydawnictwo Helion Garcia-Molina H., Ullman J.D.,:Widom J.: Implementacja systemów baz danych. WNT Ullman J.D., Widom J. : Podstawowy wykład z systemów baz danych. PWN, Ladanyi H.: SQL. Księga eksperta. Wydawnictwo Helion Barker R.: Case metod - modelowanie funkcji i procesów Barker R.: Case metod - modelowanie związków encji

3 PODSTAWY BAZ DANYCH 1. Pojęcie Bazy Danych i Systemu Zarządzania Bazą Danych 3

4 System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego opisu modelem danych, przy czym sposób zapisania wyselekcjonowanych informacji jaka będzie potrzebna użytkownikowi schematem danych. Pomiędzy informacjami mogą występować powiązania (też są informacjami). Zbiór danych (razem z powiązaniami) nazywać będziemy bazą danych (BD). Środki sprzętowe i oprogramowanie umożliwiające współpracę z bazą danych nazywamy systemem zarządzania bazą danych, (SZBD). 4

5 Fakty świata rzeczywistego, o których wiedza reprezentowana jest w bazach danych występowanie obiektów (entity encja) - przedmiotów materialnych lub abstrakcyjnych reprezentowanych przez pewne nazwy o których chcemy pamiętać informacje, np. osoba, zatrudnienie. pozostawanie tych obiektów we wzajemnych powiązaniach (relationship) między sobą wyrażonych przez n-argumentową funkcję zdaniową (n > 1), której argumentami są nazwy obiektów, np. osoba jest zatrudniona posiadanie przez obiekty wartości atrybutów (value attribute). np. pesel, nazwisko, imie, data_ur dla obiektu osoba 5

6 Funkcje systemu zarządzania bazą danych opis danych - logiczny, - fizyczny; możliwości korzystania z bazy; integralność danych; - określenie pewnych warunków, które muszą być spełnione w bazie danych, niezależnie od tego, jakie są w niej aktualnie zapisane wartości; poufność danych; - prawa dostępu poszczególnych użytkowników; ( ustawa o tajności danych) współbieżność dostępu; - mechanizmy wykrywające sytuacje konfliktowe w przypadku korzystania jednocześnie z BD przez wielu użytkowników i ich rozwiązywanie; niezawodność. 6

7 Poziomy opisu baz danych 7

8 Poziomy opisu baz danych Poziom pojęciowy w procesie modelowania tworzenie przez projektanta bazy danych przy pomocy pewnego języka opisu schematu danych (DDL - Date Description Language ) i ściśle z nim związanego modelu danych schematu pojęciowego. Poziom wewnętrzny schemat fizyczny określający sposoby organizacji danych w pamięci zewnętrznej. Poziom zewnętrzny sposób widzenia danych przez poszczególnych użytkowników. 8

9 Modele danych W zależności od języka opisu schematu danych ( DDL - Data Description Language ), języka manipulowania danymi ( DML - Data Manipulation Language ) wyróżnia się następujące modele danych: model hierarchiczny i model sieciowy; (historia) model relacyjny, (E. F. Cood ); (obecny) model relacyjno obiektowy; model zorientowany obiektowo; (przyszłość) model semistrukturalny. (przyszłość) 9

10 Organizacja systemu bazy danych W zależności od organizacji systemu bazy danych można dokonać następujących podziałów: 1. ze względu na rozproszenie: lokalne bazy danych - pamiętanie i udostępnianie danych odbywa się w obrębie jednej instalacji komputerowej; 10

11 Organizacja systemu bazy danych rozproszone bazy danych - składają się z wielu lokalnych baz danych znajdujących się w różnych instalacjach komputerowych; 11

12 Organizacja systemu bazy danych 2. ze względu na liczbę modeli danych: jednomodelowe bazy danych - przyjmuje się jeden model danych (np. relacyjny); 12

13 Organizacja systemu bazy danych wielomodelowe bazy danych - dla jednej bazy danych może współistnieć wiele schematów utworzonych na podstawie danych. różnych modeli 13

14 Wybór SZBD Wybór odpowiedniego SZBD model danych (relacyjny, obiektowy, ); rozmiar bazy; koszty oprogramowania; wydajność; niezawodność; bezpieczeństwo;. kadra. 14

15 Oprogramowanie systemu zarządzania bazą danych UNIX Linux Windows As 400 Oracle, 8, 8i, 9i, 10i, 11 X X X X DB2 7, 8, 9 X X X X SQL Server 2000/ /2008 X Sybase X Informix X MySQL 4, 5 (darmowe)? X X PostgreSQL (darmowe) X Access X Wspomnienia: dbase, FoxPro, Paradox, 15

16 Języki programowania wykorzystywane do baz danych SQL Structured Query Language Rozszerzenia np. PL/SQL, Kompilatory C++, Visual Basic, C#... Java PHP XML inne 16

17 Plan dalszych wykładów Modelowanie danych. Pojęcie modelu relacyjnego. Projektowanie 2PN, 3PN,... Metody implementacji baz danych. indeksy, pamiętanie danych, SQL. PL/SQL. Optymalizacja zapytań. Transakcje. Współbieżność. Pojęcie modelu obiektowego. 17

18 PODSTAWY BAZ DANYCH 2. Pojęcie modelu relacyjnego 18

19 Pojęcie modelu danych Model danych definiuje: struktury danych, operacje, ograniczenia integralnościowe. Relacyjny model danych: relacje, selekcja, projekcja, połączenie, operacje na zbiorach, klucz podstawowy, klucz obcy, zawężenie dziedziny, unikalność, wartość pusta/niepusta. 19

20 Pojęcie krotki - definicja Definicja. Niech dany będzie skończony zbiór U := { A 1, A 2,..., A n }, którego elementy nazywać będziemy atrybutami. Niech każdemu atrybutowi A i U przyporządkowany będzie zbiór wartości DOM(A i ) (może zawierać wartość pustą NULL) zwany dziedziną atrybutu A i (domeną). Niech KROTKA( U ) : DOM( Elementy tego zbioru nazywać będziemy krotkami. Uwaga. Zbiór KROTKA(U) może być zbiorem nieskończonym (gdy jeden ze zbiorów DOM(A i ) jest zbiorem nieskończonym). Definicja. Relacją typu U nazywamy dowolny skończony podzbiór zbioru KROTKA(U). Zbiór wszystkich relacji typu U oznaczać będziemy przez REL(U). X i 1..n A i ) 20

21 Pojęcie krotki i relacji - oznaczenia Relację typu U oznaczać będziemy przez R(U), S(U), T(U),.. Jeżeli z kontekstu wynikać będzie jednoznacznie o jaki zbiór atrybutów chodzi, pisać będziemy R, S, T,... Krotki typu U oznaczać będziemy r(u), s(u), t(u)... Jeżeli z kontekstu wynikać będzie jednoznacznie typ krotki, pisać będziemy r, s, t,... Podzbiory zbioru atrybutów U oznaczać będziemy dużymi literami X, Y, Z,... Do oznaczenia sumy dwóch zbiorów X, Y U stosować będziemy zapis XY zamiast X Y. Dla zbioru atrybutów { A, B } zamiast pisać R({A, B}), stosować będziemy zapis R(A,B). 21

22 Pojęcie krotki i relacji - przykład Przykład. Relacja typu U := { I, N, P, O } U := { nr_indeksu, Nazwisko_studenta, nr_przedmiotu, Ocena} I N P O 10 Nowak a 3 10 Nowak b 4 11 Norek a 3 12 Burek a 3 R 1 R 2 R 3 krotka wiersz rekord ang. tuple 22

23 Operacje na relacjach - Operacje mnogościowe Na relacjach definiuje się pewne operacje: operacje mnogościowe, operacje relacyjne. Definicja. Sumą, różnicą, przekrojem i dopełnieniem relacji R(U) nazywamy odpowiednio zbiory (a) { t KROTKA(U) t R(U) t S(U) }; (b) { t KROTKA(U) t R(U) t S(U) }; (c) { t KROTKA(U) t R(U) t S(U) }; (d) KROTKA(U) - R(U), przy czym zbiór KROTKA(U) musi być zbiorem skończonym, gdyż w przeciwnym wypadku byłaby sprzeczność z definicją relacji. 23

24 Operacje na relacjach - Operacje mnogościowe Zbiory te będziemy oznaczać odpowiednio przez R(U) S(U), R(U) S(U), R(U) - S(U), - R(U). Zauważmy, że definicje te dotyczą relacji tego samego typu. Przykład. Mamy dwie relacje Osoby i Osoby1 postaci: ID_OS NAZWISKO IMIE 1 Lis Jan 2 Kot Adam 3 Norek Tadeusz 4 Krawczyk Adam 5 Lis Anna 24

25 Operacje na relacjach - Operacje mnogościowe Przykład. Operacje mnogościowe w SQL. SELECT id_os, nazwisko, imie FROM osoby UNION /* suma */ SELECT id_os, nazwisko, imie FROM osoby1; SELECT id_os, nazwisko, imie FROM osoby INTERSECT /* część wspólna */ SELECT id_os, nazwisko, imie FROM osoby1; SELECT id_os, nazwisko, imie FROM osoby MINUS SELECT id_os, nazwisko, imie FROM osoby1; /* różnica */ 25

26 Operacje na relacjach Operacja selekcji Operacja selekcji polega na wyborze z relacji podzbioru krotek spełniających określony warunek selekcji, gdzie warunek selekcji może np. być postaci: <atrybut> <operator relacyjny> <atrybut> <atrybut> <operator relacyjny> <wyrażenie> Te predykaty mogą być łączone operatorami logicznymi AND,OR. Przykład. Przykład operacji selekcji w SQL. SELECT * FROM osoby WHERE nazwisko = Lis AND imie = Anna ; ( * oznacza, że wybieramy wszystkie atrybuty ) 26

27 Złączenie krotek - definicja Definicja. Niech U będzie zbiorem atrybutów i X, Y U, r KROTKA(X), s KROTKA(Y), Z := X Y. Krotkę t KROTKA(Z) nazywamy złączeniem krotki r i s, co oznaczamy t = r s, gdy t[x] = r i t[y ] = s, gdzie t[x] i t[y ] oznacza obcięcie krotki t do atrybutów X i Y. Przykład. Niech U := { I, N, P, O } i X := { I, N } i Y := { I, P, O } oraz Z := X Y = { I, N, P, O }. Jeżeli r(x) = { 10, Nowak } i s(y) = { 10, a, 3 } to krotka t typu Z postaci t(z) = { 10, Nowak, a, 3 } jest złączeniem krotek r(x) i s(y), bo t[x] = { 10, Nowak } i t[y] = { 10, a, 3 }. 27

28 Projekcja - definicja Definicja. Dla danej relacji R(U) oraz zbioru X U zbiór R[X]: ={ t KROTKA(X) ( r R(U) ( t = r[x] ) }. nazywamy projekcją R na X. Stwierdzenie. Jeżeli dana jest relacja R(U) i X U to R[X]={ t KROTKA(X) ( s KROTKA(U-X) ) (t s R(U))}. Przykład. Mamy relację Student typu U := { I, N, P, O }, gdzie U :={ nr_indeksu, Nazwisko_studenta, nr_przedmiotu, Ocena} I N P O 10 Nowak a 3 10 Nowak b 4 11 Norek a 3 12 Burek a 3 28

29 Projekcja - przykład Przykład. Przykłady dwóch projekcji: Student[IN] I N 10 Nowak 11 Norek 12 Burek SELECT I,N FROM Student; Przyjmijmy, że SELECT zwraca tylko różne wiersze. SELECT DISTINCT I,N FROM Student; Student[IPO] I P O 10 a 3 10 b 4 11 a 3 12 a 3 SELECT I,P,N FROM Student; SELECT DISTINCT I,P,N FROM Student; 29

30 Złączenie relacji - definicja Definicja. Dla danych relacji R(X) i S(Y) relację T := { t KROTKA(X Y) ( t[x] R ) ( t[y] S ) } typu X Y nazywamy złączeniem relacji i oznaczamy przez R S. Stwierdzenie. Jeżeli dane są relacje R(X) i S(Y) to R S={ t KROTKA( X Y ) ( r R(X) ) ( s S(Y) ) ( t = r s ) }. 30

31 Złączenie relacji - przykład Przykład. Student(X), X = { I, N } i Oceny(Y), Y = { I, P, O } U = X Y = { I, N, P, O } Student (X) I N 10 Nowak 11 Norek 12 Burek Oceny (Y) I P O 10 a 3 10 b 4 11 a 3 12 a 3 31

32 Złączenie relacji - przykład W języku SQL realizuje to polecenie: SELECT s.i, s.n, o.p, o.o FROM Student s JOIN Oceny o ON s.i = o.i; lub równoważne SELECT s.i, s.n, o.p, o.o FROM Student s, Oceny o WHERE s.i = o.i; Relacja Student Oceny typu U := { I, N, P, O } ma postać: I N P O 10 Nowak a 3 10 Nowak b 4 11 Norek a 3 12 Burek a 3 32

33 Złączenie relacji - przykład Przykład. Student(X), X = { I, N } i Oceny(Y), Y = { P, O } U = X Y = { I, N, P, O } Student(X) I N 10 Nowak 11 Norek 12 Burek Oceny(Y) P O a 3 b 4 W języku SQL realizuje to polecenie: SELECT s.i, s.n, o.p, o.o FROM Student s, Oceny o; lub równoważne SELECT s.i, s.n, o.p, o.o FROM Student s CROSS JOIN Oceny o; 33

34 Zależności funkcyjne - definicja Definicja. Niech U będzie zbiorem atrybutów i X,Y U. Mówimy, że istnieje zależność funkcyjna między X i Y, co oznaczamy X Y, gdy w każdej relacji R(U) KROTKA(U) istnieje pewna funkcja R[X] R[Y], ( przy różnych relacjach R(U) funkcje te mogą być różne ). Gdy X = { A 1, A 2..., A n } i Y = { B 1, B 2..., B m }, gdzie A i, B i oznaczają pojedyncze atrybuty z U, to będziemy również używać oznaczenia A 1 A 2...A n B 1 B 2...B m. 34

35 Zależności funkcyjne - definicja Definicja. Dla danej relacji R(U), X, Y U, mówimy, że w R(U) spełniona jest zależność funkcyjna X Y, gdy ( ) ( r 1, r 2 R(U) ) [ ( r 1 [X] = r 2 [X] ) ( r 1 [Y] = r 2 [Y] ) ]. Przykład. Niech dany będzie U:={nr_Indeksu, Nazwisko_studenta, nr_przedmiotu, Ocena} i relacja R(U) będzie określona następująco: 35

36 Zależności funkcyjne - przykład I N P O 1 A A B C W relacji R(U) spełnione są następujące zależności funkcyjne (nasze założenie): I N, IP O. Zauważmy, że dla zbiorów { P } i { O } warunek z ( ) jest również spełniony, ale między tymi zbiorami nie istnieje zależność funkcyjna. Istotnie, po dodaniu krotki ( 3, C, 102, 3 ) warunek z ( ) nie będzie spełniony. 36

37 Aksjomaty Armstronga - przykład Przykład. Niech U := { Przedmiot, nr_indeksu, Ocena, nr_egzaminatora, Godzina_egzaminu, Sala } tzn. U := { P, I, O, E, G, S }. Na tym zbiorze atrybutów można określić np. następujący zbiór zależności funkcyjnych: F := { P GS, GS P, PI O, GI PS, PGS E }. Zamiast zależności funkcyjnej P GS można łatwo wprowadzić dwie zależności P G i P S. Poza tym np. z zależności P GS i PGS E wynika zależność P E. 37

38 Aksjomaty Armstronga - domknięcie zbioru F Definicja. Niech U będzie zbiorem atrybutów i niech F { X Y ( X U ) ( Y U ) }. Przez F + oznaczmy najmniejszy (ze względu na relację zawierania) zbiór zależności funkcyjnych, który zawiera zbiór F i dla dowolnych X, Y, Z U spełnia następujące aksjomaty: F1. ( Y X ) [ (X Y ) F + ], (zwrotność); F2. [ (X Y ) F + ] [ (XZ YZ ) F + ], (poszerzalność); F3. [ (X Y ) F + (Y Z ) F + ] [ (X Z ) F + ], Zbiór F + nazywamy najmniejszym domknięciem zbioru F. (przechodniość). 38

39 Aksjomaty Armstronga Uwaga. Armstrong (1974) wykazał, że zbiór F + można otrzymać ze zbioru F używając tylko reguł wnioskowania F1, F2 i F3. Uwaga. Niech U będzie zbiorem atrybutów i niech F będzie zbiorem zależności funkcyjnych. Wykazano, że zbiór F + jest zbiorem wszystkich możliwych zależności funkcyjnych, które można w sposób logiczny wyprowadzić z zależności ze zbioru F. Stwierdzenie. (wynikające z aksjomatów Armstronga). F4. [ (X Y ) F + (YW Z ) F + ] [ (XW Z ) F + ], F5. [ (X Y ) F + (X Z ) F + ] [ (X YZ ) F + ], F6. [ (X YZ ) F + ] [ (X Y ) F + (X Z ) F + ]. 39

40 Schemat relacyjny i jego związek z relacją - definicja Definicja. Niech dla danego zbioru atrybutów U zbiór F będzie zbiorem zależności funkcyjnych określonych na U. Parę uporządkowaną R := ( U, F ) nazywamy schematem relacyjnym o zbiorze atrybutów U i ze zbiorem zależności F. Definicja. Mówimy, że relacja R jest przypadkiem schematu relacyjnego R := ( U, F ), (lub, że jej schematem jest R ), gdy R jest relacją typu U i spełniona jest w niej każda zależność funkcyjna X Y F. Zbiór wszystkich relacji R o schemacie R oznaczać będziemy przez INST(R). 40

41 Schemat relacyjny - projekcja Definicja. Dla danego schematu relacyjnego R := ( U, F ) i X U schemat relacyjny ( X, G ) nazywamy projekcją schematu R na zbiór X, co oznaczamy przez R[X], gdy G + = { (Y Z ) F + Y Z X } +, tzn. G jest podzbiorem zbioru tych zależności ze zbioru F +, w których występują tylko atrybuty ze zbioru X. 41

42 Schemat relacyjny - złączenie Definicja. Dla schematów relacyjnych R := ( X, F ) i S := ( Y, G ) schemat relacyjny ( Z, H ) nazywamy złączeniem schematów R i S, co oznaczamy przez R S, gdy Z = X Y i H = F G. 42

43 Rozkładalność schematów relacyjnych Definicja. Mówimy, że schemat relacyjny R := ( U, F ) jest rozkładalny bez straty danych na dwa schematy relacyjne R[X] i R[Y], gdy a) X Y = U, b) ( R INST(R ) ) ( R = R[X] R[Y]). Twierdzenie. Schemat relacyjny R := ( U, F ) jest rozkładalny bez straty danych na schematy relacyjne R[XY] i R[XZ], X Y Z = U, Y Z = wtedy i tylko wtedy, gdy X Y Z ( X Y ) F + lub ( X Z ) F + tzn., gdy dla każdej relacji R o schemacie R := ( U, F ) mamy ( R = R[XY] R[XZ] ) [ (X Y) F + (X Z ) F + ]. 43

44 Rozkładalność schematów relacyjnych Przykład. Relacja EGZ(U), U := { I, N, P, O }, gdzie I N P O 10 f a 3 10 f b 4 11 g a 3 12 h a 3 jest przypadkiem schematu relacyjnego EGZ := ( { I, N, P, O }, { I N, IP O } ). W zależności od wyboru zbioru zależności funkcyjnych jako podstawy rozkładu relację tą można rozłożyć bez straty danych na dwa sposoby: 44

45 Rozkładalność schematów relacyjnych E 1 : I N E 2 : I P O 10 f 10 a 3 11 g 10 b 4 12 h 11 a 3 12 a 3 E 3 : I P O E 4 : I P N 10 a 3 10 a f 10 b 4 10 b f 11 a 3 11 a g 12 a 3 12 a h W obydwu przypadkach mamy: EGZ=E 1 E 2, EGZ=E 3 E 4. 45

46 Rozkładalność schematów relacyjnych Definicja. Mówimy, że schemat relacyjny R := ( U, F ) jest rozkładalny bez straty zależności na dwa schematy relacyjne gdy a) X Y = U, b) F + = ( G H ) +. R 1 := ( X, G ), R 2 := ( Y, H ), Przykład. Oba rozkłady ze slajdu 45 są rozkładami bez straty zależności. E 1 := ( { I, N }, { I N } ), E 2 := ( { I, P, O }, { I PO } ), E 3 := ( { I, P, O }, { I PO } ), E 4 := ( { I, P, N }, { I N } ), 46

47 Rozkładalność schematów relacyjnych Przykład. Dla schematu relacyjnego R := ( U, F ) U := { A, B, C, D }, F := { A B, BC D, D B, D C } rozważmy następujące schematy: R 1 := ( { A, B }, { A B } ), R 2 := ( { B, C, D }, { BC D, D B, D C } ), będące rozkładami schematu R bez straty zależności. Rozkład ten nie jest jednak rozkładem bez straty danych. Istotnie, rozważmy relację R INST(R) postaci: R: A B C D a b c d a 1 b c 1 d 1 a 2 b c 1 d 1 47

48 Rozkładalność schematów relacyjnych Wówczas relacje: mają postać: R 1 := R[AB] i R 2 := R[BCD] R 1 : A B R 2 : B C D a b b c d a 1 b b c 1 d 1 a 2 b i R R 1 R 2 (następny slajd). Zauważmy, że zależności B A i B CD nie należą do F +, tzn. nie są spełnione założenia twierdzenia o warunku koniecznym i dostatecznym rozkładalności bez straty danych. 48

49 Rozkładalność schematów relacyjnych R 1 R 2 A B C D a b c d a b c 1 d 1 a 1 b c d a 1 b c 1 d 1 a 2 b c d a 2 b c 1 d 1 R: A B C D a b c d a 1 b c 1 d 1 a 2 b c 1 d 1 49

50 Pojęcie klucza Definicja. Mówimy, że zbiór K U jest kluczem dla schematu relacyjnego R := ( U, F ), gdy spełnia warunki: a) ( K U ) F +, b) ( X U ) ( [ ( X U ) F + ] [ ( X K ) ] ) c) wartościami K nie mogą być wartości NULL. Jeżeli zbiór K spełnia tylko warunek a) i c) to nazywamy go nadkluczem. Elementy zbioru K nazywamy atrybutami kluczowymi. 50

51 Pojęcie klucza Przykład. Dla schematu relacyjnego E := ( { I, N, P, O }, { I N, IP O } ) warunek a) definicji klucza spełniają zbiory { I, P }, { I, N, P }, { I, N, P, O }. Warunek b) definicji klucza spełnia tylko zbiór { I, P } i ten zbiór jest kluczem schematu E. 51

52 Pojęcie klucza Uwaga. Schemat relacyjny może posiadać wiele kluczy (klucze kandydujące). Jeden z nich nazywamy kluczem głównym (Primary key). Atrybuty nie należące do żadnego klucza nazywamy atrybutami niekluczowymi. K 1 Atrybuty niekluczowe K 2 52

53 PODSTAWY BAZ DANYCH 3. Normalizacja schematów relacyjnych 53

54 Normalizacja schematów relacyjnych - 1PN Definicja. Schemat relacyjny R := ( U, F ) jest w pierwszej postaci normalnej (1PN), gdy dla każdego atrybutu A U zbiór DOM(A) składa się z wartości elementarnych (atomic value). Przykład. Np. gdybyśmy przyjęli, że mamy atrybut Adres i wartościami byłyby np Łódź ul. Piotrkowska 5 m.6 to dziedzina tego atrybutu nie składałaby się z wartości elementarnych (o ile w jakimś zapytaniu występowałyby tylko np. miasta). 54

55 Normalizacja schematów relacyjnych - 2PN Definicja. Niech X, Y U i X Y =. Mówimy, że Y jest w pełni funkcyjnie zależny od X, gdy istnieje zależność funkcyjna X Y i nie istnieje zależność z żadnego właściwego podzbioru X 1 zbioru X w Y. X Y F + X Y X 1 X 1 Y F + 55

56 Normalizacja schematów relacyjnych - 2PN Definicja. Schemat relacyjny R := ( U, F ) jest w drugiej postaci normalnej (2PN), gdy każdy niekluczowy atrybut A U jest w pełni zależny od każdego klucza tego schematu. Oznacza to, że nie ma miejsca przypadek: K 1 K 1 A F + A K 2 K 11 A F + 56

57 Normalizacja schematów relacyjnych - 2PN Przykład. Schemat relacyjny E = ( U, F ) gdzie U := { Indeks, Nazwisko, Kierunek, Adres, Przedmiot, Ocena }, F := { I NAK, IP O } z kluczem K := { I, P } nie jest w 2PN, bo np. niekluczowy atrybut N jest zależny funkcyjnie tylko od { I } K. Niech E będzie relacją o schemacie E = ( U, F ) określoną następująco: E: I N A K P O 10 f x mat a 3 10 f x mat b 4 11 g y inf a 3 12 h x inf a 3 10 f x mat c 5 57

58 Normalizacja schematów relacyjnych - 2PN W relacji tej można zauważyć następujące anomalia: usuwania - np. przy unieważnieniu egzaminu studenta o indeksie 11 należy usunąć całą krotkę, co spowoduje utratę informacji o studencie. aktualizacji - zmiana adresu studenta wymaga zmiany w kilku krotkach; dołączania - nie można dołączyć studenta, który nie zdał żadnego egzaminu; E: I N A K P O 10 f x mat a 3 10 f x mat b 4 11 g y inf a 3 12 h x inf a 3 10 f x mat c 5 58

59 Normalizacja schematów relacyjnych - 2PN Dla każdej relacji E INST(E) mamy E = E[INKA] E[IPO] tzn. uzyskaliśmy dwa schematy relacyjne E 1 := ( { I, N, K, A }, { I NAK } ) i E 2 := ( { I, P, O }, { IP O } ) odpowiednio z kluczami { I } i { I, P }. Jest to rozkład bez straty danych. 59

60 Normalizacja schematów relacyjnych - 2PN Relację E można zastąpić dwiema relacjami: E 1 : I N A K E 2 : I P O 10 f x mat 10 a 3 11 g y inf 10 b 4 12 h x inf 11 a 3 12 a 3 10 c 5 Każdy ze schematów E 1 i E 2 jest w 2PN. Stwierdzenie. Jeżeli każdy klucz schematu jest zbiorem jednoelementowym to schemat jest w 2PN. 60

61 Normalizacja schematów relacyjnych - 3PN Definicja. Niech X, Z U. Zbiór atrybutów Z jest tranzytywnie zależny od zbioru X, gdy a) X Z =, b) ( Y U ) { ( Y X = Y Z = ) [ ( X Y ) F + ( Y X ) F + ( Y Z) F + ] }. X Y Z (X Y ) F + (Y X) F + (Y Z) F + 61

62 Normalizacja schematów relacyjnych - 3PN Definicja. Schemat relacyjny R := ( U, F ) jest w trzeciej postaci normalnej ( 3PN ), gdy jest w 2PN; każdy zbiór niekluczowych atrybutów Z U nie jest tranzytywnie zależny od każdego zbioru atrybutów K będącego kluczem tego schematu. 62

63 Normalizacja schematów relacyjnych - 3PN Przykład. Rozważmy schemat relacyjny E := ( U, F ) gdzie U :={ Wykonawca, Adres, Projekt, Data_zakonczenia }, z kluczem K := { W } jest w 2PN. Zakładamy, że F := { W APD, P D } 1. wykonawca może realizować tylko jeden projekt, 2. wszyscy wykonawcy dany projekt muszą zakończyć tego samego dnia. Niech E będzie relacją o schemacie E := (U, F) określoną następująco: E: W A P D 30 x a 01/01/ y a 01/01/ y b 01/01/ z c 01/01/

64 Normalizacja schematów relacyjnych - 3PN Ponieważ W P P D to W D tzn. zbiór { D } jest tranzytywnie zależny od zbioru { W }. W relacji tej można zauważyć następujące anomalia: dołączania, aktualizacji i usuwania. Dla każdej relacji E INST(E) mamy E = E[WAP] E[PD] tzn. uzyskamy dwa schematy relacyjne będące w 3PN i E 1 := ( { W, A, P }, { W A, W P } ) E 2 := ( { P, D }, { P D } ). Jest to rozkład bez straty danych. 64

65 Normalizacja schematów relacyjnych - 3PN Relację E można zastąpić dwoma relacjami: E 1 : W A P E 2 : P D 30 x a a 01/01/ y a b 01/01/ y b c 01/01/ z c Uwaga. W każdym schemacie będącym w 3PN między atrybutami niekluczowymi nie ma zależności funkcyjnych. Zadanie. Sprawdzić, czy schemat relacyjny jest w 3PN. E := ( { A, B, C }, { AB C, C A } ) 65

66 Normalizacja schematów relacyjnych - 3PN - Przykład Przykład. Pesel Nip Nazwisko Imie D_urodzenia Plec Przyjmijmy założenie, że każda osoba posiada Pesel i Nip. Wtedy kluczami mogą być np. zbiór { Pesel } lub { Nip }. Niekluczowymi atrybutami są { Nazwisko, Imie, D_urodzenia, Plec }. Ten schemat relacyjny jest w 3PN (dlaczego?). 66

67 Normalizacja schematów relacyjnych - PNB-C Definicja. Schemat relacyjny R := ( U, F ) jest w postaci normalnej Boyce'a-Codda, (PNB-C), gdy z faktu ( X Y ) F +, Y U - X, wynika, że ( X U ) F +. Przykład. Schemat relacyjny E := ( { Student, Przedmiot, Wykładowca }, { W P, SP W } ) z kluczem K := { S, P } nie jest w PNB-C, bo mimo, że W P F +, to nie istnieje zależność W U. Uwaga. Każdy schemat w PNB-C jest w 3PN. Jest bardziej restrykcyjny niż schemat w 3PN. 67

68 Normalizacja schematów relacyjnych - PNB-C Gdyby nie był w 2PN to z faktu K 11 A F + K 1 K11 A F + A K 2 wynikałoby z B-C, że K 11 U tzn. K 1 nie byłoby kluczem. Gdyby nie był w 3PN to istniałyby atrybuty niekluczowe Y, Z K 1 Y Z (K 1 Y ) F + (Y K 1 ) F + (Y Z) F + i z B-C Y U F + tzn. Y albo jego podzbiór byłby kluczem co jest sprzeczne z tym, że Y jest atrybutem niekluczowym. 68

69 Normalizacja schematów relacyjnych - PNB-C Przykład. Niech E będzie relacją o schemacie R := ( U, F ) określoną następująco: E: S P W 10 a x 11 a x 10 b y 11 b z W relacji E występują anomalia usuwania i dołączania: Nie można dołączyć wykładowcy i przedmiotu jeżeli brak chociaż jednego studenta uczęszczającego na wykład. Nie można również usunąć ostatniego studenta uczęszczającego na dany przedmiot. 69

70 Normalizacja schematów relacyjnych - PNB-C Schemat E można rozłożyć na dwa schematy relacyjne E 1 := ( { W, P }, { W P } ) i E 2 := ( { W, S }, ), z których każdy jest w PNB-C. Wtedy relację E można przedstawić w postaci: E 1 : W P E 2 : W S x a x 10 y b x 11 z b y 10 z 11 Ponieważ E = E 1 E 2, więc rozkład ten jest rozkładem bez straty danych, ale nie jest rozkładem bez straty zależności, bowiem { W P, SP W } + { { W P } } +. 70

71 Zależność wielowartościowa Definicja. Niech X, Y U, Z := U - XY. X Y Z Mówimy, że istnieje zależność wielowartościowa między zbiorami X i Y, co oznaczamy przez X >>Y, gdy dla każdego zbioru KROTKA(U) istnieje pewna funkcja : KROTKA(X) (KROTKA(YZ)), gdzie (KROTKA(YZ)) oznacza zbiór wszystkich podzbiorów zbioru KROTKA(YZ), taka, że jeżeli do zbioru (x) należą krotki (y, z) i (y, z ), to należą również krotki ( y, z ) i (y, z ). 71

72 Zależność wielowartościowa Definicja. Niech dana będzie relacja R(U), X, Y U i Z:=U-XY. X Y Z Mówimy, że w R spełniona jest zależność wielowartościowa X >>Y, gdy spełniony jest jeden z równoważnych warunków: a),, x R X y y R Y z z R Z { x y z R x y z R x y z R x y z R } b) R R XY R XZ. 72

73 Zależność wielowartościowa Uwaga. Każda zależność funkcyjna X Y F + jest zależnością wielowartościową tzn. mamy X >> Y. Spełniony jest warunek konieczny rozkładu bez straty danych (punkt b). Uwaga. Zależności X >> U i X >> spełnione są w każdej relacji R(U). Istotnie R R XY R XZ., Z =, Y = U R R XY R XZ., Z = U-X, Y = Nazywamy je trywialnymi zależnościami wielowartościowymi. 73

74 Zależność wielowartościowa Przykład. U := { Pracownik, Imię_Dziecka, Zarobki, Rok } E: P D Z R a x D >> P a y P >> ZR a x a y b z b z E 1 : P D E 2 : P Z R a x a a y a b z b b ( D > P ) PR > Z 74

75 Zależność wielowartościowa Definicja. Niech U będzie zbiorem atrybutów i M { X >> Y X U Y U }. Przez M + oznaczmy najmniejszy (ze względu na relację ) zbiór zależności wielowartościowych takich, że M M + i dla ( X, Y, Z U ) ( X Y = X Z = Z Y = ) spełnione są następujące aksjomaty: 75

76 Zależność wielowartościowa M0. M1. M2. M3. M4. M5. M6. Y X X Y M, X Y M X U XY M, X Y M XZ YZ M, M X Z M, X Y M Y Z X Y M YZ W (zwrotność), (dopełnialność), (poszerzalność), M XZ W M, X Y M X Z (przechodniość), (pseudo-przechodniość), M X YZ M, (addytywność), X Y M X Z M X Y Z M, (dekompozycja). 76

77 Zależność wielowartościowa Uwaga. Między zależnościami funkcyjnymi i wielowartościowymi zachodzą następujące związki: FM1. FM2. X Y F X Y M, X Z M Y V M V Z Y Z X V F. X Y Z V 77

78 Schemat relacyjny Definicja. Dla zbioru atrybutów U i zbiorów F i M, (zakładamy, że zbiór M nie zawiera zależności funkcyjnych), parę R := ( U, F M ) nazywamy schematem relacyjnym i mówimy, że relacja R jest przypadkiem schematu relacyjnego R jeśli jest relacją typu U oraz każda zależność funkcyjna i wielowartościowa jest spełniona w R. 78

79 Zależność wielowartościowa - 4PN Definicja. Mówimy, że schemat relacyjny R := ( U, F M ) jest w czwartej postaci normalnej (4PN) gdy jest w 3PN i X U F. X Y M Y U X Przykład. Dla schematu relacyjnego R := ( { P, D, Z, R }, { D P, PR - Z, P > D, P > ZR } ) który nie jest w 4PN i relacji E z przykładu ze slajdu 74 rozważmy dwa schematy R 1 := ( { P, D }, {D P }), R 2 := ( { P, Z, R }, { PR Z }). Wtedy schematy R 1 i R 2 są w 4PN. E P D Z R a x D >> P a y P >> ZR a x a y b z b z

80 Postacie normalne - Podsumowanie Uwaga. Między postaciami normalnymi zachodzą następujące relacje zawierania: 1PN 2PN 3PN B-C 4PN 5PN - 80

81 Schemat relacyjnej bazy danych Definicja. Schematem relacyjnej bazy danych nazywamy zbiór := { R i := ( U i, F i ) i = 1,2,..,n }. wszystkich schematów relacyjnych występujących w danej bazie danych 81

82 PODSTAWY BAZ DANYCH 4. Projektowanie Schematu Bazy Danych 82

83 Algorytm tworzenia schematu relacyjnej bazy danych 1. Określamy jeden schemat relacyjnej bazy danych { R := ( U, F ) }, gdzie U jest zbiorem wszystkich atrybutów występujących w bazie danych, przy czym zbiór U dobieramy w taki sposób aby można było na zbiorze U określić zależności funkcyjne. 2. Rozkładając schemat relacyjny R na schematy R := ( U i i, F i ), i = 1,2,..,n spełniające wybrane przez nas warunki normalizacji otrzymamy schemat bazy danych := { R := ( U i i, F i ) i = 1,2,..,n }. 83

84 Równoważność schematów Niech dane będą następujące schematy baz danych: 1 := { R := ( U, F ) }, 2 := { R i := ( U i, F i ) i = 1,2,..,n }, U, (n 2). Wprowadzimy definicję równoważności schematów. Definicja. Mówimy, że dane schematy 1 i 2 są EQ1-równoważne, gdy dla każdej relacji R INST( 1 ) n R R U. i 1 Definicja. Mówimy, że dane schematy 1 i 2 są EQ2-równoważne, gdy F n UF i i 1 i n i 1 U i 84

85 Równoważność schematów Definicja. Mówimy, że dane schematy 1 i 2 są EQ3-równoważne, gdy są EQ1 i EQ2-równoważne. Uwaga. Rozkład 2 EQ1-równoważny rozkładowi 1 jest rozkładem bez straty danych. Uwaga. Rozkład 2 EQ2-równoważny rozkładowi 1 jest rozkładem bez straty zależności. Uwaga. Przy rozkładach schematów baz danych wymaga się zazwyczaj aby każdy z wynikowych schematów był w 3PN i aby liczba ich była jak najmniejsza. Uwaga. Rozkłady nie muszą być jednoznaczne. 85

86 Algorytmy pomocnicze Przy rozkładach schematów baz danych wykorzystywane są algorytmy rozwiązywania następujących zagadnień: A1. Sprowadzenie schematu relacyjnego do 2PN. A2. Sprowadzenie schematu relacyjnego do 3PN. A3. Rozstrzygnięcie, czy dla zadanych X, Y U, zachodzi X Y F +. A4. Usunięcie z lewej strony każdej zależności X Y F + zbędnych atrybutów, tzn. takich atrybutów A X, dla których (X-A) Y F +. A5. Znalezienie minimalnego generatora zbioru F tzn. takiego zbioru G, że F + = G + i żaden jego podzbiór tej własności nie posiada. A6. Sprawdzenie, czy dla zadanych dwóch zbiorów zależności F 1 i F 2 zachodzi równość F 1+ = F 2 +. A7. Określenie wszystkich kluczy w schemacie R:= ( U, F ). 86

87 Algorytmy pomocnicze Wyznaczenie wszystkich kluczy w schemacie R :=( U, F ), ( algorytm A7 ), jest bardziej złożone. Jednym ze sposobów mogłoby być wyznaczenie, korzystając z aksjomatów Armstronga, całego zbioru F + i wybranie z niego wszystkich zależności spełniających warunki występujące w definicji klucza. Uwaga. Wszystkie algorytmy A3 - A7 można sprowadzić do problemu wyznaczenia zbioru F +. 87

88 Algorytmy pomocnicze - sprowadzanie do 2PN 88

89 Algorytmy pomocnicze - sprowadzanie do 3PN 89

90 Algorytm dekompozycji Dla danego schematu bazy danych := { R := ( U, F ) } należy wykonać następujące czynności: 1. Wyznaczyć wszystkie klucze w schemacie R. 2. Wykrywanie niepełnych zależności funkcyjnych i rozkład schematu relacyjnego na zbiór 1 := {R := (U i i, F i ) i = 1,2,..,m } schematów relacyjnych z których każdy jest w 2PN. 3. Wyznaczyć zbiory atrybutów kluczowych i niekluczowych w każdym schemacie relacyjnym R i Wykrywanie tranzytywnych zależności funkcyjnych w schematach relacyjnych R i, i=1,2,..,m i sprowadzenie ich do 3PN. Otrzymany w ten sposób schemat 1 := { R i := ( U i, F i ) i = 1,2,..,n } jest EQ1-równoważny schematowi := { R := ( U, F ) } tzn. zachowuje dane i nie musi zachowywać zależności funkcyjnych. 90

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

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

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

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

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

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

PODSTAWY BAZ DANYCH Wykład 2 2. Pojęcie Relacyjnej Bazy Danych

PODSTAWY BAZ DANYCH Wykład 2 2. Pojęcie Relacyjnej Bazy Danych PODSTAWY BAZ DANYCH Wykłd 2 2. Pojęcie Relcyjnej Bzy Dnych 2005/2006 Wykłd "Podstwy bz dnych" 1 Pojęcie krotki - definicj Definicj. Niech dny będzie skończony zbiór U := { A 1, A 2,..., A n }, którego

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

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

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

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

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

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

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

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

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

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

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

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

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

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n. Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór

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. 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

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

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

BAZY DANYCH. Wykłady dla studentów Wydziału Matematyki i Informatyki UAM. Dr inż. Anna Stachowiak B4-27

BAZY DANYCH. Wykłady dla studentów Wydziału Matematyki i Informatyki UAM. Dr inż. Anna Stachowiak B4-27 BAZY DANYCH Wykłady dla studentów Wydziału Matematyki i Informatyki UAM Dr inż. Anna Stachowiak aniap@amu.edu.pl B4-27 Wprowadzenie Plan wykładu Informacje organizacyjne Przegląd poruszanych zagadnień

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

Relacyjny model danych

Relacyjny model danych Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego

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

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

Bardziej szczegółowo

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS Obowiązuje od roku akademickiego: 2011/2012 Instytut Techniczny Kierunek studiów: Informatyka Kod kierunku: 11.3 Specjalność: Informatyka Stosowana

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

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 - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

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

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

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium BAZY DANYCH Databases Forma studiów: Stacjonarne

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

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

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

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

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

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji Relacyjne bazy danych Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1 Model danych Relacyjne bazy danych są podstawą zachodniej cywilizacji 3 Model danych: Aspekt strukturalny: Zbiór struktur

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

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

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

mail: strona:   konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) 1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Zaliczenie wykładu -

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

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

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

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

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

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

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

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

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0 Nazwa przedmiotu: Relacyjne Bazy Danych Relational Databases Kierunek: Zarządzanie i Inżynieria Produkcji Kod przedmiotu: ZIP.GD5.03 Rodzaj przedmiotu: Przedmiot Specjalnościowy na kierunku ZIP dla specjalności

Bardziej szczegółowo

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

S y s t e m y. B a z D a n y c h S y s t e m y B a z D a n y c h Wykład na przedmiot: Bazy danych Studia zaoczne i podyplomowe UAM Anna Pankowska aniap@amu.edu.pl W y k ł a d I Temat: Relacyjne bazy danych Plan wykładu: - cel stosowania

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

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

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

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

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

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30 Zał. nr 4 do ZW 33/01 WYDZIAŁ INFORMATYKI I ZĄRZADZANIA KARTA PRZEDMIOTU Nazwa w języku polskim: Wprowadzenie do SQL Nazwa w języku angielskim: Introduction to SQL Kierunek studiów (jeśli dotyczy): Zarządzanie

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

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

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

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne) Bazy danych 1 Wykład 5 Metodologia projektowania baz danych (projektowanie logiczne) Projektowanie logiczne przegląd krok po kroku 1. Usuń własności niekompatybilne z modelem relacyjnym 2. Wyznacz relacje

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: Bda 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Informatyka Stosowana

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

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

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

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

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System) Podstawowe pojęcia Baza danych Baza danych jest logicznie spójnym zbiorem danych posiadających określone znaczenie. Precyzyjniej będzie jednak powiedzieć, Ŝe baza danych jest informatycznym odwzorowaniem

Bardziej szczegółowo

Bazy danych w sterowaniu

Bazy danych w sterowaniu Bazy danych w sterowaniu funkcje systemu zarządzania bazą danych, schemat pojęciowy, normalizacja relacji Jeffrey D. Ullman Systemy baz danych Claude Delobel Michel Adiba elacyjne bazy danych Paul Beynon-Davies

Bardziej szczegółowo

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

Bardziej szczegółowo

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

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia Przedmiot: Bazy danych Rodzaj przedmiotu: Podstawowy Kod przedmiotu: MBM 1 S 0 5 64-4 _1 Rok: III Semestr: 5 Forma studiów:

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych PODSTAWY BAZ DANYCH Wykłd 3 2. Pojęcie Relcyjnej Bzy Dnych 2005/2006 Wykłd "Podstwy z dnych" 1 Rozkłdlno dlność schemtów w relcyjnych Przykłd. Relcj EGZ(U), U := { I, N, P, O }, gdzie I 10 10 11 N f f

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

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

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

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

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

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE PLAN WYKŁADU Modelowanie logiczne Transformacja ERD w model relacyjny Odwzorowanie encji Odwzorowanie związków Odwzorowanie specjalizacji i generalizacji BAZY DANYCH Wykład 7 dr inż. Agnieszka Bołtuć GŁÓWNE

Bardziej szczegółowo

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Marcin Czajkowski Politechnika Białostocka Wydział Informatyki Przygotowanie wykładu: Małgorzata Krętowska Ogólny plan przedmiotu Wykład : Wprowadzenie

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

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

Egzamin / zaliczenie na ocenę* 0,5 0,5 Zał. nr 4 do ZW 33/01 WYDZIAŁ INFORMATYKI I ZARZĄDZANIA KARTA PRZEDMIOTU Nazwa w języku polskim: Technologia przetwarzania danych Nazwa w języku angielskim: Data processing technology Kierunek studiów

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