Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Conceptual Data Modelling Using ER-models
1. II BCA- IV SEMESTER
BCA405 – System Analysis
& Design
Chapter 9- Conceptual
Data Modeling Using
ER Models
By:
Shailaja Kumary, Asst. Professor
Dept. of Computer Science
Canara College Mangalore
Data Modeling Using E-R Models 1
2. Data Model
Data Modeling Using E-R Models 2
Data modeling is the most important task in database
development
completeness – correctness – performance of database
depends on correct data model
…shows up how data are structured at
Conceptual, Logical and Physical level
More formally, it is a collection of concepts that can be
used to describe “Database Structure”
- Elmasri/Navathe
“Database Structure”, we mean here -
data types, relationships, and constraints
3. Why Data Modeling
Data Modeling Using E-R Models 3
It is essential step of database design, not optional
If no, it is like making a house without a plan!
Sometimes, in smaller applications, it may not be
explicitly done or documented still it is done
4. Phases of Database Design
Data Modeling Using E-R Models 4
Requirement Analysis – Understand the business
needs and Data Components within.
Conceptual Design
Develop Higher/Conceptual Data Model – easily understandable by End-
Users and Managers….. what this talk is about
Logical Design
Develop Logical/Implementation Schema in one of the implementation
technologies like Relational, Object Relational, OO. Historically
Hierarchical/Network Models
Physical Design
Develop Internal Schema – how files are stored on disk –
deal with file organization, indexes, clustering etc.
5. Conceptual Model
Data Modeling Using E-R Models 5
Correct and Formal representation of data items
are the objectives here
Intuitive and Simple to understand – end users
and managers can easily understand
Centers on “what data items and business rules
it contains” not on how they are stored or
organized in application (or structured in a
DBMS logically or physically)
ER Diagrams and UML class diagrams are
popular Conceptual models
Implementation neutral
6. E-R Diagram (Model ? )
Data Modeling Using E-R Models 6
As said, it is a popular high level Conceptual
Data Model
ER Diagram are simple consists of just -
Entities – their attributes
Relationship between entities
Constraints on Entities and Relationship
Let us understand what these terms mean here?
7. How we see data around us-
8 … …… ………..
… …… ………..
Data Modeling Using E-R Models 7
List of Students IIyr BTech(CS)
Intake
BCS BTech(Computer Science) 40 …
BIT BTech(Information Technology) 40 …
….. ……. ….. …
….. …… …… …
StudID Name DOB Fasther’s
Name
Address …………..
060101 Aditi 12-10-88 … …… ………..
060102 Anurag 10-02-89 … …… ………..
060103 Arpit 11-07-8
List of Programs Offered by CSE D
….. …… ……
ProgID ProgName
epartment
Data Modeling Using E-R Models 7
8. How do we describe this data
Data Modeling Using E-R Models 8
Careful watch reveals that we have two type of “entity
sets” here-
Students and Programs
Let us call all students together entity set, and Program
together another entity set
Each Student entity has certain properties (or attributes)
like Name, DOB, Fathers Name etc., and their values
drawn from a predefined “value set”,
and similarly each program has certain attributes, and
their values
9. How do we describe this data
Data Modeling Using E-R Models 9
If we attempt to describe student entity, typically it can
be like this-
Name of Entity: Student
Attributes: StudID, Name, DOB, FathersName, ..
Each Attribute derives value from a value set (domain)
StudID uniquely identifies a student entity in the set
This is description of Student entity, and we call it
“Entity Type”
Similarly we describe Program Entity Type
10. ERD notation for the Entity types
Notations used here are,
originally suggested by
Dr Peter Chen in ’76,
known as Chen’s notation
Data Modeling Using E-R Models 10
11. Entities and Attributes
Data Modeling Using E-R Models 11
Entity is the basic object in ER model. It is
thing which exists
Each entity has attributes- properties that
describe the entity, for example as we have
seen-
Entity: Student
Attributes: StudID, Name, DOB, Father’s
Name, Address,
Entity: Program
Attributes: ProgID, ProgName, Intake
12. Entities and Attributes
Data Modeling Using E-R Models 12
Attributes could be
Atomic – can not be meaningfully decomposed:
Example DOB can not be decomposed in
Day/Month/Year – DOB is atomic data
Student-Name may or may not be atomic
If FirstName, LasteName have individual meaning
Key Attributes
Composite: Example Address (Street, City, PIN)
Single valued and multi-valued
Stored and Derived attributes
13. Entities and Attributes in ERD
Composite
Attribute
Multi-value
Attribute
Key
Attribute
Data Modeling Using E-R Models 13
Key attribute Uniquely Identifies an Entity in Entity Set
15. Entity Type
Casually, very often term “entity” is used for “Entity Type”.
An Entity Type describes schema or intention for a set of
entities sharing the same structure.
In OO terminology, an entity type is similar to a class, and an
entity is similar to an instance
Definition (Elmasri/Navathe):
Entity Type defines a collection (or set)
of entities that have the same attributes.
Each Entity Type in the database
is described by its name and attributes
Data Modeling Using E-R Models 15
16. Entity Set
The collection of entities of a particular entity type are
grouped into an entity set, is also called extension of entity
type.
The entity set usually referred with the same name as of
Entity Type
060103 Arpit 11-07-88 … …… ………..
….. …… …… … …… ………..
Definition (El
The collection
in the databas
Data Modeling Using E-R Models 16
StudID Name DOB Fasther’s
Name
Address …………..
060101 Aditi 12-10-88 … …… ………..
060102 Anurag 10-02-89 … …… ………..
masri/Navathe):
of all entities of a particular type
e at any point of time is called an entity set.
17. Key Attributes
It is Attribute or set of Attributes, called Key Attribute
which are used to uniquely identify the entity in the set
An important constraint on entities of an entity type is
the key constraint or uniqueness constraint.
Key
Attribute
Data Modeling Using E-R Models 17
StudID Name DOB Address
060101 Aditi 12-10-88 ……
060102 Anurag 10-02-89 ……
060103 Arpit 11-07-88 ……
….. …… …… ……
18. Value Sets (Domains) of Attributes
Data Modeling Using E-R Models 18
Each simple attribute of an entity type is
associated with a value set (or a domain of
values), which specifies the set of values that
may be assigned to that attribute for each
individual entity
Also known as domain constraint on an
attribute
19. Relationship Type, Instance, and Set
Data Modeling Using E-R Models 19
Let us look at following facts –
Aditi studies in BIT
Amit studies in BCS
Arpit studies in BIT
Varun studies in BEE
Radhika studies in BIT
Shyam studies in BCS
This shows Relationship between Student and Program
entities (entity types to be precise) … let us give a
name to it “Studies” – obvious choice
Relationship also has type and set, here studies is
Relationship Type,
Each of above statement is instance of the type, and
All together form relationship set
21. Simple ER Diagram: Student-Program
Relationship
Data Modeling Using E-R Models 21
22. Relationships can also have attributes
Data Modeling Using E-R Models 22
In our previous example, suppose we also want to have
study duration of a student in a program, then
Let us say, we have attributes year_from, and year_to
23. Cardinality Constraints for
Binary Relationships
Data Modeling Using E-R Models 23
Binary relationship, is the one in which two
entity types participate.
Based on the number of relationships instances
in which an entity can participate, relationship
types can be one following-
One to One (1:1)
One to Many (1:N)
Many to Many (M:N)
Example:
Customer – Bank Account as 1:1, 1:N, M:N
24. One to One (1:1)
One Customer has one account and one account is
owned by one customer
Data Modeling Using E-R Models 24
25. One to Many (1:N)
Data Modeling Using E-R Models 25
One Customer has many accounts, and one account is
owned by one customer
26. Many to Many (M:N)
One Customer has many accounts, and one account is
owned by multiple customers jointly
Data Modeling Using E-R Models 26
27. Cardinality Constraints for
Binary Relationships
Data Modeling Using E-R Models 27
Every Relationship Type has to be specified to be one
these – a constraint on relationship type
Cardinality Constraints are also called Cardinality
Ratio (Elmasri/Navathe), though not ratio in precise
terms. Probably, because it written in ratio format
(1:N)!
Some authors also call it Mapping Cardinality (Korth)
Cardinality Constraint appears to be better name, as it
is an constraint on the cardinality of relationship
instances into which a entity can participate at most.
28. Some relationship examples?
Data Modeling Using E-R Models 28
Identify and determine cardinality ratio?
Student and Mentor
Bill and Item
Course and Professor
Course and Text Book
Vehicle and Owner
29. Participation can be
Total (mandatory) or Partial (optional)
In our Customer-Account example-
If customer record can exist in database without having
associated with an account – then participation of
customer is partial otherwise total.
Can Customer exist without associating with a
account? Probably Yes.
Can account exist without associating with a customer?
Probably No. Partial
Participation
Total
Participation
Data Modeling Using E-R Models 29
30. Data Modeling Using E-R Models 30
Student-Program “schema”
Participation of Student in Studies relationship is
mandatory – student has to study in a program.
Participation of a Program can be optional – we may
not take admission in a program.
Total
Participatio
n
Partial
ParticipationData Modeling Using E-R Models 3
0
31. Data Modeling Using E-R Models
Student-Program schema
Here we see that One student can participate only once—
this means we are modeling the business rule that One Student can study in one programonly
And, One Program can have many students. That is Right
We can easily note that Participation of student is Mandatory
While it is optional for Program. 31
This diagram lets us ensure that we are modeling right business rule in the database
Business rules are modeled as constraints in data models
Cardinality and Participation are important constraints in Data Model
Data Modeling Using E-R Models 3
1
32. Some relationship examples?
Data Modeling Using E-R Models 32
Identify and determine cardinality ratio?
Student and Mentor
Bill and Item
Course and Professor
Course and Text Book
Vehicle and Owner
34. Understand Cardinality Ratio
Data Modeling Using E-R Models 34
Two of looking at-
To how many entities an entity can be associated
with other side entity type
How many times an entity participates into the
relationship
35. Cardinality Constraint (Ratio)
One to One: Any entity (from any side)
is associated with at most one entity
in other side
One to Many: one side entity can
be associated with multiple
entities from other side
Many to Many: any entity from
any side can be associated with
multiple entities from other side
1 N
Data Modeling Using E-R Models 35
36. Cardinality Constraint (Ratio)
– another way of looking at
One to One: any entity (from any side)
can participate at most once
in the relationship
One to Many: one side entity
participates multiple times
in the relationship
Many to Many: any entity from
any side participates multiple
times in the relationship
1 N
Data Modeling Using E-R Models 36
37. Structural Constraints
Data Modeling Using E-R Models 37
Cardinality ratio and participation constraints in
together are also called structural constraints.
Second approach of looking at cardinality
constraints evolves another way of depicting
structural constraints in ER Diagram
38. ata Modeling Using E-R Models
Another way of showing structural
constraint
Min possibility a customer (entity) can participate in holds
relationship is 0, and Max possibility it can participate in
holds relationship is N, and same way for Account entity
type it is one and only one
(0,n)
D
(1,1)
Data Modeling Using E-R Models 3
8
39. ata Modeling Using E-R Models
Another way of showing structural
constraint – Many to Many
Min possibility an Account (entity) can participate in
holds relationship is 1, and Max possibility it can can
participate in holds relationship is N
(0,n) (1,N)
DData Modeling Using E-R Models 3
9
40. Structural constraints
Data Modeling Using E-R Models 40
Note that this notation takes care of
participation constraints as well.
Having min participation zero is partial
participation while, and having > 0 is total
participation
41. Recursive Relationship
Entity having relationship with itself
There can be many situations like this
Employee supervises another employee
One citizen is spouse of another citizen
One course has pre-requisite of another course
One category is parent of another category
Data Modeling Using E-R Models 41
42. Recursive Relationship
r1: e5 is supervisor ofe1
r2: e1 is supervisor ofe2
r3: e1 is supervisor ofe2
r4: e5 is supervisor ofe4
r5: e4 is supervisor ofe6
r6: e4 is supervisor ofe7
e1
e2
e3
e4
e5
e6
e7
r1
Data Modeling Using E-R Models 42
r2
r3
r4
r5
r6
Roles: Supervisor (Green), Subordinate (Red)
Employee Supervises
43. What about Cardinality and participation
constraints in Supervises relationship..
Data Modeling Using E-R Models 43
?
44. Weak Entity Types
Data Modeling Using E-R Models 44
Entity that do not have key attributes of their own are
called weak entity types
These are attached to some regular/strong entity type,
we call that entity as identifying or owner entity type,
and we call the relationship between weak entity type
and its owner entity type, identifying relationship.
A weak entity type always has total participation in its
identifying relationship.
Examples:
Experience History of an Employee
Dependents of an Employee
46.
Data Modeling Using E-R Models 46
In some cases, database designer may choose to
express weak entity as multi-value composite
attribute of the owner entity type
However, this approach could only be possible
if week entity does not participate in any other
relationship than identifying relationships.
47. ER Creating Guidelines
Data Modeling Using E-R Models 47
As a thumb rule Nouns and Objects are
candidate for Entities and Verbs for
relationships in a problem description.
Below are some rules suggested in
[Entity-Relationship Modeling,A Practical how-to-guide, Yeol Song and
Kristin Froehlich, IEEE Potentials, Dec-94/Jan-95, pg#29-34]
3. Every entity type should be important in its
own right within the problem domain
Address can not be an entity
City, can be Yes or No
48. ER Creating Guidelines
Data Modeling Using E-R Models 48
1. IF an object type (noun) has only one property
to store THEN it is an attribute of another
entity type ELSE it is an entity type-
Suppose naukari.com wants to store skills of
job seekers, can it be attribute or entity?
Can be Yes or No
If we want to store more meaning to skills, For
example “C++”: which platform, which
functional Area etc., then it becomes entity,
otherwise just attribute
49. ER Creating Guidelines
Data Modeling Using E-R Models 49
1. IF an object type has only one data instance THEN do
not model as an entity type – example Director,
DAIICT
2. IF a relationship needs to have a unique identifier
THEN model it as an entity type
Consider “products are billed to customers”, appear like
relationship, but bills are numbered, and uniquely identified,
candidate for entity type.
Similarly Pays, Orders look like relationships but are
possibly entities – depends on business context
3. IF any verb refers to nouns which are not selected as
entity types THEN do not model it as a relationship
type
Students Fills Enrollment Form. Here neither Enrollment
form is entity nor FillsIn is a relationship
50. ER Creating Guidelines
Data Modeling Using E-R Models 50
Below are rules related to cardinality and
participation. Suppose Entity A relates to entity
B, then
2. For each A, what is the maximum number of
Bs that may be related to it?
3. IF A can exist without being associated with a
B THEN A has partial (optional) participation
ELSE A has total (mandatory) participation.
51. Example - Student Election scenario
Data Modeling Using E-R Models 51
Consider
There are some positions for which voting needs to
be done
For each position there can be N candidates
When voting takes place we want to make sure that
no body votes twice.
52. Example - Student Election scenario
extended
Data Modeling Using E-R Models 52
How our ERD will change if we have some
requirements/constraints-
Suppose we want to keep track of who has voted to
whom
Suppose there is constraints that for some positions
students from certain program can only vote
Suppose there is another constraint that for some
position students from certain program can only be
candidates
54. Ternary Relationship
Data Modeling Using E-R Models 54
Three entities are participating in a relationship
Most case binary suffices, but ternary/n-ary comes in
some cases
55. An example of ternary Relationship
Data Modeling Using E-R Models 55
56. Enhanced Features in ER modeling
Data Modeling Using E-R Models 56
Primarily addresses issues related to
generalization/specialization, aggregation,
which were missing in Chen’s original ER
model
Features suggested by Elmasri/Navathe appears
to be complete covering most aspects of
generalization/specialization, aggregation
57. Aggregation
Let us take an Example Company-Interview-Applicant-
Offer situation
Data Modeling Using E-R Models 57