Entity Relationship Diagrams 1. Basic Elements and Rules
Software Analysis & Design ER Model contains detailed descriptions of: What are the entities and relationships in the enterprise? What information about these entities and relationships should we store in the database? What are the integrity constraints or business rules that hold?
Data modelling(ERD) vs Process modelling(DFD) Process modelling (i.e. DFD) shows data stores, how, where, when data are used or changed in an IS Data modelling (i.e ER) shows definition, structure, and relationship within the data
Why data model is most important part of the statement of SW requirement? Characteristics of data captured during data modelling are crucial in design of DB, program, computer screen, and reports Data rather than processes are the most complex aspects of many modern IS so require a central role in structuring system requirement The characteristics of data (length, format, relationship) are reasonably permanen. The paths of data flow are quite dynamic. Structural information about data is essensial for automatic generation of programs
Conceptual Data Modeling and the E-R Diagram Goal Capture as much of the meaning of the data as possible A better design that is scalable and easier to maintain
Introduction to Entity-Relationship (E-R) Modeling Notation uses three main constructs Data entities Attributes Relationships Entity-Relationship (E-R) Diagram A detailed, logical representation of the entities, associations and data elements for an organization or business 10.6
Entity-Relationship (E-R) Modeling Key Terms A person, place, object, event or concept in the user environment about which the organization wishes to maintain data Represented by a rectangle in E-R diagrams Attribute A named property or characteristic of an entity that is of interest to an organization 10.7
Entity-Relationship (E-R) Modeling Key Terms Candidate keys and identifiers Attribute (or combination of attributes) that uniquely identifies each instance of an entity type
Notation Guide ENTITY WEAK ENTITY TYPE RELATIONSHIP TYPE IDENTIFYING RELATIONSHIP TYPE
… Notation Guide . . . ATTRIBUTE KEY ATTRIBUTE MULTIVALUED ATTRIBUTE DERIVED ATTRIBUTE COMPOSITE ATTRIBUTE _____ . . .
… Notation Guide 1:N FOR E1:E2 IN R 1 N E1 R E2
ER Diagram Basics Entity Relationship Attributes Product Keeps Store descrip qty price pname manager Locations sname Relationship Attributes
Entity Real-world object distinguishable from other objects (e.g a student, car, job, subject, building ...) An entity is described using a set of attributes The same entity may have different prominence in different scenario – In the Company database, an employee’s car is of lesser importance – In the Department of Transportation’s registration database, cars may be the most important concept – In both cases, cars will be represented as entities; but with different levels of detail
Attributes Key Attributes Value Sets of Attributes Null Valued Attributes Attribute Types – Composite Vs. Simple Attributes – Single-valued Vs. Multi-valued Attributes – Derived Vs. Stored Attributes Notation
Key Attributes Key (or uniqueness) constraints are applied to entity types Key attribute’s values are distinct for each individual entity. A key attribute has its name underlined inside the oval Multiple keys are possible SSN EMPLOYEE
Null Valued Attributes A particular entity may not have an applicable value for an attribute Type of Null Values – Not Applicable – Unknown – Missing
Composite Vs. Simple Attributes Composite attributes can be divided into smaller parts which represent simple attributes with independent meaning Simple Attribute: Aircraft-Type Complex Attribute: Aircraft-Location which is comprised of : Aircraft-Latitude Aircraft-Longitude Aircraft-Altitude Notation
Single Vs. Multivalued Attributes Simple attributes can either be single-valued or multi-valued Single-valued: Gender = F Notation Multi-valued: Degree = {BSc, MTech}
Derived Vs. Stored Attributes Some attribute values can be derived from related attribute values: Age ® Date - B-day Y-Sal ® 12 * M-Sal Notation Age M-sal B-days Y-sal EMPLOYEE
Derived Vs. Stored Attributes Order Item price qty Total-Value Some attribute values can be derived from attributed values of related entities total-value = sum (qty * price)
Representing Attributes Parenthesis ( ) for composite attributes Brackets { } for multi-valued attributes Assume a person can have more than one residence and each residence can have multiple telephones {AddressPhone ({ Phone ( AreaCode,PhoneNum ) }, Address (StreetAddresss (Number, Street, AptNo), City,State,PostalCode) ) }
Entity-Relationship (E-R) Modeling Key Terms An association between the instances of one or more entities that is of interest to the organization Relationships are always labeled with verb phrases
Naming and Defining Relationships Relationship name is a verb phrase Avoid vague names Guidelines for defining relationships Definition explains what action is being taken and why it is important Give examples to clarify the action Optional participation should be explained Explain reasons for any explicit maximum cardinality
Relationship Degree Departments The degree of a relationship type is the number of participating entity types – 2 entities: Binary Relationship 3 entities: Ternary Relationship – Same entity type could participate in multiple relationship types Works_In Binary Employees Multiple Supply Assigned_to Supplier Project Ternary Part
Entity Roles Each entity type that participates in a relationship Employees Works_In Departments employer worker Role Names Each entity type that participates in a relationship type plays a particular role in the relationship type The role name signifies the role that a participating entity from the entity type plays in each relationship instance, i.e. it explains what the relationship means
Relationship Constraints What are Relationship Constraints ? Constraints on the relationship type limit the possible combination of entities that may participate in the corresponding relationship set
Possible Relations . . . . 1–to-1 (1 : 1) – Both entities can participate in only one relationship instance 1-to-Many, Many-to-1 (1 : N, N : 1) – One entity can participate in many relationship instances Many-to-Many (N: M) – Both entities can participate in many relationship instance . Many - to - 1 . . 1- to - Many . Many-to-Many
Example Cardinality Constraints How many Employees can work in a Department? One employee can work in only one department How many Employees can be employed by a Department? One department can employ many employees How many managers can a department have? One department can have only one manager How many departments can an employee manage? One employee can have manage only one department
Representing Relations 1 Employees Works_In Departments Manages One employee can work in only one department One department can employ many employees One department can have only one manager One employee can manage only one department