Relacyjne bazy danych dla praktykow.pdf

(290 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
Relacyjne bazy danych
dla praktyków
Autor: C.J. Date
T³umaczenie: Marek Pêtlicki
ISBN: 83-246-0101-5
Tytu³ orygina³u:
Database in Depth
Format: B5, stron: 280
Wszystkie tajniki relacyjnego modelu danych
• Dowiedz siê, czym s¹ krotki i relacje
• Poznaj algebrê relacji i zasady normalizacji danych
• Zaprojektuj efektywne schematy relacji i zaimplementuj je w bazie
Relacyjne bazy danych spotykamy niemal w ka¿dej aplikacji komputerowej, czêsto
nawet nie zdaj¹c sobie z tego sprawy. Wiemy, ¿e w oparciu o nie buduje siê aplikacje
korporacyjne, witryny internetowe i inne rozbudowane systemy informatyczne. Jednak
to nie wszystko — bazy danych s¹ wszêdzie — nawet cyfrowy aparat fotograficzny
posiada bazê danych, któr¹ wykorzystuje przy doborze parametrów ekspozycji.
Wszystkie nowoczesne systemy zarz¹dzania bazami opieraj¹ siê na modelu relacyjnym,
sformu³owanym w 1969 roku przez E.F. Codda. Znajomoœæ teorii relacji okazuje siê
przydatna nie tylko twórcom takich systemów. Programiœci korzystaj¹cy z baz danych
i administratorzy takich baz równie¿ powinni posiadaæ tak¹ wiedzê, aby w pe³ni
wykorzystaæ mo¿liwoœci, jakie oferuje im model relacyjny.
Ksi¹¿ka „Relacyjne bazy danych dla praktyków” to szczegó³owe omówienie modelu
relacyjnego przeznaczone dla u¿ytkowników takich systemów. Nie opisuje konkretnych
produktów — przedstawia wszystkie tajniki teorii relacyjnej i wskazuje mo¿liwoœci
wykorzystania tej wiedzy w codziennych zadaniach. Autor ksi¹¿ki Chris Date, znany
autorytet z dziedziny baz danych, przedstawi Ci koncepcje relacyjne, teoriê zbiorów,
ró¿nice pomiêdzy modelem a implementacj¹, algebrê relacyjn¹ oraz zagadnienia
normalizacji danych.
• Podstawy modelu relacyjnego
• Skalarne i nieskalarne typy danych
• Krotki i relacje pomiêdzy nimi
• Zmienne relacyjne i predykaty
• Podstawy algebry relacji
• Ograniczenia w bazach danych
• Postaci normalne
• Teoria projektowania baz danych
• Implementacja modelu relacyjnego
Dziêki wiadomoœciom zawartym w tej ksi¹¿ce sprawniej i efektywniej wykorzystasz
mo¿liwoœci wspó³czesnych systemów zarz¹dzania bazami danych.
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Słowo wstępne .............................................................................................................. 9
Przedmowa ................................................................................................................... 11
1. Wprowadzenie .............................................................................................................17
Uwaga na temat terminologii
Zasady, nie produkty
Podstawy oryginalnego modelu
Model a implementacja
Własności relacji
Relacje i zmienne relacyjne
Wartości i zmienne
Podsumowanie
Ćwiczenia
18
19
20
27
29
32
33
34
35
2. Relacje i typy ................................................................................................................ 39
Porównania wartości oparte na dziedzinie danych
Atomowość wartości danych
Czym jest typ?
Typy skalarne i nieskalarne
Podsumowanie
Ćwiczenia
40
44
47
49
51
52
3. Krotki i relacje .............................................................................................................. 55
Czym jest krotka?
Kilka ważnych konsekwencji
Czym jest relacja?
Dalsze konsekwencje
Dlaczego relacja nie może zawierać zduplikowanych krotek
Dlaczego nie należy stosować NULL-i
TABLE_DUM i TABLE_DEE
Podsumowanie
Ćwiczenia
55
57
59
60
61
66
69
70
70
5
4. Zmienne relacyjne ....................................................................................................... 73
Operacje modyfikujące
Klucze kandydujące
Klucze obce
Perspektywy
Zmienne relacyjne i predykaty
Dalsze uwagi na temat relacji i typów
Podsumowanie
Ćwiczenia
73
75
77
78
83
86
88
89
5. Algebra relacyjna .........................................................................................................91
Własność domknięcia
Operatory oryginalne
Wyliczanie wyrażeń SQL
Rozszerzenie i podsumowanie
Grupowanie i rozgrupowanie
Przekształcanie wyrażeń
Porównania relacyjne
Przypisanie relacyjne
Operator ORDER BY
Podsumowanie
Ćwiczenia
93
95
102
103
107
109
111
114
115
117
117
6. Ograniczenia ..............................................................................................................123
Ograniczenia oparte na typach
Ograniczenia baz danych
Transakcje
Dlaczego kontrola ograniczeń baz danych musi być natychmiastowa
Czy niektóre kontrole nie powinny jednak być odłożone?
Ograniczenia i predykaty
Różne uwagi
Podsumowanie
Ćwiczenia
123
126
129
130
132
134
136
138
139
7. Teoria projektowania baz danych ............................................................................ 143
Rola teorii projektowej
Zależności funkcyjne i postać normalna Boyce’a i Codda
Zależności złączeniowe i piąta postać normalna
Dwie zalety normalizacji
Ortogonalność
Kilka uwag o projekcie fizycznym
Podsumowanie
Ćwiczenia
6
|
Spis treści
144
146
151
158
161
164
165
167
8. Co to jest model relacyjny? ........................................................................................ 171
Model relacyjny zdefiniowany
Podstawowe cele modelu relacyjnego
Wybrane reguły związane z bazami danych
Model relacyjny a inne modele danych
Co zostało do zrobienia
Podsumowanie
Ćwiczenia
172
175
176
177
180
184
185
A Nieco logiki ................................................................................................................ 189
Propozycje
Predykaty
Kwantyfikacja
Zmienne wolne i związane
Więcej o kwantyfikacji
Ograniczenia baz danych
Zapytania
Równoważności
Podsumowanie
189
191
192
194
195
199
201
202
203
B .................................................................................................................................... 205
Algebra relacyjna i operatory modyfikujące
Baza danych dostawców i części zamiennych
206
C Rozwiązania
ćwiczeń
............................................................................................... 207
Rozdział 1. Wprowadzenie
Rozdział 2. Relacje i typy
Rozdział 3. Krotki i relacje
Rozdział 4. Zmienne relacyjne
Rozdział 5. Algebra relacyjna
Rozdział 6. Ograniczenia
Rozdział 7. Teoria projektowania baz danych
Rozdział 8. Co to jest model relacyjny?
207
212
218
225
230
244
251
259
Skorowidz .................................................................................................................. 267
Spis treści
|
7
ROZDZIAŁ 4.
Zmienne relacyjne
W rozdziale 1. poznaliśmy pojęcie zmiennej relacyjnej, której wartości są relacjami. To wła-
śnie
zmienne relacyjne powstają w wyniku działania operacji INSERT, DELETE czy UPDATE.
Dowiedzieliśmy się też,
że
INSERT, DELETE oraz UPDATE są odpowiednikami relacyjnych
operacji przypisania. Przypominam,
że
jeśli
R
jest zmienną relacyjną, a
r
jest relacją, która ma
być przypisana
R,
wtedy
R
i
r
muszą być zgodnego typu relacyjnego. Druga ważna informa-
cja to taka,
że
nagłówki, zawartość, atrybuty, krotki, liczność
i
stopień
zdefiniowane formalnie na
potrzeby relacji (rozdział 3.) mają zastosowanie również do zmiennych relacyjnych. Nadszedł
czas, aby przyjrzeć się bliżej tym zagadnieniom. Jako podstawę do rozważań wykorzystam
następujące definicje relacji z bazy dostawców i części zamiennych napisane w języku
Tutorial D:
VAR S BASE RELATION
{SNO SNO, SNAME NAME, STATUS INTEGER, CITY CHAR}
KEY {SNO};
VAR P BASE RELATION
{PNO PNO, PNAME NAME, COLOR COLOR, WEIGHT WEIGHT, CITY CHAR }
KEY {PNO};
VAR SP BASE RELATION
{SNO SNO, PNO PNO, OTY OTY}
KEY {SNO, PNO}
FOREIGN KEY {SNO} REFERENCES S
FOREIGN KEY {PNO} REFERENCES P;
Operacje modyfikujące
Pierwsze ważne spostrzeżenie dotyczy przypisania. Niezależnie od zastosowanej składni
przypisanie relacyjne jest operacją
na poziomie
zbiorów. W rzeczywistości wszystkie operacje
zdefiniowane w modelu relacyjnym odbywają się na poziomie zbiorów, do czego wrócimy
w rozdziale 5. Oznacza to,
że
INSERT dodaje do zmiennej relacyjnej zbiór krotek, DELETE
usuwa ze zmiennej relacyjnej zbiór krotek, natomiast UPDATE modyfikuje zbiór krotek
zmiennej relacyjnej. Często co prawda mówi się,
że
modyfikuje się jakąś konkretną krotkę,
należy jednak zawsze pamiętać o tym,
że:
takie stwierdzenie oznacza,
że
modyfikowany zbiór krotek ma liczność równą jeden;
aktualizacja zbioru krotek o liczności równej jeden czasem nie jest operacją wykonalną.
73
Zgłoś jeśli naruszono regulamin