Solved

Multi Value Dependency, BCNF, 4NF

Posted on 2014-12-21
6
79 Views
Last Modified: 2014-12-31
At http://www.slideshare.net/ramsekhargrandhi/mvd-16251057 in side 4 of 14 shown below...

Question: Why name --> --> phone is a multi valued Dependent?

I understand FD in name --> adress. But why we cannot have name --> phone.
0
Comment
Question by:Mike Eghtebas
6 Comments
 
LVL 65

Expert Comment

by:Jim Horn
Comment Utility
Phone is directly related to a person (name), and not an address, e.g. my cell phone doesn't *really* have an address related to it.

So, given a table Name was a table, then
Phone would be a 1:M table with fk name, as a name can have multiple phone numbers.
Address could be in the Name table if you don't care about history, or if a name can have multiple addresses.  If you need history, then Address is a separate 1:M table with fk name and some kind of date column(s) to indicate when the address was valid.

No relationship between phone and address.
0
 
LVL 33

Author Comment

by:Mike Eghtebas
Comment Utility
Hi Jim,

Dirinkers  <--- Table name with 3 fields
========================
name
phone
address

The discussion, as I understand it, to see if this table could be further reduced (broken down to two tables) and why. So, name and phone (if it is cell phone) is candidate key. The combination of  name-cell phone - and address possibly is another candidate key if all names are living alone but we never know. As the result

name --> cell -phone have functional dependency (FD) but
name --> address have not and definately
name - -> beer type have not FD because Mike --> Coors   cannot be unique because we can easily have Robert --> Coors.

Now, lets forget the content of this post and shift to the original question:

Question: Why name --> --> phone is a multi valued Dependent?

The purpose of this post was just to not assume name, phone, address are each separate tables.

Thanks,

Mike
0
 
LVL 69

Expert Comment

by:ScottPletcher
Comment Utility
@Jim:
>> Address could be in the Name table if you don't care about history, or if a name can have multiple addresses. <<

I believe you meant to say "or if name can have only a single address".  If a name can multiple addresses, then addresses need to be in a separate table, of course.


To me:
(name, phone, address) [beers]
is not even a valid setup of 4nf issues, as the table is not yet in 3nf.  

I believe the only true candidate key here is "name", since phone numbers change all the time.

Thus, phone and address are both non-key attributes, and, if so, we're dealing with potential 3nf issues, not 4nf issues.

I personally don't see any true transitive dependencies among phone, address and beers.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 33

Author Comment

by:Mike Eghtebas
Comment Utility
HI Scott,

Could you possibly, in a table like:

Table1
===========================
field1          field2                field3
---------         -----------            -------------
x                    x                          x

give me an examples for FD and MVD?

Basically, I want to understand FD and MVD.

Also, please add a comment to: http://www.experts-exchange.com/Database/MS-SQL-Server/Q_28584856.html#a40512198

Thanks,

Mike
0
 
LVL 69

Expert Comment

by:ScottPletcher
Comment Utility
Sorry, I need to come back to this.  I've had only about 2 hours' sleep in the last two days so now is the time for me to tackling normalization :-).  Even what I have above is not really clear or direct.
0
 
LVL 45

Accepted Solution

by:
Vitor Montalvão earned 500 total points
Comment Utility
Question: Why name --> --> phone is a multi valued Dependent?

 I understand FD in name --> adress. But why we cannot have name --> phone.
Both can be true but it's more usual to a person having more than a telephone number where he/she can be reached. Like mobile phone, home phone and work phone.
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Join & Write a Comment

In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now