Advanced Data Modeling Flashcards
What is an entity supertype?
Generic entity type related to one or more entity subtypes which contains common characteristics between subtypes
What is an entity subtype?
Contain the unique characteristic distinct from other subtypes
What are the criterias to use supertypes and subtypes?
- There must be different, identifiable types of the entity in the user’s environment
- Different kinds or types of instances should have one or more attributes that are unique to that kind of instance
Define attribute inheritance
The property by which subtype entities inherit values of all attributes and instance of all relationship of the supertype
When do we use supertype/subtype relationships?
- There are attributes that apply to some (but not all) instances of an entity type
- The instances of a subtype participate in a relationship unique to that subtype
Define Specialization
Top-down process of identifying lower-level, more specific entity subtypes from a higher-level entity supertype
Define Generalization
Bottom-up process of identifying a higher-level, more generic entity supertype from lower-level entity subtypes
What is completenes constraint?
Specifies whether each entity supertype occurrence must also be a member of at least one subtype
What are the two completenes constraints and their descriptions?
Partial Completeness (symbolized by a single line) means that not every supertype occurrence is a member of a subtype.
Total Completeness (symbolized by a double line) means that every supertype occurrence must be a member of at least one subtype
Define disjoint subtype
Each entity instance of the supertype can appear in only one of the subtypes
Define overlapping subtypes
Each entity instance of the supertype may appear in more than one subtype
Define subtype discriminator
The attribute in the supertype entity that determines to which subtype the supertype occurrence is related
Define Specialization Hierarchy
Depicts the arrangement of higher-level entity supertypes and lower-level entity subtypes
What is a natural key?
Real-world identifier used to uniquely identify real-world objects
What is surrogate key?
Has no meaning, exists only to distinguish one entity from another
What are the desirable PK characteristics?
- Unique Values
- Non-intelligent
- No change over time
- Preferably single-attribute
- Preferably numeric
- Security-compliant
When to use composite keys?
- As identifiers of composite entities
- As identifiers of weak entities
When to use surrogate keys?
When there is:
* no natural key
* selected candidate key has embedded semantic contents
* selected candidate key is too long or cumbersome
What are the two options when implementing 1:1 relationships?
- place a FK in both entities (not recommended)
- place a FK in one of the entities
What is time-variant data?
Values change over time
Must keep a history of data changes
Define fan trap
When one entity is in two 1:M relationships to other entities
When does redundant relationship occur?
Occurs when there are multiple relationship paths between related entities