Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408



Podobne dokumenty
Relacyjny model danych

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

Model relacyjny. Wykład II

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

Model relacyjny. Wykład II

1 Wstęp do modelu relacyjnego

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

Wykład 2. Relacyjny model danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy danych. Algebra relacji

Przykłady normalizacji

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

Projektowanie relacyjnych baz danych

Pierwsza postać normalna

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

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Normalizacja relacji

Baza danych. Modele danych

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

Bazy danych - wykład wstępny

Bazy danych TERMINOLOGIA

Model relacyjny bazy danych

WPROWADZENIE DO BAZ DANYCH

Technologia informacyjna

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

RBD Relacyjne Bazy Danych

Agnieszka Ptaszek Michał Chojecki

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

Transformacja modelu ER do modelu relacyjnego

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

Relacyjny model danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

FUNKCJE SZBD. ZSE - Systemy baz danych 1

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

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

Wprowadzenie do baz danych

BAZY DANYCH Podstawowe pojęcia

Autor: Joanna Karwowska

Bazy danych. Dr inż. Paweł Kasprowski

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

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

Baza danych. Baza danych to:

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta.

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

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

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

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

Relacyjne bazy danych

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

Relacyjny model danych. Relacyjny model danych

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

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

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

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Bazy Danych i Usługi Sieciowe

Bazy danych. Andrzej Łachwa, UJ, /14

Pojęcie bazy danych funkcje i możliwości Charakterystyka baz danych:

Pierwsza postać normalna

Tadeusz Pankowski Relacyjne bazy danych. są podstawą zachodniej cywilizacji

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Pojęcie systemu informacyjnego i informatycznego

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Teoretyczne podstawy informatyki

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

2017/2018 WGGiOS AGH. LibreOffice Base

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

SIECI KOMPUTEROWE I BAZY DANYCH

Literatura. Bazy danych s.1-1

SIECI KOMPUTEROWE I BAZY DANYCH

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Teoretyczne podstawy informatyki

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Autor: Joanna Karwowska

Relacyjne bazy danych

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

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

Wykład I. Wprowadzenie do baz danych

WPROWADZENIE DO BAZ DANYCH

Technologie baz danych

Bazy danych wykład drugi. Konrad Zdanowski

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

Relacyjne bazy danych. Podstawy SQL

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

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Związki pomiędzy tabelami

Podstawowe informacje o bazach danych. Technologie Informacyjne

Normalizacja baz danych

Systemy GIS Tworzenie zapytań w bazach danych

Transkrypt:

Bazy Danych Model Relacyjny Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408

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. Coddaw 1970r. Zauważyłon, że zastosowanie struktur i procesów matematycznych w zarządzaniu danymi mogłoby rozwiązać wiele problemów trapiących ówczesne modele. W swej pracy A relationalmodel for largeshareddata banks Coddzaprezentowałzałożenia relacyjnego modelu baz danych, model ten oparłna teorii mnogości i rachunku predykatów pierwszego rzędu. KISIM, WIMiIP, AGH 2

Relacyjny model danych W roku 1990 Coddopublikowałartykuł Relacyjny model zarządzania bazami danych: wersja 2, rozszerzający poprzednie prace RMD oparty jest o algebręrelacji Podstawowe elementy modelu to» relacje» więzi KISIM, WIMiIP, AGH 3

Podstawowe pojęcia w bazach danych: encja relacja klasa tabela» zbiór podobnych obiektów opisanych w jednolity sposób krotka obiekt (instancja klasy) rekord wiersz» zestaw wartości atrybutów opisujących jeden obiekt identyfikowany przez wyróżnione atrybuty lub nazwę związek więź asocjacja» związek pomiędzy dwoma encjami (klasami) pokazujący jakie rekordy (obiekty) z jednej encji odpowiadająrekordom z drugiej i jaki jest charakter tej odpowiedniości atrybut kolumna pole» pojedyncza dana wchodząca w skład krotki np. nazwisko studenta, nr ewidencyjny pracownika, wielkość zapasu czy rodzaj filmu. KISIM, WIMiIP, AGH 4

