Conceptual Data Modeling Using E-R Models PM Jat pm_jat@daiict.ac.in
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 2
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 3
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 4
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 5
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 6
How we see data around us- List of Students IIyr BTech(CS) StudID Name DOB Fasther s Name Address.. 060101 Aditi 12-10-88.. 060102 Anurag 10-02-89.. 060103 Arpit 11-07-88.. List of Programs Offered by CSE Department.. ProgID ProgName.. Intake BCS BTech(Computer Science) 40 BIT BTech(Information Technology) 40....... Aug 14, 2008 Data Modeling Using E-R Models 7
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 8
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 9
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 10
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: Student Attributes: StudID, Name, DOB, Father s Name, Address, Entity: Program Attributes: ProgID, ProgName, Intake Aug 14, 2008 Data Modeling Using E-R Models 11
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 12
Entities and Attributes in ERD Composite Attribute Key Attribute Multi-value Attribute Key attribute Uniquely Identifies an Entity in Entity Set Aug 14, 2008 Data Modeling Using E-R Models 13
Entities and Attributes Derived Attribute Aug 14, 2008 Data Modeling Using E-R Models 14
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 15
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 StudID Name DOB Fasther s Name Address.. 060101 Aditi 12-10-88.. 060102.. Anurag 10-02-89.. Definition (Elmasri/Navathe): 060103 Arpit 11-07-88.. The collection of all entities of a particular type in the database at any point of time is called an entity set... Aug 14, 2008 Data Modeling Using E-R Models 16
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 StudID 060101 Name Aditi DOB 12-10-88 Address 060102 Anurag 10-02-89 060103 Arpit 11-07-88.. Aug 14, 2008 Data Modeling Using E-R Models 17
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 18
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 19
Relationship Set Relationship Instance Diagram Aug 14, 2008 Data Modeling Using E-R Models 20
Simple ER Diagram: Student-Program Relationship Aug 14, 2008 Data Modeling Using E-R Models 21
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 22
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 23
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 24
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 25
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 26
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 27
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 28
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 Aug 14, 2008 Data Modeling Using E-R Models 29
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 Participation Aug 14, 2008 Data Modeling Using E-R Models 30
Student-Program schema 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 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 Mandatory While it is optional for Program. Aug 14, 2008 Data Modeling Using E-R Models 31
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 32
Exercises Case: Simple Trading Company Case: My Books Database Aug 14, 2008 Data Modeling Using E-R Models 33
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 34
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 35
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 Aug 14, 2008 Data Modeling Using E-R Models 36
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 37
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 38
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 39
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 40
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 41
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 e7 Employee Employee e1 e2 e3 e4 e5 e6 e7 Supervises Supervisor r1 r2 r3 r4 r5 r6 Roles: Supervisor (Green), Subordinate (Red) Aug 14, 2008 Data Modeling Using E-R Models 42
What about Cardinality and participation constraints in Supervises relationship..? Aug 14, 2008 Data Modeling Using E-R Models 43
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 44
Weak Entity Types Identifying Relationship Owner Entity Weak Entity Aug 14, 2008 Data Modeling Using E-R Models 45
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 46
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 47
ER Creating Guidelines 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 Aug 14, 2008 Data Modeling Using E-R Models 48
ER Creating Guidelines 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 Aug 14, 2008 Data Modeling Using E-R Models 49
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 50
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 51
Example - Student Election scenario extended 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 52
Home Exercises Elmasri/Navathe 4 th ed Unsolved Exercise: 3.21, 3.22 Aug 14, 2008 Data Modeling Using E-R Models 53
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 54
An example of ternary Relationship Aug 14, 2008 Data Modeling Using E-R Models 55
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 56
Aggregation Let us take an Example Company-Interview-Applicant- Offer situation Aug 14, 2008 Data Modeling Using E-R Models 57
Aggregation Aug 14, 2008 Data Modeling Using E-R Models 58
Thanks Aug 14, 2008 Data Modeling Using E-R Models 59