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

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

Bazy danych wykład drugi. Konrad Zdanowski

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

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

Model relacyjny. Wykład II

RBD Relacyjne Bazy Danych

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

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Teoretyczne podstawy informatyki

Bazy danych. Algebra relacji

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

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

Model relacyjny. Wykład II

1 Wstęp do modelu relacyjnego

Matematyka stosowana. Bazy danych. Zbigniew Jurkiewicz

Bazy danych 2. Relacyjny model baz danych

Technologie baz danych

RBD Relacyjne Bazy Danych Więzy realcji

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

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

Projektowanie relacyjnych baz danych

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

Dedukcyjne bazy danych i rekursja

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

Relacyjny model danych

Dedukcyjne bazy danych i rekursja

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

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

Systemy baz danych. Notatki z wykładu

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

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

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

Przestrzenne bazy danych Podstawy języka SQL

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Bazy danych Język SQL część 2 Wykład dla studentów matem

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Relacyjny model danych. Relacyjny model danych

Operacja Teta-złączenia. v1 v1 Θ v2

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

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

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Relacyjny model danych

Pojęcie zależności funkcyjnej

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

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram

Zbiory, relacje i funkcje

Autor: Joanna Karwowska

Normalizacja baz danych

Projektowanie baz danych

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

Podstawowe zapytania SELECT (na jednej tabeli)

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

Przekształcenia liniowe

Rachunki relacji. Rachunki relacji. RRK Relacyjny Rachunek Krotek

zaznaczymy na osi liczbowej w ten sposób:

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawy języka SQL cz. 2

Wprowadzenie i pojęcia wstępne.

Alicja Marszałek Różne rodzaje baz danych

SZKOLENIE: Administrator baz danych. Cel szkolenia

Algebra Boole a i jej zastosowania

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

Elementy logiki matematycznej

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

Bazy danych. Dr inż. Paweł Kasprowski

TEORETYCZNE PODSTAWY INFORMATYKI

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Normalizacja. Pojęcie klucza. Cel normalizacji

TEORETYCZNE PODSTAWY INFORMATYKI

Bazy danych 3. Normalizacja baz danych (c.d.)

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Algebra relacji - rozwiązania zadań. Zadania

Teoretyczne podstawy informatyki

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

PODSTAWY RACHUNKU WEKTOROWEGO

Wprowadzenie do baz danych

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie.

Relacje. opracował Maciej Grzesiak. 17 października 2011

Temat : SBQL 1 obiektowy język zapytań.

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

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Podstawowy kurs z systemów baz danych / Jeffrey D. Ullman, Jennifer Widom. - wyd Gliwice, cop Spis treści.

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Technologie baz danych

1 Działania na zbiorach

PLAN WYKŁADU BAZY DANYCH ETAPY PRZETWARZANIA ZAPYTANIA OPTYMALIZACJA ZAPYTAŃ

Układy liniowo niezależne

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

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

PRZEWODNIK PO PRZEDMIOCIE

Semantyka rachunku predykatów

Teoretyczne podstawy informatyki

Przedmioty do wyboru oferowane na stacjonarnych studiach I stopnia (licencjackich) dla II roku w roku akademickim 2015/2016

1 Zbiory i działania na zbiorach.

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

Wykład 2. Relacyjny model danych

Transkrypt:

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

Algebra relacji Model teoretyczny do opisywania semantyki relacyjnych baz danych, zaproponowany przez T. Codda (twórcę koncepcji relacyjnych baz danych). Algebra, której dziedzinę stanowia relacje, tzn. zmienne występujace w wyrażeniach reprezentuja relacje. Operatory dobrane tak, aby odpowiadały typowym operacjom występujacym w zapytaniach podczas wyszukiwania informacji z tabel w bazie danych. Miała być językiem zapytań (query language) dla relacyjnych baz danych.

Relacje Relacje reprezentowane ich nazwami. Z nazwa każdej relacji jest zwiazany jej schemat ciag nazw atrybutów (odpowiadajacych kolumnom modelowanej tabeli), np. R(A, B, C) Student(indeks, imię, nazwisko) Nazwy atrybutów w schemacie relacji musza być różne.