Relacyjny model danych Podstawowąstrukturądanych jest relacjabędąca podzbiorem iloczynu kartezjańskiego dwóch wybranych zbiorów reprezentujących dopuszczalne wartości. 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 Relacja jest zbiorem krotek posiadających takąsamąstrukturę, lecz różne wartości. Każda krotka posiada co najmniej jeden atrybut. KISIM, WIMiIP, AGH 5

Relacyjny model danych Każda relacja posiada następujące własności» krotki są unikalne» atrybuty są unikalne» kolejność krotek nie ma znaczenia» kolejność atrybutów nie ma znaczenia» wartości atrybutów są atomowe Tworzenie modeli relacyjnych nazywane jest modelowaniem związków encji. KISIM, WIMiIP, AGH 6

Postulaty Codd a KISIM, WIMiIP, AGH 7

Postulaty Codd a(1) 1. Postulat informacyjny dane sąreprezentowane jedynie poprzez wartości atrybutów w wierszach tabel, 2. Postulat (gwarantowanego) 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, KISIM, WIMiIP, AGH 8

Postulaty Codd a(2) 4. Postulat dotyczący katalogu informacje o obiektach bazy danych tworzących schemat bazy danych sąna poziomie logicznym zgrupowane w tabele i dostępne w taki sam sposób jak każde inne dane. 5. Postulat języka danych system musi dostarczaćpełnego języka przetwarzania danych, który:» charakteryzuje sięliniowąskładnią,» może byćużywany zarówno w trybie interaktywnym, jak i w obrębie programów aplikacyjnych,» obsługuje operacje definiowania danych (łącznie z definiowaniem perspektyw), operacje manipulowania danymi (aktualizację, także wyszukiwanie), ograniczenia związane z bezpieczeństwem i integralnościąoraz operacje zarządzania transakcjami (rozpoczynanie, zapis zmian i ponowny przebieg) KISIM, WIMiIP, AGH 9

Postulaty Codd a(3) 6. Postulat modyfikowalności perspektyw system musi umożliwiaćmodyfikowanie perspektyw, o ile jest ono (modyfikowanie) semantycznie realizowane, 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, KISIM, WIMiIP, AGH 10

Postulaty Codd a(4) 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 (niezależność integralnościowa) więzy spójności sądefiniowane w bazie i nie zależą od aplikacji, 11. Postulat niezależności dystrybucyjnej działanie aplikacji nie zależy od modyfikacji i dystrybucji bazy, KISIM, WIMiIP, AGH 11

Postulaty Codd a(5) 11. Postulat bezpieczeństwa względem operacji niskiego poziomu operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności. 12. Reguła nieprowadzenia"działalności wywrotowej":jeśli system jest wyposażony w interfejs niskiego poziomu (operacje na pojedynczych rekordach), nie może byćużyty do prowadzenia działalności wywrotowej (np. omijania zabezpieczeńrelacyjnych lub ograniczeńintegralnościowych) KISIM, WIMiIP, AGH 12

Postulaty Codd a(6) Coddokreśliłrównież9 cech strukturalnych, 3 cechy integralnościowe oraz 18 cech manipulacyjnych, które także są wymagane. Coddswąlistę12 regułrozszerzyłdo 333 w drugiej wersji modelu relacyjnego. KISIM, WIMiIP, AGH 13

Baza danych - relacja Rozważmy relację, której atrybutami sąnazwisko, imię, wiek. Relację tę można zapisać następująco: PRAC <nazwisko, imię, wiek>, gdzie PRAC jest nazwą danej relacji. A oto trzy krotki relacji PRAC: <Kowalski, Jan, 36> <Tomaszewski, Wojciech, 40> <Wiśniewski, Marek, 50>. KISIM, WIMiIP, AGH 14

Zbiór identyfikujący relacji R = 1 2 zbiór atrybutów { A,A } S R który jednoznacznie identyfikuje wszystkie krotki w relacji R w żadnej relacji o schemacie Rnie mogąistniećdwie krotki t 1 i t 2 takie, że t 1 [S]=t 2 [S],...,A n KISIM, WIMiIP, AGH 15

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órtego zbioru nie posiada tej własności W kluczu nie może zawieraćsięwartośćnull KISIM, WIMiIP, AGH 16

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) KISIM, WIMiIP, AGH 17

