Скачать презентацию Entity Relationship Diagrams Mandatory 1 Sends Mandatory Скачать презентацию Entity Relationship Diagrams Mandatory 1 Sends Mandatory

e5cfe570a58fdbf329f308ca127e2b9b.ppt

  • Количество слайдов: 36

Entity Relationship Diagrams Entity Relationship Diagrams

Mandatory 1 Sends Mandatory many Supplier Optional many Supplies Sent by Many with maximum Mandatory 1 Sends Mandatory many Supplier Optional many Supplies Sent by Many with maximum Supplied by Includes Item Shipment Included on Produces Produced on Goes into Production Plan Generated on Composed of Generates Builds Product Built on Master Schedule

Entity Relationship Diagrams • Purpose: Show the structure (relationship of data elements) • Can Entity Relationship Diagrams • Purpose: Show the structure (relationship of data elements) • Can be used in multiple stages of development • Used to communicate and verify understanding between developers and users, and to document the perceived data model

ERD Elements • Entities – Things about which you collect information • Relationships – ERD Elements • Entities – Things about which you collect information • Relationships – Means of association between entities • Identifiers – Unique attributes of the entity • Attributes – Characteristic or property of the entity that is of interest

ERD Symbols • Entities: rectangle • Relationships: diamond (may or may not be used), ERD Symbols • Entities: rectangle • Relationships: diamond (may or may not be used), on a line showing the “cardinality” of the relationship (1 to many), etc. • Identifiers: Underlined text • Attributes: Text by the entity (if shown at all on the diagram)

Sample ERDs ORDER Entity attributes: ORDER: #, DATE, PART #, QUANTITY Order 1 CAN Sample ERDs ORDER Entity attributes: ORDER: #, DATE, PART #, QUANTITY Order 1 CAN HAVE 1 PART: #, DESCRIPTION, UNIT PRICE, SUPPLIER # Part M CAN HAVE 1 SUPPLIER: #, NAME, ADDRESS SUPPLIER Supplier

ERD Notes • Relationship connect entities • Attributes are not technically a part of ERD Notes • Relationship connect entities • Attributes are not technically a part of the diagram but are often included • ERD is not the same as a relational table design

Entity Sets • Each individual object is called an entity. A collection of such Entity Sets • Each individual object is called an entity. A collection of such entities is an entity set. – Example: Joe, Jill, and Mary represent entities. They are all ascribed to the entity set, PERSON. – Example: A collection of projects is the project entity set.

Relationship • Relationship – One interaction between one or more entities – For example: Relationship • Relationship – One interaction between one or more entities – For example: if a person works on a project, there is a relationship between that person and the project • Relationship set – A collection of such relationships. – A component in an E-R diagram that represents a set of relationships with the same properties.

Notes on Entities and Relationships • We can actually see entities, but we cannot Notes on Entities and Relationships • We can actually see entities, but we cannot see relationships. – For example: • Entity sets: Person; project • Relationship: People work on projects. This becomes the relationship set “Work” Persons The set of people, set of projects and set of working relationships. Work Projects

Entity-Relationship Structures Persons are in departments Persons work on projects Parts Supply Suppliers Projects Entity-Relationship Structures Persons are in departments Persons work on projects Parts Supply Suppliers Projects use parts Suppliers supply parts Warehouses hold parts Are-In Work-On Use Hold Warehouses Depts Projects More complex relationship: See persons and parts

Entities can have multiple relationships Companies Leases Owns Vehicles Entities can have multiple relationships Companies Leases Owns Vehicles

More than two entity sets can be associated with the same relationship set Customers More than two entity sets can be associated with the same relationship set Customers Buy Relationship sets that include only two entities are known as binary. More than two are known as N-ary. Stores Each relationship in this set includes a person, a part bought by the person, and the store where the purchase was made. Parts A person, a part bought by the person, and the store where the purchase was made

Identifiers • One of the attributes of an entity or relationship set is called Identifiers • One of the attributes of an entity or relationship set is called the identifier • It has one important property: its values identify unique entities in the entity set.

Identifiers are underlined here Persons PERSON-ID NAME ADDRESS Work PERSON-ID PROJECT-ID TIME-SPENT Projects PROJECT-ID Identifiers are underlined here Persons PERSON-ID NAME ADDRESS Work PERSON-ID PROJECT-ID TIME-SPENT Projects PROJECT-ID START-DATE BUDGET The set of people, set of projects and set of working relationships.

Convention for Identifiers in Relationships • Use the identifiers of the entities that participate Convention for Identifiers in Relationships • Use the identifiers of the entities that participate in the relationship as the relationship identifiers. • Identifiers are not file keys here. At this stage, they are the identifiers of entities that participate in the relationship.

Cardinality • The number of relationships in which one entity can appear. • An Cardinality • The number of relationships in which one entity can appear. • An entity can appear in: – one (1) relationship; – any variable number (N) of relationships; and – a maximum number of relationships

Cardinality - Example Persons N Work M Projects PERSON-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT Cardinality - Example Persons N Work M Projects PERSON-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT A persona can appear in more than one WORK relationship, and so can a project. If there was a limit to the number of times an entity can take part in the relationship, then N or M would be replaced by the actual maximum number. PROJECT-ID START-DATE BUDGET The set of people, set of projects and set of working relationships.

Cardinality - Example Manager 1 Manage N Projects MANAGER-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT Cardinality - Example Manager 1 Manage N Projects MANAGER-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT Here a project has one (1) manager, whereas a manager can manage any number (N) of projects. PROJECT-ID START-DATE BUDGET The set of people, set of projects and set of working relationships.

