Bazy danych w03 07 id 81702 Nieznany

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacyjny model danych

definicja modelu

Wykład 3

16.10.2007

Antoni Dydejczyk

http://www.ftj.agh.edu.pl/~antek

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Plan wyk

Plan wyk

ł

ł

adu

adu



Klasyfikacja modeli baz danych



Model hierarchiczny - informacja



Model sieciowy - informacja



Relacyjny model danych



Definicja relacji, krotki, atrybutu



Powiązanie relacji 1-1, 1-n, n-m



Klucze: kandydujący, główny, obcy



Algebra relacyjna

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

G

G

ł

ł

ó

ó

wne typy (generacje) baz danych

wne typy (generacje) baz danych

1. 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).

2. Klasyczne modele danych. Należą do nich modele hierarchiczne,

sieciowe i relacyjne.

Modele relacyjne stanowią najbardziej popularną

obecnie podstawę architektur systemów baz danych

.

3. 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.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Ewolucja modeli danych

Ewolucja modeli danych

System plików

Diagramy Bachmana

Model hierarchiczny

Model sieciowy

Płaski model relacyjny

Modele obiektów złożonych

Zagnieżdżony model relacyjny

Semantyczne modele danych

Model związków encji

Model obiektowy

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

Teoretyczne podstawy:

- brak,
- model danych opracowany na podstawie istniejących

aplikacji,

- SZBD realizujący założenia modelu - system IMS

( Information Management System)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

ZAMÓWIENIA

Członkowie

Towary

Organizacja danych w bazie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

Definicja danych:

- typy rekordów,
- związki nadrzędny - podrzędny.

Typ rekordów - jest struktura danych, złożoną ze zbioru
nazwanych pól. Każde pole jest używane do przechowywania
prostego atrybutu i jest mu przyporządkowany typ danych.

Powiązanie nadrzędny - podrzędny - jest związkiem jeden - do
- wielu między dwoma typami rekordów.

Schemat hierarchiczny jest złożony z wielu typów rekordów,
powiązanych ze sobą za pomocą związków nadrzędny-
podrzędny.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

Towary

Członkowie

Organizacja danych w bazie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

Bezpośrednia implementacja związku wieloznacznego

Wirtualne

CZŁONKOWIE

Wirtualne

TOWARY

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

Użycie wskaźnika do poprzednika

Wirtualne

CZŁONKOWIE

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

Przeszukiwanie bazy

a

b

c

d

e

f

g

j

i

h

a

b

c

d

e

f

g

j

i

h

Nanizany porządek poprzedzający

Wskaźniki do lewego
następnika / prawego
współnastępnika

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

Operowanie danymi:

W hierarchicznym modelu danych operowanie danymi jest
wykonywane poprzez wbudowanie funkcji dostępu do bazy
danych w wybranym języku programowania.

WHILE DB_status 0 DO

BEGIN

WRITELN (moduł.NazwaModułu);
GET NEXT Moduł WHERE Poziom=1;

END;

Instrukcja ta jest procedurą - zbiorem instrukcji wyrażonej w
pewnej sekwencji. Hierarchiczne języki zapytań opisywane są
jako proceduralne języki zapytań.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model hierarchiczny

Model hierarchiczny

Integralność danych:
1) Nie mogą istnieć żadne wystąpienia rekordów, z wyjątkiem

rekordu korzenia ( najwyższego w hierarchii), bez
powiązania z odpowiednim wystąpieniem rekordu
nadrzędnego.

a) nie można wstawić rekordu podrzędnego, dopóki nie

zostanie powiązany z rekordem nadrzędnym,

b) usunięcie rekordu nadrzędnego powoduje

automatyczne usunięcie wszystkich powiązanych z
nim rekordów podrzędnych.

2) Jeżeli podrzędny typ rekordu ma związane dwa lub więcej

nadrzędnych typów rekordów, to rekord podrzędny musi
zostać powielony dla każdego rekordu nadrzędnego.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

Model sieciowy uważany jest za następcę hierarchicznego
modelu danych.

Rozwój sieciowego modelu danych:

1971 - Propozycje grupy DBTG na konferencji na temat

systemów i języków programowania - CODASYL.

1984 - zarekomendowanie przez organizację ANSI języka

definicji sieciowych (NDL).