Zależność funkcjonalna Atrybut Brelacji Rjest funkcjonalnie zależny od atrybutu A jeżeli dowolnej wartości a atrybutu A odpowiada nie więcej niż jedna wartość b atrybutu B A B KISIM, WIMiIP, AGH 18

Więzi Więź(relationship) to powiązanie pomiędzy parą tabel (relacji). Istnieje ona wtedy, gdy dwie tabele sąpołączone przez klucz podstawowy i klucz obcy. Każda więźjest opisywana przez typ więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopieńuczestnictwa tych tabel. KISIM, WIMiIP, AGH 19

Typy więzi jeden-do-jednego(jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót) KISIM, WIMiIP, AGH 20

Więź jeden-do-jednego KISIM, WIMiIP, AGH 21

Typy więzi jeden-do-wielu(jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadaćjeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej) KISIM, WIMiIP, AGH 22

Więzi identyfikujące Klucz obcy, który jest składnikiem złożonego klucza głównego w relacji zależnej określany jest mianem klucza obcego głównego(primary Foreign Key) a tak zbudowana więź jest więzią identyfikującą KISIM, WIMiIP, AGH 23

Więź wiele-do-wielu KISIM, WIMiIP, AGH 24

Podstawowe zagadnienia algebry relacji KISIM, WIMiIP, AGH 25

Relacja (przypomnienie): Dane sązbiory A 1, A 2,. A n, relacjąr nazywamy dowolny podzbiór A 1 x A 2 x x A n Relacja jest zbiorem krotek (a 1,a 2,, a n ), gdzie każde a i A i» Np. customer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} r= {(Jones, Main, Harrison), (Smith, North, Rye), (Curry, North,Rye), (Lindsay, Park, Pittsfield)} jest relacją określoną na customer-name x customer-street x customer-city KISIM, WIMiIP, AGH 26

Model relacyjny danych: A 1, A 2,, A n oznaczająatrybuty. R= (A 1, A 2,, A n ) jest schematem relacji R.» Np. Customer-schema= (customer-name, customer-street, customer-city) r(r) oznacza instancję r relacji o schemacie R.» Np. customer(customer-schema) t = (a 1,a 2,, a n ), t r oznacza krotkęrelacji r(r). KISIM, WIMiIP, AGH 27

Model relacyjny danych (c.d.): Aktualna wartość relacji (instancja relacji) może być przedstawiona w formie tabeli, której:» kolumny odpowiadają atrybutom,» nagłówek odpowiada schematowi relacji. Elementy relacji -krotkisąreprezentowane przez wiersze tabeli. customer-name customer-street customer-city Jones Smith Curry Lindsay Main North North Park customer Harrison Rye Rye Pittsfield KISIM, WIMiIP, AGH 28

Kategorie w algebrze relacji: Zwyczajne działania algebry zbiorów: suma, przecięcie i różnica Operacje zawężenia: selekcjaeliminuje pewne wiersze, a rzutowanie pewne kolumny Operacje komponowania krotek z różnych relacji: np. iloczyn kartezjański Operacje przemianowanianie zmieniające krotek ale schemat ich relacji KISIM, WIMiIP, AGH 29

Iloczyn kartezjański: (inaczej produkt) relacji Ri Sto relacja wszystkich uporządkowanych par krotek, z których pierwszy element pary należy do relacji Ra drugi do S Schemat relacji R Sjest sumąschematów relacji Ri S, w której powtarzające się atrybuty (kolumny) traktowane są jako odrębne elementy schematu, np. R.A i S.A Student Język Student Język Adam Kot angielski Adam Kot matematyka R: Adam Kot niemiecki S: Adam Kot fizyka R S: R.Student Adam Kot Język angielski S.Student Adam Kot Przedmiot matematyka Adam Kot angielski Adam Kot fizyka Adam Kot niemiecki Adam Kot matematyka Adam Kot niemiecki Adam Kot fizyka KISIM, WIMiIP, AGH 30

