Chapter 7: Modeling Data in the Organization Dr. Taysir Hassan Abdel Hamid IS Department Faculty of Computer and Information Assiut University March 8,

Slides:



Advertisements
Similar presentations
Entity Relationship Diagrams
Advertisements

Database Design The process of finding user requirement
the Entity-Relationship (ER) Model
Conceptual Data Modeling: ER
Chapter 31 Chapter 3 Data Modeling Using the Entity-Relationship Model.
Ch5: ER Diagrams - Part 1 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
Mapping an ERD to a Relational Database To map an ERD to a relational database, five rules are defined to govern how tables are constructed. 1)Rule for.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Conceptual Models Agenda - Steps in the design of a DB - Need for conceptual models - The Entity-Relationship Model (ER-Model)
Copyright © 2007 Ramez Elmasr and Shamkant B. Navathei Week 3 Outline Overview of Database Design Process Example Database Application (COMPANY) ER Model.
Slides adapted from A. Silberschatz et al. Database System Concepts, 5th Ed. Entity-Relationship Model Database Management Systems I Alex Coman, Winter.
Class Number – CS 304 Class Name - DBMS Instructor – Sanjay Madria Instructor – Sanjay Madria Lesson Title – ER Model.
CS 405G Introduction to Database Systems
Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model Dr. Bernard Chen Ph.D. University of Central Arkansas.
Data Modeling Using the Entity-Relationship Model
Data Modeling Using the Entity-Relationship Model
Data Modeling Using the Entity-Relationship Model
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Chapter 3 Data Modeling Using the Entity-Relationship (ER) Model.
the Entity-Relationship Model
Lecture 2: Entity-Relationship Modeling
Dr. Mohamed Osman Hegaz1 Conceptual data base design: The conceptual models: The Entity Relationship Model.
Entities and Attributes
Outline What is ER Model? And Why? Example COMPANY Database
Database. Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Data Modeling Using the Entity-Relationship
Entity-Relationship Model Ch. 3
Concepts and Terminology Introduction to Database.
SQL Structured Query Language Programming Course.
Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model.
Data Modeling Using the Entity- Relationship (ER) Model.
Initial Design of Entity Types for the COMPANY Database Schema Based on the requirements, we can identify four initial entity types in the COMPANY database:
CS 405G: Introduction to Database Systems Lecture 2 : Database Design I.
Chapter 3 Data Modeling Using the Entity-Relationship (ER) Model Copyright © 2004 Pearson Education, Inc.
3 & 4 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Keys Consists of one or more attributes that determine other.
Data modeling using the entity-relationship model Chapter 3 Objectives How entities, tuples, attributes and relationships among entities are represented.
Database Management COP4540, SCS, FIU Database Modeling Using the Entity-Relationship Model (Continued)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Entity-Relationship Model Chapter 3 II COSC 457 Sungchul Hong.
Data Modeling Using the Entity-Relationship (ER) Data Model (Based on Chapter 3 in Fundamentals of Database Systems by Elmasri and Navathe, Ed. 3)
Copyright © 2007 Ramez Elmasr and Shamkant B. Navathei Slide 3- 1.
Data Modelling Using Entity-Relationship (ER) Model
Database Systems – ER Diagrams EXAMPLE COMPANY DATABASE Requirements of the Company (oversimplified to illustrate) The company is organized into DEPARTMENTs.
Chapter 2 Data Modeling Using the Entity-Relationship (ER) Model Copyright © 2004 Pearson Education, Inc.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 3 Data Modeling Using Entity-Relationship Model.
Data Modeling Using the Entity-Relationship (ER) Data Model.
Data Modeling Using the Entity- Relationship (ER) Model.
Chapter 3: Data Modeling Using the Entity-Relationship (ER) Data Model
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
DBMS ER model-2 Week 6-7.
CSE 412/598 DATABASE MANAGEMENT COURSE NOTES 3. ENTITY-RELATIONSHIP CONCEPTUAL MODELING Department of Computer Science & Engineering Arizona State University.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Mapping Constraints Keys.
Chapter 7 Data Modeling Using the Entity-Relationship (ER) Model
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Lecture # 16 July 26,2012 Data Modeling using the Entity Relationship.
Database Designsemester Slide 1 Database Design Lecture 7 Entity-relationship modeling Text , 7.1.
Data Modeling Using the Entity- Relationship (ER) Model
Comp 1100 Entity-Relationship (ER) Model
Chapter 3 Data Modeling Using the Entity-Relationship Model
CS4222 Principles of Database System
Data Modeling Using the Entity- Relationship (ER) Model
Database Management Systems
Entity- Relationship (ER) Model
ER model Ashima Wadhwa.
Entity-Relationship Model
Lecture3: Data Modeling Using the Entity-Relationship Model.
بسم الله الرحمن الرحيم.
Conceptual Data Modeling Using Entities & Relationships
Mapping an ERD to a Relational Database
Presentation transcript:

