Stage 6: Design the physical data model
Knobit of Data modelling · K-606 · Skill
Recognises rolled-up subtypes losing conditional constraints
What it means
Supertype and subtypes in one table. Columns that are mandatory for one subtype become nullable for all, so the database accepts a row missing a value its subtype requires, and accepts values on rows they do not apply to.
How it is assessed
Flags the deficient case and passes the acceptable one. Deficient: `account` holds both loan accounts and current accounts; `loan_maturity_date` nullable for all rows, so a loan account without a maturity date loads, and so does a current account with one Acceptable: `CHECK ((account_type_code = 'LOAN' AND loan_maturity_date IS NOT NULL) OR (account_type_code <> 'LOAN' AND loan_maturity_date IS NULL))` citing the rule; on platforms that do not enforce CHECK, a DQ rule. Each subtype-only column's `comment` says which subtype it applies to
Builds on
- Recognises attributes inapplicable to some instancesK-516 · Skill
- Explains the implementation options for subtypesK-652 · Knowledge
Needed by
- None