Download ppt - Banki danych WYKŁAD 2

Transcript
Page 1: Banki danych WYKŁAD 2

Łódź 2008

Banki danychWYKŁAD 2

dr Łukasz [email protected]

T-109

Page 2: Banki danych WYKŁAD 2

Łódź 2008

PRZYPOMNIENIE

Baza danych opisuje w sposób uproszczony pewien fragment rzeczywistości. Opisuje go przy pomocy modelu danych.

Model danych - zbiór ogólnych zasad posługiwania się danymi. Zbiór ten obejmuje trzy główne części: Definicja danych: zbiór reguł określających strukturę

danych; Operowanie danymi: zbiór reguł dotyczących procesu

dostępu do danych i ich modyfikacji; Integralność danych: zbiór reguł określających, które stany

bazy danych są poprawne (a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone)

Page 3: Banki danych WYKŁAD 2

Łódź 2008

System zarządzania bazą danychArchitektura ANSI/SPARC

poziom zewnętrzny - odnosi się do sposobu w jaki dane są widziane przez poszczególnych użytkowników

poziom pojęciowy - jest abstrakcyjnym, lecz wiernym opisem pewnego wycinka rzeczywistości; sposób widzenia danych przez grupę użytkowników

poziom wewnętrzny (fizyczny) - określa sposoby organizacji danych w pamięci zewnętrznej.

Trzy poziomy architektury DBMS (poziomy abstrakcji)

Poziom zewnętrzny

Poziom wewnętrzny (fizyczne)

Odwzorowanie zewnętrzno-pojęciowe

Odwzorowanie pojęciowe-fizyczne

Poziom pojęciowy

Page 4: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – modele danych

Rozróżnia się trzy główne typy (lub generacje) modeli danych: Proste modele danych - dane zorganizowane są w strukturę

rekordów zgrupowanych w plikach. Głównymi dostępnymi operacjami są operacje na rekordach (ewentualnie na ich poszczególnych polach).

Klasyczne modele danych - należą do nich modele hierarchiczne, sieciowe i relacyjne. Modele relacyjne stanowią obecnie najbardziej popularną podstawę architektury systemów baz danych.

Semantyczne modele danych - semantyka to inaczej znaczenie. Klasyczne modele danych nie dostarczają łatwego sposobu odczytania informacji o semantyce danych, stąd podejmuje się próby stworzenia innych modeli, uzupełniających ten brak. Przykładem częściowej realizacji tego programu są obiektowe modele danych.

Page 5: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

dane przechowywane są w dwuwymiarowych tabelach (relacjach)

w nagłówku relacji są podane atrybuty schemat relacji = nazwa relacji + atrybuty;

zbiór schematów relacji to schemat relacyjny bazy danych Wiersze relacji to krotki odpowiednik atrybutów relacji w krotce to składowe krotki dziedzina (domain) atrybutu – typ elementarny

określający zbiór możliwych wartości atrybutu liczebność relacji (cardinality) – liczba krotek stopień relacji (degree) – liczba atrybutów każda krotka jest jednoznacznie identyfikowana przez

klucz główny (primary key)

Page 6: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

LICZEBNOŚĆ

KROTKI

ATRYBUTY

RELACJA

ID_AUTORA IMIĘ NAZWISKO

DZIEDZINY

STOPIEŃ

S# ID_Autora Imię NazwiskoS1 1 Andrzej MarciniakS2 2 Grady BoochS3 4 Jan KowalskiS4 7 Adam Nowak

KLUCZ GŁÓWNY

Page 7: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Formalny termin relacyjny Nieformalny równoważnikrelacja tabelakrotka wiersz lub rekordliczebność tabeli liczba wierszyatrybut kolumna lub polestopień tabeli liczba kolumnklucz główny jednoznaczny identyfikatordziedzina zbiór wartości dopuszczalnych