DBTG – Data Base Task Group

CODASYL – Conference on Data System Languages

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

Struktury danych w modelu:

- typy rekordów
- typy kolekcji

Typ rekordów, pojęciowo zgodny z typem rekordów w modelu
hierarchicznym, z tą różnicą, że pola mogą być używane do
przechowywania wielu wartości lub reprezentowania
złożonych wartości, które się powtarzają.

Typ kolekcji jest opisem związku jeden - do - wielu między
dwoma typami rekordów. Każdy typ kolekcji składa się z
nazwy, typu rekordów właściciela i typu rekordów członka
kolekcji.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

DOSTAWCY

Nazwa_dost

Adres_dost

CENY

Ilosc

TOWAR

ZAMÓWIENIA

CZŁONKOWIE

Nr. zamów.

Adres

Saldo

Nazwisko

Koszt

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

TOWARY

DOSTAWCY

CZŁONKOWIE

CENY

ZAMÓWIENIA

CenDost

CenTowar

ZamTowar

ZamCzlon

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

Operowanie danymi:

Operowanie na danych w bazie danych odbywa się w języku programowania
gospodarza.
Operacje te można podzielić na trzy grupy:
-

polecenia nawigacji po danych (ustawienia wskaźników bieżących
rekordów),

-

polecenie sprowadzenia zawartości bieżących wartości,

-

polecenia modyfikujące zawartości wystąpień rekordów i kolekcji.

Język programowania i system bazy danych to dwa oddzielne systemy
oprogramowania. Połączone są one poprzez wspólny interfejs.

Program napisany w języku programowania gospodarza używa zbioru
zmiennych lokalnych (obszar roboczy użytkownika), na których zapisane są
wartości sprowadzone z rekordów bazy danych.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Model sieciowy

Model sieciowy

Integralność danych:

Integralność dotyczy określenia członkostwa w kolekcji i trybu

wstawienia.

Członkostwo w kolekcji może być zdefiniowane jako wymagane

lub opcjonalne.

Członkostwo kolekcji ma dwa tryby wstawiania:
 ręczny - programy użytkowe mają wstawiają rekordy według

określonego schematu,

 automatyczny - gdy tworzony jest rekord członka, jest on

automatycznie wstawiany do bieżącego wystąpienia kolekcji.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacyjny model danych

Relacyjny model danych

1970 – E.F. Codd – A relational model for large shared data
banks – fundament relacyjnego modelu baz danych

1979 – E.F.Codd – rozszerzona wersja relacyjnego modelu
baz danych RM/T – Extending the relational database model
to capture more meaning.

1990 – E.F.Codd – książka The Relational Model for
Database Management: Version 2

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacja

Relacja

-

-

definicja

definicja

Relacja R – zbiór dziedzin D1, ..., Dn – składający się z dwóch

części: nagłówka i treści. W tabelarycznej reprezentacji
powiemy, nagłówek – wiersz złożony z tytułów kolumn, treść
– zbiór wierszy z danymi.

1. Nagłówek – ustalony zbiór atrybutów, dokładniej par

<nazwa atrybutu:nazwa dziedziny>
{ <A1:D1>, <Aj:Dj>, ... ,<An:Dn> }

2. Treść składa się z krotek. Każda krotka jest zbiorem par

<nazwa atrybutu:wartość atrybutu>
{ <A1:vi1>, <Aj:vij>, ... , <An:vin> }

(j = 1,2, ... , n) stopień relacji R
(i = 1,2, ... ,m) liczebność relacji R

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacja

Relacja

-

-

definicja

definicja

Athens

30

Adams

S5

London

20

Clark

S4

Paris

30

Blake

S3

Paris

10

Jones

S2

London

20

Smith

S1

CITY

STATUS

SNAME

S#

S#

NAME

Klucz

główny

STATUS

CITY

Dziedziny

Atrybuty

Stopień tabeli

Liczebność

Krotki

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Poj

Poj

ę

ę

cia stosowane do opisu relacyjnego modelu

cia stosowane do opisu relacyjnego modelu

zbiór dopuszczalnych
wartości

dziedzina

jednoznaczny identyfikator

klucz główny

liczba kolumn

stopień tabeli

kolumna lub pole

atrybut

liczba wierszy

liczebność tabeli

