Title: Semantic Data Models
1Semantic Data Models
- Semantic Data Model Primitives
- Entity-Relationship Model
- Relational Data Model
- Case Study
- Object Modeling Technique
2Semantic and Object-Oriented Models
- Data Model is a language to define the Enterprise
Schema - Structure, Operations, Constraints
- Relational Model is value-based.
- A relation is simply a collection of tuples whose
values are taken from domains. - Relational algebra and calculus, plus insert,
delete and modify provide the operations. - Key constraints.
3Semantic and Object-Oriented Models.
- Entity Relationship Model is entity-based.
- ER model entities are static entities identified
by a key. - Insert, delete, and modify plus graph-oriented
query languages. - Keys, weak and strong entity types, etc.
- Semantic and Object Oriented Models are
object-based. - Attempt to capture the meaning of data not only
in the structure of the objects, but also in the
operations upon the objects.
4Semantic Modeling Primitives
- Aggregation
- Lower level types can be aggregated into a higher
level type. This construct is used group
attributes or properties of a similar object into
the object type. - The relational model aggregates attributes into
relations. - Title and Author types can be aggregated into the
type Publication - Street, City, State, Zip can be aggregated into
Address. - Is-part-of or converselyIs-composed-of
relationship.
5Semantic Modeling Primitives
- Generalization/Specialization
- Different object types may be differentiated by a
property (predicate) but when viewed by the
similarities, can be generalized to a higher
level type. - For example, the concepts of Journal_Paper, Book,
and Conference_Paper can be generalized to
Publication. - Journal_Paper IS-A Publication
- Book IS-A Publication
- Conference_Paper IS-A Publication
- Publication would have attributes common to all
publications while the subtypes journal paper,
book and conference paper would have specialized
attributes.
Publication
is-a
is-a
is-a
Conference Paper
Book
Journal Paper
6Semantic Modeling Primitives
- Classification
- A collection of object instances can be
associated to an object type by means of the
is-instance-of relationship. This relates
database tokens (instances) to their types. - Association
- A form of abstraction in which a relationship,
the is-member-of relationship, between member
objects is considered a higher-level set object. - Students enroll in Classes taught by Instructors,
so the concept of Enrollment is and association
among students, classes and instructors.
Enrollment
is-member-of
Student
Course
Instructor
7Entity Relationship Model
- Entity Relationship Model is a Data Model that
captures - Entities objects that exist and are
distinguishable from other objects. - Relationships capture associations among
entities. These many be binary associations as
well as n-ary associations. - Entity Sets collections of entity instances
of the same type or characteristics. - Relationship Sets collections of relationship
instances of the same type. - Attributes properties of entities and
relationships pertinent to the application. - Domain the possible values an attribute may
take. - Attribute is a function mapping an entity set
into a domain - Attri ESj Di, where ES and D denote Entity
Sets and Value Domains, respectively. - Each entity is described by Attribute, Value
pairs.
8Entity Relationship Diagrams
- Entity Sets are denoted by rectangles
- Relationship Sets are denoted by diamonds
- Attributes and Connectors by arrows and links
- Value Sets by ellipses
9Relationship Sets
- R Í (e1, e2, ...., en) e1 e E1, e2 e E2, ...,
en e En - where ( e1, e2, ...., en ) is a relationship.
- Roles denote the functions or roles played by the
entities within a relationship. - Consider the relationship of Management in
which one employee manages several other
employees. - One employee plays the role of worker while the
other is the supervisor. - Note that relationships are bi-directional and
management-1 (inverse of management) also exists.
10Mapping Constraints in the E/R Model
- One-to-One an entity in A is associated with at
most one entity in B. - One-to-Many an entity in A is associated with
any number in B, but one in B with at most one
in A. - Many-to-One entity in A associated with at most
one in B, but one in B with many in A. - Many-to-Many entity in A associated with many
in B and vice-versa.
11Constraints in the E/R Model
- An existence dependency is a constraint that
states that entity x depends on the existence of
entity y. - If entity y is deleted then entity x should also
be deleted from the database. - y is the dominant entity, and x is the
subordinate entity. - Keys Constraints
- Superkey is a set of one or more attributes
which, when taken together, allow the unique
identification of an entity within an Entity Set. - Note that if K is a superkey, then so is a
superset of K. - Candidate Key is a superkey with no proper
subsets that are superkeys. - Primary Key is a candidate key which has been
designated the unique identifier for an entity
set. - Weak Entity Sets do not have a primary key and
rely on their Strong Entity Set for key
information.
12E/R Diagrams
- Example Customers have accounts in a bank and
each transaction against an account is logged. - Each customer has a name, social security number,
street address and city. - Each account has an account number and balance.
- Each transaction has a date, transaction number
and amount. Note that the transaction is a weak
entity set in that it depends on the accounts
existence.
13Semantic Extensions to the E/R Model
- Generalization
- Entity sets may be specialized based on
properties, - Accounts may be saving-accounts and
checking-accounts. - This allows each sub-type entity sets to have
attributes particular to that type. - Conversely, we may generalize to a super-type
entity set, for example Student, Secretary,
Mechanic may be generalized to Employee which in
turn may be generalized to Person. - Aggregation
- The original E/R model does not allow
relationships involving other relationships. - Aggregation is a abstraction by which a
relationship (and its associated entities) are
considered as high-level entities.
14Relational Model of Data
- Data Model is based on set theory
- Structure a set of mathematical relations which
are represented as tables. - Operations Relational Algebra which is
proceduraland Relational Calculus which is based
on the predicate calculus. - Constraints Key constraints and integrity
constraints. - Structured Query Language (SQL) is based on the
relational calculus. - Cartesian Product forms the product of two
relations.
15Relational Algebra
- Select selects tuples from a relation that
satisfy a predicate. - Project is a unary operation that projects a
relation on certain attributes (or columns) and
get rid of duplicate tuples. - Set Difference the difference of two compatible
relations. - Union forms the union of two compatible
relations when taken as set of tuples. - Rename allows renaming a relation.
16Relational Algebra (Continued)
- Set Intersection finds tuples in common in two
relations - Natural Join allow two or more relations to be
joined based on the Cartesian product and
selection operations. - Division operation which is equivalent to
universal quantification in the relational
calculus. - Assignment allows the definition of temporary
relations for storing intermediate results of a
query.
17In Class Case Study NASA Space Missions
The NASA Space Missions Database Requirements
Specification 1. Each Mission shall have an
identification number, name, Space Shuttle or
Booster Rocket, date of launch. 2. The Space
Shuttle shall have a name, date of launch, crew
member names, and date of return. Note that
Shuttles are reusable so that a shuttle may be
used to launch several missions but only one at a
time. Thus the dates of launch and return from
mission to mission shall not overlap. However, a
shuttle, as part of its mission may be instructed
to repair experiments or satellites associated
with other already launched missions. 3. A
Booster Rocket shall have an identifier, a name,
and type (e.g., SATURN V, ATLAS, etc.). 4. Each
Mission may have several experiments. Each
experiment is denoted by a unique identifier, an
experiment name, a power configuration, and a
physical space requirement. These latter
attributes are used by NASA Engineers to
configure the entire shuttles power requirements
and instrument layout. Each experiment has a
Principal Investigator, or PI, with a given NASA
Identifier, a name, home institution, phone, Fax,
and e-mail address. The experiment also has a
research team associated with it. These may
include Co-Principal Investigators, Research
Associates, Graduate Research Assistants and
Post-Doctoral Students. Each of these, including
the PI, has a Social Security Number, Institution
ID, name, title, and local phone number. 5. Each
experiment has associated with it several "runs
in which data is collected and stored on tape for
eventual transmission to a Ground Control Center
at NASA Goddard Space Flight Center at Greenbelt
Maryland. The transmission makes use of the
TDRSS network of satellites to encode data as
packets that are relayed to Goddard and then
stored in a "History database". The
reconstructed files of data are then made
available to scientists either by access to
NASA's DBMS or via the Internet using FTP within
the TCP/IP protocol. 6. You are to specify a real
or fictitious experiment and define the various
attributes and types of data that the experiment
would be required to measure and store.
18In Class Case Study NASA Space Missions Queries
Typical Queries that NASA Decision Maker might
ask. Note that these queries are themselves
requirements that you should somehow incorporate
into your Database Schema, either as entity
types, relationship types, attributes,
constraints, etc. Query 1 List the names and
affiliations of PIs for all experiments. Query
2 Which experiments were launched aboard the
shuttle Atlantis during Fiscal Year 1994. Query
3 Which experiments were launched aboard the
shuttle Atlantis during Fiscal Year 1994, whose
PIs were from the University of Wisconsin or
George Mason University? Query 4 Provide the
names of the missions for experiments satisfying
Query 3. Query 5 List the crew members for the
shuttle that launched the Hubbell Space
Telescope. Query 6 What was the total cost of
experiments associated with the COBE mission, and
when was it launched? Query 7 Provide the names
and dates of mission launched using booster
rockets, and list the type of rocket used.
Query 8 List the Shuttle launches, and mission
names, for which 'Anderson' was a member of the
crew. Query 9 Specify a view that provides the
data lineage of a scientific experiment, that is,
a full specification of the experiment, the data
used, the configuration of the instruments, the
location of sensors, the specific algorithms used
of product processing, etc. 1) Design an Entity
Relationship Diagram for the NASA
application. Hint The next slide shows some of
the entity sets and semantic relationships or
links. Use this to draw the E/R Diagram. 2)
Design a Relational Database Schema for the NASA
application, based on your E/R Schema.
19(No Transcript)
20Object Modeling Technique (OMT)
- Object-oriented analysis method
- J. Rumbaugh et al, "Object-Oriented Modeling and
Design", Prentice Hall, 1991 - Addresses
- Structural (static) aspects of problem
- Object Model
- Dynamic aspects of problem
- Dynamic Model
- Functional aspects of problem
- Functional model
21Objects
- Objects represent things in real world
- Provide understanding of real world
- Form basis for a computer solution
- An Object (object instance) is a single thing
- E.g., Johns car
- Marys account
- A Class (object class) is a collection of objects
with the same characteristics - E.g., account, employee, car, customer
22Examples of Object Classes
Customer
Account
23Classes and Objects
Customer
Objects
(Customer) Larry Kerschberg
(Customer) Alok Kolaskar
24Attributes
- Attribute
- Data value held by object in class
- Example of Attributes
- E.g., account number, balance
- Each object instance has specific value of
attribute - Johns account number is 1234
- Marys account number is 5678
- Attribute name is unique within a class
25Class with Attributes
Account
Account integer Balance real
26Class with Attributes
Account
Account integer Balance real
Objects With Values
(Account)
(Account)
Account 1234 Balance 525.36
Account 5678 Balance 1,897.44
27Operations
- Object has operations
- Operations are procedures or functions
- Access data maintained by an object
- Operations may have
- Input parameters
- Output parameters
- E.g., Read Account (Account , Balance),
- Input parameter Account
- Output parameter Balance
- Update Account (Account , Amount)
- Input parameters Account , Amount
28Object Classes and Operations
- Operation
- Is function or procedure that may be applied to
objects in a class - All objects in class have same operations
- Class has one or more operations
- Operations manipulate values of attributes
maintained by object - Main difference between object classes and entity
types in entity-relationship modeling - Object classes have operations
- Entity types do not have operations
29Class with Attributes and Operations
Account
Account integer Balance real
Read Account Update Account
30Characteristics of Object Classes
- A Class (object class) is a collection of objects
with the same characteristics - Same attributes
- Same operations
- Same relationship to objects in other classes
- E.g., car, account
- Different classes may have same attribute name,
same operation name - E.g., class Customer and class Employee
- Have attributes name and address
31Polymorphism
- Polymorphism
- Greek for many forms
- Name of operation can be shared among several
classes - Specification of operation is identical for each
class - Each class can implement operation differently
- E.g. operation Draw is implemented differently
for circles and squares
32Identity of Objects
- Each object
- Has identity Is distinguishable from other
objects - Two objects of same class have same
characteristics in all respects - Jacks car, Suzies car Johns account, Marys
account - Each object has unique identity
- Identity should be characteristic of problem
domain, such as account number, vehicle
identification number, customer name, mission ID
33Objects and Classes
- Decomposition of problem into objects
- Based on judgement and characteristics of problem
- No single correct representation
- Whether objects are in same class or different
class depends on nature of problem - In auto catalog
- cars, vans, trucks may all be objects in same
class - For vehicle manufacturer
- cars, vans, trucks may all be objects of
different classes
34Object Modeling
- Object class
- Also referred to as class or object type
- Real world entity type about which information is
stored - Represents a collection of objects (instances)
- Described by means of attributes (data items)
- Has operations to access data maintained by
objects - Each object instance can be uniquely identified
- Association
- Defines relationship between object classes
35Links and Associations
- Association is
- static, structural relationship between classes
- E.g, Employee works in Department
- Link is
- connection between object instances
- instance of an association between classes
- E.g, Jane works in Manufacturing
- Link exists between two objects if and only if
there is an association between their
corresponding classes
36Links and Associations
- Association names usually read
- left-to-right
- top-to-bottom
- Associations are inherently bidirectional
- Name of association is forward direction
- E.g, Employee works in Department
- Opposite direction of association
- E.g, Department has Employee
- Associations are binary, ternary, or higher order
37Multiplicity of Associations
- Multiplicity
- Specifies how many instances of one class may
relate to a single instance of another class - E.g,
- Employee works in one Department
- Bank manages many Accounts
- Car has 2 or 4 doors
- Customer has zero or 1 debit card
38Multiplicity of Associations
- 1-to-1 association
- Employee works in Department
- 1-to-many association
- Bank manages Accounts
- Many-to-Many association
- One course has several students
- One student attends many courses
- Optional association (0 or 1)
- Customer Owns Debit Card
39Aggregation Hierarchy
- Assembly Structure
- Shows components of aggregate (more complex)
object class - IS PART OF Relationship between component class
and aggregate class - E.g., Aggregate object class
- Mission (mission_id, mission_name, mission_dates)
- Component object classes
- Spacecraft IS PART OF Mission Satellite IS PART
OF Mission Instrument IS PART OF Mission
Launcher IS PART OF Mission
40Aggregation Hierarchy
41Generalization/Specialization Hierarchy
- Some object classes are similar but not identical
- Have some attributes in common, others different
- Common attributes abstracted into generalized
object class (superclass) - E.g., Account (Account number, Balance)
- Different attributes are properties of
specialized object class (subclass) - E.g., Savings Account (Interest)
- IS-A relationship between subclass and superclass
- Savings Account IS-A Account
42Generalization/Specialization Hierarchy
ACCOUNT
CHECKING ACCOUNT
SAVINGS ACCOUNT
43Generalization / Specialization Hierarchy
- Discriminator
- Attribute that indicates which property of object
is being abstracted by generalization
relationship - E.g., Discriminator in Account generalization
- Account Type
- Discriminates between
- Checking Account
- Savings Account
44Discriminator in GSHs
ACCOUNT
Account Type
CHECKING ACCOUNT
SAVINGS ACCOUNT
45Inheritance
- Subclass inherits generalized properties from
superclass - Inheritance
- Allows sharing of features between classes
- Feature is Attribute or Operation
- Allows adaptation of parent class (superclass) to
form child class (subclass) - Subclass inherits attributes operations from
superclass - May add attributes
- May add operations
- May redefine operations