0% found this document useful (0 votes)
50 views

Multivalued Dependencies & Fourth Normal Form (4NF) : Zaki Malik October 28, 2008 October 28, 2008

1) Multivalued dependencies (MVDs) express conditions where certain attributes are independent of each other, requiring their values to appear in all combinations. This can lead to redundant tuples. 2) Fourth normal form (4NF) addresses redundancy from MVDs. A relation is in 4NF if every nontrivial MVD has a superkey as its left side. 3) To decompose a relation violating 4NF, identify the MVD with a non-superkey left side and decompose using the same technique as for BCNF.

Uploaded by

Rohini
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Multivalued Dependencies & Fourth Normal Form (4NF) : Zaki Malik October 28, 2008 October 28, 2008

1) Multivalued dependencies (MVDs) express conditions where certain attributes are independent of each other, requiring their values to appear in all combinations. This can lead to redundant tuples. 2) Fourth normal form (4NF) addresses redundancy from MVDs. A relation is in 4NF if every nontrivial MVD has a superkey as its left side. 3) To decompose a relation violating 4NF, identify the MVD with a non-superkey left side and decompose using the same technique as for BCNF.

Uploaded by

Rohini
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Multivalued Dependencies &

Fourth Normal Form (4NF)
Zaki Malik
October 28, 2008
October 28, 2008
A New Form of Redundancy
A New Form of Redundancy
• Multivalued
Multivalued dependencies (MVD
dependencies (MVD’s) s) express a 
express a
condition among tuples of a relation that 
exists when the relation is trying to represent
exists when the relation is trying to represent 
more than one many‐many relationship.

• Then certain attributes become independent 
of one another, and their values must appear 
f h d h i l
in all combinations.

2
Example
Drinkers(name, addr, phones, beersLiked)
• A drinker’s phones are independent of the beers 
di k ’ h i d d f h b
they like.
• Thus, each of a drinker’s phones appears with each 
Th h f di k ’ h ith h
of the beers they like in all combinations.
– If
If a drinker has 3 phones and likes 10 beers, then the 
a drinker has 3 phones and likes 10 beers then the
drinker has 30 tuples
– where each phone is repeated 10 times and each beer 3 
times
• This repetition is unlike redundancy due to FD’s, of 
which name‐>addr is the only one.
hi h dd i h l
3
Tuples Implied by Independence
If we have tuples:

name addr phones beersLiked


sue a p1 b1
sue a p2 b2

sue a p2 b1
sue a p1 b2

Then these tuples must also be in the relation.

4
Another Example
Definition of MVD
Definition of MVD
• A
A multivalued dependency
multivalued dependency (MVD)       X
(MVD) X ‐>‐>Y
> >Y 
is an assertion that if two tuples of a relation 
agree on all the attributes of X then their
agree on all the attributes of X, then their 
components in the set of attributes Y may be 
swapped and the result will be two tuples
swapped, and the result will be two tuples 
that are also in the relation.

6
Definition of MVD

7
Example

t
u
v
Picture of MVD X ‐>‐>Y
Picture of MVD X  > >Y
X Y others

equal

exchange

• Does X -> Y imply X ->> Y ?


9
MVD Rules
MVD Rules

• Every FD is an MVD
– If X ‐>Y, then swapping Y ’s between two tuples that 
, pp g p
agree on X doesn’t change the tuples.
– Therefore, the “new” tuples are surely in the 
, p y
relation, and we know X ‐>‐>Y.

• Definition of keys depend on FDs and not MDs

10
Rules for Manipulating MDs
Rules for Manipulating MDs
Splitting Doesn’tt Hold
Splitting Doesn Hold
• Like
Like FD
FD’ss, we cannot generally split the left 
we cannot generally split the left
side of an MVD.

• But unlike FD’s, we cannot split the right side 
either ‐‐‐
ih sometimes you have to leave several 
i h l l
attributes on the right side.

