Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJanusz Siudak Został zmieniony 10 lat temu
1
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
2
Modele danych Model konceptualny – spojrzenie na dane jako całość, model najbardziej stabilny, powinien on być podstawą, na której opierać się będzie przetwarzanie danych Model wewnętrzny, niskiego poziomu – opisuje sposób przechowywania danych w pamięci komputerów i przedstawia formaty rekordów czy ścieżki dostępu, modelami takimi są metody adresowania, struktury łańcuchowe i pierścieniowe
3
Andrzej Macioł Modele danych Modele użytkowe – stanowią podstawę do budowy systemu informatycznego: –hierarchiczny –sieciowy –relacyjny –obiektowy
4
Andrzej Macioł Model hierarchiczny Każdy element zwany rekordem może uczestniczyć w roli podrzędnej w co najwyżej jednym powiązaniu rekordów, w roli nadrzędnej w dowolnej liczbie powiązań Rekord podrzędny nie może istnieć bez rekordu nadrzędnego
5
Andrzej Macioł Więzi w modelu hierarchicznym KodPojazduNazwaTyp 1Accentkombi KodPojazduKodCzęściNazwaCzęści 11silnik V6 KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów
6
Andrzej Macioł Model sieciowy Każdy rekord może jednocześnie uczestniczyć w wielu powiązaniach rekordów Rekord taki może równocześnie i wielokrotnie wystąpić w roli nadrzędnej oraz w roli podrzędnej, powiązania realizowane są przez rekordy specjalne zwane łącznikami
7
Andrzej Macioł Więzi w modelu sieciowym KodPojazduNazwaTyp 1Accentkombi KodPojazduNazwaTyp 1Getzcupe KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów
8
Andrzej Macioł Modele obiektowy Wymaga istnienia trwałych obiektów, obiekty te pozostają zapisane w pamięci pomocniczej przed i po wykonaniu programów Obiekty mogą komunikować się bezpośrednio z użytkownikiem lub z innymi obiektami przez przesyłanie komunikatów, obiekty posiadają identyfikator, co umożliwia tworzenie powiązań między nimi Obiekt jest to abstrakcja czegoś w dziedzinie problemu, który odzwierciedla zdolność systemu do przechowywania informacji o tym lub interakcji z tym czymś
9
Andrzej Macioł 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 w 1970r. W pracy Relacyjny model logiczny dla dużych banków danych Codd zaprezentował założenia relacyjnego modelu baz danych, model ten oparł na teorii mnogości i rachunku predykatów pierwszego rzędu.
10
Andrzej Macioł Postulaty Codda 1.Postulat informacyjny – dane są reprezentowane jedynie poprzez wartości atrybutów w wierszach tabel, 2.Postulat dostępu – każda wartość w bazie danych jest dostępna poprzez podanie nazwy tabeli, atrybutu oraz wartości klucza podstawowego, 3.Postulat dotyczący wartości NULL – dostępna jest specjalna wartość NULL dla reprezentacji wartości nieokreślonej jak i nieadekwatnej, inna od wszystkich i podlegająca przetwarzaniu
11
Andrzej Macioł Postulaty Codda 4.Postulat dotyczący katalogu – wymaga się, aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających języka zapytań
12
Andrzej Macioł Postulaty Codda 5.Postulat języka danych – system musi dostarczać pełnego języka przetwarzania danych, który może być używany w trybie interaktywnym jak i w obrębie programów aplikacyjnych, obsługuje operacje definiowania danych, operacje manipulowania danymi, ograniczenia związane z bezpieczeństwem i integralnością oraz operacje zarządzania transakcjami,
13
Andrzej Macioł Postulaty Codda 6.Postulat modyfikowalności perspektyw – system musi umożliwiać modyfikowanie perspektyw, o ile jest ono (modyfikowanie) semantycznie realizowalne, 7.Postulat modyfikowalności danych – system musi umożliwiać operacje modyfikacji danych, musi obsługiwać operatory INSERT, UPDATE oraz DELETE, 8.Postulat fizycznej niezależności danych – zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikacje,
14
Andrzej Macioł Postulaty Codda 9.Postulat logicznej niezależności danych – zmiany wartości w tabelach nie wpływają na aplikacje, 10.Postulat niezależności więzów spójności – więzy spójności są definiowane w bazie i nie zależą od aplikacji,
15
Andrzej Macioł Postulaty Codda 11.Postulat niezależności dystrybucyjnej – działanie aplikacji nie zależy od modyfikacji i dystrybucji bazy, 12.Postulat bezpieczeństwa względem operacji niskiego poziomu – operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności.
16
Andrzej Macioł Podstawowe pojęcia Relacja jest podzbiorem iloczynu kartezjańskiego dziedzin A 1, A 2,..A n. Iloczyn kartezjański oznacza się następująco: A 1 A 2 A n Zawiera on n-tki (a 1, a 2,..a n ) nazywane krotkami takie, że a 1 A 1, a 2 A 2,... d n An
17
Andrzej Macioł Podstawowe pojęcia Niech A 1 = [a,b,c], A 2 =[x,y] Wtedy A 1 A 2 = {(a,x), (a,y), (b,x), (b,y), (c,x), (c,y)} Przykłady relacji, które są podzbiorami iloczynu kartezjańskiego A 1 A 2 : X = {(a,x), (b,x), (c,x)} Y = {(a,x), (a,y), (b,y)} Analogicznie jak dla iloczynu kartezjańskiego elementy relacji są nazywane krotkami
18
Andrzej Macioł Baza danych - relacja Rozważmy relację, której atrybutami są nazwisko, imię, wiek. Relację tę można zapisać następująco: PRAC, gdzie PRAC jest nazwą danej relacji. A oto trzy krotki relacji PRAC:.
19
Andrzej Macioł Zasady spełnione dla każdej relacji Każda relacja w bazie danych ma jednoznaczną nazwę, Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji, Wszystkie wartości w kolumnie muszą być tego samego typu,
20
Andrzej Macioł Zasady spełnione dla każdej relacji Porządek kolumn w relacji nie jest istotny, Każdy wiersz w relacji musi być różny, Porządek wierszy nie jest istotny, Każde pole leżące na przecięciu kolumny/wiersza w relacji powinno zawierać wartość atomową
21
Andrzej Macioł Schemat relacji Schematem relacji R o danych atrybutach A 1, A 2,…, A n takiej, że R D 1 D 2 … D n nazywamy ciąg (A 1, A 2,…, A n ). W celu jawnej specyfikacji schematu relacji R piszemy R(A 1, A 2,…, A n )
22
Andrzej Macioł Reprezentacja tablicowa relacji EA1A1 A2A2...AjAj AnAn e1e2...ei...eme1e2...ei...em d 1,1 d 2,1. d i,1. d m,1 d 1,2 d 2,2. d i,1. d m,1......... d 1,j d 2,j. d i,j. d m,j......... D 1,n d 2,n. d i,n. d m,n
23
Andrzej Macioł Zbiór identyfikujący relacji zbiór atrybutów który jednoznacznie identyfikuje wszystkie krotki w relacji R w żadnej relacji o schemacie R nie mogą istnieć dwie krotki t 1 i t 2 takie, że t 1 [S]=t 2 [S]
24
Andrzej Macioł Zbiór identyfikujący relacji
25
Andrzej Macioł Klucz Minimalny zbiór identyfikujący Taki zbiór atrybutów relacji, których kombinacje wartości jednoznacznie identyfikują każdą krotkę tej relacji a żaden podzbiór tego zbioru nie posiada tej własności W kluczu nie może zawierać się wartość Null
26
Andrzej Macioł Klucz
27
Andrzej Macioł Klucz Klucz jest kluczem prostym, jeżeli powyżej opisany zbiór jest jednoelementowy - w przeciwnym razie mówimy o kluczu złożonym W ogólności, w relacji można wyróżnić wiele kluczy, które nazywamy kluczami potencjalnymi. Wybrany klucz spośród kluczy potencjalnych nazywamy kluczem głównym (Primary Key PK)
28
Andrzej Macioł Zależność funkcjonalna Atrybut B relacji R jest funkcjonalnie zależny od atrybutu A jeżeli dowolnej wartości a atrybutu A odpowiada nie więcej niż jedna wartość b atrybutu B
29
Andrzej Macioł Zależność funkcjonalna
30
Andrzej Macioł Zależność funkcjonalna Niech X i Y będą podzbiorami zbioru atrybutów relacji R X {A 1...A N }, Y {A 1...A N } podzbiór atrybutów Y zależy funkcyjnie od podzbioru atrybutów X, jeżeli nie jest możliwe, by relacja R zawierała dwie krotki mające składowe zgodne tzn. identyczne dla wszystkich atrybutów ze zbioru X i jednocześnie co najmniej jedną niezgodną składową dla atrybutów ze zbioru Y
31
Andrzej Macioł Zależność funkcjonalna
32
Andrzej Macioł Zależność funkcjonalna Zbiór atrybutów Y jest w pełni funkcjonalnie zależny od zbioru atrybutów X w schemacie R, jeżeli: i nie istnieje takie, że
33
Andrzej Macioł Zależność funkcjonalna Zbiór atrybutów Y jest częściowo funkcjonalnie zależny od zbioru atrybutów X w schemacie R, jeżeli: i istnieje takie, że
34
Andrzej Macioł Zależność częściowa i pełna
35
Andrzej Macioł Zależność przechodnia Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z
36
Andrzej Macioł Zależność przechodnia
37
Andrzej Macioł Zależność wielowartościowa Podzbiór atrybutów Y jest wielowartościowo funkcjonalnie zależny od podzbioru X w schemacie R, jeżeli dla dowolnej relacji r w schemacie R i dla dowolnej pary krotek t 1 i t 2 z relacji r istnieje taka para krotek że: s 1 [X]=s 2 [X]=t 1 [X]=t 2 [X] i s 1 [Y]= t 1 [Y] i s 1 [R-X-Y]=t 2 [R-X-Y] i s 2 [Y]= t 2 [Y] i s 2 [R-X-Y]=t 1 [R-X-Y]
38
Andrzej Macioł Zależność wielowartościowa krotkaNazwiskoImię dziecka Znajomość języków t1t1 KotAnianiemiecki t2t2 KotJaśangielski s1s1 KotAniaangielski s2s2 KotJaśniemiecki SłońOlaniemiecki SłońOlaangielski XYR-X-Y
39
Andrzej Macioł Zależność wielowartościowa t 1 [X]=t 2 [X]=s 1 [X]=s 2 [X]=(Kot) s 1 [Y]= t 1 [Y]=(Ania) i s 1 [R-X-Y]=t 2 [R-X-Y]=(angielski) i s 2 [Y]= t 2 [Y]=(Jaś) i s 2 [R-X-Y]=t 1 [R-X-Y]=(niemiecki)
40
Andrzej Macioł Dekompozycja schematu Schemat zastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat R i stanowi podzbiór zbioru atrybutów i
41
Andrzej Macioł Dekompozycja schematu W schemacie występuje połączeniowa zależność funkcjonalna wtedy i tylko wtedy gdy istnieje możliwość takiej dekompozycji relacji r na relacje r 1, r 2,..., r n, że można ją zrekonstruować przy pomocy operacji połączenia
42
Andrzej Macioł Dekompozycja schematu połączeniowa zależność funkcjonalna wynika z zależności atrybutów schematu R od klucza wtedy i tylko wtedy gdy w dowolnej sekwencji połączeń relacji składowych w celu rekonstrukcji relacji r operacja wykonywana jest względem zbioru identyfikującego schematu R
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.