next up previous
Next: Multi-Valued Dependency Up: Introduction Previous: Functional Dependency

 

Inclusion dependencies

 

An Inclusion Dependency( IND) over a database schema R is a statement of the form R1[X] Í  R2[Y], where R1 , R2 Í  R and X, Y are sequences of attributes such that X Í schema(R1), Y Í schema(R2) and |X| = |Y|

Let d be a database over a database schema R, where r1, r2 Í  d are relations over relation schemas R1 , R2Í  R. An IND R1[X] Í R2[Y] is satisfied in a database d over R, denoted by d |= R1[X] Í R2[Y], if for all  t1 Π r1, there exists t2 Î r2, such that t1[X] = t2[X]

 

 INDs in our banking example       (demo)

 

Loan-schema[branch-name] Í Branch-schema[branch-name]

The branch of the bank that grants the loan must be a tuple in the Branch-schema.

 

 

Banker-schema[branch-name] Í Branch-schema[branch-name]

The branch of the bank that a banker works in must be a tuple in the Branch-schema.

 

Customer-credit-card-schema[customer-ID] Í Customer-schema[customer-ID]

The customer that owns a credit card issued by the bank must be a tuple in the Customer-schema.

 

Customer-credit-card-schema[credit-card-number] Í Credit-card-schema[credit-card-number]

The credit card issued by the bank must be a tuple in the Credit-card-schema.

 

Customer-credit-card-schema[account-number] Í Account-schema[account-number]

The saving account of a customer in the bank must be a tuple in the Account-schema.

 

Banker-schema[customer-ID] Í Customer-schema[customer-ID]

The customer that seeks financial advice from a banker must be a tuple in the Customer-schema.

 

Banker-schema[banker-ID] Í Banker-info-schema[banker-ID]

Description: The banker that provides financial advice to customers at a branch must be a tuple in the Banker-info-schema.

 

Example proofs demonstrating Casanova et al ’s axiom system for IND