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



Podobne dokumenty
1 Wstęp do modelu relacyjnego

Model relacyjny. Wykład II

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

Model relacyjny. Wykład II

Wykład 2. Relacyjny model danych

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

Relacyjny model danych

Bazy danych. Algebra relacji

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

Projektowanie relacyjnych baz danych

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

Transformacja modelu ER do modelu relacyjnego

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

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

Model relacyjny bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Autor: Joanna Karwowska

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

Agnieszka Ptaszek Michał Chojecki

Bazy danych. Dr inż. Paweł Kasprowski

Transformacja modelu ER do modelu relacyjnego

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

RBD Relacyjne Bazy Danych

Technologie baz danych

BAZY DANYCH Podstawowe pojęcia

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

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

Baza danych. Modele danych

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

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

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

SZKOLENIE: Administrator baz danych. Cel szkolenia

Relacyjny model danych. Relacyjny model danych

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Technologie baz danych

Przestrzenne bazy danych Podstawy języka SQL

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

Autor: Joanna Karwowska

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

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

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

Transformacja modelu pojęciowego. do logicznego

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

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

Wykład 8. SQL praca z tabelami 5

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

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

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

Relacyjny model danych

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

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Relacyjne bazy danych

Bazy danych. Andrzej Łachwa, UJ, /14

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

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

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

Relacyjne systemy baz danych i język SQL

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

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

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Wprowadzenie do baz danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

RBD Relacyjne Bazy Danych Więzy realcji

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

Projektowanie baz danych

Technologie baz danych

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

Przykładowa baza danych BIBLIOTEKA

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

Systemy GIS Tworzenie zapytań w bazach danych

WPROWADZENIE DO BAZ DANYCH

Program nauczania. Systemy baz danych. technik informatyk

2. Model związk. zków w encji. (Entity. Relationship Model) Modelowanie świata Poj Diagramy zwi

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

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

Bazy Danych i Usługi Sieciowe

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Normalizacja. Pojęcie klucza. Cel normalizacji

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

Projektowanie Systemów Informacyjnych

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

Aspekty aktywne baz danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Transkrypt:

PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania się danymi. Definiuje on: struktury danych, operacje na danych, ograniczenia integralnościowe. HISTORIA powstał dzięki jednej osobie E.F.Coddowi, która w 1970 roku opublikowała pracę będącą fundamentem pod omawiany model danych, w latach 1968-1988 opublikował ponad 40 prac na temat relacyjnego modelu danych, prace nad relacyjnym modelem danych były prowadzone przez niego ze względu na: model relacyjny 1 2 3 dane we wcześniejszych modelach były traktowane w niezdyscyplinowany sposób, słaby poziom niezależności danych od aplikacji, słaba wydajność tworzenia oprogramowania. 1

POSTULATY CODDA (1985) POSTULATY CODDA postulat informacyjny dane są reprezentowane jedynie za pomocą tabel wartości, postulat dostępu każda wartość w bazie danych jest dostępna za pomocą nazwy tabeli, atrybutu oraz wartości klucza głównego, postulat wartości NULL dostępna jest specjalna wartość NULL dla reprezentacji wartości nieokreślonej i nieznanej, inna od wszystkich pustych i podlegająca przetwarzaniu, postulat słownika danych informacje o obiektach bazy danych tworzących schemat bazy danych są na poziomie logicznym zgrupowane w tabele i dostępne w taki sam sposób jak każde inne dane, postulat pełnego języka danych system musi dostarczać pełnego języka przetwarzania danych, który: charakteryzuje się liniową składnią, może być używany zarówno w trybie interaktywnym, jak i w obrębie programów aplikacyjnych, obsługuje operacje definiowania danych i perspektyw, operacje manipulowania danymi, ograniczenia związane z bezpieczeństwem i integralnością oraz operacje zarządzania transakcjami, POSTULATY CODDA postulat modyfikowania bazy danych przez perspektywy - system musi umożliwiać modyfikowanie perspektyw, o ile jest ono semantycznie realizowane, postulat modyfikowalności danych na wysokim poziomie abstrakcji system musi umożliwiać operacje modyfikacji danych, których argumentami są tabele, postulat fizycznej niezależności danych zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikacje, postulat logicznej niezależności danych zmiany wartości w tabelach nie wpływają na aplikacje, POSTULATY CODDA postulat niezależności więzów spójności więzy spójności są definiowane w języku bazy i nie zależą od aplikacji, postulat niezależności dystrybucyjnej działanie aplikacji nie zależy od rozmieszczenia i rozproszenia bazy, postulat bezpieczeństwa względem operacji na niższych poziomach abstrakcji operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności. 2