Podstawowe operacje Typowe operacje teoriomnogościowe: suma zbiorów ( ), iloczyn zbiorów ( ) i różnica zbiorów ( ), ale oba argumenty musza mieć ten sam schemat Iloczyn kartezjański R S Ponieważ argumenty moga mieć atrybuty o tych samych nazwach, nazwy atrybutów w schemacie wyniku trzeba czasem poprzedzać nazwami relacji, z których pochodza Np. dla relacji R(A, B, C) i S(C, D, E) schematem ich iloczynu kartezjańskiego będzie R S(A, B, R.C, S.C, D, E) Lepiej jednak użyć przemianowania. Selekcja (wybór) σ warunek (R): wybieramy z relacji tylko te krotki, dla których jest spełniony podany warunek.

Podstawowe operacje Rzutowanie (projekcja) π atrybut1,...,atrybut n (R): wybieramy tylko wskazane atrybuty z relacji Przemianowanie ρ S (R): zmiana nazwy relacji lub zmiana nazw jej atrybutów ρ R(X,Y,Z ) R, czasem jedno i drugie ρ S(X,Y,ZX) R. Złaczenie R S: podobne do iloczynu kartezjańskiego, θ ale łaczy się ze soba tylko pary krotek spełniajace podany warunek.

Selekcja Relacja Zwierzaki: gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50 Lis Fufu 6,35 Krokodyl Czako 75,00 σ gatunek= Papuga Zwierzaki: gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50

Rzutowanie Duplikaty sa eliminowane (bo to relacje!) π gatunek,waga Zwierzaki: gatunek waga Papuga 3,50 Papuga 5,35 Lis 6,35 Krokodyl 75,00

Uogólnione rzutowanie Oprócz nazw atrybutów sa dozwolone dowolne wyrażenia na atrybutach, np. arytmetyczne. Trzeba je wtedy nazwać: A + B C Atrybuty moga wystapić wielokrotnie.

Uogólnione rzutowanie R = A B 1 2 3 4 π A+B C,A,A A1 R = C A A1 3 1 1 7 3 3

Iloczyn kartezjański R1 = A B 1 2 3 4 R2 = B C 5 6 7 8 9 10 R1 R2 = A R1.B R2.B C 1 2 5 6 1 2 7 8 1 2 9 10 3 4 5 6 3 4 7 8 3 4 9 10

Złaczenie theta R θ S = σ θ (R S) θ oznacza dowolny warunek na atrybuty łaczonych relacji, np. A < C. Złaczenie theta, w którym warunek jest prosta równościa pary atrybutów, nazywa się złaczeniem równościowym. Pojęcie porzuconej krotki (dangling tuple): krotki z jednej z relacji, do której nie pasuje żadna krotka z drugiej relacji. Taka krotka nie pojawi się w wyniku.

Złaczenie theta Zwierzaki gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50 Lis Fufu 6,35 Krokodyl Czako 75,00 Gatunki nazwa Papuga Lis Krokodyl kontynent Ameryka Europa Afryka Zwierzaki gatunek=nazwa gatunek imię waga nazwa kontynent Papuga Kropka 3,50 Papuga Ameryka Papuga Lulu 5,35 Papuga Ameryka Papuga Hipek 3,50 Papuga Ameryka Lis Fufu 6,35 Lis Europa Krokodyl Czako 75,00 Krokodyl Afryka

Złaczenie naturalne Notacja: R S. Łaczone relacje musza mieć co najmniej jeden wspólny atrybut o tej samej nazwie (w przeciwnym razie otrzymamy iloczyn kartezjański). Warunkiem złaczenia jest równość dla wszystkich par atrybutów o tych samych nazwach. W wyniku pozostaje tylko jeden atrybut z każdej pary atrybutów o tych samych nazwach.

Złaczenie naturalne Zwierzaki gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50 Lis Fufu 6,35 Krokodyl Czako 75,00 Gatunki gatunek Papuga Lis Krokodyl Zwierzaki Gatunki gatunek imię waga kontynent Papuga Kropka 3,50 Ameryka Papuga Lulu 5,35 Ameryka Papuga Hipek 3,50 Ameryka Lis Fufu 6,35 Europa Krokodyl Czako 75,00 Afryka kontynent Ameryka Europa Afryka

