You are on page 1of 32

5

3


.

.

, -
.


.

1. .
2. .
3.
.
4. .
5. ,
.
6. .
7.
.
8.
.

: (Branch)
(Staff)?

: (Branch)

(PropertyForRent)?

,


.

.

1.
2.
.
3. .
4.
.
5.
.
6. .
7. .
8. .
9.
.
8


1. "
" (*:*).
2. "
" (*:*).
3. .
4. .


, ,
,
,
.


,

(
).
,
, ,

.
10


R
A , R.A ->
R.B A -> B
R[A] R[B],

R[A]
R[B],
- R.

R.A -> R.B


, B
A
A
11

R.A -> R.B


,
, :
1.
2.
3.

4.

5.

.
B.
R.A ->
R.C.
R.C ->
R.A.
R.C ->
R.B.

12


Drinkers(name, addr, beersLiked, manf,
favBeer)

:
1.
2.
3.

name -> addr


name -> favBeer
beersLiked -> manf

13


name
Janeway
Janeway
Spock

addr
Voyager
Voyager
Enterprise

Because name -> addr

beersLiked
Bud
WickedAle
Bud

manf
A.B.
Petes
A.B.

favBeer
WickedAle
WickedAle
Bud

Because name -> favBeer

Because beersLiked -> manf

14


, 1 .




.
:
name -> addr name -> favBeer
name -> addr favBeer

> 1
.


: bar beer -> price


15

K
R K
R.
-
,
,

.
K R K
,
K.
16







.
,
.
, (
).
,
( ).
, (
).

17


Drinkers(name, addr, beersLiked, manf,
favBeer)
 {name, beersLiked}
, ..




name -> addr favBeer


beersLiked -> manf

18

.


{name, beersLiked} , ..
{name} {beersLiked}
.


name doesnt -> manf; beersLiked doesnt ->


addr.

,
.


{name,
beersLiked}.

19

?
1.

K.


2.

K -> A
A.


.


E/R

.

20

:

:
hour room -> course.

21



- .
 .. ,

.

.


22

: R(A,B)

{(1,2), (3,4)}

{}

{(5,1)}

{(1,2), (3,4), (1,3)}

23




X -> A
,
.

.
= ,
.


: A -> A.

24

Example: A -> B for R(A,B)

{(1,2), (3,4)}

A -> B
{}

{(5,1)}

{(1,2), (3,4), (1,3)}

25


,

.


= ,
.

26


,
A->B, B->C,
CD->A

A->B
B->C
CD->A

27

.
1.
2.
.
3. .
4.
.
5. .
6. .
7. .
8. .
9. .

28

29


: ,
,






30

.
1.
2.
.
3. .
4.
.
5.
.
6. .
7. .
8. .
9. .

31


.
 .
 .
 .
 .


32

You might also like