MODEL RELACYJNY STRUKTURY DANYCH struktura danych jest relacją, manipulacje na danych odbywają się poprzez: selekcję, projekcję, połączenie i operacje na zbiorach, integralność danych zachowana jest poprzez: klucz podstawowy, klucz obcy, zawężenie dziedziny, unikalność wartości, możliwość nadawania wartości pustych. jedyną strukturą danych w relacyjnej bazie danych jest relacja (R) - dwuwymiarowa tabela, kolumny tabeli atrybuty (A), wiersze tabeli krotki (t), liczba atrybutów w tabeli stopień tabeli (n), liczba krotek w tabeli liczebność tabeli (m), klucz główny jednoznaczny identyfikator w tabeli, baza danych zbiór relacji, dziedzina (D) zbiór dopuszczalnych wartości, schemat relacji R(A 1, A 2,, A n ), schemat bazy danych zbiór schematów relacji. STRUKTURY DANYCH rejestracja kolor marka dziedziny RELACJA klucz główny liczebność relacji relacja samochody atrybuty krotki Relacja r o schemacie R(A1,A2,...,An), oznaczona r(r), na zbiorze dziedzin {D1,D2,...,Dn} jest zbiorem krotek r = {t1, t2,..., tm} postaci t =< v1, v2,..., vn >, będących uporządkowaną listą, gdzie vi, dla 0 < i n należy do zbioru Di {NULL}, n jest stopniem relacji R, zaś m jej liczebnością. stopień relacji 3

WŁASNOŚCI RELACJI każda relacja ma jednoznaczną nazwę w ramach bazy danych, w ramach jednej relacji atrybuty mają jednoznaczne nazwy, wszystkie wartości w kolumnie są tego samego typu (zdefiniowane w tej samej dziedzinie), kolejność kolumn w relacji nie ma znaczenia, w relacji nie istnieją powtarzające się krotki, kolejność krotek nie ma znaczenia, każde pole na przecięciu kolumna/wiersz ma wartość atomową. INTEGRALNOŚĆ DANYCH Każda relacja może posiadać zdefiniowane ograniczenia integralnościowe, które muszą spełniać zawarte w niej dane. Wyróżniamy ograniczenia: klucz podstawowy (PRIMARY KEY), klucz obcy (FOREIGN KEY), unikalność (UNIQUE), zawężenie domeny/dziedziny (CHECK), wartość pusta/niepusta (NULL/NOT NULL). KLUCZ KANDYDUJĄCY klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R, mającym własność jednoznaczności oraz nieredukowalności, klucz kandydujący to kolumna lub zbiór kolumn, które mogą stanowić jednoznaczny identyfikator wierszy w tabeli, w jednej relacji może być wiele kluczy kandydujących, KLUCZ GŁÓWNY klucz główny jest wybierany ze zbioru kluczy kandydujących, pozostałe nazywamy alternatywnymi, klucz główny zawierający jeden atrybut nazywamy prostym, zawierający wiele atrybutów złożonym, klucz główny jest jednoznaczny i nie może mieć wartości NULL. przykłady: PESEL, NIP, nr dowodu, nr paszportu. 4

