Upload
lebenikos
View
220
Download
0
Embed Size (px)
Citation preview
8/4/2019 Baseis Dedomenon Functional Dependencies
1/6
I n t r o d u c t i o n t o F u n c t i o n a l D e p e n d e n c i e s
b y V l a d i m i r S u r k o v
R e n t s E x a m p l e
A R e n t s t a b l e s t o r e s i n f o r m a t i o n a b o u t C u s t o m e r s , F i l m s , a n d t h e l m s a c u s t o m e r r e n t s .
R e n t s C u s t o m e r I D , T i t l e , P r i c e , R a t i n g , D a t e
C u s t o m e r I D T i t l e P r i c e R a t i n g D a t e
0 0 0 1 B r a v e h e a r t 4 . 2 0 P G 1 3 2 0 0 3 - 0 1 - 0 8
0 0 0 1 T h e P a t r i o t 3 . 3 0 R 2 0 0 3 - 0 1 - 0 8
0 0 0 2 T h e P a t r i o t 3 . 3 0 R 2 0 0 3 - 0 3 - 0 3
0 0 0 3 R a n s o m 3 . 5 0 P G 1 3 2 0 0 3 - 0 4 - 0 1
R e d u n d a n t I n f o r m a t i o n
C u s t o m e r I D T i t l e P r i c e R a t i n g D a t e
0 0 0 1 B r a v e h e a r t 4 . 2 0 P G 1 3 2 0 0 3 - 0 1 - 0 8
0 0 0 1 T h e P a t r i o t 3 . 3 0 R 2 0 0 3 - 0 1 - 0 8
0 0 0 2 T h e P a t r i o t 3 . 3 0 R 2 0 0 3 - 0 3 - 0 3
0 0 0 3 R a n s o m 3 . 5 0 P G 1 3 2 0 0 3 - 0 4 - 0 1
T i t l e , P r i c e , a n d K i n d i s r e p e a t e d f o r e a c h l m .
W a s t e s s p a c e
P o t e n t i a l f o r i n c o n s i s t e n t d a t a i s i n c r e a s e d
C a n n o t s t o r e i n f o r m a t i o n a b o u t a l m i f n o r e s e r v a t i o n f o r i t e x i s t s a n u l l c a n n o t b e
s t o r e d i n t h e C u s t o m e r I D
A n o m a l i e s R e s u l t i n g f r o m A B a d D e s i g n
U p d a t e a n o m a l y :
U p d a t e r e n t a l p r i c e t o $ 4 f o r ' T h e P a t r i o t ' h a v e t o c h a n g e s e v e r a l t u p l e s
A n o m a l l y i f c h a n g e s i n s o m e b u t n o t i n a l l
I n s e r t i o n a n o m a l y :
C a n n o t i n s e r t i n f o r m a t i o n a b o u t a l m i f i t h a s n o r e n t a l s
D e l e t i o n a n o m a l y :
I f n o r e n t a l s , i n f o r m a t i o n a b o u t t h e l m d i s a p p e a r s
1
8/4/2019 Baseis Dedomenon Functional Dependencies
2/6
G o a l s o f L o g i c a l D e s i g n
D e v e l o p g o o d r e l a t i o n a l s c h e m a s
A v o i d r e d u n d a n t d a t a
A v o i d m o d i c a t i o n a n o m a l i e s
E n s u r e t h a t r e l a t i o n s h i p s a m o n g a t t r i b u t e s a r e r e p r e s e n t e d
F a c i l i t a t e t h e c h e c k i n g o f u p d a t e s f o r v i o l a t i o n o f d a t a b a s e i n t e g r i t y c o n s t r a i n t s
G o o d d e s i g n i m p o r t a n t e v e n i f E R m o d e l w a s u s e d a l t h o u g h d e v e l o p i n g w i t h a n E R m o d e l
o f t e n y i e l d s a g o o d d e s i g n
D e c o m p o s i t i o n
S o l u t i o n :
D e c o m p o s e t h e r e l a t i o n s c h e m a R e n t s i n t o :
R 1 = C u s t o m e r I D , T i t l e , D a t e
R 2 = T i t l e , P r i c e , K i n d
R e q u i r e m e n t s :
A l l a t t r i b u t e s o f t h e o r i g i n a l s c h e m e R m u s t a p p e a r i n t h e d e c o m p o s i t i o n
a t t r i b u t e s R = a t t r i b u t e s R 1
S
a t t r i b u t e s R 2
L o s s l e s s - j o i n d e c o m p o s i t i o n :
F o r a l l p o s s i b l e r e l a t i o n s r o n s c h e m e R
r =
R 1
r n
R 2
r
H o w d o w e e n s u r e t h a t t h e d e c o m p o s i t i o n i s a l o s s l e s s j o i n d e c o m p o s i t i o n ?
N e x t t u t o r i a l ! ! !
F u n c t i o n a l D e p e n d e n c i e s
F u n c t i o n a l d e p e n d e n c i e s g e n e r a l i z e t h e p r e v i o u s l y i n t r o d u c e d n o t i o n s o f k e y s .
T h e y a l s o a l l o w u s t o i d e n t i f y p o s s i b l e i n f o r m a t i o n l o s s f r o m a g i v e n d e c o m p o s i t i o n .
2
8/4/2019 Baseis Dedomenon Functional Dependencies
3/6
D e n i t i o n :
L e t a n d b e s u b s e t s o f s c h e m a R . A f u n c t i o n a l d e p e n d e n c y ! h o l d s o n R i f f o r a l l
l e g a l i n s t a n c e s r o f R ,
8 t
1
; t
2
2 r t
1
= t
2
t
1
= t
2
D e n i t i o n :
A d e p e n d e n c y ! i s t r i v i a l i f
E x a m p l e s :
A l m h a s a u n i q u e t i t l e , r e n t a l p r i c e , a n d d i s t r i b u t o r .
F i l m I D ! T i t l e , R e n t a l P r i c e , D i s t r i b u t o r
T h e C u s t o m e r I D u n i q u e l y i d e n t i e s t h e c u s t o m e r a n d h i s h e r a d d r e s s .
C u s t o m e r I D ! N a m e , S t r e e t , C i t y , S t a t e
E a c h v i d e o t a p e h a s a u n i q u e s t a t u s .
F i l m I D , T a p e N u m ! S t a t u s
O n a n y p a r t i c u l a r d a y , a v i d e o t a p e c a n b e r e n t e d t o a t m o s t o n e c u s t o m e r .
D a t e , F i l m I D , T a p e N u m ! C u s t o m e r I D
A p e r f o r m e r c a n h a v e o n l y o n e r o l e i n a p a r t i c u l a r l m .
P e r f o r m e r I D , F i l m I D ! R o l e
A r o l e c a n b e o n l y o n e r o l e .
R o l e ! R o l e
T h i s i s a t r i v i a l d e p e n d e n c y !
C l o s u r e
D e n i t i o n :
L e t F b e a s e t o f f u n c t i o n a l d e p e n d e n c i e s . T h e c l o s u r e o f F , F
+
, c o n s i s t s o f a l l d e p e n d e n c i e s
i m p l i e d b y d e p e n d e n c i e s i n F
E x a m p l e :
R = A ; B ; C ; D
F = f A ! B ; A ! C ; C D ! A g
S o m e m e m b e r s o f F
+
: A ! B C ; C D ! B ; A D ! B ; A D ! A B C D
3
8/4/2019 Baseis Dedomenon Functional Dependencies
4/6
S u p e r k e y
D e n i t i o n :
I f ! R 2 F
+
t h e n i s a s u p e r k e y c a n d i d a t e k e y , p r i m a r y k e y o f R
E x a m p l e :
S I N L A S T N A M E ! S I N L A S T N A M E F I R S T N A M E A D D R E S S
S I N L A S T N A M E i s a s u p e r k e y
K e y
D e n i t i o n :
X i s a k e y , i f :
1 . X i s a s u p e r k e y , i . e . X ! R 2 F
+
2 . T h e r e i s n o Y X , s u c h t h a t Y ! R 2 F
+
E x a m p l e :
S T R E E T N U M B E R C I T Y ! S T R E E T N U M B E R C I T Y Z I P C O D E
S T R E E T N U M B E R C I T Y i s a k e y
E x a m p l e 1
L e t F b e t h e f o l l o w i n g s e t o f f u n c t i o n a l d e p e n d e n c i e s : f A B ! C D ; B ! D E ; C ! F ; E ! G ; A !
B g . U s e A r m s t r o n g ' s a x i o m s t o s h o w t h a t f A ! F G g i s l o g i c a l l y i m p l i e d b y F
S o l u t i o n :
1 A ! B G i v e n
2 A ! A B 1 , A u g m e n t a t i o n
3 A B ! C D G i v e n
4 A ! C D 2 , 3 , T r a n s i t i v i t y
5 B ! D E G i v e n
6 A ! D E 1 , 5 , T r a n s i t i v i t y
7 A ! A C D 4 , A u g m e n t a t i o n
8 A C D ! C D E 6 , A u g m e n t a t i o n t w i c e
9 A ! C D E 7 , 8 , T r a n s i t i v i t y
1 0 A ! C E 9 , T r i v i a l d e p e n d e n c y
1 1 C ! F G i v e n
1 2 C E ! F E 1 1 , A u g m e n t a t i o n
1 3 E ! G G i v e n
1 4 F E ! F G 1 3 , A u g m e n t a t i o n
1 5 C E ! F G 1 2 , 1 4 , T r a n s i t i v i t y
1 6 A ! F G 1 0 , 1 5 , T r a n s i t i v i t y
4
8/4/2019 Baseis Dedomenon Functional Dependencies
5/6
E x a m p l e 2
C o n s i d e r t h e r e l a t i o n s c h e m e R A , B , C , D w i t h f u n c t i o n a l d e p e n d e n c i e s A ! C a n d B ! D
I s f A ; B g a k e y ?
F a c t : f A ; B g i s a s u p e r k e y .
I n d e e d f r o m A r m s t r o n g ' s A x i o m s w e c a n i n f e r :
A ! C A B ! A B C a u g m e n t a t i o n b y A B
B ! D A B C ! A B C D a u g m e n t a t i o n b y A B C
W e o b t a i n A B ! A B C D t r a n s i t i v i t y
f A ; B g i s a c a n d i d a t e k e y m i n i m a l . W e m u s t s h o w t h a t n e i t h e r f A g n o r f B g a l o n e
a r e c a n d i d a t e k e y s .
N e i t h e r f A g n o r f B g a r e s u p e r k e y s s i n c e f A g
+
= f A ; C g , f B g
+
= f B ; D g
B u t f A ; B g
+
= f A ; B ; C ; D g
E x a m p l e 3
C o n s i d e r a d a t a b a s e o f s h i p v o y a g e s w i t h t h e f o l l o w i n g a t t r i b u t e s : S s h i p n a m e , T t y p e o f
s h i p , V v o y a g e i d e n t i e r , C c a r g o , P p o r t , a n d D d a y . W e a s s u m e t h a t a v o y a g e c o n s i s t s
o f a s e q u e n c e o f e v e n t s w h e r e o n e s h i p p i c k s u p a s i n g l e c a r g o , a n d d e l i v e r s i t t o a s e q u e n c e o f
p o r t s . A s h i p c a n v i s i t o n l y o n e p o r t i n a s i n g l e d a y . T h u s , t h e f o l l o w i n g f u n c t i o n a l d e p e n d e n -
c i e s m a y b e a s s u m e d : S ! T ; V ! S C ; S D ! P . F i n d t h e k e y .
S o l u t i o n :
S t e p 1 : W e k n o w t h a t V a n d D s h o u l d a p p e a r i n t h e k e y s i n c e t h e y d o n o t a p p e a r o n r i g h t s i d e
o f a n y f u n c t i o n a l d e p e n d e n c y .
S t e p 2 : U s i n g A r m s t r o n g a x i o m s w e c a n i n f e r t h e f o l l o w i n g :
V ! V S C a u g m e n t a t i o n b y V
V D ! V S C D a u g m e n t a t i o n b y D
V S C D ! T V S C D a u g m e n t a t i o n b y V S C D
T V S C D ! T V S C D P a u g m e n t a t i o n b y T V S C D
T h u s V D ! T V S C D P t r a n s i t i v i t y
f V ; D g
+
= f T V S C D P g
f V ; D g i s a s u p e r k e y a n d i t i s m i n i m a l , i . e . i t i s a k e y .
5
8/4/2019 Baseis Dedomenon Functional Dependencies
6/6
E x a m p l e 4
C o n s i d e r a r e l a t i o n w i t h s c h e m a R A , B , C , D a n d f u n c t i o n a l d e p e n d e n c i e s F = f A B ! C ; C !
D ; D ! A g
a W h a t a r e a l l t h e n o n t r i v i a l F D ' s t h a t f o l l o w f r o m t h e g i v e n F D ' s ? Y o u s h o u l d r e s t r i c t y o u r -
s e l f t o F D ' s w i t h s i n g l e a t t r i b u t e s o n t h e r i g h t s i d e .
b W h a t a r e a l l t h e k e y s o f R ?
c W h a t a r e a l l t h e s u p e r k e y s o f R t h a t a r e n o t k e y s ?
S o l u t i o n :
a f C ! A g ; f A B ! D g
b B m u s t a p p e a r a s a n a t t r i b u t e o f t h e k e y .
T h e n f A ; B g
+
= f A ; B ; C ; D g a n d f A ; B g i s a k e y .
f B ; C g
+
= f A ; B ; C ; D g a n d f B ; C g i s a k e y .
f B ; D g
+
= f A ; B ; C ; D g a n d f B ; D g i s a k e y .
c f A ; B ; C g ; f B ; C ; D g ; f A ; B ; D g a n d f A ; B ; C ; D g
6