Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałDariusz Nawrot Został zmieniony 10 lat temu
1
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki lukaszm@uni.lodz.pl T-109
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)
3
Łódź 2008 System zarządzania bazą danych Architektura 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)
4
Łó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.
5
Łó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)
6
Łódź 2008 Podstawy baz danych – model relacyjny LICZEBNOŚĆLICZEBNOŚĆ KROTKI ATRYBUTY RELACJA ID_AUTORAIMIĘNAZWISKO DZIEDZINY STOPIEŃ KLUCZ GŁÓWNY
7
Łódź 2008 Podstawy baz danych – model relacyjny
8
Łó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
9
Łó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
10
Łódź 2008 Integralność danych relacyjnych Integralność 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.
11
Łódź 2008 Integralność danych relacyjnych Integralność 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 IDImięNazwisko 1JanKowalski 2AnnaMalinowska 3StefanKwiatkowski IDMarkaNr_rejWłaściciel 1FordEL123451 2FiatEL234562 3SeatWE333331
12
Łódź 2008 Integralność danych relacyjnych Integralność 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
13
Łódź 2008 Integralność danych relacyjnych Integralność 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
14
Łódź 2008 Jeden – do – jeden (1:1) Jeden – do – wiele (1:n) Wiele – do - wiele (m:n) Rodzaje powiązań a b c d e f a b c d e f a b c d e f
15
Łó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)
16
Łódź 2008 Podstawy baz danych – model relacyjny Operacje na danych - algebra relacyjna - restrykcja SELECT imię, nazwisko, wiek FROM student WHERE wiek >20;
17
Łódź 2008 Podstawy baz danych – model relacyjny Operacje na danych - algebra relacyjna - rzut SELECT imię, nazwisko FROM student;
18
Łódź 2008 Podstawy baz danych – model relacyjny Operacje na danych - algebra relacyjna - iloczyn SELECT imię, nazwisko, nazwa FROM student, przedmiot;
19
Łó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;
20
Łó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;
21
Łó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;
22
Łódź 2008 Podstawy baz danych – model relacyjny Operacje na danych - algebra relacyjna - iloraz
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.