0% found this document useful (0 votes)
4 views

database lecture 5 and 6

The document outlines the database design process, focusing on data modeling using the Entity-Relationship (ER) model. It covers stages from analyzing user requirements to implementing and maintaining the system, detailing concepts such as entity types, attributes, keys, and their relationships. Additionally, it explains the importance of primary and foreign keys in ensuring data integrity and unique identification of entities.

Uploaded by

sas798711
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

database lecture 5 and 6

The document outlines the database design process, focusing on data modeling using the Entity-Relationship (ER) model. It covers stages from analyzing user requirements to implementing and maintaining the system, detailing concepts such as entity types, attributes, keys, and their relationships. Additionally, it explains the importance of primary and foreign keys in ensuring data integrity and unique identification of entities.

Uploaded by

sas798711
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Database Systems

Instructor: Sobia Rasheed Malik


Data Modeling Using the
Entity-Relationship (ER) Model
Overview of DB Design Process
Design Stages
Analyze User Requirement

Develop conceptual model

Map conceptual to logical


model
Choose DBMS

Develop physical design

Implement System

Test System

Operational Maintenance

Slide 1-4
Using High-Level Conceptual Data
Models for Database Design

● Requirements collection and analysis


– Database designers interview prospective database
users to understand and document data
requirements
– Result: data requirements
– Functional requirements of the application
Using High-Level Conceptual Data
Models (cont’d.)
● Conceptual schema
– Conceptual design
– Description of data requirements
– Includes detailed descriptions of the entity
types, relationships, and constraints
– Transformed from high-level data model into
implementation data model
Using High-Level Conceptual Data
Models (cont’d.)
● Logical design or data model mapping
– Result is a database schema in implementation
data model of DBMS
● Physical design phase
– Internal storage structures, file organizations,
indexes, access paths, and physical design
parameters for the database files specified
Conceptual Schema
Logical Design/Model
Physical Design/Model
Data Modeling Using the
Entity-Relationship (ER) Model
● Entity-Relationship (ER) model
– Popular high-level conceptual data model
– A semantic data model used for graphical
representation of conceptual database design
● ER diagrams
– Diagrammatic notation associated with the ER
model
● Unified Modeling Language (UML)
Entity Types, Entity Sets, Attributes,
and Keys
● ER model describes data as:
– Entities
– Attributes
– Relationships
Simple Example of ER Diagram
Another Example of ER Diagram
A Sample Database Application

● COMPANY
– Employees, departments, and projects
– Company is organized into departments
– Department controls a number of projects
– Employee: store each employee’s name, Social
Security number, address, salary, sex (gender),
and birth date
– Keep track of the dependents of each employee
Entity Type
● A name /label assigned to objects/items that
exists in real world and that have similar
properties

● It could be person, place, event or even concept

● Distinguish from other entity types based on


properties
Entity Instance, Entity Set
● Entity Set: A particular object belonging to
particular entity type
● Example:
– Entity type: Student
– Entity instance: Fatima Ali
– Entity Set: All students
Symbols

Regular Entity Type NAME

Weak Entity Type NAME

EMPPLOYEE DEPENDENTS

BOOK BOOKCOPY
Naming convention for entity type
● Singular name recommended

● Organization specific name


– e.g. customer/client is same term choose which
organization is used
● Use capital letter

● Abbreviation can be used, be consistent


Attributes
● Attributes
– Particular properties that describe entity
– Types of attributes:
• Composite versus simple (atomic) attributes
• Single-valued versus multivalued attributes
• Stored versus derived attributes
• NULL values
• Complex attributes
Symbols for Attributes
● Each represented as an oval, linked with an ET
symbol
Symbols for Attributes

Simple

Composite
Multi-valued
Derived
Symbols for Attributes
Example of derived Attributes
Example of composite
Attributes
Example

Experienc empI empNam


e d e

EMPLOYE addres
E s

dateHire Hobbie stree houseN


d s t o
Initial Conceptual Design of the
COMPANY Database
Super key

❑ Super Key is a set of attributes whose


set of values can uniquely identify an
entity instance in the entity set.
❑ A Super Key can contains one or
more than one attributes.
❑ Super Key is the broadest definition
of unique identifiers of an entity in an
entity set.
Super key

The combination of “SSN” and “Name” is a super key of the following entity set
customer.
Because:
The value of attributes “SSN” and “Name”, such as 558-36-1234 and Susan,
can uniquely identify that particular customer in customer entity set, which is the
pool of all customers.

❖ We are unsurprisingly very interested in the most economical combination(s) of


attributes that can uniquely identify any particular entity.

❖ Custom
Therefore, we introduce Candidate Key next.
er-stree
SSN t

Custo Customer-city
mer-na
me customer
Candidate key
❑ Candidate key is a set of one or more
attributes whose set of values can
uniquely identify an entity instance in the
entity set.
❑ Any attribute in the candidate key cannot
be omitted without destroying the
uniqueness property of the Candidate
key.
❑ It is minimal Super Key.
Candidate key

Properties of
Candidate Key…..
While most entity sets have only one candidate key,
some entity sets could have more than one candidate
key.
Candidate key could have more than one attributes.
In building a database in a database software, the
software will only allow to use one candidate key to be
the unique identifier of an entity for an entity set.
Candidate key

