Chapter 3 slide-D
Chapter 3 slide-D
Chapter 3 slide-D
Database Modeling
Daniel Tesfay
Introduction to ODL
3
Types of Attributes
o Stored versus Derived Attributes. For a particular person entity, the value of Age
can be determined from the current (today's) date and the value of that person's
Birth Date. The Age attribute is hence called a derived attribute and is said to be
derivable from the BirthDate attribute, which is called a stored attribute.
o Null Values. In some cases a particular entity may not have an applicable value for an
attribute. For example, a person with no college degree would have null for
College_Degrees.
o Complex Attributes. Is a result of composite and multi-valued attributes which are
5
nested in an arbitrary way
Example Company
Database
o We need to create a database schema design based on the following
o We store each EMPLOYEE’s social security number, address, salary, sex, and
birthdate.
₋ Each employee works for one department but may work on several projects.
₋ We keep track of the number of hours per week that an employee currently
works on each project.
₋ We also keep track of the direct supervisor of each employee.
o Each employee may have a number of DEPENDENTs.
₋ For each dependent, we keep track of their name, sex, birthdate, and
relationship to the employee.
Entities and Attributes
o Entities are specific objects or things in real-world that are represented in the database.
₋ For example the EMPLOYEE Abebe Kebede, the Research DEPARTMENT, the ProductX
PROJECT
o Attributes are properties used to describe an entity.
₋ For example an EMPLOYEE entity may have the attributes Name, SSN, Address, Sex, BirthDate
o A specific entity will have a value for each of its attributes.
₋ For example a specific employee entity may have Name=‘Abebe Kebede', SSN='123456789',
Address =‘Hawassa, Tabor kifle ketema, kebele ___', Sex='M', BirthDate='09-JAN-55‘
o Each attribute has a value set (or data type) associated with it – e.g. integer, string, subrange,
enumerated type, …
Entity Types and Key
Attributes
o Entities with the same basic attributes are grouped or typed into an entity
type.
₋ For example, the entity type EMPLOYEE and PROJECT.
o An attribute of an entity type for which each entity must have a unique value
is called a key attribute of the entity type.
₋ For example, SSN of EMPLOYEE.
Entity Types and Key
Attributes
o A key attribute may be composite.
₋ VehicleTagNumber is a key for the CAR entity type with components
(Number, State).
o An entity type may have more than one key.
₋ The CAR entity type may have two keys:
• VehicleIdentificationNumber (popularly called VIN)
• VehicleTagNumber (Number, State), aka license plate number.
12
ER Diagram
Relationships and Relationship Types
₋ A relationship relates two or more distinct entities with a specific meaning. For example,
EMPLOYEE Abebe Kebede works on the ProductX PROJECT or EMPLOYEE Zinash
Solomon manages the Research DEPARTMENT.
₋ Relationships of the same type are grouped or typed into a relationship type. For example, the
WORKS_ON relationship type in which EMPLOYEEs and PROJECTs participate, or the
MANAGES relationship type in which EMPLOYEEs and DEPARTMENTs participate.
₋ The degree of a relationship type is the number of participating entity types. Both MANAGES
and WORKS_ON are binary relationships. Relationship types of degree 2 are called binary.
Relationship types of degree 3 are called ternary and of degree n are called n-ary
Role Names and Recursive Relationships
o The role name signifies the role that a participating entity from the entity type plays in each
relationship instance, and helps to explain what the relationship means. For example, in the
WORKS_FOR relationship type, EMPLOYEE plays the role of employee or worker and
Such relationship types are called recursive relationships. The SUPERVISION relationship type
relates an employee to a supervisor, where both employee and supervisor entities are members of the
same EMPLOYEE entity type. Hence, the EMPLOYEE entity type participates twice in
SUPERVISION: once in the role of supervisor (or boss), and once in the role of supervisee (or
subordinate). 15
Attributes of Relationship Types
16
Refining the Company database schema by introducing
relationships
o DIAGRAMMING
₋ Poor conceptual meaningful notation.
₋ To avoid the problem of layout algorithms and aesthetics of diagrams, they prefer boxes and lines
and do nothing more than represent (primary-foreign key) relationships among resulting tables.(a
few exceptions)
o METHODOLGY
₋ lack of built-in methodology support.
₋ poor tradeoff analysis or user-driven design preferences.
₋ poor design verification and suggestions for improvement.
o The entity relationship model in its original form did not support the
specialization/generalization abstractions
Solution: EER (Enhanced-ER model)
23
EER Modeling concepts
o Includes all modeling concepts of basic ER
o classes (similar to entity types) as large rounded boxes with three sections:
₋ Top section includes entity type (class) name
₋ Second section includes attributes
₋ Third section includes class operations (operations are not in basic ER model)
o Relationships (called associations) represented as lines connecting the classes
₋ Other UML terminology also differs from ER terminology
o Used in database design and object-oriented software design
o Additional concepts: subclasses/superclasses, specialization/ generalization,
categories, attribute inheritance
o It includes some object-oriented concepts, such as inheritance
Specialization
₋ Is the process of defining a set of subclasses of a superclass
₋ The set of subclasses is based upon some distinguishing characteristics of
the entities in the superclass
₋ Example: {SECRETARY, ENGINEER, TECHNICIAN} is a specialization of
EMPLOYEE based upon job type.
• May have several specializations of the same superclass
o Generalization
₋ The reverse of the specialization process
₋ Several classes with common features are generalized into a superclass;
original classes become its subclasses
₋ Example: CAR, TRUCK generalized into VEHICLE; both CAR, TRUCK become
subclasses of the superclass VEHICLE.
25
Specialization and Generalization
o Eg. all person entities represented in the database are members
of the PERSON entity type, which is specialized into the subclasses
{EMPLOYEE, ALUMNUS, STUDENT}. This specialization is
overlapping; for example, an alumnus may also be an employee
and may also be a student pursuing an advanced degree. The
subclass STUDENT is the superclass for the specialization
{GRADUATE_STUDENT, UNDERGRADUATE_STUDENT}, while
EMPLOYEE is the superclass for the specialization
{STUDENT_ASSISTANT, FACULTY, STAFF}. Notice that
STUDENT_ASSISTANT is also a subclass of STUDENT. Finally,
STUDENT_ASSISTANT is the superclass for the specialization into
{RESEARCH_ASSISTANT, TEACHING_ASSISTANT}
Specialization /
Generalization
Framework Example
(UNIVERSITY)
UML class diagram for COMPANY database
schema
Constraints and Characteristics of
Specialization and Generalization
o In the next three slides, you will find the conceptual database designs for
4. Create the Database from the physical model by connecting to your database engine.
Company Database Conceptual Schema
Exercise: SalesDB
Database
o The SalesDB system is intended to manage sales transactions in a car dealership. The system must keep track of the
following:
o Customer Information:
1. The system should allow us to store details of customers who purchase cars, including their full name, phone number,
and email.
2. Customers may purchase multiple cars over time, so the system must associate each customer with their purchase
history.
o Car Inventory:
1. The system must maintain a record of all cars available for sale, including the car's make, model, year, and price.
2. Once a car is sold, it should be linked to the corresponding sales record and removed from the available inventory.
Exercise: SalesDB Database
conn..
1. Employee Records:
1. The system should track employees responsible for processing car sales. This includes storing
2. Each invoice must be linked to the employee who handled the transaction.
2. Invoices:
1. Every sale must generate an invoice that includes the date of purchase, the total amount, the
customer who purchased the car, the employee who handled the transaction, and the specific car
2. The system should ensure that each car sale is associated with exactly one invoice.
SalesDB Database Conceptual Schema
Exercise to University
Database
o End-User Description for a University Database System: