1 Wstęp do modelu relacyjnego

Podobne dokumenty
Model relacyjny. Wykład II

Model relacyjny. Wykład II

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

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

Relacyjny model danych

Wykład 2. Relacyjny model danych

Bazy danych. Algebra relacji

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

Relacyjny model danych. Relacyjny model danych

Projektowanie relacyjnych baz danych

RBD Relacyjne Bazy Danych

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

Przestrzenne bazy danych Podstawy języka SQL

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

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

RBD Relacyjne Bazy Danych Więzy realcji

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

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

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

Bazy danych. Dr inż. Paweł Kasprowski

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

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

Autor: Joanna Karwowska

Agnieszka Ptaszek Michał Chojecki

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

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

Technologie baz danych

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

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Model relacyjny bazy danych

Technologie baz danych

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

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

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

Teoretyczne podstawy informatyki

BAZY DANYCH Podstawowe pojęcia

Bazy danych wykład drugi. Konrad Zdanowski

Baza danych. Modele danych

Relacyjne systemy baz danych i język SQL

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

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

Wykład 6. SQL praca z tabelami 3

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Oracle Hyperion Essbase

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

SQL Structured Query Language

WPROWADZENIE DO BAZ DANYCH

Wykład XII. optymalizacja w relacyjnych bazach danych

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wprowadzenie do języka SQL

Systemy baz danych. Notatki z wykładu

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

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

Oracle11g: Wprowadzenie do SQL

Relacyjne bazy danych

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

Podstawy języka SQL cz. 2

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

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

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

Aspekty aktywne baz danych

Bazy danych. Andrzej Łachwa, UJ, /14

Bazy Danych i Usługi Sieciowe

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

SQL Structured Query Language

Transformacja modelu ER do modelu relacyjnego

Pierwsza postać normalna

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Relacyjny model danych

Transformacja modelu pojęciowego. do logicznego

Pojęcie zależności funkcyjnej

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

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

Baza danych. Baza danych to:

Transformacja modelu ER do modelu relacyjnego

Projektowanie Systemów Informacyjnych

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

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

Technologia informacyjna

Cel normalizacji. Tadeusz Pankowski

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Transkrypt:

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 Data Banks, CACM 13, no. 6, June 1970. niezależność danych relacyjne obiekty danych normalizacja operatory relacyjne redundancja i spójność Postulaty Codda 1. Postulat informacyjny 2. Postulat dostępu 3. Postulat wartości NULL 4. Postulat słownika danych 5. Postulat pełnego języka danych 6. Postulat modyfikowania bazy danych przez perspektywy 7. Postulat modyfikowania danych 8. Fizyczna niezależność danych 9. Logiczna niezależność danych 10. Niezależność więzów spójności 11. Niezależność dystrybucyjna 12. Zabezpieczanie przed operacjami na niższych poziomach abstrakcji 1

Model relacyjny Model relacyjny to sposób prezentacji oraz manipulowania danymi, dotyczący: struktury danych jako relacji; integralności danych zachowanej poprzez klucze główne, obce, zawężenie dziedziny, unikalność, ograniczanie wartości pustych; operowania danymi poprzez selekcję, projekcję, złączenia i operacje na zbiorach. 2 Obiekty relacyjne Obiekty relacyjne Relacja R - tabela Krotka t - wiersz Atrybut A - kolumna Liczebność relacji m - liczba krotek w tabeli Stopień relacji n - liczba atrybutów Klucz główny K - jednoznaczny identyfikator tabeli Dziedzina D - zbiór dopuszczalnych wartości atrybutu Schemat relacji R(A 1, A 2,..., A n) Baza danych - zbiór relacji Schemat bazy danych - zbiór schematów relacji Dziedzina Dziedzina Dziedzina D (ang. domain) to zbiór wartości skalarnych tego samego typu. Dziedzina atrybutu Każdy atrybut A wywodzi się z dokładnie jednej dziedziny D. Relacja Relacja Relacja r(r) o schemacie R(A 1, A 2,..., A n ) na zbiorze dziedzin {D 1, D 2,..., D n } jest zbiorem krotek r = {t 1, t 2,..., t m } postaci t =< v 1, v 2,..., v n >, będących uporządkowaną listą, gdzie v i, dla 0 < i n należy do zbioru D i {NULL}, n jest stopniem relacji R, zaś m jej liczebnością. Każda relacja ma właściwe sobie znaczenie, które formalnie można przedstawić w postaci predykatu bądź funkcji logicznej. Predykat dla danej relacji stanowi kryterium zgody na jej uaktualnienie. 2

