Microsoft PowerPoint 04 algebra relacji i rachunek relacyjny


Meaning of the term relational completeness.
How to form queries in relational algebra.
How to form queries in tuple relational
calculus.
Algebra relacji i rachunek relacyjny
How to form queries in domain relational
calculus.
Categories of relational DML.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
2
Operacje algebry relacji są realizowane na jednej
Relational algebra and relational calculus are
lub wielu relacjach, a ich wynik może definiować
formal languages associated with the
nowe relacje bez zmiany relacji bazowych.
relational model.
Informally, relational algebra is a (high-level)
Zarówno argumenty jak i wyniki są relacjami, tak
procedural language and relational calculus a
więc wynik jednej operacji może stać się
non-procedural language. argumentem kolejnej.
However, formally both are equivalent to one
Pozwala to na zagnieżdżanie wyrażeń, tak jak w
another.
przypadku wyrażeń arytmetycznych. Dzięki tej
A language that produces a relation that can
własności można powiedzieć, że relacje są
be derived using relational calculus is domknięte.
relationally complete.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
3 4
Pięć podstawowych operacji to: selekcja, rzut,
iloczyn kartezjański, suma oraz różnica zbiorów.
Pozwalają wykonać większość operacji
Iloczyn
kartezjański
Selekcja Rzut
wyszukiwania danych.
Istnieją także dodatkowe operacje: złączenie,
przekrój oraz iloraz, które można wyrazić za
pomocą pięciu operacji podstawowych.
Suma Przekrój Różnica zbiorów
Pearson Education Limited 1995, 2005
Pearson Education Limited 1995, 2005 6
5
spredykat (R)
ĄOperacja selekcji działa na jednej relacji R i daje w
Półzłączenie wyniku relację zawierającą jedynie te krotki R,
Złączenie Lewostronne
które spełniają podany warunek (predykat).
naturalne złączenie
zewnętrzne
Reszta
Iloraz Przykład ilorazu
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
7 8
Podaj wszystkich pracowników, którzy mają pensję
Pa1, . . . , an(R)
wyższą niż 10 000 funtów.
ĄDziała na jednej relacji R i daje w wyniku relację,
która zawiera  pionowy wycinek R powstały
ssalary > 10000 (Staff)
przez wybranie wartości określonych atrybutów R
i pominięcie duplikatów krotek.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
9 10
Podaj listę zawierającą pensje wszystkich
pracowników. Na liście mają być tylko staffNo,
R S
fName, lName, oraz pensja (salary).
ĄSuma dwu relacji R i S definiuje relację
zawierającą wszystkie krotki R jak i S, przy czym
PstaffNo, fName, lName, salary(Staff)
duplikaty krotek są eliminowane.
ĄR i S muszą mieć zgodne schematy.
Jeżeli R i S mają odpowiednio I oraz J krotek, to ich
sumę otrzymujemy łącząc obie relacje w jedną ,
zawierającą maksymalnie (I + J) krotek.
Pearson Education Limited 1995, 2005
11 12
Pearson Education Limited 1995, 2005
Podaj wszystkie miasta, w których znajduje się biuro
R  S
firmy lub nieruchomość do wynajęcia.
ĄDefiniuje relację składającą się ze wszystkich
krotek zawartych w relacji R, ale nie należących
Pcity(Branch)
do relacji S.
Pcity(PropertyForRent)
ĄR i S muszą mieć zgodne schematy.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
13 14
Podaj wszystkie miasta, w których znajdują się biura
R S
firmy, ale nie ma żadnej nieruchomości do
ĄDefiniuje relację składającą się ze wszystkich
wynajęcia.
krotek należących zarówno do relacji R jak i do
relacji S.
Pcity(Branch) 
ĄR i S muszą mieć zgodne schematy.
Pcity(PropertyForRent)
Można go określić korzystając z podstawowych
operacji:
R S = R  (R  S)
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
15 16
Podaj wszystkie miasta, w których znajduje się i
R X S
biuro firmy i nieruchomość do wynajęcia.
ĄOperacja iloczynu kartezjańskiego definiuje
relację, która zawiera konkatenację każdej krotki z
relacji R z każdą krotką relacji S.
Pcity(Branch)
Pcity(PropertyForRent)
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
17 18
Podaj nazwiska wszystkich klientów, którzy oglądali
(PclientNo, fName, lName(Client)) X (PclientNo,
nieruchomości, oraz zgłoszone przez nich uwagi.
(Viewing))
propertyNo, comment
(PclientNo, fName, lName(Client)) X
(PclientNo, propertyNo, comment
(Viewing))
Pearson Education Limited 1995, 2005
19 20
Wykonajmy więc operację selekcji, by wybrać tylko
itd.
te krotki, dla których:
Client.clientNo = Viewing.clientNo.

