Conceptual Data ModelingUsing E-R Models   PM Jat   pm_jat@daiict.ac.in
Data Model   Data modeling is the most important task in database    development        completeness – correctness – per...
Why Data Modeling   It is essential step of database design, not optional   If no, it is like making a house without a p...
Phases of Database Design   Requirement Analysis – Understand the business    needs and Data Components within.   Concep...
Conceptual Model   Correct and Formal representation of data items    are the objectives here   Intuitive and Simple to ...
E-R Diagram (Model ? )   As said, it is a popular high level Conceptual    Data Model   ER Diagram are simple consists o...
How we see data around us-      List of Students IIyr BTech(CS)StudID   Name     DOB         Fasther’s   Address   ………….. ...
How do we describe this data   Careful watch reveals that we have two type of “entity    sets” here-     Students and Pr...
How do we describe this data   If we attempt to describe student entity, typically it can    be like this-     Name of E...
ERD notation for the Entity types  Notations used here are,  originally suggested by  Dr Peter Chen in ’76,  known as Chen...
Entities and Attributes   Entity is the basic object in ER model. It is    thing which exists   Each entity has attribut...
Entities and Attributes   Attributes could be        Atomic – can not be meaningfully decomposed:         Example DOB ca...
Entities and Attributes in ERD                                                      Composite                             ...
Entities and Attributes                                                Derived                                            ...
Entity Type    Casually, very often term “entity” is used for “Entity Type”.    An Entity Type describes schema or inten...
Entity Set    The collection of entities of a particular entity type are     grouped into an entity set, is also called e...
Key Attributes       It is Attribute or set of Attributes, called Key Attribute        which are used to uniquely identif...
Value Sets (Domains) of Attributes   Each simple attribute of an entity type is    associated with a value set (or a doma...
Relationship Type, Instance, and Set    Let us look at following facts –         Aditi studies in BIT         Amit stud...
Relationship                                                    SetRelationship Instance DiagramAug 14, 2008   Data Modeli...
Simple ER Diagram: Student-Program                                                RelationshipAug 14, 2008   Data Modeling...
Relationships can also have attributes   In our previous example, suppose we also want to have    study duration of a stu...
Cardinality Constraints forBinary Relationships   Binary relationship, is the one in which two    entity types participat...
One to One (1:1)   One Customer has one account and one account is    owned by one customerAug 14, 2008       Data Modeli...
One to Many (1:N)   One Customer has many accounts, and one account is    owned by one customerAug 14, 2008       Data Mo...
Many to Many (M:N)   One Customer has many accounts, and one account is    owned by multiple customers jointlyAug 14, 200...
Cardinality Constraints forBinary Relationships   Every Relationship Type has to be specified to be one    these – a cons...
Some relationship examples?   Identify and determine cardinality ratio?        Student and Mentor        Bill and Item ...
Participation can beTotal (mandatory) or Partial (optional)   In our Customer-Account example-   If customer record can ...
Student-Program “schema”   Participation of Student in Studies relationship is    mandatory – student has to study in a p...
Student-Program schemaThis diagram lets us ensure that we are modeling right business rule in the database   Business rule...
Some relationship examples?   Identify and determine cardinality ratio?        Student and Mentor        Bill and Item ...
Exercises   Case: Simple Trading Company   Case: My Books DatabaseAug 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 o...
Cardinality Constraint (Ratio)   One to One: Any entity (from any side)    is associated with at most one entity    in ot...
Cardinality Constraint (Ratio)        – another way of looking at   One to One: any entity (from any side)    can partici...
Structural Constraints   Cardinality ratio and participation constraints in    together are also called structural constr...
Another way of showing structuralconstraint   Min possibility a customer (entity) can participate in holds    relationshi...
Another way of showing structuralconstraint – Many to Many   Min possibility an Account (entity) can participate in    ho...
Structural constraints   Note that this notation takes care of    participation constraints as well.   Having min partic...
Recursive Relationship   Entity having relationship with itself   There can be many situations like this        Employe...
Recursive Relationship                             Employee                              Employee                         ...
What about Cardinality and participationconstraints in Supervises relationship..   ?Aug 14, 2008   Data Modeling Using E-...
Weak Entity Types   Entity that do not have key attributes of their own are    called weak entity types   These are atta...
Weak Entity TypesIdentifyingRelationship                                                   Owner                          ...
   In some cases, database designer may choose to    express weak entity as multi-value composite    attribute of the own...
ER Creating Guidelines     As a thumb rule Nouns and Objects are      candidate for Entities and Verbs for      relations...
ER Creating Guidelines1.    IF an object type (noun) has only one property      to store THEN it is an attribute of anothe...
ER Creating Guidelines1.    IF an object type has only one data instance THEN do      not model as an entity type – exampl...
ER Creating Guidelines     Below are rules related to cardinality and      participation. Suppose Entity A relates to ent...
Example - Student Election scenario   Consider        There are some positions for which voting needs to         be done...
Example - Student Election scenarioextended   How our ERD will change if we have some    requirements/constraints-   Sup...
Home Exercises   Elmasri/Navathe 4th ed   Unsolved Exercise: 3.21, 3.22Aug 14, 2008     Data Modeling Using E-R Models  ...
Ternary Relationship      Three entities are participating in a relationship      Most case binary suffices, but ternary...
An example of ternary RelationshipAug 14, 2008   Data Modeling Using E-R Models   55
Enhanced Features in ER modeling   Primarily addresses issues related to    generalization/specialization, aggregation,  ...
Aggregation   Let us take an Example Company-Interview-Applicant-    Offer situationAug 14, 2008       Data Modeling Usin...
AggregationAug 14, 2008   Data Modeling Using E-R Models   58
ThanksAug 14, 2008   Data Modeling Using E-R Models   59
Upcoming SlideShare
Loading in …5
×

Data modeling

1,300 views
1,215 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,300
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
87
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Data modeling

  1. 1. Conceptual Data ModelingUsing E-R Models PM Jat pm_jat@daiict.ac.in
  2. 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 constraintsAug 14, 2008 Data Modeling Using E-R Models 2
  3. 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 doneAug 14, 2008 Data Modeling Using E-R Models 3
  4. 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 4
  5. 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 neutralAug 14, 2008 Data Modeling Using E-R Models 5
  6. 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 6
  7. 7. How we see data around us- List of Students IIyr BTech(CS)StudID Name DOB Fasther’s Address ………….. Name060101 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
  8. 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 valuesAug 14, 2008 Data Modeling Using E-R Models 8
  9. 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 TypeAug 14, 2008 Data Modeling Using E-R Models 9
  10. 10. ERD notation for the Entity types Notations used here are, originally suggested by Dr Peter Chen in ’76, known as Chen’s notationAug 14, 2008 Data Modeling Using E-R Models 10
  11. 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: Student Attributes: StudID, Name, DOB, Father’s Name, Address, Entity: Program Attributes: ProgID, ProgName, IntakeAug 14, 2008 Data Modeling Using E-R Models 11
  12. 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 attributesAug 14, 2008 Data Modeling Using E-R Models 12
  13. 13. Entities and Attributes in ERD Composite Attribute KeyAttribute Multi-value Attribute Key attribute Uniquely Identifies an Entity in Entity SetAug 14, 2008 Data Modeling Using E-R Models 13
  14. 14. Entities and Attributes Derived AttributeAug 14, 2008 Data Modeling Using E-R Models 14
  15. 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 instanceDefinition (Elmasri/Navathe):Entity Type defines a collection (or set)of entities that have the same attributes.Each Entity Type in the databaseis described by its name and attributes Aug 14, 2008 Data Modeling Using E-R Models 15
  16. 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 StudID Name DOB Fasther’s Address ………….. Name 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 typein the database….. any…… of …… is … at point time called an entity set. …… ……….. Aug 14, 2008 Data Modeling Using E-R Models 16
  17. 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 StudID Name DOB AddressAttribute 060101 Aditi 12-10-88 …… 060102 Anurag 10-02-89 …… 060103 Arpit 11-07-88 …… ….. …… …… …… Aug 14, 2008 Data Modeling Using E-R Models 17
  18. 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 attributeAug 14, 2008 Data Modeling Using E-R Models 18
  19. 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 setAug 14, 2008 Data Modeling Using E-R Models 19
  20. 20. Relationship SetRelationship Instance DiagramAug 14, 2008 Data Modeling Using E-R Models 20
  21. 21. Simple ER Diagram: Student-Program RelationshipAug 14, 2008 Data Modeling Using E-R Models 21
  22. 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_toAug 14, 2008 Data Modeling Using E-R Models 22
  23. 23. Cardinality Constraints forBinary 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:NAug 14, 2008 Data Modeling Using E-R Models 23
  24. 24. One to One (1:1) One Customer has one account and one account is owned by one customerAug 14, 2008 Data Modeling Using E-R Models 24
  25. 25. One to Many (1:N) One Customer has many accounts, and one account is owned by one customerAug 14, 2008 Data Modeling Using E-R Models 25
  26. 26. Many to Many (M:N) One Customer has many accounts, and one account is owned by multiple customers jointlyAug 14, 2008 Data Modeling Using E-R Models 26
  27. 27. Cardinality Constraints forBinary 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
  28. 28. Some relationship examples? Identify and determine cardinality ratio?  Student and Mentor  Bill and Item  Course and Professor  Course and Text Book  Vehicle and OwnerAug 14, 2008 Data Modeling Using E-R Models 28
  29. 29. Participation can beTotal (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 Total Participation ParticipationAug 14, 2008 Data Modeling Using E-R Models 29
  30. 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 PartialAug 14, 2008 Data Modeling Using E-R Models Participation 30
  31. 31. Student-Program schemaThis 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 Aug 14, 2008 Data Modeling Using E-R Models 31 While it is optional for Program.
  32. 32. Some relationship examples? Identify and determine cardinality ratio?  Student and Mentor  Bill and Item  Course and Professor  Course and Text Book  Vehicle and OwnerAug 14, 2008 Data Modeling Using E-R Models 32
  33. 33. Exercises Case: Simple Trading Company Case: My Books DatabaseAug 14, 2008 Data Modeling Using E-R Models 33
  34. 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 relationshipAug 14, 2008 Data Modeling Using E-R Models 34
  35. 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 1 N Many to Many: any entity from any side can be associated with multiple entities from other side Aug 14, 2008 Data Modeling Using E-R Models 35
  36. 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 1 N Many to Many: any entity from any side participates multiple times in the relationship Aug 14, 2008 Data Modeling Using E-R Models 36
  37. 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 DiagramAug 14, 2008 Data Modeling Using E-R Models 37
  38. 38. Another way of showing structuralconstraint 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
  39. 39. Another way of showing structuralconstraint – 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
  40. 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 participationAug 14, 2008 Data Modeling Using E-R Models 40
  41. 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 categoryAug 14, 2008 Data Modeling Using E-R Models 41
  42. 42. Recursive Relationship Employee Employee Supervises Supervisorr1: e5 is supervisor of e1 e1 r1r2: e1 is supervisor of e2 e2 r2r3: e1 is supervisor of e2 e3 r3 e4r4: e5 is supervisor of e4 e5 r4r5: e4 is supervisor of e6 e6 e7 r5r6: e4 is supervisor of e7 r6 Roles: Supervisor (Green), Subordinate (Red) Aug 14, 2008 Data Modeling Using E-R Models 42
  43. 43. What about Cardinality and participationconstraints in Supervises relationship.. ?Aug 14, 2008 Data Modeling Using E-R Models 43
  44. 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 EmployeeAug 14, 2008 Data Modeling Using E-R Models 44
  45. 45. Weak Entity TypesIdentifyingRelationship Owner Entity Weak Entity Aug 14, 2008 Data Modeling Using E-R Models 45
  46. 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 46
  47. 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 NoAug 14, 2008 Data Modeling Using E-R Models 47
  48. 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 attributeAug 14, 2008 Data Modeling Using E-R Models 48
  49. 49. ER Creating Guidelines1. IF an object type has only one data instance THEN do not model as an entity type – example Director, DAIICT2. 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 context3. 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 relationshipAug 14, 2008 Data Modeling Using E-R Models 49
  50. 50. ER Creating Guidelines Below are rules related to cardinality and participation. Suppose Entity A relates to entity B, then2. 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
  51. 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 51
  52. 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 candidatesAug 14, 2008 Data Modeling Using E-R Models 52
  53. 53. Home Exercises Elmasri/Navathe 4th ed Unsolved Exercise: 3.21, 3.22Aug 14, 2008 Data Modeling Using E-R Models 53
  54. 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 54
  55. 55. An example of ternary RelationshipAug 14, 2008 Data Modeling Using E-R Models 55
  56. 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, aggregationAug 14, 2008 Data Modeling Using E-R Models 56
  57. 57. Aggregation Let us take an Example Company-Interview-Applicant- Offer situationAug 14, 2008 Data Modeling Using E-R Models 57
  58. 58. AggregationAug 14, 2008 Data Modeling Using E-R Models 58
  59. 59. ThanksAug 14, 2008 Data Modeling Using E-R Models 59

×