Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Modelowanie logiczne (dla relacyjnych SZBD)
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
S – student, P – przedmiot, W – wykładowca
Relacyjny model danych
Relacyjny model danych
WPROWADZENIE DO BAZ DANYCH
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Normalizacja : Głównym celem projektowania bazy przeznaczonej dla systemu relacyjnego jest właściwa reprezentacja danych, związków i więzów. W identyfikowaniu.
POWTÓRZENIE Dane; Baza danych - BD;
POWTÓRZENIE Metodologia : Pojęcia:
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Modele baz danych - spojrzenie na poziom fizyczny
Dr inż. Andrzej Macioł Bazy danych dr inż. Andrzej Macioł
Bazy danych – model relacyjny
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Wykład 3 Analiza i projektowanie strukturalne
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
OPERACJA DZIELENIA W SQL
Zależności funkcyjne.
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
Bazy danych.
Bazy danych podstawowe pojęcia
Systemy baz danych Wykład 1
Temat 19: Organizacja informacji w bazie danych – część 1.
Informatyka Relacyjne bazy danych.
RELACYJNE BAZY DANYCH, SCHEMAT RELACJI, SELEKCJA, PROJEKCJA
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
WPROWADZENIE DO BAZ DANYCH
Relacyjne bazy danych Tworzenie bazy danych Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk p C dostęp do materiałów:
Model relacyjny.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
Programowanie obiektowe 2013/2014
Bazy danych – model relacyjny – cz. 2
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Temat 2: Modele danych.
Projektowanie relacyjnych baz danych – postacie normalne
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Wykład I Podstawy relacyjnych baz danych Powtórzenie wiadomości
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Projektowanie relacyjnych baz danych – diagramy związków encji
Dr inż. Andrzej Macioł Bazy danych dr inż. Andrzej Macioł
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
BAZY DANYCH MS Access.
Bazy Danych Wprowadzenie
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
1 SYSTEMY BAZ I HURTOWNI DANYCH Wstęp. 2 Literatura: 1.„Podstawowy wykład z systemów baz danych” – J.Ullman, J.Widom, WNT, „Systemy baz danych.
Prezentacja programu PowerPoint
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Transformacja modelu EER do modelu relacyjnego
Indeksy.
Nieprawidłowo zaprojektowana tabela
SYSTEMY BAZ I HURTOWNI DANYCH
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł

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

Andrzej Macioł Modele danych Modele użytkowe – stanowią podstawę do budowy systemu informatycznego: –hierarchiczny –sieciowy –relacyjny –obiektowy

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

Andrzej Macioł Więzi w modelu hierarchicznym KodPojazduNazwaTyp 1Accentkombi KodPojazduKodCzęściNazwaCzęści 11silnik V6 KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów

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

Andrzej Macioł Więzi w modelu sieciowym KodPojazduNazwaTyp 1Accentkombi KodPojazduNazwaTyp 1Getzcupe KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów

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ś

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.

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

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ń

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,

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,

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,

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.

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

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

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

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,

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ą

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 )

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, d 1,j d 2,j. d i,j. d m,j D 1,n d 2,n. d i,n. d m,n

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]

Andrzej Macioł Zbiór identyfikujący relacji

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

Andrzej Macioł Klucz

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)

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

Andrzej Macioł Zależność funkcjonalna

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

Andrzej Macioł Zależność funkcjonalna

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

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

Andrzej Macioł Zależność częściowa i pełna

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

Andrzej Macioł Zależność przechodnia

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]

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

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)

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

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

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