admin管理员组

文章数量:1392099

From the book Fundamentals of Database Systems (7th edition) by Elmasri et al., pages 475-476:

A multivalued dependency [MVD] X ↠ Y specified on relation schema R, where X and Y are both subsets of R, specifies the following constraint on any relation state r of R:
If two tuples t1 and t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should also exist in r with the following properties, where we use Z to denote (R − (X ∪ Y)):
t3[X] = t4[X] = t1[X] = t2[X]
t3[Y] = t1[Y] and t4[Y] = t2[Y]
t3[Z] = t2[Z] and t4[Z] = t1[Z]

(The tuples t1, t2, t3, and t4 are not necessarily distinct.)

Does "tuples t1, t2, t3, and t4 are not necessarily distinct" imply t1 = t2 = t3 = t4?

Example table:

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics
math      john     mathematical analysis
math      ken      linear algebra

When course = physics,

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics

Let t1, t2, t3, and t4 be distinct in the definition; course ↠ teacher holds.

When course = math,

course  teacher    book

math      john     mathematical analysis
math      ken      linear algebra

Let t1 = t2 = t3 = t4 in the definition; course ↠ teacher holds too.

How do I show whether multivalued dependency course ↠ teacher holds in the example table?

From the book Fundamentals of Database Systems (7th edition) by Elmasri et al., pages 475-476:

A multivalued dependency [MVD] X ↠ Y specified on relation schema R, where X and Y are both subsets of R, specifies the following constraint on any relation state r of R:
If two tuples t1 and t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should also exist in r with the following properties, where we use Z to denote (R − (X ∪ Y)):
t3[X] = t4[X] = t1[X] = t2[X]
t3[Y] = t1[Y] and t4[Y] = t2[Y]
t3[Z] = t2[Z] and t4[Z] = t1[Z]

(The tuples t1, t2, t3, and t4 are not necessarily distinct.)

Does "tuples t1, t2, t3, and t4 are not necessarily distinct" imply t1 = t2 = t3 = t4?

Example table:

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics
math      john     mathematical analysis
math      ken      linear algebra

When course = physics,

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics

Let t1, t2, t3, and t4 be distinct in the definition; course ↠ teacher holds.

When course = math,

course  teacher    book

math      john     mathematical analysis
math      ken      linear algebra

Let t1 = t2 = t3 = t4 in the definition; course ↠ teacher holds too.

How do I show whether multivalued dependency course ↠ teacher holds in the example table?

Share Improve this question edited Mar 18 at 6:55 philipxy 15.2k6 gold badges43 silver badges97 bronze badges asked Mar 12 at 7:18 showkeyshowkey 32851 gold badges162 silver badges323 bronze badges 7
  • ... You say "implies" but you seem to mean "includes" or "allows" . (How could "tuples t1, t2, t3, and t4 are not necessarily distinct" possibly 'imply t1 = t2 = t3 = t4'? What is unclear about " not necessarily distinct"?) You write "course ↠ teacher holds" but you seem to mean "the 3 conditions hold". (Fpr the MVD to hold (in the example? in each of the restrictions?) according to the definition the conditions must be true for some "two tuples t3 and t4" for EVERY "two tuples t1 and t2 exist in r such that t1[X] = t2[X] [...]".) If you want an argument critiqued then you have to give it. – philipxy Commented Mar 14 at 0:27
  • Re determining whtether MVDs (mulitvalued dependencies) hold – philipxy Commented Mar 14 at 0:32
  • Again: Ask 1 question per question post. Do not ask multiple questions, like now. You added a 3rd question; I removed it. Moreover, it was no connection to the other questions; do not change a post to ask a different question. There is no point in making a claim if you don't give your argument. If you want to ask the 2nd question, there is no point giving in the last 2 tables or the statements after them. If you are giving that stuff to ask about your claim that the FD holds then give your argument. And you don't say what the last 2 tables have to do with the FD holding or the definition. – philipxy Commented Mar 16 at 8:02
  • This post is incomprehensible. "Let t1, t2, t3, and t4 be distinct in the definition" & "Let t1 = t2 = t3 = t4 in the definition" don't make sense. t3 & t4 are names for tuple values that must exist in the table after t1 & t2 are chosen, and t1 & t2 must be tested for every way they can name tuple values from the table. And you don't explain what those statements have to do with the 2 restricted tables or how they cause the FD to hold. And you don't say what tables the FD holds in. And you don't connect them to the last question or to your claim the FD holds in the example table. – philipxy Commented Mar 16 at 8:09
  • Yet again: Edit to ask exactly 1 question. – philipxy Commented Mar 18 at 6:56
 |  Show 2 more comments

1 Answer 1

Reset to default 0

MVD does not hold in the example table you shared.

Simply because
(math, john, mathematical analysis) and (math, ken, linear algebra) exists but

(math, ken, mathematical analysis) and (math, john, linear algebra) does not exist

If two tuples t1 and t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should also exist in r with the following properties, where we use Z to denote (R − (X ∪ Y)):
t3[X] = t4[X] = t1[X] = t2[X]
t3[Y] = t1[Y] and t4[Y] = t2[Y]
t3[Z] = t2[Z] and t4[Z] = t1[Z]

1. Let t1 = (math, john, mathematical analysis)
2. Let t2 = (math, ken, linear algebra)

3. Since t1[X] = math = t2[X] and t2[Y] != t1[Y] and t1[Z] != t2[Z],
3.1. For MVD to hold, there must be t3 where,
3.1.1.      t3[X] = math and t3[Y] = t1[Y] = "john" and t3[Z] = t2[Z] = "linear algebra"

Since t3 = (math, john, linear algebra) does not exists in r, MVD does not hold. Same reasoning for any possible t4

Does "tuples t1, t2, t3, and t4 are not necessarily distinct" imply t1 = t2 = t3 = t4?

I think you got confused by this statement. It merely means they don't have to be distinct not necessarily they are the same.

This statement is useful for the following tables where they exhibit MVD.

Example 1:

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics
math      john     mathematical analysis
math      john     linear algebra

Example 2:

course  teacher    book

physics   tom      general physics
physics   tom      optics
physics   marry    general physics
physics   marry    optics
math      john     mathematical analysis
math      ken      mathematical analysis

本文标签: