Understanding Subtypes/Supertypes: the Data Modeler's Most Important Construct (Part 2)
Gordon Everest
Professor Emeritus
University of Minnesota
Entities, attributes, relationships, identifiers, and foreign keys are important data modeling constructs, particularly for relational databases, but subtypes and supertypes (S/Stypes) are even more important. Relational DBMSs do not handle S/Stypes. However, many data modeling CASE tools do, so data modelers need to understand how to properly use these constructs. S/Stypes are important for the data modeler, who can now defer choosing what objects to materialize or what (relational) tables to build until later in the database development process. S/Stypes offer a means to formally represent overlapping entity/object populations at the beginning of the design process. If you are not using S/Stypes in your data modeling, or want to deepen your understanding of these constructs, this session is for you.
- situations which motivate the need for another data modeling construct
- definition of subtypes and supertypes - characteristics of a subtype-supertype "relationship"
- abstraction mechanisms: specialization vs. generalization; attribute vs. entity abstraction
- the "universal relation" (vs. no entity types at all!)
- single vs. multiple inheritance, or the type hierarchy vs. a type lattice
- declaring constraints on a subtype-supertype relationship
- how to design relational tables to represent a S/Stype relationship - mappings to a relational model
- inheritance in data models vs. inheritance and reuse in object-oriented design (they are not the same)
- inheritance priority, blocking, and overriding - how these concepts apply (or not)
Comments (0)
You don't have permission to comment on this page.