Chapter 7: Modeling Data in the Organization Dr. Taysir Hassan Abdel Hamid IS Department Faculty of Computer and Information Assiut University March 8, 2015

Outline More on ERD

An Example Database Application 1. The company database keeps track of a company’s employees, departments, and projects. 2. The company is organized into departments: Each department has a unique number, a unique name, and an employee who manages the department. 3. A department controls a number of projects, each of which has a unique names, a unique number, and a single location. 4. We store each employee’s name, social security number, address, salary, gender and birth date. 5. Keep track of dependents of each employee for insurance purposes.

Phases of Database Design (Cont.) Physical Design Logical (Conceptual) Schema (In the data model of a specific DBMS) Conceptual Schema (in high-level data model) Application Program Design High-level Transaction Specification Logical Design (Data Model Mapping) DBMS-independent DBMS-specific Internal Schema Transaction Implementation Application Programs

Keys Primary Key: The primary key of a relational table uniquely identifies each record in the table. It can either be a normal attribute that is guaranteed to be unique (such as Social Security Number in a table with no more than one record per person) or it can be generated by the DBMS (such as a globally unique identifier, or GUID, in Microsoft SQL Server).

Keys (Cont…) Foreign Key: A foreign key is a field in a relational table that matches the primary key column of another table. The foreign key can be used to cross- reference tables. Candidate Key: A candidate key is a combination of attributes that can be uniquely used to identify a database record without any extraneous data.

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate An Entity I.e. An object With a physical existence Or a conceptual existence Part of the ER Model College Degree

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate Part of the ER Model College Degree See Fig. 3.2 An Attribute Each Entity has its own attributes that describe its properties

Entity Types, Entity Sets, Attributes, and Keys (Cont.) Types of Attributes: 1. Composite versus Simple (Atomic) Attributes 2. Single-Valued versus Multivalued Attributes 3. Stored versus Derived Attributes 4. Null Values 5. Complex Attributes

1. Composite versus Simple Attributes Number Address StreetAddress City Street Apartment_Number State Zip

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate 2. Single-Valued vs Multivalued Attributes College Degree Multivalued One person can have:  No degree  More than 2 degrees Single-Valued

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate 3. Stored vs Derived Attributes College Degree Stored Value of Age (derived attribute) can be determined

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate College Degree Key attribute Key attribute can be a combination of attribute values

4. Null Values A particular entity may not have an application value for an attribute. For example, Address StreetAddress City Street Apartment_Number State Zip Number ????

Composite attributes and multivalued attributes can be nested arbitrarily. Example: AddressPhone {AddressPhone ( { Phone (AreaCode, PhoneNumber) }, Address (StreetAddress(Number, Street, ApartmentNumber), City, State, Zip) ) } () A Composite attribute { } Displaying multivalued attributes Example: A person can have more than one residence and each residence can have multiple phones, an attribute AddressPhone for a person. 5. A Complex Attribute:

Entity Types, Entity Sets, Keys, and Value Sets An Entity Type: defines a collection (or set) of entities that have the same attributes Employee E 1 Ahmed, 55, 30k E 2 Amr, 45, 20k Entity Sets c 1 ITWORKS, Cairo C 2 Sakhr, Alex Company Entity Names

Entity Sets: The collection of all entities of a particular entity type in the database at any point in time is called an entity set. Example: EMPLOYEE refers to both a type of entity as well as the current set of all employee entities in the database. Entity Types, Entity Sets, Keys, and Value Sets (Cont.)

Key Attributes of an Entity Type: An important constraint on the entities of an entity type is the key or uniqueness constraint on attributes A Key attribute has its values that can be used to identify each identity uniquely. Sometimes several attributes form a key. An entity type that has no key is called a weak entity type Entity Types, Entity Sets, Keys, and Value Sets (Cont.)

CAR Vehicleid Registration Number State Year Color Model Make CAR entity type with two key attributes CAR1 ((ABC 123, Cairo), Cairo123, Fiat128, 2003 {white, blue})

Initial Conceptual Design of the COMPANY Database  Department Name, Number, {Locations}, manager, ManagerStartDate  Project Name, Number, Location, ControllingDept  Employee Name(Fname, Minit, Lname), SSN, Gender, Address, Salary BirthDate, Department, Supervisor, {WorksOn(Project, Hours)}  Dependent Employee, DependentName, Gender, BirthDate, Relationship Fig. 1 Multivalued Composite Attribute

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate Supervisor Works_on Project Hours

Dependent Relationship Gender Employee Ssn Bdate Number Name Controll_dept Location Project

Department Number Name Locations Manager_sd

Relationship Types, Sets, and Instances  A relationship type R among n entity types E 1, E 2, …, E n defines a set of associations or a relationship set – among entities from these entity types.  The relationship R is a set of relationship instances r i, where each r i associates n individual entities (e 1, e 2, …, e n ) and each entity e j in r i is a member of entity type E j, 1 ≤ j ≤ n.

