Database
Basic Definitions
• Database: A collection of related data.
• Database Management System (DBMS):
A software package/ system to facilitate the
creation and maintenance of a
computerized database.
• Database System: The DBMS software
together with the data itself. Sometimes,
the applications are also included.
( Software + Database )
Relational Database
Entity Relationship Diagram
[ERD]
Entity Relationship
Modeling
• Entity-Relationship Diagram (ERD):
Identifies information required by the
business by displaying the relevant entities
and the relationships between them.
Entity Relationship
Modeling, (Cont.)
• In building a data model a number of
questions must be addressed:
– What entities need to be described in the
model?
– What characteristics or attributes of those
entities need to be recorded?
– Can an attribute or a set of attributes be
identified that will uniquely identify one specific
occurrence of an entity?
– What associations or relationships exist between
entities?
Entity
• An entity is a thing that exists and is
distinguishable -- an object, something in
the environment.
• Examples : book, item, student
• Types of entities:
– Regular entity (Strong entity): if its existence
does not depend on another entity.
– Weak entity: if its existence depends on another
entity.
Attribute
• An entity has a set of attributes
• Attribute defines property of an entity
• It is given a name
• Attribute has value for each entity and value
may change over time
• Example : BOOK entity has the following
attributes (TITLE, ISBN, AUTHOR, PUBLISHER, YEAR, PRICE)
• An attribute may be multi-valued, i.e., it has
more than one value for a given entity; e.g.,
a book may have many authors
Attribute Types
• Simple: Each entity has a single atomic value for
the attribute ; e.g., SSN
• Composite: The attribute may be composed of
several components ; e.g., Name (FirstName,
MiddleName, LastName)
• Multi-valued: The attribute may has more than
one value for a given entity; e.g., a book may have
many authors
• Derived attributes: The attributes whose values
are generated from other attributes using
calculations ; e.g., Age is derived by subtracting
current date from birthdate
Key Attribute
• Primary Key: an attribute of an entity type for
which each entity must have a unique value; e.g.,
SSN of EMPLOYEE.
• Composite key: e.g., ID is a key of the applicant
entity type with components (National_ID,
Application_no)
• Foreign Key (referential attributes): Attributes
that define relationships between entities. The
attributes of a foreign key in one entity are the
attributes of a primary key in another entity; e.g.,
Department ID is the primary key of Department and
Department ID is a foreign key of Employee defining
the relationship "Employee works for Department"
Relationships
• Relationships: A relationship is a
connection between entity classes.
• The cardinality of a relationship indicates
the number of instances in entity class E1
that can or must be associated with
instances in entity class E2.
– One-One Relationship: (citizen – passport ,
– One-Many Relationship: (student-Advisor,
Customer-Order)
– Many- Many Relationship: (e.g. Student-
Organization, Order-Products)
– Recursive Relationships: A relationship in which
the same entity participates more than once.
Relationships, (cont.)
• Binary relationship: between two entity sets
– e.g., binary relationship set STUDY between
STUDENT and COURSE
• Ternary relationship: among three entity sets
– e.g., ternary relationship STUDY could be ternary
among STUDENT, COURSE and TEACHER
– A relationship may have attributes
e.g., attribute GRADE and SEMESTER for STUDY
Optional And Mandatory
Optional And Mandatory,
(cont.)
ERD Notations
• Rectangles represent ENTITY
CLASSES
• Circles represent ATTRIBUTES
• Diamonds represent RELATIONSHIPS
• Arcs connect entities to
relationships. Arcs are also used to
connect attributes to entities. Some
styles of entity-relationship
diagrams use arrows and double
arrows to indicate the one and the
many in relationships.
• Underline - Key attributes of entities
are underlined.
Summary Of ERD Notations
Example
Add Some Attributes To
Entities
Example
Exercise
• A company is organized into departments. Each
department has a unique name, a unique number,
and a particular employee who manages the
department.
• A department may have several locations.
• A department may control a number of projects,
each of which has a unique name, a unique number,
and a single location.
• A project must controlled by department.
• We store employee’s name, social security number,
address, salary, gender and birth date.
Exercise, (cont.)
• An employee must be assigned to one department
and must work on one or more projects, which are
not necessarily controlled by the same department.
• We keep track of the number of hours per week
that an employee works on each project.
• We also keep track of the direct supervisor of each
employee.
• We want to keep track of the dependents of each
employee for insurance purposes.
• We keep each dependent’s first name, gender, birth
date and relationship to that employee.
• A company is organized into departments.
Each department has a unique name, a unique number,
particular employee who manages the department.
Number
Name
Loc
Emp Dept
1 1
MANAGE
A department may have several locations.
• A department may control a number of projects, each
of which has a unique name, a unique number, and a
single location.
Number
Name
Loc
Emp Dept
1 1
MANAGE
CONTROL
A project must controlled by department. N
Project
Loc
Number
Name
• We store employee’s name, social security number,
address, salary, gender and birth date.
SSN Number
addr Name Name
N WORKS_FOR 1
Loc
Emp Dept
1 1
MANAGE
An employee must be assigned to one
department CONTROL
Project
Loc
Number
Name
• and must work on one or more projects, which are
not necessarily controlled by the same department.
SSN Number
addr Name Name
N WORKS_FOR 1
Loc
Emp Dept
1 1
MANAGE
Hours M
CONTROL
WORKS_ON
N N
Project
We keep track of the number of hours per Loc
week that an employee works on each
project. Name
Number
Thank You