Złączenie naturalne: polega na połączeniu w pary tych krotek z relacji Ri S, które mają identyczne wartości dla wszystkich wspólnych atrybutów i jest oznaczane R S w rezultacie powstaje relacja, której schemat zawiera atrybuty relacji Ri relacji S, przy czym wspólna część uwzględniana jest tylko raz Student Przedmiot Semestr Ocena Adam Kot Matematyka I 3,0 Przedmiot Semestr Prowadzący Adam Kot Jan Pies Fizyka Matematyka II I 4,0 2,0 Matematyka Fizyka Matematyka I II II Prof. Wilk Prof. Zając Prof. Kos Student Przedmiot Semestr Ocena Prowadzący Adam Kot Matematyka I 3,0 Prof. Wilk Adam Kot Fizyka II 4,0 Prof. Zając Jan Pies Matematyka I 2,0 Prof. Wilk KISIM, WIMiIP, AGH 31

Typy złączeń: złączenie wewnętrzne(inner join) w relacji wynikowej występują wyłącznie te krotki, które spełniają warunek złączenia złączenie lewostronne zewnętrzne(leftouterjoin) zawiera wszystkie krotki R uzupełnione krotkami S spełniającymi warunek złączenie prawostronne zewnętrzne(rightouterjoin) -zawiera wszystkie krotki S uzupełnione krotkami R spełniającymi warunek złączenie zewnętrzne pełne(full outer join) zawiera wszystkie krotki R oraz Suzupełnione wartościami typu NULLgdy do danej krotki nie pasuje żadna krotka z drugiej relacji złączenie zewnętrzne typu union-zawiera wszystkie krotki Rnie pasujące do żadnej krotki Suzupełnione krotkami Snie pasującymi do żadnej krotki R KISIM, WIMiIP, AGH 32

Złączenie teta polega na złączeniu dwóch relacji Ri Sw iloczyn kartezjański i wyborze z niego tych krotek, które spełniająwyrażenie warunkowe na parze lub zbiorze par atrybutów z Ri Si jest oznaczane symbolem R Θ R lub R C S, gdzie Θ lub C to wyrażenia logiczne KISIM, WIMiIP, AGH 33

Złączenie teta R Towar Data_Od Data_do Cena mąka 1.01.2004 31.01.2004 2,00 mąka 1.02.2004 31.03.2004 2,10 mąka 1.04.2004 2,05 S Towar Data Ilość R C S mąka 15.03.2004 10 R.Towar Data_Od Data_do Cena S.Towar Data Ilość mąka 1.02.2004 31.03.2004 2,10 mąka 15.03.2004 10 C= (R.Towar=S.Towar AND Data>=Data_Od AND Data<=Data_Do ) KISIM, WIMiIP, AGH 34

Równozłączenie to szczególny przypadek złączenia teta, w którym warunek ma charakter równości wybranych atrybutów obu relacji powtarzające siękolumny opisujące atrybuty z warunku złączenia sąpomijane KISIM, WIMiIP, AGH 35

Równozłączenie Towar R Klient S Kontrahent Miasto stal Exbud Exbud Kielce cegła PBS PBS Kraków złom PHS Tarnów R R.Klient=S.Kontrahent S Towar stal cegła Klient Exbud PBS Miasto Kielce Kraków KISIM, WIMiIP, AGH 36

Złączenie lewostronne zewnętrzne R S Towar Klient Kontrahent Miasto stal Exbud Exbud Kielce cegła PBS PBS Kraków złom PHS Tarnów R R.Klient=S.Kontrahent S Towar stal cegła złom Klient Exbud PBS Miasto Kielce Kraków KISIM, WIMiIP, AGH 37

Złączenie prawostronne zewnętrzne R S Towar Klient Kontrahent Miasto stal Exbud Exbud Kielce cegła PBS PBS Kraków złom PHS Tarnów R R.Klient=S.Kontrahent S Towar stal cegła Klient Exbud PBS PHS Miasto Kielce Kraków Tarnów KISIM, WIMiIP, AGH 38

Złączenie zewnętrzne pełne R S Towar Klient Kontrahent Miasto stal Exbud Exbud Kielce cegła PBS PBS Kraków złom PHS Tarnów R R.Klient=S.Kontrahent S Towar stal cegła złom Klient Exbud PBS PHS Miasto Kielce Kraków Tarnów KISIM, WIMiIP, AGH 39

Złączenie zewnętrzne typu union R S Towar Klient Kontrahent Miasto stal Exbud Exbud Kielce cegła złom PBS PBS PHS Kraków Tarnów R R.Klient=S.Kontrahent S Towar złom Klient PHS Miasto Tarnów KISIM, WIMiIP, AGH 40