i'm unclear about mvd breach, simply i cant determine something that will violate mvd, for instance you will find A B - C three posts, each row is really a tuple

## A B C

a2 b2 c1

a1 b2 c2

a1 b2 c3

a2 b3 c1

does B->>C and B->>A?

thanks

An MVD, much like an FD, is really a *rule*. It is applicable for your business situation or otherwise, you will need to inspect the needs and/or even the specs to be able to know.

You can't know whether or not this is applicable from searching at sample data (that is applicable to FD's too).

Searching at sample data are only able to let you know, "when the rule is applicable, than the data is going to be valid/invalid", or "if the data should be valid, then some particular MVD rule certainly will not apply".

Ok now what does this kind of MVD rule condition *exactly* ?

First have a look at how much of an FD states *exactly*. An FD states that for any certain [group of] attribute[s] (the Left side from the FD), it can't be that some particular [mixture of value[s] is connected using more than one [mixture of distinct value[s] from the characteristics around the Right hands side from the FD.

A->B indeed implies that for those attribute value pairs (a1,b2) and (a2,b2), it holds that a1=a2 ===> b2=b2.

An MVD is really a generalization of the FD, for the reason that it doesn't condition that *individual* B values should be connected with/based on A values, but rather it states that *Teams of* B values should be connected with/based on A values.

(warning : switching from theOrW to B/C here !)

Inside your example, b2 is "connected" using the set , and also the value b2 is "connected" using the set . If the MVD B->>C is applicable indeed, then it ought to be impossible for any row a4,b2,c2 to look inside your table unless of course the row a4,b2,c3 also seems, concurrently. Likewise, for those who have individuals two additional rows, and also you add a1,b2,c4, this can "add" c4 towards the group of values which are "multidetermined by" the worthiness b2, and therefore, your MVD is going to be violated unless of course additionally you add a4,b2,c4.

It might violate MVD should you change the need for a1 to another thing on *one* from the rows for b2.

## A B C

a2 b2 c1

a1 b2 c2

**a3** b2 c3

a2 b3 c1

If B ->> A and B->>C, it ought to be correct that for any given worth of B, the rows ought to be created with a *mix-product* from the distinct values of the and C. Quite simply, every permutation of various values of the and C could be symbolized.

Should you needed b2 to find out a1/a3 and c2/c3, your table need to look such as this:

## A B C

a2 b2 c1

a1 b2 c2

a1 b2 c3

a3 b2 c2

a3 b2 c3

a2 b3 c1

However I don't believe there's enough information inside your example to express that B->>A and B->>C. It is also entirely possible that A->>B along with a->>C, or that C->>A and C->>B.

is about mvd breach or 4NF breach? Have you check http://en.wikipedia.org/wiki/Multivalued_dependency?