Relacyjny model danych

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Indeksy w bazie danych Oracle
Bazy danych 4. Algebra relacji P. F. Góra
Teoria układów logicznych
Optymalizacja zapytań
Modelowanie logiczne (dla relacyjnych SZBD)
Grażyna Mirkowska PJWSTK, 10 stycznia 2001
Rafał Hryniów Tomasz Pieciukiewicz
Metody Analizy Programów Wykład 02
Relacyjny model danych
Bazy danych i inżynieria oprogramowania
Relacyjny model danych
Sztuczne sieci neuronowe
Jan Aleksander Wierzbicki
Obiektowe Bazy Danych Paweł Ciach.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
Teoretyczne Podstawy Informatyki - Rok I - kierunek IS w IFAiIS UJ – 2006/ /11/06Prof. dr hab. Elżbieta Richter-Wąs Wykład 8b Algebra relacyjna Teoretyczne.
Relacyjny Model Danych
SQL-owskie szlaki górskie
Wprowadzenie do systemów baz danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Bazy danych Algebra relacji.
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Bazy Danych Wykład 1 S. Kozielski.
Język SQL (Structured Query Language) DDL (Data Definition Language)
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Matematyka.
OPERACJA DZIELENIA W SQL
Zależności funkcyjne.
ROZMYTE BAZY DANYCH.
SQL – zapytania posumowanie
O relacjach i algorytmach
Podstawy układów logicznych
Podstawy informatyki (4)
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
I. Informacje podstawowe
RELACYJNE BAZY DANYCH, SCHEMAT RELACJI, SELEKCJA, PROJEKCJA
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
WITAMY W ŚWIECIE MATEMATYKI
STEROWANIE Ale nie tylko
Na początek kilka pojęć z arkusza
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
Model relacyjny.
Bazy danych - podstawowe pojęcia
Oryginał: Hector Garcia-Molina5. Przetwarzanie zapytań1 Systemy zarządzania bazami danych 5. Przetwarzanie zapytań.
Projektowanie relacyjnych baz danych – postacie normalne
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Temat 1: Strukturalny język zapytań SQL
Wykład I Podstawy relacyjnych baz danych Powtórzenie wiadomości
Definiowanie kluczy w tabelach RBD
KNW- Wykład 3 Powtórzenie. PROGRAM WYKŁADU NR 3 Przykładowe zadania z logiki Modele możliwych światów.
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.
Projektowanie postaci formularza:
Modelowanie model związków encji
Bazy Danych Wprowadzenie
Prezentacja programu PowerPoint
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie formalne © Kazimierz Duzinkiewicz, dr hab. inż.
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Nieprawidłowo zaprojektowana tabela
Algebra WYKŁAD 4 ALGEBRA.
Wprowadzenie do systemów baz danych
Zapis prezentacji:

Relacyjny model danych Wykład 2 S. Kozielski

Relacja X, Y – zbiory, Iloczyn kartezjański X Y = {(x,y): xX  yY}   X, Y – zbiory, Iloczyn kartezjański X Y = {(x,y): xX  yY} Dwuczłonowa relacja w X Y = {(x,y): xX  yY  x  y}  X Y N – członowa relacja: podzbiór iloczynu kartezjańskiego X1  X2  X3  ...  XN

Model relacyjny – opis formalny Atrybuty: A1, A2, A3, np.: nazwisko, nrp, kwota, adres Dziedziny atrybutów: DA1, DA2, DA3, ... Schemat relacji: R = { A1, A2, ..., Ap} – podzbiór zbioru atrybutów Relacja r(R): podzbiór iloczynu kartezjańskiego dziedzin atrybutów tworzących schemat DA1  DA2  ...  DAp r(R)  DA1  DA2  ...  DAp

Przykład: R = {nrp, nrt, kwota} Dnrp= {1, 2, 3}, Dnrt= {1, 2, 3}, Dkwota= {150, 200, 300} Dnrp  Dnrt  Dkwota= {1, 1, 150 2, 1, 150 3, 1, 150 … 3, 3, 150 3, 3, 200 3, 3, 300}

Wypłaty  Dnrp  Dnrt  Dkwota 2 300 3 150 1 200 Wypłaty  Dnrp  Dnrt  Dkwota

Relacja jako zbiór krotek r(R) = {t1, t2, t3, …, tk} (A, B, C) ———— a1 b1 c1 - krotka t1 a2 b2 c2 - krotka t2 a3 b3 c3 - krotka t3

