Top Banner
Conceptual Data Modeling Using E-R Models PM Jat [email protected]
59
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Data modeling

Conceptual Data Modeling Using E-R Models

PM [email protected]

Page 2: Data modeling

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

Page 3: Data modeling

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

Page 4: Data modeling

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.

Page 5: Data modeling

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

Page 6: Data modeling

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?

Page 7: Data modeling

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

Page 8: Data modeling

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

Page 9: Data modeling

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

Page 10: Data modeling

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

Page 11: Data modeling

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

Page 12: Data modeling

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

Page 13: Data modeling

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

Page 14: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 14

Entities and Attributes

Derived Attribute

Page 15: Data modeling

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

Page 16: Data modeling

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.

Page 17: Data modeling

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

Page 18: Data modeling

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

Page 19: Data modeling

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

Page 20: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 20

Relationship Instance DiagramRelationship

Set

Page 21: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 21

Simple ER Diagram: Student-Program

Relationship

Page 22: Data modeling

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

Page 23: Data modeling

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

Page 24: Data modeling

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

Page 25: Data modeling

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

Page 26: Data modeling

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

Page 27: Data modeling

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.

Page 28: Data modeling

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

Page 29: Data modeling

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

Page 30: Data modeling

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

Page 31: Data modeling

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

Page 32: Data modeling

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

Page 33: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 33

Exercises

Case: Simple Trading Company

Case: My Books Database

Page 34: Data modeling

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

Page 35: Data modeling

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

Page 36: Data modeling

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

Page 37: Data modeling

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

Page 38: Data modeling

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)

Page 39: Data modeling

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)

Page 40: Data modeling

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

Page 41: Data modeling

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

Page 42: Data modeling

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

Page 43: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 43

What about Cardinality and participation constraints in Supervises relationship.. ?

Page 44: Data modeling

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

Page 45: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 45

Weak Entity TypesIdentifying

Relationship

WeakEntity

OwnerEntity

Page 46: Data modeling

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.

Page 47: Data modeling

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

Page 48: Data modeling

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

Page 49: Data modeling

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

Page 50: Data modeling

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.

Page 51: Data modeling

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.

Page 52: Data modeling

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

Page 53: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 53

Home Exercises

Elmasri/Navathe 4th ed

Unsolved Exercise: 3.21, 3.22

Page 54: Data modeling

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

Page 55: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 55

An example of ternary Relationship

Page 56: Data modeling

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

Page 57: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 57

Aggregation Let us take an Example Company-Interview-Applicant-

Offer situation

Page 58: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 58

Aggregation

Page 59: Data modeling

Aug 14, 2008 Data Modeling Using E-R Models 59

Thanks