PRZYKŁAD KLUCZ OBCY Istnieje relacja podstawowa R2. Klucz obcy relacji R2 jest to podzbiór FK, zbioru atrybutów R2, taki że: relacja samochody klucz alternatywny? relacja wypadki istnieje relacja R1 (relacje R1 i R2 nie muszą być różne) z kluczem kandydującym CK, i w każdej chwili każda wartość FK w aktualnej wartości relacji R2 jest taka sama, jak wartość CK w pewnej krotce aktualnej wartości relacji R1, Klucz obcy jest kolumną lub grupą kolumn w tabeli, która czerpie swoje wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych. klucz główny klucz obcy klucz główny POZOSTAŁE OGRANICZENIA unikalność (UNIQUE) niepowtarzalność wartości, zawężenie domeny/dziedziny (CHECK) - zbiór wartości domeny atrybutu może być zawężony przez wyrażenie logiczne do pewnego podzbioru: przedziału lub wyliczeniowej listy wartości, np. kolor oczu: szary, niebieski, zielony, piwny; cena: wartości dodatnie, wiek: od 0 do 120, wartość pusta/niepusta (NULL/NOT NULL) dopuszczanie/niedopuszczanie wartości pustej. INTEGRALNOŚĆ DANYCH integralność encji każda tabela musi mieć klucz główny, a każda kolumna lub kolumny wybrane jako klucz powinny być jednoznaczne i nie zawierać wartości null, integralność referencyjna - baza nie zawiera żadnych niedopuszczalnych wartości klucza obcego i narzuca je poprzez tzw. więzy propagacji, dodatkowa gdy nie możemy wyrazić wszystkich aspektów integralności należących do konkretnej aplikacji, definiujemy więzy. 5

ALGEBRA RELACYJNA Algebra relacyjna jest zbiorem operatorów: restrykcja (selekcja) rzut (projekcja) złączenie suma przecięcie różnica iloczyn kartezjański iloraz SELEKCJA Daje w wyniku relację składającą się ze wszystkich krotek ze wskazanej relacji, które spełniają określone warunki. Jako argument bierze jedną relację i w wyniku produkuje jedną relację. Może być uważana za poziomą maszynę do cięcie, gdyż wydobywa z relacji wejściowe wiersze spełniające warunek. selekcja SELEKCJA Notacja: σ <warunki> (< nazwa relacji >) SELEKCJA - PRZYKŁADY σ rocznik= 1980 (samochody) Warunek restrykcji ma postać < atrybut >< operator relacyjny >< literał > lub < atrybut >< operator relacyjny >< atrybut > Warunki są łączone operatorami logicznymi AND lub OR Właściwości: operacja jest komutatywna. σ <war1> (σ <war2> (R)) = σ <war2> (σ <war1> (R)) SELECT * FROM samochody WHERE rocznik=1980; σ rocznik= 1980 AND kolor= biały AND marka= mercedes (samochody) SELECT * FROM samochody WHERE rocznik=1980 AND kolor= biały AND marka= mercedes ; 6

RZUT Daje w wyniku relację składającą się ze wszystkich krotek, które pozostały jako krotki w danej relacji po usunięciu z niej wskazanych atrybutów. Jako argument bierze jedną relację i w wyniku produkuje jedną relację. Może być uważana za pionową maszynę do cięcie, gdyż tworzy na wyjściu relację będącą podzbiorem kolumn z relacji wejściowej. 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) rzut RZUT π rejestracja (samochody) SELECT rejestracja FROM samochody; π rejestracja, marka, kolor (samochody) SELECT rejestracja, marka, kolor FROM samochody; ZŁĄCZENIE Daje relację składającą się ze wszystkich możliwych krotek, będących kombinacjami dwóch krotek, po jednej z każdej wskazanej relacji, takich, że dwie krotki dające wkład do którejkolwiek kombinacji mają tę sama wartość wspólnego atrybutu (atrybutów) tych dwu relacji. Jako argument bierze dwie relacje i w wyniku produkuje jedną relację, Najpowszechniejsze złączenie to złączenie naturalne będące rozszerzeniem równozłączenia. 7

