Baseis Dedomenon Functional Dependencies

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