Page 8: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Własności relacji: Nie ma podwójnych krotek Krotki nie są uporządkowane z góry na dół Atrybuty nie są uporządkowane z lewa do prawa Wszystkie wartości atrybutów są atomowe

Page 9: Banki danych WYKŁAD 2

Łódź 2008

Integralność danych relacyjnych

Integralność baz danych: formalna poprawność bazy danych, ich fizycznej organizacji, zgodności ze schematem bazy danych i regułami dostępu. Integralność encji Integralność referencyjna

Page 10: Banki danych WYKŁAD 2

Łódź 2008

Integralność danych relacyjnychIntegralność encji

Klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R, mających własności: Jednoznaczności – żadne dwie krotki R nie mają tej samej

wartości dla K Nieredukowalności – żaden właściwy podzbiór K nie ma

własności jednoznaczności Cechy kluczy kandydujących:

W jednej relacji może wystąpić kilka różnych kluczy kandydujących

Klucz kandydujący zawierający więcej niż jeden atrybut nazywa się kluczem złożonym, zaś klucz kandydujący zawierający dokładnie jeden atrybut – kluczem prostym

Klucze kandydujące nie zawierają żadnych atrybutów, które są zbędne do jednoznacznej identyfikacji

Klucze kandydujące zapewniają podstawowy mechanizm adresowania na poziomie krotek w systemie relacyjnym.

Page 11: Banki danych WYKŁAD 2

Łódź 2008

Integralność danych relacyjnychIntegralność referencyjna

Klucz główny (primary key) – wybrany klucz kandydujący Klucze alternatywne (alternate keys) – pozostałe klucze

kandydujące Klucze obce (foreign keys) - klucz obcy relacji pochodnej

R2 jest to podzbiór FK, zbioru atrybutów R2 takich, że: Istnieje relacja podstawowa R1 (relacje R1 i R2 niekoniecznie

są różne) z kluczem kandydującym CK oraz 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 R1

ID Imię Nazwisko

1 Jan Kowalski

2 Anna Malinowska

3 Stefan

Kwiatkowski

ID Marka

Nr_rej Właściciel

1 Ford EL12345

1

2 Fiat EL23456

2

3 Seat WE33333

1

Page 12: Banki danych WYKŁAD 2

Łódź 2008

Integralność danych relacyjnychIntegralność referencyjna

Cechy kluczy obcych: Każda wartość danego klucza obcego musi pojawić się jako

wartość odpowiedniego klucza kandydującego. Klucz kandydujący, odpowiadający danemu kluczowi obcemu może zawierać wartość, która nie występuje aktualnie jako wartość klucza obcego

Klucz obcy jest złożony – składa się z więcej niż jednego atrybutu – tylko i tylko wtedy, gdy klucz kandydujący, któremu on odpowiada jest złożony

Klucz obcy jest prosty wtedy i tylko wtedy, gdy odpowiadający mu klucz kandydujący jest prosty

Każdy składowy atrybut danego klucza obcego musi być zdefiniowany na tej samej dziedzinie, co odpowiadający mu składnik właściwego klucza kandydującego

Integralność referencyjna – w bazie danych nie mogą występować żadne niedopasowane wartości kluczy obcych

Page 13: Banki danych WYKŁAD 2

Łódź 2008

Integralność danych relacyjnychIntegralność referencyjna

Reguły kluczy obcych: Usuwanie:

RESTRICTED – usuwanie jest ograniczone do przypadków, gdy nie ma krotek powiązanych

CASCADE – usuwane są również krotki powiązane Aktualizacja:

RESTRICTED – aktualizacja jest ograniczana do przypadków, gdy nie ma krotek powiązanych

CASCADE – aktualizacja jest propagowana na krotki powiązane NULL (brak informacji)

Usuwanie: NULLIFIES – klucz obcy zostaje ustawiony na null i potem krotka

powiązana jest usuwana Aktualizacja:

NULLIFIES – klucz obcy zostaje ustawiony na null i potem krotka powiązana jest aktualizowana