RÓWNOZŁĄCZENIE Jest iloczynem kartezjańskim, po którym jest wykonywana restrykcja, Łączone są dwie tabele, jednak tylko dla wierszy, w których wartości w kolumnach złączenia są takie same, Domyślne kolumny złączenia tworzą klucz główny i obcy tabel. R1 R2 R3 A1 A B C A2 Y A3 Y Z I A4 J K równozłączenie SELECT A1,A2 FROM R1 JOIN R2 ON R1.A2=R2.A3; A1 A2 A3 A4 A I B I C Y Y J ZŁĄCZENIE NATURALNE Jest iloczynem kartezjańskim, po którym jest wykonywana restrykcja oraz rzut, w którym nie bierze się pod uwagę powtórzeń kolumn złączenia. R1 R2 R3 A1 A B C A2 Y A3 Y Z I J A4 K zł. naturalne SELECT A1,A2 FROM R1 NATURAL JOIN R2; A1 A2 A4 A I B I C Y J ILOCZYN KARTEZJAŃSKI Daje relację składającą się ze wszystkich możliwych krotek, będących kombinacjami dwóch krotek, po jednej z każdej wskazanej relacji, Jako argument bierze dwie relacje i w wyniku produkuje jedną relację, Jeżeli relacja R ma N krotek, a relacja S ma M krotek, to relacja wynikowa Q będzie miała N*M krotek ILOCZYN KARTEZJAŃSKI R S A B C Y iloczyn Q A A Y B B Y C C Y iloczyn 8

SUMA Daje w wyniku relację składającą się ze wszystkich krotek, które występują w jednej lub obu wskazanych relacjach. Jako argumenty bierze dwie zgodne (tabele mają taką samą strukturę te same kolumny określone w tych samych dziedzinach) relacje R i S i w wyniku produkuje jedną relację R S. Suma jest operacją komutatywną R S = S R. suma SUMA Pracownicy_Polska Pracownicy_Francja Jerzy Tamborski Katarzyna Ferenc Paweł Koc Matylda Modra Artur Oniśko Paweł Koc Matylda Modra Artur Oniśko Jerzy Tamborski Katarzyna Ferenc SELECT FROM Pracownicy_Polska UNION SELECT FROM Pracownicy_Francja; PRZECIĘCIE Daje w wyniku relację składającą się ze wszystkich krotek, występujących w obu wskazanych relacjach, Jako argumenty bierze dwie zgodne (tabele mają taką samą strukturę te same kolumny określone w tych samych dziedzinach) relacje R i S i w wyniku produkuje jedną relację R S, Przecięcie jest operacją komutatywną. przecięcie PRZECIĘCIE Pracownicy_Polska Jerzy Tamborski Katarzyna Ferenc Pracownicy_Francja Paweł Koc Matylda Modra Artur Oniśko SELECT FROM Pracownicy_Polska INTERSECT SELECT FROM Pracownicy_Francja; 9

RÓŻNICA RÓŻNICA Daje w wyniku relację składającą się ze wszystkich krotek występujących w jednej ze wskazanych relacji, a nie występujących w drugiej, Jako argumenty bierze dwie zgodne relacje R i S i w wyniku produkuje jedną relację R - S, Różnica nie jest operacją komutatywną. Pracownicy_Polska Jerzy Tamborski Katarzyna Ferenc Pracownicy_Francja Paweł Koc Matylda Modra Artur Oniśko Jerzy Tamborski Katarzyna Ferenc różnica SELECT FROM Pracownicy_Polska MINUS SELECT FROM Pracownicy_Francja; ILORAZ ILORAZ Bierze dwie relacje, jedną binarną, a drugą unarną i daje w wyniku relację składającą się ze wszystkich wartości jednego atrybutu relacji binarnej, które zgadzają się (pod względem wartości tego drugiego atrybutu) ze wszystkimi wartościami relacji unarnej. Jako argument bierze dwie relacje i w wyniku produkuje jedną relację. Pracownicy_Polska staż_pracy 3 Jerzy Tamborski 4 3 Katarzyna Ferenc 11 Anna Piwot 7 Pracownicy_staż R1 3 iloraz 10

WYKŁAD PRZYGOTOWANO NA PODSTAWIE C. J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa, 2000, http://wazniak.mimuw.edu.pl/index.php?title=bazy_ danych P. Beynon-Davies, Systemy baz danych, WNT, 2003. 11