Różne formy opisu stosowane w modelu relacyjnym Opis formalny Opis tablicowy Opis fizyczny (fizycznych struktur d.) relacja tablica (tabela) plik krotka wiersz rekord atrybut kolumna pole schemat relacji nagłówek tablicy typ rekordu

Algebra relacji Dane relacje: r(R), s(S) Selekcja w – warunek selekcji (wyrażenie logiczne) w(r) = {t : t  r  w(t) = True } = p(R)

Przykład selekcji A B C 2 1 C=2 

Projekcja Niech X  R X = { u : t  r  u = t [X] } = q (X)

Przykład projekcji A B C AC 

Złączenie (naturalne) r  s = { u : t  r  w  s  t [R  S] = w [R  S]  u[R] = t  u[S] = w} = z (R  S)

Przykład złączenia naturalnego r (A, B, C) s (C, D) z (A, B, C, D) ————  ——— = ————— a1 b1 c1 c1 d1 a1 b1 c1 d1 a2 b2 c2 c5 d5 a4 b4 c1 d1 a3 b3 c3 a4 b4 c1

Ogólna postać złączenia ( - złączenie) r w s =  w (r  s) lub r  AB s =  AB (r  s) , gdzie A  R, B  S

Dzielenie Niech będą dane relacje: r(XY), s(Y) r  s = { u : w  s t  r t [Y] = w  t [X] = u }

Przykład dzielenia w (nrp, nrt) t (nrt) w  t = z (nrp) ———— ——— ——— ———— ——— ——— 1 1 1 1 1 2 2 3 1 3 3 2 2 2 3 3 1 3 2 3 3

Operatory mnogościowe Niech będą dane relacje: r(R), s(R) Suma: r  s Różnica: r \ s Iloczyn: r  s

Pytanie Z1 jako wyrażenie algebry relacji Z1 = nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy))

Złączenie tabel Pracownicy Wypłaty nrp nrt kwota 2 300 3 150 1 200 nrp nazwisko adres nrz 1 Lipowski Ruda 2 Grabski Zabrze 3 Jaworek Gliwice

Pracownicy  Wypłaty nrp nazwisko adres nrz nrt kwota 2 Grabski Zabrze 1 300 3 Jaworek Gliwice 150 Lipowski Ruda 200

Pracownicy  Wypłaty  Tematy nrp nazwisko adres nrz nrt kwota nazwa kier. 2 Grabski Zabrze 1 300 Pr. przetwor. 3 Jaworek Gliwice 150 Pr. reaktora Lipowski Ruda Pr. zasilacza 200

nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy) nrp nazwisko adres nrz nrt kwota nazwa kier. 3 Jaworek Gliwice 1 150 Pr. reaktora 2 200 Pr. przetwor.

nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy)) Pr. reaktora Pr. przetwor.

Własności operatorów algebry relacji r(R), s(S), z(Z) – dane relacje 1) Przemienność złączeń: r  s = s  r 2) Łączność złączeń: (r  s)  z = r  (s  z)

3) Przemienność selekcji i złączeń dla wyrażenia w(r  s) Niech atr(w) – zbiór atrybutów występujących w w Jeśli atr(w)  R, to w(r  s) = (w(r ))  s Jeśli atr(w)  S, to w(r  s) = r  (w(s )) Jeśli w= w1  w2 oraz atr(w1)  R i atr(w2)  S, to w(r  s) = (w1(r ))  (w2(s))

Przykłady równoważnej postaci wyrażeń P1=nazwisko (nrz=3kwota>2000 (Pracownicy  Wypłaty)) P1= nazwisko ((nrz=3 (Pracownicy))  (kwota>2000 (Wypłaty))) P2= nazwisko (nazwa = ‘Pr.gen.’ (Pracownicy  Wypłaty  Tematy)) P2= nazwisko (Pracownicy  Wypłaty (nazwa = ‘Pr.gen.’ (Tematy)))

Drzewo rozbioru wyrażenia algebry relacji – plan realizacji zapytania

Optymalizacja wyrażeń algebry relacji

P2= nazwisko (nazwa = ‘Pr.gen.’ (Pracownicy  Wypłaty  Tematy)) P2= nazwisko (Pracownicy  Wypłaty (nazwa = ‘Pr.gen.’ (Tematy)))

Proste reguły optymalizacji wyrażeń algebry relacji Przenieść selekcje (i projekcje) jak najwyżej w drzewie rozbioru wyrażenia Wykonać projekcje razem ze złączeniami lub selekcjami Dobrać kolejność złączeń według selekcji najsilniej redukujących