Relacyjny model danych

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Tablice 1. Deklaracja tablicy
Indeksy w bazie danych Oracle
Teoria układów logicznych
Modelowanie logiczne (dla relacyjnych SZBD)
S – student, P – przedmiot, W – wykładowca
Relacyjny model danych
WPROWADZENIE DO BAZ DANYCH
Obiektowe Bazy Danych Paweł Ciach.
MS Access 2000 Normalizacja Paweł Górczyński 2005.
WYKŁAD 7. Spójność i rozpięte drzewa
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
Normalizacja : Głównym celem projektowania bazy przeznaczonej dla systemu relacyjnego jest właściwa reprezentacja danych, związków i więzów. W identyfikowaniu.
POWTÓRZENIE Dane; Baza danych - BD;
POWTÓRZENIE Metodologia : Pojęcia:
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.
Relacyjny model danych
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.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SQL – zapytania posumowanie
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
O relacjach i algorytmach
Podstawy układów logicznych
Bazy danych.
I. Informacje podstawowe
Systemy baz danych Wykład 1
Temat 19: Organizacja informacji w bazie danych – część 1.
RELACYJNE BAZY DANYCH, SCHEMAT RELACJI, SELEKCJA, PROJEKCJA
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Wybrane zagadnienia relacyjnych baz danych
Model relacyjny.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
Projektowanie bazy danych
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 1: Wprowadzenie do baz 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
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
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
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Relacyjny model danych. 2 Model danych Struktury danych Ograniczenia integralnościowe Operacje.
Transformacja modelu EER do modelu relacyjnego
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Wstęp do Informatyki - Wykład 6
Indeksy.
Nieprawidłowo zaprojektowana tabela
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Zapis prezentacji:

Relacyjny model danych Wykład 2 S. Kozielski

Model danych struktury danych operacje na danych ograniczenia integralnościowe

Relacyjny model danych relacje operacje (operatory) algebry relacji więzy referencyjne + ograniczenia dziedzin relacji

Relacja (matematyka) X, Y – zbiory,   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 (relacja stopnia N): podzbiór iloczynu kartezjańskiego X1  X2  X3  ...  XN

Relacja – bazy danych Atrybuty: A1, A2, A3, … np.: nazwisko, nrp, kwota, adres Dziedziny atrybutów: DA1, DA2, DA3,... (inaczej domeny: dom(A1), dom(A2)) – zbiory dopuszczalnych wartości atrybutów (typy danych) Schemat relacji: R = { A1, A2, ..., Ap} – podzbiór zbioru atrybutów Relacja r o schemacie R: 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} Krotka t jest uporządkowaną listą wartości t = < v1,v2 …vp> gdzie vi  DAi lub jest specjalną wartością pustą NULL (A, B, C) ———— a1 b1 c1 - krotka t1 a2 b2 c2 - krotka t2 a3 b3 c3 - krotka t3 a4 b4 c4 - krotka t4 n-ty element krotki t oznaczany jest przez t[An] np. t4[B] = b4

Elementarne własności relacji Każdy atrybut relacji ma unikalną nazwę Porządek atrybutów w relacji nie jest istotny Porządek krotek w relacji nie jest istotny Relacja nie zawiera krotek powtarzających się (wszystkie krotki są unikalne)

Unikalność krotek relacji a pojęcie klucza Każdy podzbiór S atrybutów schematu relacji R (S  R), taki że dla każdych dwóch krotek ze zbioru r(R) zachodzi ti [S] ≠ tj [S] jest nazywany superkluczem (super key) relacji Superkluczem jest m.in. cały schemat relacji R Superklucz może posiadać nadmiarowe atrybuty

Pojęcie klucza relacji Kluczem K schematu relacji R nazywamy superklucz schematu R o takiej własności, że usunięcie dowolnego atrybutu A z K powoduje, że K’ = K - A nie jest już superkluczem Klucz jest minimalnym superkluczem (zachowującym własność unikalności krotek relacji) Schemat relacji może posiadać więcej niż jeden klucz Wyróżniony klucz: klucz główny (podstawowy) Pozostałe klucze: klucze kandydujące (wtórne)

Inna definicja klucza Kluczem jest minimalny zestaw atrybutów schematu relacji, którego wartości jednoznacznie identyfikują każdą krotkę relacji

Przykład Pracownicy (nrp, imię, nazwisko, PESEL, NIP, seria_i_nr_dowodu, data_urodzenia, imię_ojca, imię_matki, adres, nazwisko_rodowe, tytuł, zawód, nazwa_zakładu_pracy, adres_zp, staż) Klucze kandydujące: nrp PESEL NIP seria_i_nr_dowodu imię, nazwisko, imię_ojca

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) Podstawowe operacje: selekcja, projekcja, złączenie, iloczyn kartezjański, dzielenie, operacje na zbiorach Selekcja w – warunek selekcji (wyrażenie logiczne - predykat) 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(r) = { 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, dom(A) = dom(B)

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 ———— ——— ——— 1 1 1 1 1 2 2 3 1 3 3 2 2 2 3 3 1 3 2 r (nrp, nrt) s (nrt) r  s = 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 (operacje na zbiorach krotek) Niech będą dane relacje: r(R), s(R) Suma: r  s Różnica: r \ s Iloczyn: r  s Powyższe operacje mogą być rozszerzone na przypadek relacji r(R), s(S), w których R i S są równoliczne, a odpowiadające sobie atrybuty schematów R i S mają identyczne dziedziny

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 (wykorzystanie przemienności selekcji i złączeń)

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

Optymalizacja wyrażeń algebry relacji (dobór kolejności złączeń - 1)

Optymalizacja wyrażeń algebry relacji (dobór kolejności złączeń - 2)

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