wiersz lub rekord

krotka

tabela

relacja

Nieformalny równoważnik

Formalny termin relacyjny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Zbi

Zbi

ó

ó

r zasad opisuj

r zasad opisuj

ą

ą

cych relacj

cych relacj

ę

ę



Każda relacja w bazie danych ma jednoznaczną nazwę.



Każdy atrybut w relacji ma jednoznaczną nazwę w
ramach jednej relacji.



Wszystkie wartości danego atrybutu muszą należeć do tej
samej dziedziny.



Porządek atrybutów w relacji nie jest istotny.



Każda krotka w relacji musi być różna.



Porządek krotek jest nie istotny.



Każde atrybut w relacji powinien zawierać wartość
atomową.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Schemat relacji

Schemat relacji

Nazwa relacji oraz zbiór jej atrybutów.



Relacja R ( atrybut_1, atrybut_2, ... , atrybut_n )



{ <S# : S# >,

<Sname

: name >,

<Status : status >,
<CITY : city> }



( S1, Smith, 20, London )

( Smith, 20, London, S1 )

( London, Smith, 20, S1 )

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Dziedzina

Dziedzina

Dziedzina jest to zbiór wartości skalarnych. Wszystkie

muszą być tego samego typu. Do dziedziny należy
najmniejsza semantyczna jednostka danych – pojedyncza
wartość danych. Przez najmniejszą należy rozumieć, że
nie posiadają struktury wewnętrznej w ramach modelu
relacyjnego.

Np.

• numer dostawcy
• pojedynczy ciężar
• pojedyncza nazwa miasta
• liczba części w dostawie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Integralno

Integralno

ść

ść

danych relacyjnych

danych relacyjnych

Baza danych zawiera konkretny układ wartości danych –

układ ten powinien odpowiadać rzeczywistości.

Klucz kandydujący w relacji R jest podzbiorem K zbioru
atrybutów relacji R, mającym:

Własność jednoznaczności:
ś

adne dwie różne krotki R nie posiadają tej samej wartości dla K.

Własność nieredukowalności:
ś

aden właściwy podzbiór K nie ma własności jednoznaczności.

Jeżeli w relacji jest więcej niż jeden klucz kandydujący, należy
wybrać jeden z nich jako – klucz główny tej relacji, pozostałe
nazywane są kluczami alternatywnymi.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Klucze obce

Klucze obce

Definicja:
R2 jest relacją podstawową. Klucz obcy relacji R2 jest to
podzbiór FK zbioru atrybutów R2, taki że:

 Istnieje relacja podstawowa R1 z kluczem kandydującym Ck,
 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
relacji R1.

Wartość klucza obcego stanowi referencję (odwołanie) do krotki
zawierającej wartość odpowiadającego mu klucza kandydującego.
Integralność referencyjna – zapewnienie, aby baza nie zawierała
niedopuszczalnych wartości klucza obcego.
Więzy referencyjne – zgodność klucza obcego z wartościami
odpowiadającemu mu klucza kandydującego.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

Klucz obcy

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

Klucz główny

Klucz g

Klucz g

ł

ł

ó

ó

wny i obcy w relacjach

wny i obcy w relacjach

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacja jeden do jeden

Relacja jeden do jeden

AAA

A3

A2

A1

Tabela R1

Klucz

Właściwości:
- niepowtarzalny

AAA

B3

B2

B1

A1

Tabela R2

Klucz obcy

Właściwości:
- niepowtarzalny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacja jeden do wielu

Relacja jeden do wielu

AAA

A3

A2

A1

Tabela R1

Klucz

Właściwości:
- niepowtarzalny

Tabela R2

AAA

AAA

AAA

B3

B2

B1

A1

Klucz obcy

Właściwości:
- powtarzalny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Relacja jeden do wielu

Relacja jeden do wielu

AA2

AA1

A3

A2

A1

BB1

BB3

BB2

B4

B3

B2

B1

Tabela R1 (np. wykład)

Tabela R2 (np. prowadzący)

Klucz

Klucz

BB1

AA2

BB2

AA2

BB3

AA2

BB3

AA1

BB1

AA1

B2

A1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Operowanie danymi

Operowanie danymi