Relationship between Employee and Department d1d2d1d2 e1e2e3e1e2e3 r1r2r3r1r2r3 Works_FOR Department Employee

Degree of a Relationship Type The degree of a relationship type is the number of participating entity types e1e2e3e1e2e3 Employee r1r2r3r1r2r3 Works_FOR d1d2d1d2 Department Binary Degree

s1s2s3s1s2s3 Supplier r1r2r3r1r2r3 Supply d1d2d1d2 Project Ternary Degree p1p2p3p1p2p3 PART

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate 2. Recursive Relationships College Degree Supervision Supervisee Supervisor

Relationships as attributes: e1e2e3e1e2e3 Employee r1r2r3r1r2r3 Works_FOR d1d2d1d2 Department

Constraints on Relationship Types Cardinality ratios for binary relationships: specifies the maximum number of relationship instances that an entity can participate in. e1e2e3e1e2e3 Employee r1r2r3r1r2r3 Works_FOR d1d2d1d2 Department A 1:N cardinality ratio

Constraints on Relationship Types (Cont.) e1e2e3e1e2e3 Employee r1r2r3r1r2r3 MANAGES d1d2d3d1d2d3 Department A 1:1 cardinality ratio

Constraints on Relationship Types (Cont.) e1e2e3e1e2e3 Employee r1r2r3r1r2r3 WORKS_ON p1p2p3p1p2p3 Project A M:N cardinality ratio

Employee Salary Address Gender Name Lname Minit Fname Ssn Bdate Recursive Relationships College Degree Supervision Supervisee Supervisor N 1

Initial Conceptual Design of the COMPANY Database  Department Name, Number, {Locations}, manager, ManagerStartDate  Project Name, Number, Location, ControllingDept  Employee Name(Fname, Minit, Lname), SSN, Gender, Address, Salary BirthDate, Department, Supervisor, {WorksOn(Project, Hours)}  Dependent Employee, DependentName, Gender, BirthDate, Relationship Fig. 1

Refining the ER Design for the COMPANY Database Change attributes that represent relationships into relationship types: 1. MANAGES, a 1:1 relationship type between Employee and Department. 2. Works_FOR, a 1:N relationship between Employee and Department 3. CONTROLS, a 1:N relationship type between Department and Project. 4. SUPERVISION, a 1:N relationship type between Employee and Employee. 5. Works_ON, a M:N relationship type with attribute Hours. 6. Dependents_of, a 1:N relationship type between Employee and Dependent.

The numbers mean that for each entity e in E, e must participate in at least min and at most max relationship instances in R at any point in time. UML will be discussed later in details

Summary of Notations Used Entity Weak Entity Relationship Identifying relationship Attribute

Summary of Notations Used (Cont.) Key Attribute Multivalued Attribute Derived Attribute Composite Attribute

Design Techniques 1. Avoid redundancy. 2. Limit the use of weak entity sets. 3. Don’t use an entity set when an attribute will do.

Avoiding Redundancy Redundancy = saying the same thing in two (or more) different ways. Wastes space and (more importantly) encourages inconsistency. Two representations of the same fact become inconsistent if we change one and forget to change the other. Recall anomalies due to FD’s.

Consider a hospital: Patients are treated in a single ward by the doctors assigned to them. Usually each patient will be assigned a single doctor, but in rare cases they will have two. Heathcare assistants also attend to the patients, a number of these are associated with each ward. Initially the system will be concerned solely with drug treatment. Each patient is required to take a variety of drugs a certain number of times per day and for varying lengths of time.

Consider a hospital: (Cont…) The system must record details concerning patient treatment and staff payment. Some staff are paid part time and doctors and care assistants work varying amounts of overtime at varying rates (subject to grade). The system will also need to track what treatments are required for which patients and when and it should be capable of calculating the cost of treatment per week for each patient (though it is currently unclear to what use this information will be put).

How do we start an ERD? 1. Define Entities: these are usually nouns used in descriptions of the system, in the discussion of business rules, or in documentation; 2. Define Relationships: these are usually verbs used in descriptions of the system or in discussion of the business rules 3. Add attributes to the relations; these are determined by the queries,and may also suggest new entities, e.g. grade; or they may suggest the need for keys or identifiers.

What questions can we ask? a. Which doctors work in which wards? b. How much will be spent in a ward in a given week? c. How much will a patient cost to treat? d. How much does a doctor cost per week? e. Which assistants can a patient expect to see? f. Which drugs are being used?

4. Add cardinality to the relations Many-to-Many must be resolved to two one-to-manys with an additional entity Usually automatically happens Sometimes involves introduction of a link entity (which will be all foreign key) Examples: Patient-Drug

5. This flexibility allows us to consider a variety of questions such as: a. Which beds are free? b. Which assistants work for Dr. X? c. What is the least expensive prescription? d. How many doctors are there in the hospital? e. Which patients are family related?

6. Represent that information with symbols. Generally E- R Diagrams require the use of the following symbols: