Post on 28-Nov-2014
description
Conceptual Data Modeling Using E-R Models
PM Jatpm_jat@daiict.ac.in
Aug 14, 2008 Data Modeling Using E-R Models 2
Data Model
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
Aug 14, 2008 Data Modeling Using E-R Models 3
Why Data Modeling
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
Aug 14, 2008 Data Modeling Using E-R Models 4
Phases of Database Design 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.
Aug 14, 2008 Data Modeling Using E-R Models 5
Conceptual Model 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
Aug 14, 2008 Data Modeling Using E-R Models 6
E-R Diagram (Model ? ) 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?
Aug 14, 2008 Data Modeling Using E-R Models 7
How we see data around us-
……
……
……
……
Address
………..………………..
………..…11-07-88Arpit060103
………..…10-02-89Anurag060102
………..…12-10-88Aditi060101
…………..Fasther’s Name
DOBNameStudID
List of Students IIyr BTech(CS)
………………..
……..…….…..
…40BTech(Information Technology)BIT
…40BTech(Computer Science)BCS
IntakeProgNameProgID
List of Programs Offered by CSE Department
Aug 14, 2008 Data Modeling Using E-R Models 8
How do we describe this data 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
Aug 14, 2008 Data Modeling Using E-R Models 9
How do we describe this data 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
Aug 14, 2008 Data Modeling Using E-R Models 10
ERD notation for the Entity types
Notations used here are, originally suggested by Dr Peter Chen in ’76, known as Chen’s notation
Aug 14, 2008 Data Modeling Using E-R Models 11
Entities and Attributes 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: StudentAttributes: StudID, Name, DOB, Father’s Name, Address,
Entity: ProgramAttributes: ProgID, ProgName, Intake
Aug 14, 2008 Data Modeling Using E-R Models 12
Entities and Attributes 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
Aug 14, 2008 Data Modeling Using E-R Models 13
Entities and Attributes in ERDCompositeAttribute
Multi-valueAttribute
KeyAttribute
Key attribute Uniquely Identifies an Entity in Entity Set
Aug 14, 2008 Data Modeling Using E-R Models 14
Entities and Attributes
Derived Attribute
Aug 14, 2008 Data Modeling Using E-R Models 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
Aug 14, 2008 Data Modeling Using E-R Models 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
……
……
……
……
Address
………..………………..
………..…11-07-88Arpit060103
………..…10-02-89Anurag060102
………..…12-10-88Aditi060101
…………..Fasther’s Name
DOBNameStudID
Definition (Elmasri/Navathe):The collection of all entities of a particular typein the database at any point of time is called an entity set.
Aug 14, 2008 Data Modeling Using E-R Models 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.
KeyAttribute
……
……
……
……
Address
……………..
11-07-88Arpit060103
10-02-89Anurag060102
12-10-88Aditi060101
DOBNameStudID
Aug 14, 2008 Data Modeling Using E-R Models 18
Value Sets (Domains) of Attributes 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
Aug 14, 2008 Data Modeling Using E-R Models 19
Relationship Type, Instance, and Set 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
Aug 14, 2008 Data Modeling Using E-R Models 20
Relationship Instance DiagramRelationship
Set
Aug 14, 2008 Data Modeling Using E-R Models 21
Simple ER Diagram: Student-Program
Relationship
Aug 14, 2008 Data Modeling Using E-R Models 22
Relationships can also have attributes 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
Aug 14, 2008 Data Modeling Using E-R Models 23
Cardinality Constraints for Binary Relationships 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
Aug 14, 2008 Data Modeling Using E-R Models 24
One to One (1:1) One Customer has one account and one account is
owned by one customer
Aug 14, 2008 Data Modeling Using E-R Models 25
One to Many (1:N) One Customer has many accounts, and one account is
owned by one customer
Aug 14, 2008 Data Modeling Using E-R Models 26
Many to Many (M:N) One Customer has many accounts, and one account is
owned by multiple customers jointly
Aug 14, 2008 Data Modeling Using E-R Models 27
Cardinality Constraints for Binary Relationships
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.
Aug 14, 2008 Data Modeling Using E-R Models 28
Some relationship examples? Identify and determine cardinality ratio?
Student and Mentor Bill and Item Course and Professor Course and Text Book Vehicle and Owner
Aug 14, 2008 Data Modeling Using E-R Models 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
ParticipationTotal
Participation
Aug 14, 2008 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.
TotalParticipatio
n
PartialParticipation
Aug 14, 2008 Data Modeling Using E-R Models 31
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 program only
And, One Program can have many students. That is Right
We can easily note that Participation of student is MandatoryWhile it is optional for Program.
Business rules are modeled as constraints in data models
This diagram lets us ensure that we are modeling right business rule in the database
Cardinality and Participation are important constraints in Data Model
Aug 14, 2008 Data Modeling Using E-R Models 32
Some relationship examples? Identify and determine cardinality ratio?
Student and Mentor Bill and Item Course and Professor Course and Text Book Vehicle and Owner
Aug 14, 2008 Data Modeling Using E-R Models 33
Exercises
Case: Simple Trading Company
Case: My Books Database
Aug 14, 2008 Data Modeling Using E-R Models 34
Understand Cardinality Ratio 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
Aug 14, 2008 Data Modeling Using E-R Models 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
Aug 14, 2008 Data Modeling Using E-R Models 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 fromany side participates multiple times in the relationship
1 N
Aug 14, 2008 Data Modeling Using E-R Models 37
Structural Constraints
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
Aug 14, 2008 Data Modeling Using E-R Models 38
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) (1,1)
Aug 14, 2008 Data Modeling Using E-R Models 39
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)
Aug 14, 2008 Data Modeling Using E-R Models 40
Structural constraints 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
Aug 14, 2008 Data Modeling Using E-R Models 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
Aug 14, 2008 Data Modeling Using E-R Models 42
Recursive Relationship
r1: e5 is supervisor of e1
r2: e1 is supervisor of e2
r3: e1 is supervisor of e2
r4: e5 is supervisor of e4
r5: e4 is supervisor of e6
r6: e4 is supervisor of e7e7
e1
e2
e3e4
e5
e6
r1
r2
r3
r4
r5
r6
Employee Supervisor
Roles: Supervisor (Green), Subordinate (Red)
Employee Supervises
Aug 14, 2008 Data Modeling Using E-R Models 43
What about Cardinality and participation constraints in Supervises relationship.. ?
Aug 14, 2008 Data Modeling Using E-R Models 44
Weak Entity Types 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
Aug 14, 2008 Data Modeling Using E-R Models 45
Weak Entity TypesIdentifying
Relationship
WeakEntity
OwnerEntity
Aug 14, 2008 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.
Aug 14, 2008 Data Modeling Using E-R Models 47
ER Creating Guidelines 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
Aug 14, 2008 Data Modeling Using E-R Models 48
ER Creating Guidelines1. 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
Aug 14, 2008 Data Modeling Using E-R Models 49
ER Creating Guidelines1. 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
Aug 14, 2008 Data Modeling Using E-R Models 50
ER Creating Guidelines 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.
Aug 14, 2008 Data Modeling Using E-R Models 51
Example - Student Election scenario 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.
Aug 14, 2008 Data Modeling Using E-R Models 52
Example - Student Election scenarioextended 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
Aug 14, 2008 Data Modeling Using E-R Models 53
Home Exercises
Elmasri/Navathe 4th ed
Unsolved Exercise: 3.21, 3.22
Aug 14, 2008 Data Modeling Using E-R Models 54
Ternary Relationship
Three entities are participating in a relationship Most case binary suffices, but ternary/n-ary comes in
some cases
Aug 14, 2008 Data Modeling Using E-R Models 55
An example of ternary Relationship
Aug 14, 2008 Data Modeling Using E-R Models 56
Enhanced Features in ER modeling 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
Aug 14, 2008 Data Modeling Using E-R Models 57
Aggregation Let us take an Example Company-Interview-Applicant-
Offer situation
Aug 14, 2008 Data Modeling Using E-R Models 58
Aggregation
Aug 14, 2008 Data Modeling Using E-R Models 59
Thanks