Client.clientNo =
((clientNo, fName,
Viewing.clientNo
(Client)) C (clientNo,
lName
(Viewing)))
propertyNo, comment
u Iloczyn kartezjański i selekcję można sprowadzić do
jednej operacji zwanej Złączeniem.
Pearson Education Limited 1995, 2005
21 22
Złączenie jest operacją pochodną iloczynu
 ((clientNo, fName,
Client.clientNo = Viewing.clientNo
kartezjańskiego.
(Client)) C (clientNo, propertyNo,
lName
(Viewing)))
comment Polega na wykonaniu selekcji na argumencie
będącym iloczynem kartezjańskim dwu relacji 
argumentów złączenia.
Jeden z trudniejszych problemów implementacji
DBMS i często pogarsza sprawność ich działania.
Pearson Education Limited 1995, 2005
23 24
Odmiany operacji złączeń: R S
F
ĄTeta-złączenie ĄWynikiem operacji teta-złączenie jest relacja
zawierająca krotki iloczynu kartezjańskiego R i
ĄRównozłączenie (szczególny
S spełniające warunek F.
przypadek teta-złączenia)
ĄWarunek F jest w postaci R.ai q S.bi gdzie q
ĄZłączenie naturalne
jest jednym z operatorów porównania (<, Ł, >,
ĄZłączenie zewnętrzne
ł, =, ą).
ĄPółzłączenie
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
25 26
Podaj nazwiska wszystkich klientów, którzy oglądali
Teta-złączenie można wyrazić za pomocą
nieruchomości, oraz zgłoszone przez nich uwagi.
podstawowych operacji selekcji i iloczynu
(PclientNo, fName, lName(Client))
kartezjańskiego:
(PclientNo,
Client.clientNo = Viewing.clientNo
R S = sF(R C S)
(Viewing))
F
propertyNo, comment
u Krotność teta-złączenia jest sumą krotności relacji
składowych R i S. Jeżeli predykat F zawiera tylko
równość (=), to teta-złączenie nosi nazwę
równozłączenia.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
27 28
Podaj nazwiska wszystkich klientów, któzy oglądali
nieruchomości, oraz zgłoszone przez nich uwagi.
R S
ĄZłączenie naturalne jest równozłączeniem dwu
(PclientNo, fName, lName(Client))
relacji R i S według wszystkich wspólnych
(PclientNo, propertyNo, comment(Viewing))
atrybutów x. Jedno z wystąpień każdego ze
wspólnych atrybutów jest eliminowane z relacji
wynikowej.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
29 30
Podaj raport na temat wizyt we wszystkich
Złączenie zewnętrzne (lewostronne) to
nieruchomościach.
złączenie, w którym do relacji wynikowej są
włączane również takie krotki z relacji R, dla
PpropertyNo, street, city(PropertyForRent) Viewing
których w relacji S nie występują wartości
wspólnych atrybutów.
R S
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
31 32
Podaj kompletną informację o pracownikach biura w
R S
F
Glasgow
ĄWynikiem operacji półzłączenia jest relacja
Staff (scity= Glasgow (Branch))
zawerająca te krotki relacji R, które weszłyby
Staff.branchNo=Branch.branchNo
do złączenia R i S.
u Półzłączenie można zapisać za pomocą operacji rzutu i
złączenia:
R S = PA(R S)
F
F
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
33 34
R S
Znajdz wszystkich klientów, którzy odwiedzili
ĄWynikiem ilorazu jest relacja posiadająca atrybuty
wszystkie lokale trzypokojowe.
C i zawierająca zbiór takich krotek z relacji R, które
w połączeniu z każdą krotką z relacji S stworzą
(PclientNo, propertyNo(Viewing))
kombinację (krotkę) występującą w relacji R.
(PpropertyNo(srooms = 3 (PropertyForRent)))
Można to przedstawić za pomocą operacji
podstawowych:
T1 Ź PC(R)
T2 Ź PC((S X T1)  R)
T Ź T1  T2
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
35 36
How many properties cost more than Ł350 per
AL(R)
month to rent?
Ą Applies aggregate function list, AL, to R to define a
relation over the aggregate list. rR(myCount) COUNT propertyNo (rent > 350
(PropertyForRent))
Ą AL contains one or more (,
) pairs .
Main aggregate functions are: COUNT, SUM,
AVG, MIN, and MAX.
38
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
37
AL(R) Find the number of staff working in each branch
GA
and the sum of their salaries.
Ą Groups tuples of R by grouping attributes, GA, and
then applies aggregate function list, AL, to define a
rR(branchNo, myCount, mySum)
new relation.
(Staff)
branchNo COUNT staffNo, SUM salary
Ą AL contains one or more (,
) pairs.
Ą Resulting relation contains the grouping attributes,
GA, along with results of each of the aggregate
functions.
40
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
39
Relational calculus query specifies what is to
Jeżeli warunek zawiera zmienną (np.  x jest
be retrieved rather than how to retrieve it.
pracownikiem ), to musi istnieć ograniczenie
Ą No description of how to evaluate a query.
dziedziny dla x.
In first-order logic (or predicate calculus),
Po podstawieniu za x pewnych wartości z tej
predicate is a truth-valued function with
dziedziny zdanie może być prawdziwe, a po
arguments.
podstawieniu innych danych  może być fałszywe.
When we substitute values for the arguments,
function yields an expression, called a
W odniesieniu do baz danych rachunek relacyjny
proposition, which can be either true or false.
może występować jako rachunek krotek lub
rachunek dziedzin.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
41 42
Interesuje nas znalezienie krotek, dla których
warunek jest prawdziwy. Rachunek ten jest oparty na
Podaj dane pracowników zarabiających ponad
zastosowaniu zmiennych krotkowych.
10,000 funtów:
Zmienna krotkowa to zmienna, która  przebiega
{S | Staff(S) Ł S.salary > 10000}
wskazaną relację; tzn. zmienna, której wartościami
mogą być tylko krotki danej relacji.
Aby uzyskać wartość konkretnego atrybutu, jak na
Np. określmy , że dziedziną zmiennej krotkowej S jest
przykład pensja (salary), możemy napisać:
relacja Staff:
{S.salary | Staff(S) Ł S.salary > 10000}
Staff(S)
Zapytanie: znajdz zbiór wszystkich krotek S, dla
których jest prawdziwy warunek P(S) można wyrazić:
{S | P(S)}
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
43 44
Można używać dwu rodzajów kwantyfikatorów, by
Kwantyfikator egzystencjalny stosuje się w
określić, dla jak wielu przypadków warunek (zdanie)
formułach, które muszą być prawdziwe dla
jest prawdziwy:
przynajmniej dla jednego przypadku, np.:
ĄKwantyfikator egzystencjalny $( istnieje ) Staff(S) Ł (" B)(Branch(B) Ł
ĄKwantyfikator ogólny "( dla każdego ) (B.branchNo = S.branchNo) Ł B.city =  London )
Co oznacza:  Istnieje krotka w relacji Branch, która
Zmienne krotkowe  objęte kwalifikatorem "lub $
ma taki sam numer branchNo jak aktualnie
nazywamy zmiennymi związanymi, pozostałe
rozważana krotka S relacji Staff i jej atrybut city ma
zmienne nazywamy zmiennymi wolnymi.
wartość  Londyn  .
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
45 46
Kwantyfikator ogólny stosowany jest w zdaniach,
Formuły to takie sformułowania, które są
które powinny zachodzić dla każdego przypadku, np.:
jednoznaczne i sensowne.
(" B) (B.city ą  Paris )
Formuła (dobrze zbudowana) składa się z formuł
atomowych:
Oznacza to, że:  Wszystkie krotki relacji Branch mają
ś R(Si), gdzie Si jest zmienną krotkową, a R jest relacją
wartość atrybut city inną niż  Paris  .
ś Si.a1 qSj.a2
Można też wyrazić to inaczej:
ś Si.a1 qc
~(" B) (B.city =  Paris )
co znaczy:  nie istnieją biura w Paryżu .
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
47 48
Stosując te reguły można rekurencyjnie budować z
Podaj nazwiska wszystkich dyrektorów, którzy zarabiają
formuł atomowych kolejne formuły:
więcej niż 25.000 funtów.
ś Formuła atomowa jest formułą.
{S.fName, S.lName | Staff(S) Ł
ś Jeżeli F1 i F2 są formułami, to formułami są także ich:
S.position =  Manager Ł S.salary > 25000}
koniunkcja - F1 Ł F2
dysjunkcja - F1 F2
Podaj wszystkich pracowników, którzy nadzorują
nieruchomości w Glasgow.
negacja ~F1
{S | Staff(S) Ł (" P) (PropertyForRent(P) Ł
ś Jeżeli F jest formułą oraz X jest zmienną wolną w F, to
(P.staffNo = S.staffNo) Ł P.city =  Glasgow )}
($ oraz (" także są formułami.
X)(F) X)(F)
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
49 50
Podaj nazwiska pracowników, którzy obecnie nie
Podaj nazwiska klientów, którzy oglądali
nadzorują żadnej nieruchomości.
nieruchomości w Glasgow.
{S.fName, S.lName | Staff(S) Ł (~(" P)
{C.fName, C.lName | Client(C) Ł ((" V)(" P)
(PropertyForRent(P)Ł(S.staffNo = P.staffNo)))}
(Viewing(V) Ł PropertyForRent(P) Ł
Można to też sformułować inaczej:
(C.clientNo = V.clientNo) Ł
{S.fName, S.lName | Staff(S) Ł (("P)
(V.propertyNo=P.propertyNo) Ł
(~PropertyForRent(P)
P.city = Glasgow ))}
~(S.staffNo = P.staffNo)))}
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
51 52
Za pomocą formuły relacyjnego rachunku krotek
Uses variables that take values from domains
można zapisać zbiór nieskończony. Na przykład
instead of tuples of relations.
formuła:
If F(d1, d2, . . . , dn) stands for a formula
{S | ~Staff(S)}
composed of atoms and d1, d2, . . . , dn represent
oznacza ona zbiór wszystkich krotek, które nie
należą do relacji Staff. Taką formułę nazywamy
domain variables, then:
niebezpieczną.
{d1, d2, . . . , dn | F(d1, d2, . . . , dn)}
Należy więc dodawać ograniczenie stanowiące, że
is a general domain relational calculus expression.
wszystkie wartości występujące w relacji wynikowej
muszą pochodzić z dziedziny formuły E, oznaczanej
jako dom(E).
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
53 54
Find the names of all managers who earn more
List the names of staff who currently do not
than Ł25,000.
manage any properties for rent.
{fN, lN | ($ sex, DOB, sal, bN)
sN, posn,
{fN, lN | ($
sN)
(Staff (sN, fN, lN, posn, sex, DOB, sal, bN) Ł
(Staff(sN,fN,lN,posn,sex,DOB,sal,bN) Ł
posn =  Manager Ł sal > 25000)}
(~($
sN1) (PropertyForRent(pN, st, cty, pc, typ,
rms, rnt, oN, sN1, bN1) Ł (sN=sN1))))}
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
55 56
List the staff who manage properties for rent List the names of clients who have viewed a
in Glasgow. property for rent in Glasgow.
{sN, fN, lN, posn, sex, DOB, sal, bN | {fN, lN | ($
cN, cN1, pN, pN1, cty)
($ (Client(cN, fN, lN,tel, pT, mR) Ł
sN1,cty)(Staff(sN,fN,lN,posn,sex,DOB,sal,bN) Ł
PropertyForRent(pN, st, cty, pc, typ, rms, Viewing(cN1, pN1, dt, cmt) Ł
rnt, oN, sN1, bN1) Ł PropertyForRent(pN, st, cty, pc, typ,
(sN=sN1) Ł cty= Glasgow )} rms, rnt,oN, sN, bN) Ł
(cN = cN1) Ł (pN = pN1) Ł cty =  Glasgow )}
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
57 58
When restricted to safe expressions, domain
relational calculus is equivalent to tuple
Relacyjny rachunek dziedzin.
relational calculus restricted to safe
Języki transformacji, np. SQL.
expressions, which is equivalent to relational
algebra.
Języki o interfejsie graficznym, np. QBE.
Języki czwartej generacji (4GL).
Języki piątej generacji (5GL).
Means every relational algebra expression has
an equivalent relational calculus expression,
and vice versa.
Pearson Education Limited 1995, 2005 Pearson Education Limited 1995, 2005
59 60
4GLs can create complete customized
application using limited set of commands in a
user-friendly, often menu-driven environment.
Some systems accept a form of natural
language, sometimes called a 5GL, although this
development is still at an early stage.
Pearson Education Limited 1995, 2005
61


Wyszukiwarka

Podobne podstrony:
Microsoft PowerPoint Enzymologia cz V
Kopia Microsoft PowerPoint Spalanie tworzyw sztucznychII
Microsoft PowerPoint Enzymologia cz VI Ekstremozymy
Microsoft PowerPoint pBomieD i inicjacja
Microsoft PowerPoint Cz II CFD
Microsoft PowerPoint w 1konsp
(Microsoft PowerPoint ERGONOMIA diagnoza
Microsoft PowerPoint autorskie [tryb zgodności]
Algebra relacji v5 cz1
Microsoft PowerPoint w 5bkonspekt
Microsoft PowerPoint Fizykochemia spalania POCZ
(Microsoft PowerPoint Logistyka blok 2
Microsoft PowerPoint Metamorfizm
(Microsoft PowerPoint E14 Inflacjaid61
Microsoft PowerPoint Logistyka blok4
Microsoft PowerPoint jtag mat w

więcej podobnych podstron