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

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

RBD Relacyjne Bazy Danych Więzy realcji

Teoretyczne podstawy informatyki

Bazy danych wykład drugi. Konrad Zdanowski

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

Technologie baz danych

RBD Relacyjne Bazy Danych

1 Wstęp do modelu relacyjnego

Model relacyjny. Wykład II

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

Model relacyjny. Wykład II

Bazy danych. Algebra relacji

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

Bazy Danych i Usługi Sieciowe

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

Projektowanie relacyjnych baz danych

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

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Bazy danych i usługi sieciowe

Systemy baz danych. Notatki z wykładu

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

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

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:

Autor: Joanna Karwowska

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

TEORETYCZNE PODSTAWY INFORMATYKI

Wykład 2. Relacyjny model danych

TEORETYCZNE PODSTAWY INFORMATYKI

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

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

domykanie relacji, relacja równoważności, rozkłady zbiorów

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

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Bazy danych i usługi sieciowe

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

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

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

Bazy danych i usługi sieciowe

Wprowadzenie do baz danych

Bazy Danych i Usługi Sieciowe

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

Technologie baz danych

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

Wykład XII. optymalizacja w relacyjnych bazach danych

Projektowanie Systemów Informacyjnych

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

3. Podzapytania, łączenie tabel i zapytań

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

1 Działania na zbiorach

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

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

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

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

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

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

Rachunki relacji. Rachunki relacji. RRK Relacyjny Rachunek Krotek

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

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

Przestrzenne bazy danych Podstawy języka SQL

Podstawy języka SQL cz. 2

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Bazy danych. Andrzej Łachwa, UJ, /15

Oracle11g: Wprowadzenie do SQL

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Technologie baz danych

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

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

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

Bazy danych 2. Relacyjny model baz danych

Model relacyjny bazy danych

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Bazy danych wykład trzeci. Konrad Zdanowski

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

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

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Relacyjny model danych

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

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

Automatyzacja Ćwicz. 2 Teoria mnogości i algebra logiki Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu

Program nauczania. Systemy baz danych. technik informatyk

Relacyjny model danych

Algebra Boole a i jej zastosowania

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

Bazy danych. Dr inż. Paweł Kasprowski

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Arytmetyka liczb binarnych

Algebra relacji - rozwiązania zadań. Zadania

Metody probabilistyczne

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

Teoretyczne podstawy informatyki

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Technologie i systemy oparte na logice rozmytej

Transkrypt:

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta. Więzy integralności a algebra relacji. Wielozbiory dlaczego są praktyczniejsze od zbirów, suma, iloczyn różnica dla wielozbiorów, rzutowanie wielozbiorów, iloczyn kartezjański wielozbiorów, złączenia wielozbiorów.

Działania w modelu relacyjnym Dotychczas rozważaliśmy bazy danych z punktu widzenia projektanta i zastanawialiśmy się jedynie nad tworzeniem bazy projekt koncepcyjny i logiczny. Teraz popatrzymy na bazy danych z perspektywy użytkownika. Główne działanie użytkownika polega na przeszukiwaniu bazy danych, to znaczy na pisaniu aplikacji, których wynikiem są odpowiedzi na pytania związane z bieżącą instancją bazy danych. W modelu relacyjnym danych istnieje zestaw operacji na danych. Operacje na danych zdefiniowane są w sposób algebraiczny i tworzą algebrę relacji.

Operacje teoriomnogościowe Trzy najpopularniejsze operacje teoriomnogościowe stanowią: suma, przecięcie i różnica. R S sumazbiorówrisjestzbioremelementów,z którychkażdynależydorlubs. R S przekrójzbiorówrisjestzbioremelementów,do któregonależątylkoteelementy,którenależądoris. R\S różnicazbiorówrisjestzbioremelementów,które należądorinienależądos. OperacjetemożemyzastosowaćtylkodlatychrelacjiRiS,które spełniają następujące warunki: schematy relacji muszą mieć te same atrybuty, atrybuty obu relacji muszą być uporządkowane w ten sam sposób.

Operacja rzutowania Z operacji rzutowania korzysta się przy tworzeniu nowej relacji, która powstaje z relacji R poprzez usunięcie niej pewnych kolumn. Nową relację będąca wynikiem rzutowania relacji R przez przepisanieatrybutówa 1,A 2,...,A n oznaczamy: π A1,A 2,...,A n (R). studio film budżet miasto śr temp. Giant Gwiezdne Wojny 180 Milpitas 24 Giant Odyseja kosmaiczna 50 Milpitas 24 Wheatstone Robocop 12 Vancouver 20 Wyrażenieπ studio,film,budżet (R)mapostać: studio film budżet Giant Gwiezdne Wojny 180 Giant Odyseja kosmaiczna 50 Wheatstone Robocop 12

