Chapter 3
The Relational Model
Transparencies
© Pearson Education Limited 1995, 2005
Chapter 3 - Objectives
Terminology of relational model.
How tables are used to represent data.
Connection between mathematical
relations and relations in the relational
model.
Properties of database relations.
How to identify CK, PK, and FKs.
Meaning of entity integrity and
referential integrity.
Purpose and advantages of views.
2
© Pearson Education Limited 1995, 2005
Relational Model Terminology
A relation is a table with columns
and rows.
Only applies to logical structure of the
database, not the physical structure.
Attribute is a named column of a
relation.
Domain is the set of allowable
values for one or more attributes.
3
© Pearson Education Limited 1995, 2005
Relational Model Terminology
Tuple is a row of a relation.
Degree is the number of attributes in a
relation.
Cardinality is the number of tuples in a
relation.
Relational Database is a collection of
normalized relations with distinct relation
names.
4
© Pearson Education Limited 1995, 2005
Instances of Branch and Staff
Relations
5
© Pearson Education Limited 1995, 2005
Examples of Attribute Domains
6
© Pearson Education Limited 1995, 2005
Alternative Terminology for
Relational Model
7
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
8
Consider two sets, D
1
& D
2
, where D
1
= {2, 4}
and D
2
= {1, 3, 5}.
Cartesian product, D
1
D
2
, is set of all
ordered pairs, where first element is member
of D
1
and second element is member of D
2
.
D
1
D
2
= {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
Alternative way is to find all combinations of
elements with first from D
1
and second from
D
2
.
© Pearson Education Limited 1995, 2005
Mathematical Definition of
Relation
Any subset of Cartesian product is a
relation; e.g.
R = {(2, 1), (4, 1)}
May specify which pairs are in relation
using some condition for selection; e.g.
second element is 1:
R = {(x, y) | x D
1
, y D
2
, and y = 1}
first element is always twice the second:
S = {(x, y) | x D
1
, y D
2
, and x = 2y}
9
© Pearson Education Limited 1995, 2005
Mathematical
Definition
of
Relation
Consider three sets D
1
, D
2
, D
3
with
Cartesian Product D
1
D
2
D
3
; e.g.
D
1
= {1, 3} D
2
= {2, 4} D
3
= {5, 6}
D
1
D
2
D
3
= {(1,2,5), (1,2,6), (1,4,5),
(1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}
Any subset of these ordered triples is a
relation.
10
© Pearson Education Limited 1995, 2005
Matematyczna definicja relacji
Iloczyn kartezjański n zbiorów (D
1
, D
2
, . . ., D
n
) to:
D
1
× D
2
× . . . × D
n
= {(d
1
, d
2
, . . . , d
n
) | d
1
Є D
1
, d
2
Є D
2
,
. . . , d
n
Є D
n
}
co zazwyczaj zapisuje się w postaci:
n
XD
i
i = 1
Dowolny zbiór n-krotek z tego iloczynu
kartezjańskiego jest relacją n zbiorów. W definicji
relacji musimy wskazać zbiory (dziedziny), z których
wybieramy wartości
.
11
© Pearson Education Limited 1995, 2005
Relacje baz danych
Schemat relacji
Relacja zdefiniowana przez podanie nazwy oraz par
składających się z nazw atrybutów i nazw związanych z
nimi dziedzin.
Niech A
1
, A
2
, …, A
n
będą atrybutami o dziedzinach D
1
,
D
2
, …, D
n
,
wtedy zbiór {A
1
:D
1
, A
2
:D
2
, …, A
n
:D
n
}
jest
Relacja R jest zbiorem n-krotek
(A
1
:d
1
, A
2
:d
2
,…, A
n
:d
n
), gdzie d
1
Є D
1
, d
2
Є D
2
, … , d
n
Є D
n
12
© Pearson Education Limited 1995, 2005
Relacje baz danych
Np. 4-krotka:
{(biuroNr: B005, ulica: 22 Deer Rd,
miasto: Londyn, kodPocztowy: SW1 4EH)}
Zapis w uproszczeniu
{(B005, 22 Deer Rd, Londyn, SW1 4EH)}
13
Relacje baz danych
Schemat relacyjnej bazy danych
Zbiór schematów relacji różniących się od siebie
nazwami.
Jeżeli R
1
, R
2
, …, R
n,
jest zbiorem schematów relacji,
to możemy zapisać
(lub – prościej - schemat relacyjny R)
jako:
R = {R
1
, R
2
, …, R
n
}
14
© Pearson Education Limited 1995, 2005
Własności relacji
Relacja ma nazwę inną niż nazwy pozostałych
relacji danego schematu relacyjnego.
Każda „komórka” relacji zawiera jedną
wartość elementarną (atomową).
Każdy atrybut ma inną nazwę.
Wszystkie wartości atrybutu pochodzą z tej
samej dziedziny.
15
© Pearson Education Limited 1995, 2005
Własności relacji
Każda krotka jest inna – nie ma duplikatów
krotek.
Kolejność atrybutów nie ma znaczenia.
Teoretycznie, kolejność krotek nie ma
znaczenia.
16
© Pearson Education Limited 1995, 2005
Klucze relacji
Nadklucz
Atrybut lub zbiór atrybutów, które pozwalają
jednoznacznie zidentyfikować krotkę w relacji.
Taki nadklucz może zawierać nadmiarowe atrybuty,
które nie są potrzebne do jednoznacznej identyfikacji.
Klucz kandydujący
Nadklucz K relacji R to klucz, który nie zawiera
właściwego podzbioru będącego nadkluczem relacji.
Ma następujące własności:
Unikalność – dla każdej krotki występującej w R wartości
atrybutów K jednoznacznie identyfikują krotkę
Minimalność – żaden właściwy podzbiór K nie ma powyższej
własności.
17
© Pearson Education Limited 1995, 2005
Klucze relacji
Klucz główny
Klucz kandydujący wybrany, by jednoznacznie
odnajdować krotki w relacji.
Klucze alternatywne
Klucze kandydujące, które nie zostały wybrane
na klucz główny.
Klucz obcy
Atrybut, lub zbiór atrybutów z jednej relacji,
który odpowiada kluczowi kandydującemu
pewnej (być może tej samej) relacji.
18
© Pearson Education Limited 1995, 2005
Więzy integralności
Wartość pusta (Null)
Reprezentuje wartość atrybutu, która w danej
chwili nie jest znana lub nie może zostać ustalona.
Ma zastosowanie przy danych niekompletnych lub
wyjątkach.
Reprezentuje brak wartości – nie jest to to samo, co
zero, czy spacje, które wartościami jednak są.
19
© Pearson Education Limited 1995, 2005
Więzy integralności
Integralność encji
W relacji bazowej żaden atrybut klucza
głównego nie może być pusty.
Integralność referencyjna
Jeżeli w relacji istnieje klucz obcy, to jego
wartość albo musi być równa wartości klucza
kandydującego pewnej krotki w relacji
nadrzędnej, albo klucz obcy musi mieć
wartości puste dla wszystkich atrybutów.
20
© Pearson Education Limited 1995, 2005
Więzy integralności
Więzy ogólne
Dodatkowe warunki poprawności danych
określone przez użytkowników lub
administratorów bazy danych.
21
© Pearson Education Limited 1995, 2005
Perspektywy
Relacja bazowa
Relacja o ustalonej nazwie, odpowiadająca zbiorowi
encji ze schematu konceptualnego. Krotki tej relacji są
fizycznie obecne w bazie danych.
Perspektywa
Dynamicznie obliczany wynik jednej lub wielu operacji
relacyjnych tworzących nową relację z relacji
bazowych. Perspektywa jest relacją wirtualną, która
nie musi fizycznie istnieć w bazie danych, ale może
być wyliczona w każdej chwili na żądanie użytkownika.
22
© Pearson Education Limited 1995, 2005
Perspektywy
Perspektywa to relacja, którą można
traktować jak istniejącą w rzeczywistości i
można na niej wykonywać operacje.
Zawartość perspektywy jest definiowana jako
zapytanie dotyczące jednej lub wielu relacji
bazowych.
Perspektywy są dynamiczne – zmiany w
relacjach bazowych wpływające na
perspektywę są w niej natychmiast
odzwierciedlane.
23
© Pearson Education Limited 1995, 2005
Zadania mechanizmu perspektyw
Jest silnym i elastycznym narzędziem
dzięki ukrywaniu części bazy danych przed
pewnymi użytkownikami.
Dostęp różnych użytkowników do danych
jest dostosowany do ich potrzeb. Różni
użytkownicy mogą widzieć te same dane
w różny sposób,
Można uprościć skomplikowane operacje
na relacjach bazowych.
24
© Pearson Education Limited 1995, 2005
Modyfikowanie danych poprzez
perspektywy
Wszystkie modyfikacje relacji bazowej
powinny być niezwłocznie odzwierciedlane
we wszystkich perspektywach
odwołujących się do tej relacji.
Gdy zmodyfikowany zostanie stan
perspektywy, powinno to zostać
odnotowane w relacji bazowej.
25
© Pearson Education Limited 1995, 2005
Modyfikowanie danych poprzez
perspektywy
Rodzaje modyfikacji, jakie można zrealizować
za pośrednictwem perspektyw to:
Modyfikacje można wykonywać poprzez perspektywy
zdefiniowane prostym zapytaniem dotyczącym jednej
relacji bazowej - taka perspektywa musi zawierać
klucz główny lub klucz kandydujący relacji.
Modyfikacji nie można wykonywać przez
perspektywy dotyczące wielu relacji bazowych.
Modyfikacji nie można wykonywać poprzez
perspektywy zawierające operatory grupowania i
funkcje agregujące.
26
© Pearson Education Limited 1995, 2005
Modyfikowanie danych poprzez
perspektywy
Zdefiniowano następujące klasy
perspektyw:
Teoretycznie niemodyfikowalne;
Teoretycznie modyfikowalne;
Częściowo modyfikowalne.
27
© Pearson Education Limited 1995, 2005