Conceptual Data Modeling Using E-R Models. PM Jat

Similar documents
Objectives of logical design... Transforming the ERD diagram into relations. Relational database components. Mapping a composite attribute

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

Overview of Database Design Process Example Database Application (COMPANY) ER Model Concepts

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

Definition. 02. Data Modeling. Example ABC Company Database. Data Modeling Importance

1/24/2012. Chapter 7 Outline. Chapter 7 Outline (cont d.) CS 440: Database Management Systems

LECTURE 3: ENTITY-RELATIONSHIP MODELING

Chapter Outline. Note 1. Overview of Database Design Process Example Database Application (COMPANY) ER Model Concepts

IS 263 Database Concepts

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling

Lecture3: Data Modeling Using the Entity-Relationship Model.

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

Entity Relationship Data Model. Slides by: Shree Jaswal

A l Ain University Of Science and Technology

course 3 Levels of Database Design CSCI 403 Database Management Mines Courses ERD Attributes Entities title 9/26/2018

DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL. 1 Powered by POeT Solvers Limited

A l Ain University Of Science and Technology

CS 405G: Introduction to Database Systems

Data Modeling Using the Entity-Relationship (ER) Model

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

EECS 647: Introduction to Database Systems

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

Database Applications (15-415)

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

Conceptual Data Models for Database Design

2. DatabaseDesign. Master I Software Engineering. Dr. Imed Bouchrika Dept of Mathematics & Computer Science University of Souk-Ahras

Conceptual Data Modeling

Chapter 4. In this chapter, you will learn:

System Analysis And Design Methods ENTITY RELATIONSHIP DIAGRAM (ERD) Prof. Ali Khaleghi Eng. Hadi Haedar

More on the Chen Notation

Database Management System 6 ER Modeling...

Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model

Intro to DB CHAPTER 6

Copyright 2016 Ramez Elmasr and Shamkant B. Navathei

Overview of Database Design Process. Data Modeling Using the Entity- Relationship (ER) Model. Two main activities:

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

Database Systems ER Model. A.R. Hurson 323 CS Building

Advance Database Management System

Chapter 6: Entity-Relationship Model

Elements of the E-R Model

Chapter 2: Entity-Relationship Model. Entity Sets. Entity Sets customer and loan. Attributes. Relationship Sets. A database can be modeled as:

Conceptual Modeling in ER and UML

Chapter 2: Entity-Relationship Model

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

MIT Database Management Systems Lesson 03: Entity Relationship Diagrams

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell

Entity Relationship Modelling

Entity Relationship Diagram (ERD): Basics

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

CSE 880:Database Systems. ER Model and Relation Schemas

DATABASE SYSTEMS. Chapter 5 Entity Relationship (ER) Modelling DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT

Chapter 6: Entity-Relationship Model

Database Management Systems LECTURE NOTES 2

Chapter # 4 Entity Relationship (ER) Modeling

II. Review/Expansion of Definitions - Ask class for definitions

Chapter 6: Entity-Relationship Model

Entity Relationship Diagram (ERD) Dr. Moustafa Elazhary

Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques. Fundamentals, Design, and Implementation, 9/e

CS352 Lecture - The Entity-Relationship Model

Data Modeling Using the Entity- Relationship Model Design & Analysis of Database Systems

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called

Non-overlappingoverlapping. Final outcome of the worked example On pages R&C pages R&C page 157 Fig 3.52

Chapter 2 ENTITY RELATIONSHIP MODEL

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University

Relational Model (cont d) & Entity Relational Model. Lecture 2

Represent entities and relations with diagrams

ER-to-Relational Mapping

ER modeling. Lecture 4


DATABASE DESIGN I - 1DL300

The Entity Relationship Model

DATABASE DESIGN I - 1DL300

Overview. Introduction to Database Design. ER Model. Database Design

Overview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement

COMP Instructor: Dimitris Papadias WWW page:

Lecture 14 of 42. E-R Diagrams, UML Notes: PS3 Notes, E-R Design. Thursday, 15 Feb 2007

Database Management System (15ECSC208) UNIT I: Chapter 1: Introduction to DBMS and ER-Model

Contents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model

Chapter 3. Data Modeling Using the Entity-Relationship (ER) Model (from E&N and my editing)

Database Management Systems. Chapter 2 Part 2

Chapter 7: Entity-Relationship Model

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

Agent 7 which languages? skills?

Chapter 7: Entity-Relationship Model

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

MIS Database Systems Entity-Relationship Model.

LAB 2 Notes. Conceptual Design ER. Logical DB Design (relational) Schema Refinement. Physical DD

Notes. These slides are based on a slide set provided by Prof. M. Tamer Öszu. CS 640 E-R Model Winter / 23. Notes

The Entity-Relationship Model. Overview of Database Design

Database Design. ER Model. Overview. Introduction to Database Design. UVic C SC 370. Database design can be divided in six major steps:

DATABASDESIGN FÖR INGENJÖRER F

Related download: Instructor Manual for Modern Database Management 12th Edition by Hoffer Venkataraman Topi (Case studies included)

A database can be modeled as: + a collection of entities, + a set of relationships among entities.

Chapter 2 Conceptual Modeling. Objectives

Database Applications (15-415)

Database Design with Entity Relationship Model

The Entity-Relationship Model. The Entity-Relationship model. The ER model. The Entity-Relationship model. E-R Model Constructs. E-R Model Constructs

Institute of Southern Punjab, Multan

Full file at

Chapter 7: Entity-Relationship Model

Transcription:

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