Selekcja W wyniku zastosowania operacji selekcji dla relacji R powstaje nowa relacja, która zawiera tylko część krotek relacji R. Krotki relacji wynikowej są wybierane według kryterium, które określa warunek C narzucony na krotki relacji R. Nową relację będącą wynikiem selekcji oznaczamy: σ C (R). C jest wyrażeniem warunkowym, w którym operandami mogą być stałe lub atrybuty relacji. Wartość wyrażenia warunku C jest obliczanadlakażdejkrotkitrelacjirwtensposób,żewmiejsce atrybutów wstawiane są odpowiednie składowe krotki t. Jeśli wartośćwarunkudlakrotkitjestrównaprawdatokrotkatjest dołączonadozbioruσ C (R).

Przykład selekcji studio film budżet miasto śr temp. Giant Gwiezdne Wojny 180 Milpitas 24 Giant Odyseja kosmiczna 50 Milpitas 24 Wheatstone Robocop 12 Vancouver 20 MPM Rambo 32 Austin 26 MPM Rambo II 72 Austin 26 σ budżet>40 (R) studio film budżet miasto śr temp. Giant Gwiezdne Wojny 180 Milpitas 24 Giant Odyseja kosmiczna 50 Milpitas 24 MPM Rambo II 72 Austin 26

Operacja złączenia naturalnego Operacja złączenia naturalnego relacji R i S polega na połączeniu wparytychkrotekrelacjiris,któremająidentycznewartościdla określonych atrybutów. Złączenie naturalne relacji R i S oznacza się: R S Załóżmy,żeatrybutyA 1,A 2,...,A n występująwobuschematach relacjisir.wówczaskrotkarrelacjizostajepołączonawparęz krotkąsrelacjisjeśliwartościskładowychrisdlaatrybutów A 1,A 2,...,A n sątakiesame. KażdakrotkanależącądozłączeniaR S,którapowstałaze złączeniakrotkirisjestzgodnazkrotkąrnaatrybutachrelacjir izgodnazkrotkąsnaatrybutachrelacjis.

Przykład złączenia naturalnego Relacja R: A B C 1 2 3 6 7 8 9 7 8 Relacja S: B C D 2 3 4 2 3 5 7 8 10 ZłączenieR S: A B C D 1 2 3 4 1 2 3 5 6 7 8 10 9 7 8 10

Iloczyn kartezjański relacji Iloczyn kartezjański dwóch zbiorów R i S jest zbiorem wszystkich uporządkowanych par, z których pierwsza należy do zbioru R a drugadozbiorus. W przypadku relacji elementami są krotki, w których występować może wiele składowych stąd w przypadku iloczynu kartezjańskiego nowa dłuższa krotka zawiera wszystkie składowe krotki r a następnie wszystkie składowe krotki s. Jeślizdarzysię,żerelacjeSiRsąatrybutyotakiejsamejnazwie, wówczas dla jednego z powtarzających się atrybutów należy wprowadzić nową nazwę. Przykład Relacja R: A B C D 1 2 3 4 1 2 3 5 Relacja S: D E F G 5 2 7 4 4 2 1 5 RelacjaR S: A B C R.D S.D E F G 1 2 3 4 5 2 7 4 1 2 3 4 4 2 1 5 1 2 3 5 5 2 7 4 1 2 3 5 4 2 1 5

Złączenie teta Czasem konieczne jest złączenie krotek relacji według innego kryterium złączenia niż w przypadku złączenia naturalnego. PołączenietyputetarelacjiRiSoznaczamysymbolemR C Si określa się następująco: utworzyć iloczyn kartezjański relacji R i S, z iloczynu kartezjańskiego należy wybrać tylko te krotki, dla których spełniony jest warunek C. Relacja R: A B C 1 2 3 5 1 4 Relacja S: C D 5 2 4 3 RelacjaR S: A B R.C S.C D 1 2 3 5 2 1 2 3 4 3 5 1 4 5 2 5 1 4 4 3 RelacjaR B<D S: A B R.C S.C D 1 2 3 4 3 5 1 4 5 2 5 1 4 4 3

Tworzenie zapytań z połączeń operacji Algebra relacji nie byłaby użyteczna gdybyśmy operowali tylko podstawowymi operacjami. Algebra umożliwia tworzenie dowolnie złożonych wyrażeń. Przykład: relacja FILMY: tytuł rok długość typ filmu nazwisko gwiazdy Filadelfia 1993 125 kolor Tom Hanks Filadelfia 1993 125 kolor Denzel Washington Filadelfia 1993 125 kolor Antonio Banderas Ostatni samuraj 2003 154 kolor Tom Cruise Skazani na Shawshank 1994 142 kolor Tim Robbins Skazani na Shawshank 1994 142 kolor Morgan Freeman π tytuł,nazwiskogwiazdy (σ rok>1993 (FILMY) σ długść<150 (FILMY)) tytuł nazwisko gwiazdy Skazani na Shawshank Tim Robbins Skazani na Shawshank Morgan Freeman π tytuł,nazwiskogwiazdy (σ rok>1993anddługść<150 (FILMY))