Page 14: Banki danych WYKŁAD 2

Łódź 2008

Jeden – do – jeden (1:1)

Jeden – do – wiele (1:n)

Wiele – do - wiele (m:n)

Rodzaje powiązań

ab

c

de

f

ab

c

de

f

ab

c

de

f

Page 15: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna Operatory algebry relacyjnej:

Restrykcja (restrict) Rzut (project) Iloczyn (product) Suma (union) Przecięcie (intersect) Różnica (difference) Iloraz (divide) Złączenie (join)

Page 16: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - restrykcja

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20Maria Kowal 19Olga Pastusiak 22Marcin Proca 21Stefan Żbik 23Janusz Milke 22Bożena Śledź 19Barbara Broda 18

STUDENT

SELECT imię, nazwisko, wiek

FROM student

WHERE wiek >20;

Imię Nazwisko WiekAnna Nowak 21Olga Pastusiak 22Marcin Proca 21Stefan Żbik 23Janusz Milke 22

Page 17: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - rzut

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20Maria Kowal 19Olga Pastusiak 22Marcin Proca 21Stefan Żbik 23Janusz Milke 22Bożena Śledź 19Barbara Broda 18

STUDENT

SELECT imię, nazwisko

FROM student;

Imię NazwiskoAnna NowakPiotr KwiatkowskiMaria KowalOlga PastusiakMarcin ProcaStefan ŻbikJanusz MilkeBożena ŚledźBarbara Broda

Page 18: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - iloczyn

SELECT imię, nazwisko, nazwa

FROM student, przedmiot;

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20

STUDENT

NazwaImięprowadzącego

Nazwiskoprowadzącego

Ekonomia Stefan KrajewskiEkonometria Jan GajdaAlgebra Anna ŻółtowskaPrawo Anna Barańska

PRZEDMIOT

Imię Nazwisko NazwaAnna Nowak EkonomiaAnna Nowak EkonometriaAnna Nowak AlgebraAnna Nowak PrawoPiotr Kwiatkowski EkonomiaPiotr Kwiatkowski EkonometriaPiotr Kwiatkowski AlgebraPiotr Kwiatkowski Prawo

Page 19: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - suma

SELECT imię, nazwisko FROM student

UNION

SELECT Imię_prowadzącego, nazwisko_prowadzącego FROM przedmiot;

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20

STUDENT

NazwaImięprowadzącego

Nazwiskoprowadzącego

Ekonomia Stefan KrajewskiEkonometria Jan GajdaAlgebra Anna ŻółtowskaPrawo Anna Barańska

PRZEDMIOT

Imię NazwiskoAnna NowakPiotr KwiatkowskiStefan KrajewskiJan GajdaAnna ŻółtowskaAnna Barańska

Page 20: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - przecięcie

SELECT imię FROM student

INTERSECTION

SELECT Imię_prowadzącego FROM przedmiot;

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20

STUDENT

NazwaImięprowadzącego

Nazwiskoprowadzącego

Ekonomia Stefan KrajewskiEkonometria Jan GajdaAlgebra Anna ŻółtowskaPrawo Anna Barańska

PRZEDMIOT ImięAnna

Page 21: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - różnica

SELECT imię FROM student

DIFFERENCE

SELECT Imię_prowadzącego FROM przedmiot;

Imię Nazwisko WiekAnna Nowak 21Piotr Kwiatkowski 20

STUDENT

NazwaImięprowadzącego

Nazwiskoprowadzącego

Ekonomia Stefan KrajewskiEkonometria Jan GajdaAlgebra Anna ŻółtowskaPrawo Anna Barańska

PRZEDMIOT ImięPiotr

Page 22: Banki danych WYKŁAD 2

Łódź 2008

Podstawy baz danych – model relacyjny

Operacje na danych - algebra relacyjna - iloraz

a xa ya zb yb xc y

a

xy


Recommended