Rodzaje relacji Wyróżniamy relacje: nazwane, podstawowe, pochodne, perspektywy, perspektywy materializowane (migawki), wyniki zapytań, wyniki pośrednie. Własności obiektów relacyjnych Własności obiektów relacyjnych: nie istnieją podwójne krotki (powtarzające się), krotki nie są uporządkowane (ich kolejność nie ma znaczenia), atrybuty nie są uporządkowane (jw.), wszystkie wartości atrybutów są atomowe, w ramach bazy danych dziedziny mają jednoznaczne nazwy, w ramach bazy danych relacje nazwane mają jednoznaczne nazwy, w ramach relacji atrybuty posiadaja jednoznaczne nazwy. 3 Integralność danych relacyjnych Integralność danych relacyjnych Reguły integralności pomagają SZBD nadzorować poprawność danych wprowadzanych do bazy. Mogą one dotyczyć pojedynczego atrybutu bądź całej relacji. Wyróżniamy ograniczenia: klucze kandydujące, klucze główne (PRIMARY KEY), klucze alternatywne, klucze obce (FOREIGN KEY), unikalność (UNIQUE), zawężenie dziedziny (CHECK), wartość niepusta (NOT NULL). 3

Klucz kandydujący Klucz kandydujący Niech R będzie relacją. Klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R posiadającym własność jednoznaczności i nieredukowalności. Klucz kandydujący zawierający więcej niż jeden atrybut nazywa się kluczem złożonym, zaś zawierający dokładnie jeden atrybut - kluczem prostym. Klucze kandydujące zapewniają mechanizmy adresowania na poziomie krotek. Klucz główny i alternatywny W sytuacji, w której relacja posiada wiele kluczy kandydujących, jeden z nich powinien być wybrany jako klucz główny, pozostałe zaś określa się mianem kluczy alternatywnych. Klucz obcy Klucz obcy Niech R 2 będzie relacją. Klucz obcy relacji R 2 jest to podzbiór F K zbioru atrybutów R 2, taki że istnieje relacja R 1 (relacje R 1 i R 2 nie muszą być różne) z kluczem kandydującym CK oraz w każdej chwili każda wartość F K w aktualnej wartości relacji R 2 jest taka sama jak wartość CK w pewnej krotce aktualnej wartości relacji R 1. Wartość klucza obcego stanowi referencję do krotki docelowej zawierającej wartość odpowiadającego mu klucza kandydującego. Klucze na przykładzie 4

Ograniczenia atrybutu Na każdy atrybut relacji można narzucić ograniczenia dotyczące: dziedziny (określenie typu), niepowtarzalności wartości (UNIQUE), nie dopuszczania wartości pustej (NOT NULL), dowolny warunek logiczny ograniczający dziedzinę (CHECK). Integralność Integralność referencyjna Integralność referencyjna zapewnia, że baza nie zawiera żadnych niedopuszczalnych wartości klucza obcego i narzuca je poprzez tzw. więzy referencyjne. Integralność encji Żaden składnik klucza głównego relacji podstawowej nie może akceptować wartości pustej. Integralność atrybutu Wartości atrybutu są pobierane z odpowiedniej dziedziny. 4 Algebra relacyjna Zarys algebry relacyjnej Podstawowe operatory algebry relacynej: Rzut rzut (projekcja), restrykcja (selekcja), suma, przecięcie, różnica, iloczyn kartezjański, złączenie. Rzut (projekcja) Daje w wyniku relację złożoną z tych wszystkich wartości wskazanych atrybutów, które pozostały po usunięciu z relacji pozostałych atrybutów. 5

Rzut Notacja: π <atrybuty> (< nazwa relacji >) Właściwości: operacja nie jest komutatywna. Składanie operacji projekcji możliwe jest jedynie wtedy kiedy lista1 lista2: π <lista1> (π <lista2> (R)) = π <lista1> (R) Przykład: Nazwiska i płace z relacji pracownicy w języku SQL: π nazwisko,placa (pracownicy) SELECT nazwisko, placa FROM pracownicy; Restrykcja Restrykcja (selekcja) Daje w wyniku relację składajacą się ze wszystkich krotek, które spełniają określone warunki. Restrykcja Notacja: σ <warunki> (< nazwa relacji >) Warunek restrykcji ma postać < atrybut >< operator relacyjny >< literal > lub < atrybut >< operator relacyjny >< atrybut > Warunki są łączone operatorami logicznymi AND lub OR Właściwości: operacja jest komutatywna. Przykład: Pracownicy z działu 10 w języku SQL: σ <war1> (σ <war2> (R)) = σ <war2> (σ <war1> (R)) σ id dzialu=10 (pracownicy) SELECT * FROM pracownicy WHERE id_dzialu=10; 6

