150 likes | 413 Views
Inclusion Dependency (IND). IND is the rule among different schemas Consider the student and department relations. student. department. Inclusion Dependency (IND). In the student relation, we only have the student ID of the student and his/her corresponding department ID number.
E N D
Inclusion Dependency (IND) • IND is the rule among different schemas • Consider the student and department relations student department
Inclusion Dependency (IND) • In the student relation, we only have the student ID of the student and his/her corresponding department ID number. • Normally every student must belong to a department. • There should not exist that the relation contains a department with an unknown department identity number, or that the department has no identity number.
Inclusion Dependency (IND) • Just the same as FD, there is a tool to formulate the IND between schemas • This tool is called “Casanova et al.’s axiom system” • We consider the following three rules: • Reflexivity • Projection and Permutation • Transitivity
Inclusion Dependency (IND) • Reflexivity • If X is (are) attribute(s) in a schema R, we have IND├ R[X] R[X]. • Example • In student relation, IND ├ student[sid] student[sid] • It gives the basis of inclusion dependency.
Inclusion Dependency (IND) • Projection and permutation • If IND├R1[X]R2[Y], then IND├R1[Xk]R2[Yk] where Xk and Yk are projection and permutation on X and Y • Example • In the teach relation, course ID and the course description are subset of records in the course relation. If we use course ID as referential key to the course relation, there must exist some records in course relation for the same description as the course description.
Inclusion Dependency (IND) teach course teach[{course, cdescription}] course[{course, cdescription, credit}]=> teach[cdescription] course[cdescription]
Inclusion Dependency (IND) • Transitivity • If IND├R1[X]R2[Y] and IND├R2[Y]R3[Z], then IND├R1[X]R3[Z] • Example • In the pattern relation, it records what courses a student needs to take and only the course ID is known. It is trivial that the course ID is a subset of the course ID in the teach relation. As course ID in the teach relation is also a subset of that in the course relation, from the pattern relation, we can use the course ID as referential key to the course relation.
Inclusion Dependency (IND) If IND├ pattern[course] teach[course] pattern teach
Inclusion Dependency (IND) and IND├ teach[course] course[course] teach course
Inclusion Dependency (IND) then IND├ pattern[course] course[course] pattern course