1. Jak wstawiamy dane do relacji ?
2. Jak usuwamy dane z relacji ?
3. Jak poprawiamy dane w relacji ?
4. Jak wyszukujemy dane w relacji ?

Zastosowanie dobrego projektu bazy danych prowadzi do konieczności

korzystania z technik umożliwiających złożenie danych znajdujących

się w kilku relacjach (tabelach) w jedną spójną całość.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Przyk

Przyk

ł

ł

ad

ad

Relacje:

Książka (ISBN, tytul, WydID, Cena)
Wydawnictwo (WydID, WydNazwa, WydTel)

Pytanie:

Podać wykaz nazw i telefonów wydawnictw
wydaj
ących książki w cenie poniżej ceny A.

Algebra relacyjna:
1. połącz relacje książka i wydawnictwo na atrybucie WydID
2. wyselekcjonuj wiersze w których warto
ść atrybutu Cena jest

mniejsza niż A

3.

pokaż relację zawierającą atrybuty WydNazwa i WydTel

Rachunek relacyjny:

{(x,y) | Wydawnictwo(z,x,y) i Książki (a,b,z,c) i c<A }

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Algebra relacyjna i rachunek relacyjny

Algebra relacyjna i rachunek relacyjny

Algebra relacyjna.

Język proceduralny. Wyrażenia opisują
procedurę zwracającą wyniki.

Rachunek relacyjny.

Język nieproceduralny. Język używa wyrażeń
logicznych, opisujących warunki, które muszą
być spełnione, aby wiersz znalazł się w tabeli
wynikowej, bez wyja
śnienia w jaki sposób
otrzyma
ć ten wiersz.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Wyszukiwanie danych

Wyszukiwanie danych

algebra relacyjna

algebra relacyjna

Algebra relacyjna definiuje osiem operatorów, które działając

na relacje, dają jedną relację jako wynik.

Wyróżniamy następujące operatory:

1. Selekcja (ograniczenie, restrykcja)
2. Rzut (projekcja)
3. Złączenie
4. Iloczyn
5. Suma
6. Przecięcie
7. Różnica
8. Iloraz

Algebra relacyjna – proceduralny język zapytań.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Selekcja

Selekcja

Daje w wyniku relację składającą się ze wszystkich
krotek, które w wskazanej relacji spełniają określone
warunki.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

RESTRICT <nazwa relacji>
[ WHERE <warunek>]

 <relacja wynikowa>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Selekcja

Selekcja

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

RESTRICT Moduły WHERE Poziom=1







 R1

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Rzut

Rzut

Daje w wyniku relację składającą się z tych wszystkich
krotek, które pozostały jako krotki w danej relacji po
usunięciu wskazanych atrybutów.

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

PROJECT <nazwa relacji> [<lista atrybutów>]

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Rzut

Rzut

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

RESTRICT Moduły (NazwaModułu)







 R1

Projektowanie relacyjnych baz danych

...

Systemy relacyjnych baz danych

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Iloczyn

Iloczyn

Daje relację składającą się ze wszystkich możliwych krotek,

będących kombinacjami dwóch krotek, po jednej z każdej

wskazanej relacji.

c

b

a

y

x

y

c

x

c

y

b

x

b

y

a

x

a



PRODUKT <relacja 1> WITH <relacja 2>

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Suma

Suma

Daje w wyniku relację składającą się ze wszystkich krotek,
występujących w jednej lub obu wskazanych relacjach.
Suma bierze dwie zgodne relacje (te same atrybuty i
dziedziny) i produkuje relację wynikową.

<relacja 1> UNION <relacja2>

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Suma

Suma

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

Adminstratorzy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Suma

Suma

-

-

przyk

przyk

ł

ł

ad

ad

Wykładowcy UNION Administratorzy







 R1

L

Davies T

234

SL

Jones S

237

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