12
Another Example
Another Example
• Consider a drinkers relation:
Consider a drinkers relation:
Drinkers(name, areaCode, phone, beersLiked, 
manf)
• A drinker can have several phones, with the 
number divided between areaCode and phone
number divided between areaCode and phone 
(last 7 digits).
• A drinker can like several beers, each with its 
A drinker can like several beers, each with its
own manufacturer.

13
Example, Continued
Example, Continued
• Since
Since the areaCode
the areaCode‐phone
phone combinations for a 
combinations for a
drinker are independent of the beersLiked‐
manf combinations we expect that the
manf combinations, we expect that the 
following MVD’s hold:
name > > areaCode phone
name ‐>‐> areaCode phone
name ‐>‐> beersLiked manf

14
Example Data
Example Data

Here is possible data satisfying these MVD’s:

name areaCode p
phone beersLiked manf
Sue 650 555-1111 Bud A.B.
Sue 650 555-1111 WickedAle Pete’s
Sue 415 555-9999 Bud A.B.
Sue 415 555 9999
555-9999 WickedAle Pete’ss
Pete

But we cannot swap area codes or phones my themselves.


That is, neither name ->-> areaCode nor name ->-> phone
holds for this relation.

15
Fourth Normal Form
Fourth Normal Form
• The
The redundancy that comes from MVD
redundancy that comes from MVD’ss is not 
is not
removable by putting the database schema in 
BCNF.
BCNF

• Th
There is a stronger normal form, called 4NF, 
i lf ll d 4NF
that (intuitively) treats MVD’s as FD’s when it 
comes to decomposition, but not when 
d ii b h
determining keys of the relation.

16
4NF Definition
4NF Definition
• A relation R 
A relation R is in 4NF if whenever  X 
is in 4NF if whenever X ‐>‐>Y
> >Y is 
is
a nontrivial MVD, then X is a superkey.
– Nontrivial means that:
Nontrivial means that:
1. Y is not a subset of X, and
2. X and
and Y 
Y are not, together, all the attributes.
are not, together, all the attributes.

– Note
Note that the definition of 
that the definition of “superkey”
superkey  still 
still
depends on FD’s only.

17
BCNF Versus 4NF
BCNF Versus 4NF

• Remember that every FD X ‐>Y  is also an 
, ‐>‐>Y.
MVD, X
• Thus, if R is in 4NF, it is certainly in BCNF.
– Because any BCNF violation is a 4NF violation.
Because any BCNF violation is a 4NF violation

• But R could be in BCNF and not 4NF, 
ld b d
because MVD’s are “invisible” to BCNF.

18
Decomposition and 4NF
Decomposition and 4NF
• If X
If X ‐>‐>Y
> >Y is a 4NF violation for relation R, we 
is a 4NF violation for relation R we
can decompose R using the same technique 
as for BCNF
as for BCNF.
1. XY is one of the decomposed relations.
2 All but Y
2. All but Y – X is the other.
is the other

19
Example
Drinkers(name, addr, phones, beersLiked)
Drinkers(name addr phones beersLiked)
FD:  name ‐> addr
MVD’s: 
’ name ‐>‐> phones
h
name ‐>‐> beersLiked
• Key is 
– {name, phones, beersLiked}.
{ a e, p o es, bee s ed}
• Which dependencies violate 4NF ? 
– All 
All
20
Example, Continued
Example, Continued
• Decompose using name ‐> addr:

1. Drinkers1(name, addr)
Drinkers1(name, addr)
ƒ In 4NF, only dependency is name ‐> addr.
2 Drinkers2(name, phones, beersLiked)
2. Drinkers2(name phones beersLiked)
ƒ Not in 4NF.  MVD’s name ‐>‐> phones and 
name > > beersLiked apply
name ‐>‐> beersLiked apply.  
ƒ Key ? 
ƒ No FDs so all three attributes form the key
No FDs, so all three attributes form the key.
21
Example: Decompose Drinkers2

• Either MVD name ‐>‐> phones or  name ‐>‐> 
beersLiked tells us to decompose to:
beersLiked tells us to decompose to:

– Drinkers3(name, phones)
– Drinkers4(name, beersLiked)

22
Relationships Among Normal Forms
Relationships Among Normal Forms
kNFs

You might also like