1 Replies - 3516 Views - Last Post: 03 September 2013 - 10:05 AM Rate Topic: -----

#1 midlin93   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 01-September 13

Task: How do I find multivalued dependencies given a database table

Posted 01 September 2013 - 08:11 AM

I basically have a list of 3 possible multivalued dependencies. I have to figure out which one is the right one and then split the given table into 2 according to the fourth normalform (4NF).

My possibilities are:
a X->->Y, X->->Z
b Y->->X, Y->->Z
c Z->->X, Z->->Y

This is an example of an exam question which I will most definitely get. The problem is I don't understand the first thing about this 4th database normalisation technique.
What I got from many Google-searches and YouTube-movies is that if X->->Y that means that for 1 X-value there are multiple Y values.

But how do I determine which one of these rules applies to the given table?
I've included a screenshot of set table as an attachment, if anyone could help me figure out this 4NF I would be ever grateful.

Attached image(s)

  • Attached Image

Is This A Good Question/Topic? 0
  • +

Replies To: Task: How do I find multivalued dependencies given a database table

#2 Martyr2   User is offline

  • Programming Theoretician
  • member icon

Reputation: 5227
  • View blog
  • Posts: 14,010
  • Joined: 18-April 07

Re: Task: How do I find multivalued dependencies given a database table

Posted 03 September 2013 - 10:05 AM

Well first we must say that we have to know something about the values to determine whether or not this table is already in 4NF. But assuming that the relationship between X and Y has no effect on the relationship X and Z it is as simple as breaking the two tables where X and Y is in one table and X and Z is in another.

So your X and Y table would look something like this...

X   |  Y
100    A
100    C
200    B
300    B
300    C
400    D

Notice here that we have no duplicates of X and Y. The second table is the relationship of X and Z.

X   |  Z
100    e
100    c
100    d
200    f
200    g
300    f
300    g
300    c
300    d
400    c

Again no duplicates. To understand this a bit better, you can check out the example at wikipedia for 4NF... There they use a pizza place example that is pretty clear. http://en.wikipedia....rth_normal_form

Note the second to last sentence under the "Example" section which states that if Z did depend on Y then your original table would be in 4NF. That is why you should know a bit about the data and how they relate to one another. :)
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1