R1 (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Przeci

Przeci

ę

ę

cie

cie

Daje w wyniku relację składającą się ze wszystkich krotek,
występujących w obu wskazanych relacjach.

Przecięcie bierze dwie zgodne relacje (te same atrybuty i
dziedziny) i produkuje relację wynikową z krotkami wspólnymi
dla obu relacji.

<relacja 1> INTERSECTION <relacja2>

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Przeci

Przeci

ę

ę

cie

cie

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Starszy urzędnik

Jones S

1023

Status

NazwiskoPrac

NrPrac

Adminstratorzy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Status

NazwiskoPrac

NrPrac

Wykładowcy INTERSECTION Administratorzy







 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

R

R

ó

ó

ż

ż

nica

nica

Daje w wyniku relację składającą się ze wszystkich krotek,
występujących w pierwszej i nie występujących drugiej
wskazanej relacji.

W przypadku tego operatora istotna jest kolejność relacji.

<relacja 1> DIFFERENCE <relacja2>

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

R

R

ó

ó

ż

ż

nica

nica

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy DIFFERENCE Administratorzy







R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

R

R

ó

ó

ż

ż

nica

nica

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

Wykładowcy DIFFERENCE Wykładowcy







 R1

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Iloraz

Iloraz

Bierze dwie relacje, jedną binarną, a drugą unarną i daje w
wyniku relację składająca się ze wszystkich wartości
jednego atrybutu relacji binarnej, które zgadzają się ze
wszystkimi wartościami relacji unarnej.

a

z

x

y

c

x

b

y

b

z

a

y

a

x

a



background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Z

Z

łą

łą

czenie

czenie

Daje w wyniku relację składającą się ze wszystkich
możliwych krotek, które są kombinacjami dwu krotek, po
jednej z każdej ze wskazanych relacji, takich że mają tę samą
wartość wspólnego atrybutu. Wyróżniamy:

- równozłączenie
- złączenie naturalne
- złączenie zewnętrzne

lewostronne złączenie zewnętrzne
prawostronne złączenie zewnętrzne
obustronne złączenie zewnętrzne

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Z

Z

łą

łą

czenie

czenie

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Obiektowe bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

Wykładowcy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

R

R

ó

ó

wnoz

wnoz

łą

łą

czenie

czenie

-

-

przyk

przyk

ł

ł

ad

ad

237

345

345

234

234

NrPrac

237

345

345

234

234

NrPrac

Jones S

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

SL

CSD

2

Rozproszone
bazy danych

PL

CSD

3

Obiektowe bazy
danych

PL

CSD

3

Dedukcyjne bazy
danych

L

CSD

1

Projektowanie
relacyjnych baz
danych

L

CSD

1

Systemy
relacyjnych baz
danych

status

KodKursu

Poziom

NazwaModułu

EQUIJOIN <relacja1> WITH <relacja2>







<relacja>

EQUIJOIN Wykładowcy WITH Moduły

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Z

Z

łą

łą

czenie naturalne

czenie naturalne

-

-

przyk

przyk

ł

ł

ad

ad

237

345

345

234

234

NrPrac

Jones S

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

SL

CSD

2

Rozproszone
bazy danych

PL

CSD

3

Obiektowe bazy
danych

PL

CSD

3

Dedukcyjne bazy
danych

L

CSD

1

Projektowanie
relacyjnych baz
danych

L

CSD

1

Systemy
relacyjnych baz
danych

status

KodKursu

Poziom

NazwaModułu

JOIN <relacja1> WITH <relacja2>







<relacja>

JOIN Wykładowcy WITH Moduły

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Z

Z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne

trzne

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

L

Smith J

123

SL

Thomas P

145

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Z

Z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne

trzne

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

null

CSD

2

Tworzenie baz danych

null

CSD

2

Administrowanie bazami danych

345

CSD

3

Obiektowe bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Lewostronne z

Lewostronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne

trzne

-

-

przyk

przyk

ł

ł

ad

ad

SL

Jones S

237

237

CSD

2

Rozproszone bazy
danych

null

null

null

null

CSD

2

Tworzenie baz
danych

null

null

null

null

CSD

2

Administrowanie
bazami danych

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy
danych

PL

CSD

3

Dedukcyjne bazy
danych

L

CSD

1

Projektowanie
relacyjnych baz
danych

L

CSD

1

Systemy relacyjnych
baz danych

status

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Prawostronne z

Prawostronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne

trzne

-

-

przyk

przyk

ł

ł

ad

ad

SL

Jones S

237

237

CSD

2

Rozproszone bazy
danych

L

Smith J

123

123

null

null

null

SL

Thomas P

145

145

null

null

null

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy
danych

PL

CSD

3

Dedukcyjne bazy
danych

L

CSD

1

Projektowanie
relacyjnych baz danych

L

CSD

1

Systemy relacyjnych
baz danych

status

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Obustronne z

Obustronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne

trzne

-

-

przyk

przyk

ł

ł

ad

ad

SL

Thomas P

145

145

null

null

null

null

nul

null

null

CSD

2

Tworzenie baz danych

null

null

null

null

CSD

2

Administrowanie bazami
danych

SL

Jones S

237

237

CSD

2

Rozproszone bazy danych

L

Smith J

123

123

null

null

null

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy danych

PL

CSD

3

Dedukcyjne bazy danych

L

CSD

1

Projektowanie relacyjnych
baz danych

L

CSD

1

Systemy relacyjnych baz
danych

status

KodK
ursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Algebra relacyjna

Algebra relacyjna

Umożliwia stworzenie proceduralnego języka zapytań. Co to oznacza:

W celu wydobycia informacji z bazy danych przy użyciu algebry relacyjnej
okre
ślamy ciąg operatorów, w których wynik z każdego kroku w ciągu
tworzy relacj
ę, którą można użyć jako argumentu wejściowego w
nast
ępnych krokach.

Przykład:
RESTRICTED Wykładowcy WHERE NazwiskoPrac = ‘Davies T’

 R1

JOIN R1 WITH Moduły ON NrPrac

 R2

PROJECT R2 (NazwaModułu)

 R3

Forma zagnieżdżona:
PROJECT ( JOIN Moduły WITH

( RESTRICT Wykładowcy WHERE NazwiskoPrac = ‘DaviesT’)

ON NrPrac )

(NazwaModułu)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Podstawowe operatory

Podstawowe operatory

Wyróżniamy operatory podstawowe:

selekcja, rzut, iloczyn, suma, różnica

Operatory pozostałe można zdefiniować przy
pomocy operatorów podstawowych:

ączenie, przecięcie, iloraz

Np. operator ączenia rzut selekcji na iloczynie

A jak utworzymy operatory przecięcia i ilorazu ?

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Zastosowania wyra

Zastosowania wyra

ż

ż

e

e

ń

ń

algebry relacyjnej

algebry relacyjnej

Definiowanie zakresu wydobywania danych

(definiowanie zakresu danych jakie będą zwrócone w wyniku
operacji wyszukiwania)

Definiowanie zakresu aktualizacji

(określenie danych, które mają być wstawione, zmodyfikowane
bądź usunięte)

Definiowanie (nazwanych) relacji wirtualnych

(definiowanie danych dostępnych w perspektywach)

Definiowanie migawek

(definiowanie danych, które będą przechowywane w postaci

relacji „migawkowych”)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Zastosowania wyra

Zastosowania wyra

ż

ż

e

e

ń

ń

algebry relacyjnej

algebry relacyjnej

Definiowanie zasad bezpieczeństwa

(definiowanie zakresu danych, które odnoszą się poszczególne

rodzaje autoryzacji)

Definiowanie wymagań stabilności

(definiowanie zakresu danych, które będą poddawane kontroli w
czasie współbieżnego przetwarzania)

Definiowanie reguł integralności

(określenie szczególnych reguł, które musi spełniać baza danych )

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007

Pytania ...

Pytania ...


Wyszukiwarka

Podobne podstrony:
Bazy danych w02 07 id 81701 Nieznany
Bazy danych w13 07 id 81707 Nieznany
Bazy danych w12 07 id 81706 Nieznany (2)
Bazy danych w07 07 id 81703 Nieznany
Bazy danych w10 07 id 81705 Nieznany
Bazy danych 07 id 81462 Nieznany (2)
bazy danych pierwsza zarowka id Nieznany
Bazy Danych [tryb zgodnosci] id Nieznany (2)
HYDROLOGIA 07 id 207788 Nieznany
hih kolo kolo2 07 id 709394 Nieznany
I CSK 304 07 1 id 208210 Nieznany
Fizjologia Cwiczenia 07 id 1743 Nieznany
III CSK 302 07 1 id 210245 Nieznany
G2 PB 02 B Rys 3 07 id 185395 Nieznany
CwiczenieArcGIS 07 id 125941 Nieznany
DAB 07 id 130775 Nieznany
III CZP 65 07 id 210286 Nieznany

więcej podobnych podstron