1 / 22

Banki danych WYKŁAD 2

Banki danych WYKŁAD 2. dr Łukasz Murowaniecki lukaszm@uni.lodz.pl T-109. PRZYPOMNIENIE. Baza danych opisuje w sposób uproszczony pewien fragment rzeczywistości. Opisuje go przy pomocy modelu danych.

zuzela
Download Presentation

Banki danych WYKŁAD 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Banki danychWYKŁAD 2 dr Łukasz Murowaniecki lukaszm@uni.lodz.pl T-109 Łódź 2008

  2. 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) Łódź 2008

  3. 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) Łódź 2008

  4. 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. Łódź 2008

  5. 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) Łódź 2008

  6. ID_AUTORA IMIĘ NAZWISKO DZIEDZINY KLUCZ GŁÓWNY L I C Z E B N O Ś Ć RELACJA KROTKI ATRYBUTY STOPIEŃ Podstawy baz danych – model relacyjny Łódź 2008

  7. Podstawy baz danych – model relacyjny Łódź 2008

  8. 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 Łódź 2008

  9. 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 Łódź 2008

  10. 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. Łódź 2008

  11. 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 Łódź 2008

  12. 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 Łódź 2008

  13. 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 Łódź 2008

  14. a d b e c f a d b e c f a d b e c f Rodzaje powiązań • Jeden – do – jeden (1:1) • Jeden – do – wiele (1:n) • Wiele – do - wiele (m:n) Łódź 2008

  15. 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) Łódź 2008

  16. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - restrykcja SELECT imię, nazwisko, wiek FROM student WHERE wiek >20; Łódź 2008

  17. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - rzut SELECT imię, nazwisko FROM student; Łódź 2008

  18. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - iloczyn SELECT imię, nazwisko, nazwa FROM student, przedmiot; Łódź 2008

  19. 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; Łódź 2008

  20. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - przecięcie SELECT imię FROM student INTERSECTION SELECT Imię_prowadzącego FROM przedmiot; Łódź 2008

  21. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - różnica SELECT imię FROM student DIFFERENCE SELECT Imię_prowadzącego FROM przedmiot; Łódź 2008

  22. Podstawy baz danych – model relacyjny • Operacje na danych - algebra relacyjna - iloraz Łódź 2008

More Related