Cardinality - Example Manager 1 Manage N Projects MANAGER-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT Cardinality - Example Manager 1 Manage N Projects MANAGER-ID NAME ADDRESS PERSON-ID PROJECT-ID TIME-SPENT The denotes optional participation on the project. If it is mandatory, then there is no placed there. PROJECT-ID START-DATE BUDGET The set of people, set of projects and set of working relationships.

Issues in building an ERDiagram • How to choose entities, relationships and attributes • Issues in building an ERDiagram • How to choose entities, relationships and attributes • How to choose names • What steps should be followed

Choosing Attributes • Attributes, just like entity and relationship sets, should express simple concepts. Choosing Attributes • Attributes, just like entity and relationship sets, should express simple concepts. • E-R diagrams should not contain multivalued or structured attributes – For example: PERSONS Non-simple attributes PERSON-ID DATE-OF-BIRTH QULIFICATION* (asterisk means it is multivalued-repeating) ADDRESS (NUMBER, STREET, SUBURB) Addresses has structured attributes. These should be replaced in the final diagram by relationships.

Ex: Removing multi-valued and structured attributes Persons PERSON-ID QUALIFICATION HAVE PERSON-ID DATE-OF-BIRTH LIVE-AT PERSON-ID Ex: Removing multi-valued and structured attributes Persons PERSON-ID QUALIFICATION HAVE PERSON-ID DATE-OF-BIRTH LIVE-AT PERSON-ID NUMBER STREET SUBURB QUALIFICATIONS ADDRESSES NUMBER STREET SUBURB

Choosing Object Set Names • Remember, that one goal of E-R modeling is to Choosing Object Set Names • Remember, that one goal of E-R modeling is to produce a model that is easily understood by users as well as computer personnel. – Entity sets are labeled as nouns – Relationship sets are labeled by verbs – Relationship sets are structured as prepositions when modeling structural relationships

Where to begin • Start with entity sets • Look at how entities interact Where to begin • Start with entity sets • Look at how entities interact with each other and model this in terms of relationship sets • Then add cardinality to the system • Add attributes and choose identifiers

Normalization Highlights Normalization Highlights

Normalization • The process of organizing data in a database. This includes creating tables Normalization • The process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating two factors: redundancy and inconsistent dependency.

Factor 1: Inconsistent Dependency • Customer table should have customer address but not employee Factor 1: Inconsistent Dependency • Customer table should have customer address but not employee salary who calls on customer • If customer information is contained in an order file, if the order is canceled, all the customer information could be lost – Solution: create two tables--one table contains order information and the other table contains customer information.

Factor 2: Redundant Data • Data exists in more than one place • Wastes Factor 2: Redundant Data • Data exists in more than one place • Wastes disk space and creates maintenance problems – Example: a staff person changes their telephone number and every potential customer that person ever worked with has to have the corrected number inserted.

Rules for Database Normalization • First Normal Form – No repeating groups • Second Rules for Database Normalization • First Normal Form – No repeating groups • Second Normal Form – Eliminate data redundancy • Third Normal Form: – Eliminate data not dependent on key

DMOD ISDATAD Database Normalization - Example STARTING WITH A SET OF DATA ITEMS: Employee DMOD ISDATAD Database Normalization - Example STARTING WITH A SET OF DATA ITEMS: Employee Name Employee ID Department Dept Address Item# Item Description Item Price Warehouse ID Warehouse Address Item Location in each Warehouse Quantity on Hand in each Warehouse

DMOD ISDATAD Database Normalization Example 1. CLUSTER DATA ITEMS INTO ENTITIES (to become TABLES): DMOD ISDATAD Database Normalization Example 1. CLUSTER DATA ITEMS INTO ENTITIES (to become TABLES): Employee ID Employee Name Department Dept Address Item# Item Description Item Price Warehouse ID Warehouse Address Item Location in each Warehouse Quantity on Hand in each Warehouse

DMOD ISDATAD Database Normalization - Example 2. PULL OUT MULTI-VALUED ITEMS or REPEATING GROUPS: DMOD ISDATAD Database Normalization - Example 2. PULL OUT MULTI-VALUED ITEMS or REPEATING GROUPS: From: Item# Description Price Warehouse. ID Address Item. Location Quantity on on Hand To: Item# Description Price Warehouse ID Address Item. Location Quantity on Hand NOTE: Item# propagates down and becomes part of the identifier. Why?

DMOD ISDATAD Database Normalization - Example 3. PULL OUT FACTS ABOUT A PORTION OF DMOD ISDATAD Database Normalization - Example 3. PULL OUT FACTS ABOUT A PORTION OF THE KEY (partial dependency): From: Item# Description Price Warehouse ID Address Item Location Quantity on Hand To: Item# Description Price Warehouse ID Address Item Location Quantity on Hand

DMOD ISDATAD Database Normalization - Example 4. PULL OUT FACTS ABOUT A NON-KEY DATA DMOD ISDATAD Database Normalization - Example 4. PULL OUT FACTS ABOUT A NON-KEY DATA ITEM (transitive dependency): From: Employee ID Employee Name Department Dept Address To: Employee ID Employee Name Department ID Dept Address What is the “Department” field called in the Employee record? Why does it remain in the Employee record?

Role of data values • Table components • Fields vs. values • Records are Role of data values • Table components • Fields vs. values • Records are related via the values Customer table Order table Relation by data value