Więzy relacji W algebrze relacji istnieją dwa sposoby określania więzów: 1 Wyrażenie R = stanowi więzy, które można interpretować, żerelacjarjestpusta,albowrelacjirniemażadnejkrotki, 2 WyrażenieS Roznacza,żekażdakrotkarelacjiSnależy również do relacji R. Te dwa sposoby zapisania więzów są równoważne, w obu przypadkach można zapisać te same więzy, ale czasem któreś z nich jest wygodniejsze: R S R\S =, R = R.

Więzy integralności odwołań Jeśli jedna encja A jest połączona więzami integralności odwołań z encją B to encja B musi istnieć. Mówiąc w terminologii modelu relacyjnego, więzy integralności odwołań wymagają, żeby istniała krotkasrelacjis,naktórąwskazujekrotkarrelacjir,gdzie pomiędzy relacjami R i S istnieją więzy integralności odwołań. Dla relacji: FILMY(tytuł, rok, długość, typ, nazwa studia, producent) FILM DYR(id,imię, nazwisko, adres) zakładam, że każdy producent musi należeć również do relacji FILM DYR. Tak określone więzy można zapisać: π producent (FILMY) π id (FILMDYR).

Zależność funkcyjna GWIAZDY(nazwisko, adres, płeć, data urodzenia) nazwisko adres. Oznaczatotylkotyle,żeniemawrelacjiGWIAZDYdwóchkrotek o tych samych nazwiskach a różnych adresach. Inaczej mówiąc równość nazwisk implikuje równość adresów. W algebrze relacyjne parę krotek określamy jako iloczyn kartezjański. Stąd, żeby wyrazić zależność funkcyjną musimy wykonać selekcję krotek iloczynu kartezjańskiego elementów tej samej relacji, które spełniają warunek równości atrybutów po lewej stronie zależności funkcyjnej i różności atrybutu po prawej stronie zależności. Żeby zależność funkcyjna była spełniona, relacja będąca wynikiem wspomnianej selekcji musi być pusta. Ponieważ mamy iloczyn kartezjański tej samej relacji ze sobą musimy dokonać przemianowania i wówczas: σ R1.nazwisko=R2.nazwiskoANDR1.adres =R2.adres =.

Operacje relacyjne na wielozbiorach Relacje jako zbiory krotek są prostym i naturalnym modelem danych, które mogą występować w bazach danych, ale w rozwiązaniach komercyjnych pojawiają się często wielozbiory- czyli zbiory, w których ten sam element może wystąpić więcej niż jeden raz. Wielozbiory w znaczny sposób przyspieszają wykonywanie operacji na relacjach. A B C 1 2 3 1 2 1 1 3 4 A B C 1 2 3 1 2 1 1 3 4 1 2 1 1 2 1

Dlaczego wielozbiory W przypadku rzutowania zastosowanie wielozbiorów umożliwia niezależne traktowanie poszczególnych krotek. Jeśli natomiast traktujemy relację jako zbiór wówczas musimy w przypadku każdej z krotek wykonać porównanie wyniku rzutowania z dotychczasowymi wynikami rzutowania, po to by upewnić się, że nowa krotka jeszcze nie jest dołączona do wyniku. Jeśli zadanie polega na wyznaczeniu wartości średniej składowych A relacji R to nie można traktować rzutowanej relacji w kategoriach zbioru, bo wówczas pominiemy wszystkie elementy wielokrotne. Sumowanie. Jeśli potraktujemy R S jak zbiór, wówczas każdą krotkę ze zbioru R musimy sprawdzić czy nie należy również do zbioru S. Jeśli pozwolimy aby wyniku sumy był wielozbiorem, to wystarczy skopiować wszystkie krotki relacji RirelacjiSdowyniku,bezwzględunatoczysątakiesame

Operacje sumy iloczynu i różnica dla wielozbiorów Suma R S zawiera wszystkie elementy należące do wielozbioruris.jeślikrotkatwystąpiwrnrazyzaśws mrazytowr Stwystąpin+mrazy. PrzekrójR S.JeślikrotkatwystąpiwRnrazyawSm razy to w iloczynie wystąpi min(n, m) razy. RóżnicaR\S.JeślikrotkatwystąpiwRnrazyawSmrazy towiloczyniewystąpimax(0,n m).

Operacje rzutowania, selekcji oraz iloczyn kartezjański złączenia wielozbiorów Operację rzutowania czy też selekcji dla wielozbiorów przeprowadza się niezależnie dla każdej z krotek, nie zwracając uwagi na pozostałe krotki. Wynikiem wykonania wymienionych operacji zarówno dla relacji rozumianych w sensie zbiorów jaki i wielozbiorów może ja ko wynik dać wielozbiór. Iloczyn kartezjański wielozbiorów tworzymy analogicznie jak w przypadku zbiorów przy czym nie zwracamy uwagi na powtarzające siękrotkiwynikowe.jeślijakaśkrotkarwrelacjirwystąpinrazy akrotkaswrelacjismrazytowr Sktorka (r,s)wystąpi n mrazy. Złączenie wielozbiorów wykonujemy analogicznie jak w przypadku relacji traktowanych jako zbiory, przy czym w tych złączeniach pewne elementy pojawią się wielokrotnie.