Przemianowanie Pozwala na nazywanie relacji wynikowych: ρ RS(A,B,X,C,D,E) (R S). Uproszczona notacja: R1(A1, B, X, C, D, E) := (R S).

Wyrażenia złożone Ponieważ jest to algebra, więc operacje można składać otrzymujac wyrażenia złożone. Równoważność wyrażeń można wykorzystać przy optymalizacji, zastępujac dane wyrażenie równoważnym mu, lecz bardziej efektywnym.

Wyrażenia złożone: samozłaczenie Zwierzaki gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50 Lis Fufu 6,35 Krokodyl Czako 75,00 Znajdź pary zwierzaków (imiona) tego samego gatunku π Z 1.imie,Z 2.imie (ρ Z 1 Zwierzaki Z 1.gatunek=Z 2.gatunek Z 1.imie<Z 2.imie ρ Z 2 Zwierzaki) (drugi warunek pozwala uniknać duplikatów ).

Wielozbiory Zgodnie z matematyczna definicja relacji jako zbioru utożsamia się jednakowe krotki (powstajace np. podczas rzutowania). Można rozszerzyć tę algebrę na wielozbiory, dopuszczajac powtórzenia. Powstaje jednak problem odpowiedniej semantyki dla operacji iloczynu i różnicy teoriomnogościowej. Intuicyjnie zdefiniowane rozszerzenia operacji na wielozbiory zastosowane do relacji daja relacje z wyjatkiem sumy, która dla dwóch relacji może dać wielozbiór. Przestaja zachodzić niektóre prawa algebry relacji, np. (R S) T = (R T ) (S T ) Operator eliminacji powtórzeń δ(r).

Grupowanie Aby móc modelować proste zapytania statystyczne wprowadzimy operator grupowania z opcjonalnym obliczeniem funkcji agregujacej Zauważmy, że γ A,MIN(B) MinB (R) γ A1,...,A n (R) = δ(r) jeśli A i to wszystkie atrybuty R.

Sortowanie Operator sortowania τ C,B (R). Nie jest to operator algebry relacji ani wielozbiorów, lecz ewentualnej algebry list, dlatego powinien być zewnętrznym operatorem wyrażenia!

Złaczenia zewnętrzne Umożliwiaja zachowanie zawieszonych krotek w wyniku Używa się specjalnej wartości do wskazania brakujacych wartości z drugiego argumentu złaczenia Pełne: R S Lewostronne: R L S brane sa tylko porzucone krotki z pierwszego argumentu; Prawostronne: R R S; Oczywiście zamiast złaczenia naturalnego można użyć złaczenia theta (z warunkiem u dołu).

Złaczenie zewnętrzne Zwierzaki gatunek imię waga Papuga Kropka 3,50 Papuga Lulu 5,35 Papuga Hipek 3,50 Lis Fufu 6,35 Krokodyl Czako 75,00 Gatunki gatunek Papuga Lis Krokodyl Krowa Zwierzaki Gatunki gatunek imię waga kontynent Papuga Kropka 3,50 Ameryka Papuga Lulu 5,35 Ameryka Papuga Hipek 3,50 Ameryka Lis Fufu 6,35 Europa Krokodyl Czako 75,00 Afryka Krowa Europa kontynent Ameryka Europa Afryka Europa

Złaczenie zewnętrzne Inny przykład. Schemat fikcyjnego hotelu obejmuje relacje Pokoje(numer,lozka,lazienka,cena) Rezerwacje(id,pokoj,pesel,odkiedy,dokiedy,zaplacono) Pokoje bez rezerwacji można znaleźć zapytaniem π numer Pokoje π pokoj Rezerwacje ale dla większej zabawy użyjemy σ pokoj= (Rooms Rezerwacje) numer=pokoj

Zastosowania algebry relacji Zapisywanie zapytań (np. modelowanie semantyki) Nakładanie ograniczeń na poprawność bazy danych (więzy). Przykłady: R S = R S (styl równościowy) (styl teoriomnogościowy) Modelowanie integralności referencyjnej π klucz-obcy (R) π klucz (S) π klucz-obcy (R) π klucz (S) = Inny zapis zależności funkcyjnych A B : σ R.A=R1.A R.b R1.B (R ρ R1 (R)) = Postać pośrednia do kompilacji zapytań na operacje bazy danych.