Rzut i restrykcja Złożenie operacji: Nazwiska i płace pracowników z działu 10 w języku SQL: π nazwisko,placa (σ id dzialu=10 (pracownicy)) SELECT nazwisko, placa FROM pracownicy WHERE id_dzialu=10; Operacje na zbiorach Suma Operacje sumy, przecięcia i różnicy są operacjami na zbiorach,będą wykonalne dla dwóch relacji jeżeli występuje zgodność typów - kompatybilność relacji. Dwie relacje: R(A 1, A 2,..., A n ) i S(B 1, B 2,..., B n ) są kompatybilne, jeżeli mają ten sam stopień i jeżeli D(A i ) = D(B i ) dla 1 i n. Suma dwóch relacji zgodnych typów R i S jest relacją zawierającą wszystkie krotki relacji R i S. Suma jest operacją komutatywną R S = S R. Suma - SQL WHERE id_dzialu=20 UNION WHERE id_dzialu=30; 7

Przecięcie Przecięcie dwóch relacji zgodnych typów R i S jest relacją zawierającą wszystkie krotki należące zarówno do relacji R jak i S. Przecięcie jest operacją komutatywną R S = S R. Przecięcie - SQL WHERE id_dzialu=20 INTERSECT WHERE id_dzialu=30; Różnica Różnica dwóch relacji zgodnych typów R i S jest relacją zawierającą wszystkie krotki należące do relacji R, a nie należące do relacji S. Różnica nie jest operacją komutatywną R S S R. 8

Różnica - SQL WHERE id_dzialu=20 MINUS WHERE id_dzialu=30; Iloczyn kartezjański Iloczyn kartezjański dwóch relacji R (o stopniu n R i liczebności m R ) oraz relacji S (o stopniu n S i liczebności m S ) jest relacją o stopniu n R + n S i liczebności m R m S zawierającą konkatenację wszystkich krotek należących do relacji R z wszystkimi krotkami należacymi do relacji S. Notacja: R S. Iloczyn kartezjański - SQL SELECT * FROM pracownicy CROSS JOIN dzialy; stary zapis: SELECT * FROM pracownicy, dzialy; 9

θ-złączenie θ-złączenie dwóch relacji R i S (o różnych nazwach atrybutów), dla dowolnego operatora porównania θ, stanowi restrykcję wykonaną na iloczynie kartezjańskim obu relacji, dla spełnionego warunku A R θb S, gdzie A R należy do zbioru atrybutów relacji R, zaś B S do relacji S. θ-złączenie Notacja: R <warunek zlaczenia> S lub R θ S Warunek złączenia: A R θb S, gdzie A R należy do zbioru atrybutów relacji R, zaś B S do relacji S θ {=,, <,, >, } Wśród θ-złączeń wyróżniamy równościowe, nierównościowe oraz złączenia zwrotne θ-złączenie - SQL SELECT * FROM pracownicy JOIN dzialy ON (pracownicy.id_dzialu = dzialy.id_dzialu); SELECT * FROM pracownicy JOIN dzialy USING(id_dzialu); stary zapis: 10

SELECT * FROM pracownicy, dzialy WHERE pracownicy.id_dzialu = dzialy.id_dzialu; Złączenie naturalne Złączenie naturalne dwóch relacji R i S (posiadający podzbiór o tych samych nazwach i typach atrybutów), stanowi restrykcję wykonaną na iloczynie kartezjańskim obu relacji, dla wszystkich A R = A S, gdzie A R należy do zbioru atrybutów relacji R, zaś A S do relacji S oraz posiadają te same nazwy i dziedziny w obu relacjach. Notacja: R S. Atrybuty złączenia nie powtarzają się w relacji wynikowej, SELECT * FROM pracownicy NATURAL JOIN dzialy; Zastosowania algebry relacyjnej Zadaniem algebry relacyjnej jest tworzenie wyrażeń, które mogą być wykorzystywane do definiowania: zakresu wydobywania danych, zakresu aktualizacji, relacji pochodnych, zasad bezpieczeństwa, wymagań stabilności, reguł integralności. 5 Źródła Źródła W wykładzie wykorzystano materiały: C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 http://wazniak.mimuw.edu.pl/index.php?title=bazy_danych emotikony z http://www.smileycentral.com/ 11