January 29, 2018
IFT 200 Spring
The connection amongst
a superclass and any one of its subclasses is called a subclass,
supertype/subtype, or class/subclass relationship. A subclass is used when it
is necessary for an entity to inherit all the attributes and relationships of the
Superclass of a
subclass: the class that the subclass inherits the attributes and relationships
Superclass/Subclass relationship: a link between a
superclass and any of its subclass.
IS-A Relationship: when a subclass’ entities must be a
subset of the entities of another class.
Specialization: a method of defining a set of subclasses
that forms a distinctive characteristic of the entities in the superclass.
Generalization: a method of defining a generalized entity
type from the given entity types.
Category: a subclass that signifies a group of entities that
is a subset of the union of entities from different entity types.
Specific attributes: attributes that are only applicable to
entities of a certain subclass.
Specific relationships: the entity in the subclass is the
same entity as in the superclass but is playing a specific role.
If all the subclasses of a specialization/generalization
have no specific relationships and specific attributes, they can be combined
into the superclass and replaced with type attributes.
Predicate-defined subclasses are when entities that will
become a member of each class of specialization have a condition placed on an
attribute of the superclass. The subclass is called user defined when there is
no condition for defining the membership in a subclass. The difference between
the two is that membership of user defined subclasses cannot be decided
automatically, however predicate defined subclasses can be.
An attribute-defined specialization is when all subclasses have
a membership condition on the same attribute of the superclass. A user-defined
specialization is when membership is specified independently for each entity by
the database user. The difference between the two is attribute-defined
membership is based on condition, while user-defined is not.
Disjointness constraint states that an entity can only be a
member of 1 of the subclasses of the specialization. Total specialization
constraint states that every entity in the superclass must be a member of at
least 1 subclass in the specialization.
In a specialization hierarchy, each subclass has only one
parent, which results in a tree or hierarchy. In a specialization lattice, a
subclass can be a subclass in more than one class/subclass relationship.
In the specialization process, database designers typically
start with an entity type and then continually define more precise groups of
the entity type. Generalization involves the same technique, but from the reverse
direction. We do not display this in schema diagrams because the only
difference is the order in which the superclasses and subclasses were created
during the database design.
A category will have at least two superclasses that represent
groups of entities from different entity types, while regular subclass
relationships always have a single superclass. Categories are the subset of the
union of its superclasses. For example, in a DMV database, an entity that is a
member of TITLEHOLDER can only occur in ONE of the superclasses. This means that
a TITLEHOLDER can either be a BUSINESS, a STORE, or a PERSON.
Object – Entity: can be an item with a physical or conceptual
Class – Entity Type: describes a group of entities having
the same attributes.
Association – Relationship Type: a relationship type and its
matching relationship set are usually called by the same name.
Aggregation – Relationships: represents an association
between an object and its component parts.
Generalization: the method of stating a generalized entity
type from the given entity types.
Multiplicity: the min and max notation that is used to identify
Attributes: the specific properties that define an entity.
Discriminator – Partial Key: value that differentiates the
objects related to the same entity.
Link – Relationship Instance: identified by a mixture of the
entities that they relate to.
Link Attribute – Relationship Attribute: a box that is
connected by dashed line to the association.
Reflexive Association – Recursive Relationship Type: when role
names are placed at the opposite ends of an association.
Qualified Association – Qualified Aggregation: in a box connected
to the owner class and represents the identifying relationship and the partial
In EER diagrams, a “relationship attribute” is displayed as
an oval with a solid line connecting the relationship. In UML, a “link
attribute” is displayed as a box with a dashed line connecting the association.
In EER, relationships are a diamond, whereas in UML the association is represented
by a line with the name. In EER, an entity is a rectangle, whereas in UML a
class diagram is a box containing three sections identifying the class name,
attributes, and associations.
classification and instantiation-
classification encompasses methodically assigning similar objects to object classes
while instantiation is the inverse of classification and refers to the
generation and explicit examination of different objects of a class.
identification- where classes and
objects are made distinctively distinguishable by some identifier.
specialization and generalization- specialization
involves the process of categorizing a class of objects into more specific subclasses
while generalization is the same thing but in reverse order.
aggregation and association- aggregation
involves constructing composite objects from their component objects while association
is used to associate objects from numerous independent classes.
The possibility of joining objects that are related by a specific
relationship instance into a higher-level aggregate object. This is useful when
a higher level object is to be related to another object.
There are some semantic data models that have it and call it
a composite or molecular object.
Both use an abstraction process to identify common
properties and important characteristics of objects in the miniworld while hiding
unimportant details. Both have relationships, constraints, operations, etc. Knowledge
representation schemes include reasoning mechanisms that infer facts from the
facts stored in a database, while most database systems are limited to only
answering direct queries. While most data models focus on the representation of
database schemas, knowledge representation schemes blend the schemas with the
instances themselves in order to provide flexibility in representing the exceptions.
The two are similar because the concepts used to describe
ontologies are comparable to the concepts discussed in conceptual modeling,
like entities, attributes, relationships, specializations, etc. A main
difference between an ontology and a database schema, is that the schema has
limits as far as describing a small subset of a miniworld from reality in order
to properly store and manage data.