● Example:
● (SSN, Name) is NOT a candidate key, because taking out
“name” still leaves “SSN” which can uniquely identify an entity.
“SSN” is a candidate key of customer.
● Example: Both “SSN” and “License #” are candidate keys of
Driver entity set.
Custom
er-stree
SSN t

Custo Customer-city
mer-na
me customer
❖ Overall, Super Key is the broadest unique identifier;
Candidate Key is a subset of Super Key; and
Primary Key is a subset of Candidate Key.
❖ In practice, we would first look for Super Keys. Then
we look for Candidate Keys based on experience
and common sense.
❖ If there is only one Candidate Key, it naturally will be
designated as the Primary Key.
❖ If we find more than one Candidate Key, then we
can designate any one of them as Primary Key.
Primary Key

❑ The Primary Key is an attribute or a set of


attributes that uniquely identify a specific instance
of an entity.
❑ Every entity in the data model must have a primary
key whose values uniquely identify instances of the
entity.
Primary Key

Properties Of Primary
Keys....
To qualify as a primary key for an entity, an attribute must have the
following properties:
It must have a non-null value for each instance of the entity
The value must be unique for each instance of an entity
The values must not change or become null during the life of each
entity instance
❖ Primary and Foreign keys are the most basic
components on which relational theory is based.
❖ Each entity must have a attribute or attributes, the
primary key, whose values uniquely identify each
instance of the entity.
❖ Every child entity must have an attribute, the foreign
key, that completes the association with the parent
entity.
Foreign key
❑ A Foreign key is an attribute that
completes a relationship by identifying
the parent entity.
❑ Foreign keys provide a method for
maintaining integrity in the data (called
referential integrity) and for navigating
between different instances of an entity.
❑ Every relationship in the model must be
supported by a foreign key.
Foreign Key

Properties Of
Foreign Key….
Every dependent and category (subtype) entity in the model
must have a foreign key for each relationship in which it
participates.
Foreign keys are formed in dependent and subtype entities by
migrating the entire primary key from the parent or generic
entity. If the primary key is composite, it may not be split.
Composite Key
❑ When a primary key is created from a
combination of 2 or more columns, the
primary key is called a composite key.
❑ Each column may not be unique by itself
within the database table but when combined
with the other column(s) in the composite key,
the combination is unique.
Keys, and Value Sets

● Key or uniqueness constraint


– Attributes whose values are distinct for each
individual entity in entity set
– Key attribute
• Uniqueness property must hold for every entity set
of the entity type
Key Attributes

● An attribute or set of attributes to identify


an entity instance uniquely
● Types
– Super key
– Candidate key
– Primary key
– Secondary and Alternate keys
Example of Key

StdId StdName Address ClName CurSem


S1020 Suhail Dar Mareer Hassan MCS 4
S1038 Shoaib Baber Model Town BCS 3
S1015 Tahira Ejaz Wah Cantt MCS 2
S1018 Arif Mehmood Satellite Town BIT 4

S1025 Suhail Shah Garhi Shahoo BCS 6


Simple or Composite Key
● A key consisting of single attribute is called
simple key, e.g., StudID, itemNo
● A key consisting of more than one attribute is
known as composite key, like
{Program_Code,Course_Code}
Composite Key Example

OFFERING
ProgCode CourseCode MarksAlloc CrHrs
MCS DS 100 3
MCS DBS 100 3
MBA DBS 100 3
BCS NW 100 3
Composite Key Example

StdId StdName Address ClName CurSem


S1020 Suhail Dar Mareer Hassan MCS 4
S1038 Shoaib Baber Model Town BCS 3
S1015 Tahira Ejaz Wah Cantt MCS 2
S1018 Arif Mehmood Satellite Town BIT 4

S1025 Suhail Shah Garhi Shahoo BCS 6


Super Key
● Definition same as of key
● For example, for EMPLOYEE and
STUDENT entity types EmpID and
StudID are the superkeys respectively.
Super Keys

StdId StdName Address ClName CurSem


S1020 Suhail Dar Mareer Hassan MCS 4
S1038 Shoaib Baber Model Town BCS 3
S1015 Tahira Ejaz Wah Cantt MCS 2
S1018 Arif Mehmood Satellite Town BIT 4

S1025 Suhail Shah Garhi Shahoo BCS 6


Candidate Key

A candidate key is the super key that does not


contain extra attributes. It might have more
than one attribute that uniquely identifies an
entity. e.g. {name, address}
Candidate Keys
A super key such that no proper
subset of its attributes is itself a
super key. e.g. {StudID, Major} is
not a candidate key because it
contains a subset, StudID, that is a
super key
CK Example
StdId StdName Address ClName CurSem
S1020 Suhail Dar Mareer Hassan MCS 4
S1038 Shoaib Baber Model Town BCS 3
S1015 Tahira Ejaz Wah Cantt MCS 2
S1018 Arif Mehmood Satellite Town BIT 4

S1025 Suhail Shah Garhi Shahoo BCS 6


Primary Key
A primary key is the main/chosen candidate key
from the possible set of candidate keys that is most
suitable for entity identification.

● It may be a single attribute or a composite key.


● None of its attributes can have NULL values.
● The other candidate keys called Alternate keys
provide another method of accessing records.
Need for Key
● Need for unique identification and access
● Secondary Keys: We access on something not
necessarily unique
Summary

● Basic ER model concepts of entities and their


attributes
– Different types of attributes
– Structural constraints on relationships
● ER diagrams represent E-R schemas

You might also like