Which of the following is a tuple-generating dependency?
2023
Which of the following is a tuple-generating dependency?
- A.
Functional dependency
- B.
Equality-generating dependency
- C.
Multivalued dependency
- D.
Non-functional dependency
Attempted by 8 students.
Show answer & explanation
Correct answer: C
Concept: In relational database theory, every dependency (a constraint on the tuples of a relation) belongs to one of two broad classes: an equality-generating dependency (EGD) forces two already-existing values to become equal, while a tuple-generating dependency (TGD) forces the existence of new tuples in the relation without equating any values. Functional dependencies are the classic example of an EGD; multivalued dependencies, join dependencies, and inclusion dependencies are the classic examples of a TGD.
Application: Applying this classification to each option:
Functional dependency: X → Y requires any two tuples agreeing on X to also agree on Y — it equates the Y-values of those tuples, so it is an EGD, not a TGD.
Equality-generating dependency: this name is literally the other class (the one that equates values), so by definition it is not tuple-generating.
Multivalued dependency: X ↠ Y requires that whenever two tuples agree on X, the relation must also contain further tuples formed by swapping their Y-values between them — it mandates the existence of these extra tuples without equating anything, so it is a TGD.
Non-functional dependency: this is not a defined constraint class in the dependency taxonomy at all, so it cannot be a TGD.
Cross-check: Cross-checking against the standard classification of embedded dependencies — EGDs (functional dependencies, key constraints) versus TGDs (multivalued dependencies, join dependencies, inclusion dependencies) — only the multivalued dependency falls in the tuple-generating category.
Result: So the tuple-generating dependency among the options is the multivalued dependency.