Database Design with Entity Relationship Model

Similar documents
XV. The Entity-Relationship Model

2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos

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

Entity Relationship Data Model. Slides by: Shree Jaswal

Conceptual Data Models for Database Design

Conceptual Modeling in ER and UML

Chapter 2. Database Design. Database Systems p. 25/540

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

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Data Modeling with the Entity Relationship Model. CS157A Chris Pollett Sept. 7, 2005.

Represent entities and relations with diagrams

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

Lecture3: Data Modeling Using the Entity-Relationship Model.

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

Sahaj Computer Solutions. Data Modeling using the Entity Relationship Model

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

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

Entity-Relationship Model

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

CS 338 The Enhanced Entity-Relationship (EER) Model

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

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

Data Modeling Using the Entity-Relationship (ER) Model

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

Course Notes on Entity-Relationship Data Model

Chapter 2 Conceptual Modeling. Objectives

CSE 880:Database Systems. ER Model and Relation Schemas

Chapter 4 Entity Relationship Modeling In this chapter, you will learn:

Phases of Database Design

A l Ain University Of Science and Technology

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

Chapter 2 ENTITY RELATIONSHIP MODEL

ER modeling. Lecture 4

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

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

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

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

Database Management Systems. Chapter 2 Part 2

Chapter 4. In this chapter, you will learn:

CS 405G: Introduction to Database Systems

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

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


LECTURE 3: ENTITY-RELATIONSHIP MODELING

IS 263 Database Concepts

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

Conceptual Database Design

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

Copyright 2016 Ramez Elmasr and Shamkant B. Navathei

Entity-Relationship Models

Computer Science Applications to Cultural Heritage. Relational Databases

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1

Data Modeling Using the Entity-Relationship Model

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

DATABASE DESIGN PROCESS

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

SOLUTIONS TO REVIEW QUESTIONS AND EXERCISES FOR PART 3 - DATABASE ANALYSIS AND DESIGN (CHAPTERS 10 15)

Conceptual Data Modeling and the Entity- Relationship Model. Department of Computer Science Northern Illinois University September 2014

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

A l Ain University Of Science and Technology

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

The Entity-Relationship (ER) Model 2

EECS 647: Introduction to Database Systems

CS2 Current Technologies Lecture 5: Data Modelling and Design

MIS Database Systems Entity-Relationship Model.

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

COMP Instructor: Dimitris Papadias WWW page:

CSE 530A. ER Model. Washington University Fall 2013

The Entity-Relationship Model. Steps in Database Design

High Level Database Models

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

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

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

MTAT Introduction to Databases

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald

Elements of the E-R Model

Course Notes on From Entity-Relationship Schemas to Relational Schemas

CSIT5300: Advanced Database Systems

Full file at

Unit 2 - Data Modeling. Pratian Technologies (India) Pvt. Ltd.

PES Institute of Technology Bangalore South Campus (1 K.M before Electronic City,Bangalore ) Department of MCA. Solution Set - Test-II

Topic 5: Mapping of EER Diagrams to Relations

CS3200 Database Design Spring 2018 Derbinsky. Entity-Relationship (ER) Diagrams. Lecture 7

DATABASE DESIGN I - 1DL300

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

Database Design Process

Chapter 3 Database Modeling and Design II. Database Modeling

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

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

Intro to DB CHAPTER 6

DATABASE DESIGN I - 1DL300

The Entity/Relationship (E/R) Model & DB Design. csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Meraji Winter 2018

Module 2 : Entity-Relationship Model 15

COMP102: Introduction to Databases, 9.1

Modeling Your Data. Chapter 2. cs542 1

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

Enhanced Entity-Relationship (EER) Modeling

Database Applications (15-415)

How to translate ER Model to Relational Model

ER to Relational Mapping

Transcription:

Database Design with Entity Relationship Model Vijay Kumar SICE, Computer Networking University of Missouri-Kansas City Kansas City, MO kumarv@umkc.edu

Database Design Process Database design process integrates relevant data in such a manner that it can be processed through a mechanism for recording the facts. A database of an organization is an information repository and represents facts about the organization. It is manipulated by some software to incorporate the changes that take place in the organization. The database design is a complex process. The complexity arises mainly because the identification of relationships among individual components and their representation for maintaining correct functionality are highly involved. The degree of complexity increases if there are many to many relationships among individual components. The process of identification usually requires a number of steps, which can be presented as follows: Feasibility Study Requirement collection and analysis Prototyping Design Implementation Validation and testing Operation The presentation of the facts involves two items (a) data (b) operations on the data. This defines two approaches for designing a database for an organization (a) data driven and (b) function driven. Data Driven approach Relevant data is analyzed and necessary schemas are constructed. Applications for processing the data are then developed. The following diagram illustrates the data driven approach. Data Requirements Conceptual Design Conceptual schema Logical Design Logical schema Physical Design Physical Schema Data driven Function Driven approach Application Requirements Functional analysis Functional schema High level application design Application specifications Application program design Function driven 2

Necessary functions are first designed and programmed for manipulating information. These applications are then implemented. The following diagram illustrates the function driven approach. Data and application requirements Conceptual design Functional analysis Conceptual schema Functional schema Logical design Function driven approach Both approaches are complementary to each other and in reality both are utilized. Schema Design A database schema of an organization is a description of the structure of the database in terms of relationship types and entity types. A database schema can be created (described) in any natural language. Such description is useful to understand the data processing requirements of the organization. An organization is regarded from database viewpoint as a set of functions and objects on to which these functions are applied. For example, the following description of an organization (university) explains its data processing requirements of a specific portion. It is also a schema and it is commonly referred to as External schema. University. University is an organization. One of its activities is to grant different categories of degrees to its students. To achieve this the university stores relevant data about its student, staff and faculty members. For students it stores, data about their last name, age, sex, place and state of birth, city and state of residence of their family, places and states where they lived before, courses that they have passed, with name, code, professor, grade and date. It also stores information about courses they are presently taking, and for each day, places and hours where classes are held (e.g., the database) course meets at most once every Monday). For graduate students it stores the name of the person who advises and the total number of credits in the last year. For Ph. D. students it stores the title and the research area of their thesis. For teachers it stores the last name, age, place and state of birth, name of the department they work in, telephone number, title, status, and topic of their research are stored. The above external schema describes one of the activities of the university in an informal manner. It can be further refined (made more precise and less ambiguous) by doing the following. 3

Step1: Choose appropriate terms. Ex: For places use cities. For period use number of years, etc. Step2: Avoid using instances instead of types. Ex: For Monday use once in a weekday. Step3: Avoid roundabout expression. Ex: For name of the person who advises use advisor. Step4: Check synonyms and homonyms. Ex: Synonyms teacher, professors, etc. Ex: Homonyms places used with different meaning. Step5: Make explicit references among terms. Ex: It is not clear if telephone number is a property of the professor or of the department. Step6: Prepare and use a glossary of terms. The description of the University after refinement In a university database, data about students and professors is represented. For students, we represent, last name, age, sex, city and state of birth, city and state of residence of their family, city and states where they lived before, courses that they have passed, with name, code, professor, grade and date. We also represent courses they are attending in the current year, and for each day of the week, rooms and hours where classes are held (each course meets at most once in one day). For graduate students, we represent the name of the advisor and the total number of credits in the last year. For Ph. D. students, we represent the title and the research area of their thesis. For professors we represent, last name, age, place and state of birth, name of the department they work in, telephone number of the department, title, marital status, and research area. Partitioning of sentences into homogeneous groups General sentence: In a university database, data about students and professors is represented. Sentences on students: For students, we represent, last name, age, sex, city and state of birth, city and state of residence of their family, City and States where they lived before, courses that they have passed, with name, code, professor, grade and date Sentences on courses: We also represent courses they are Attending in the current year, and for each day Of the week, Rooms and hours where classes are held (each course meets at most once in One day). Sentences on specific types of students: For graduate students, we represent the name of Advisor and the total number of credits in the last year. For Ph. D. students, we represent the title and the research area of their thesis Sentences on professors: For Professors we represent, last name, age, place and state of birth, name of the department they work in, telephone number Of the department, title, Marital status, and research Area. 4

The refined external schema, which is also referred to as External view is less ambiguous, thus more precise. Input - Informal description of application - Narratives, memo, etc. - Verbal description Analysis and Refinement Output External schema An external schema presents a very high level picture of the organization. It just indicates but does not illustrate the relationship among different components, entities, etc. It is not easy to understand from the external schema, how two or more entities interact with each other and what is the degree of their relationship, i.e., two ore more entities are related together with a relationship type. It is essential to have this information incorporated in the database design if it has to be processed with any application. Thus, the external schema must be enhanced and converted to the next detailed schema, which is referred to as conceptual schema. A conceptual schema exhibits hidden semantics of the database. It uses a semantic data model called Entity-Relationship Model (E-R model) to achieve this. First we discuss essential terms and concepts of E-R model. Database modeling concepts Abstraction: A mental process for extracting a subset of relevant characteristics and suppressing irrelevant characteristics of a set of objects. There are three types of abstraction (a) Classification, (b) Aggregation, and (c) Generalization Classification Classification abstraction defines a class of objects with a common set of properties. It collects similar things into a class. Example: class month = {January, February,...}. January, February, etc., are members of class month. In other words, January, February, etc., are classified as month. The arc represents the relationship: IS_MEMBER_OF. Thus, we say January IS_MEMBER_OF class month. Month Aggregation January February... December Classification of root class Month Aggregation abstraction defines a new class from a set of classes, which are identified as the component of the root class. Example: root class Bicycle and the components of the root class are {Wheel, Pedal,...}. The arc represents: IS_PART_OF. Thus, we say Wheel IS_PART_OF Bicycle. 5

Bicycle Classification and Aggregation Wheel Pedal Handlebar Aggregation of root class Bicycle Classification and Aggregation can be combined to model a number of situations. We illustrate this with the following example. Example: root class. Name, Sex, and Position are aggregated into. Smith, Place and Prasad are classified into the class Name. Similarly Male and Female are classified into Sex, and Manager and Director is classified into Position. The following figure illustrates the construct. Name Sex Position Generalization Smith Place Prasad Male Female Manager Director Defines a subset relationship between two or more classes. Establishes a mapping from the generic class to the subset classes. Example: A class is a generalization of two subclasses Man and Woman. Note that it is not a classification as discussed above. We aggregated Name, Sex, and Position to. We identified it with IS-MADE-OF. In generalization on the other hand, we say Man IS-A. The generalization of Man and Woman is represented as follows. Types of Abstraction Man We have the following types of abstraction Woman Aggregation: IS-MADE-OF Generalization: IS-A, IS-LIKE Classification: IS-A-MEMBER-OF Composition (similar to aggregation): IS-MADE-OF Identification: IS-IDENTIFIED-BY Coverage Constraints: Total Coverage, Partial Coverage, Exclusive Coverage and Overlapping Coverage. Total coverage: The coverage of generalization is total (t) if each element of the generic class is 6

mapped to at least one element of a subclass. Example: A manager is an employee. Manager Employee Supervisor Partial coverage: There exists one element of a generic class that cannot be mapped to any element of a subclass. In the following figure an element of cannot be mapped to Man or Employee if Women are not allowed to work in a department. Employee Man Exclusive coverage: If an element of the generic class is mapped to at most one element of a subset class. In the following example a vehicle can be mapped to at most one subclass (i.e., either car or bicycle). Vehicle Car Student Bicycle Overlapping coverage: At least one element of the generic class, which can be mapped to two or more subset classes. CS Major Math Major (t,e) (p,e) Male Female Manager (p,o) Secretary Employe (p,o) Tech Manager Admin Manager Advertise employee Sales employee Programmer Database modeling concepts Generalization hierarchy for the entity Binary Aggregation: It is a mapping established between two classes. 7

Aggregatio Uses Owns Classes Building Uses establishes relationship between and Building. Similarly Owns establishes relationship between and Building. P1 P2 P3 B1 B2 B3 B4 P1 P2 P3 B1 B2 B3 B4 Constraints Binary aggregation USES Binary aggregation OWNS Cardinality: It is quantification of participation of an object in a relationship. Minimal cardinality (min-card): Let A be the aggregation or relationship in which classes C1 and C2 participate. Then min-card is a constraint of this aggregation (relationship). Thus mincard (C1, A) and min-card (C2, A) are the minimum number of mappings in which each element of C1 and C2 must participate respectively. Consider aggregation USES (PERSON, BUILDING). If each person uses at least one building, then min-card (person, uses) = 1. If some building is not inhabited, then min-card (building, uses) = 0 Now consider another aggregation OWN (PERSON, BUILDING). If some person does not own a building, then min-card (person, owns) = 0. If a building must be owned by a person, then min-card (building, owns) = 1. If min-card (C1, A) = 0, then C1 has an optional participation in the aggregation. If min-card (C1, A) = 1, then C1 has a mandatory participation in the aggregation. Thus, min-card constraint is also known as participation constraint Maximal cardinality (max-card): Let A be an aggregation among classes C1 and C2. max-card (C1, A) and max-card (C2, A) are the maximum number of mappings in which each element of C1 and C2 may participate respectively. For USES aggregation If each person uses many buildings, then max-card (person, uses) = many If a building is inhabited by many, then max-card (building, uses) = many For OWNS aggregation If a person own many buildings, then max-card (person, owns) = many If a building is owned exactly by one person, then max (building, owns) = 1, and mincard (building, owns) = 1 8

Aggregations are classified into four types based on max cardinality max-card (C1, A) = 1 and max-card (C2, A) = 1, then aggregation C1 to C2 is one-to-one max-card (C1, A) = n and max-card (C2, A) = 1, then aggregation C1 to C2 is one-to-many max-card (C1, A) = 1 and max-card (C2, A) = n, then aggregation C1 to C2 is many-to-one max-card (C1, A) = n and max-card (C2, A) = n, then aggregation C1 to C2 is many-to-many C1 One-to-one 1:1 The Entity-Relationship Model Basic Elements C2 C1 C2 C1 C2 C1 C2 One-to-many 1:m Many-to-one m:1 Many-to-many m:n Entity (strong entity) Weak Entity Relationship type Identifying Relationship type Attribute Key attribute Multivalue attribute Composit attribute E1 R E2 E1 1 N R E2 Total participation of E2 in R Cardinality ratio 1:n for E1:E2 in R (min, max) R E2 Structural constraint (min, max) on participation of E in R Entity: A real or an abstract object. Ex:, house, etc. Relationship: Aggregation of two or more entities. Recursive relationship: Binary relationship connecting an entity to itself. Attribute Identifies elementary properties of an entity or of a relationship. Composit Attribute A set of smaller atomic attributes, which are combined together to form a composite attribute. Example: color. The color of the same car can take different values (i.e., red, blue, etc.). Single valued attribute: Takes only one value. Example: name, account number, etc. 9

Multivalued attribute: May take more than one value. Example: degree, job, title, etc. Attributes are characterized by minimal and maximal cardinality. Suppose A is an attribute of an entity E. min-card(a, E) = 0 means the value of A of E can be ignored or may be null in processing instances of E. On the other hand, if min-card(a, E) = 1, then the value of A must be specified in processing instance of E. If max-card (A, E) = 1, then A is a single value attribute and if max-card (A, E) 1, then A is a multivalue attribute. Binary relationship born_in lives_in City Ternary relationship Course meets Classroom City Recursive relationship Employee supervises Example E-R Schema birth_date name job_id 0,1 born_in lives_in 0,n City 0,n area name moving_date address street city state Schema transformation: A schema can go through a number of transformations before the final scheme is reached. These transformations are achieved through a number of primitives. We only discuss top-down primitives. 10

Primitives Starting scheme Transformed (final) schema Top-down primitives: A simple structure. The starting schema is a single concept, and the resulting schema is a set of concepts. All names are refined into new names, and the logical connection is inherited by a single concept of the resulting schema. Top-down schema transformation primitives Primitive T1: Entity Related entities Starting schema Resulting schema T2: Entity Generalization T3: Entity Uncorelated entities --- --- T4: Relationship Parallel relationships T5: Relationship Entity with relationships T6: Attribute development or or T7: Composit attribute development or or T8: Attribute refinement or Top-down schema transformation primitives description T1: Refines an entity into a relationship between two or more entities. Example: Place into City and State. City Place in State T2: Refines an entity into a generalization hierarchy or a subset. Example: is refined into Male and Female. 11

Man Woman T3: Splits an entity type into a set of independent entities. The effect of this primitive is to introduce new entities and not to establish relationship or generalization among them. Example: Award is split into two entities Nobel_prize and Oscar. Award Nobel prize Oscar T4: Refines a relationship into two (or more) relationships among the same entities. Example: Relationship related to between and City is refined into Lives_in and Born_in. Related to born_in lives_in City City T5: Refines a relationship into entities and relationships. Applying this primitive corresponds to recognizing that a relationship between two concepts should be expressed via a third concept, which was hidden in the previous representation. Example: Relationship Works_in between Employee and Department is refined into a more complex aggregation that includes the entity Manager and two new relationships. Employee Employee Works_with Works_in Department Manager Head_of Department T6: Refines an entity (or a relationship) by introducing its attributes. Example: Attributes Name and Age are generated for entity. Name Age T7: Refines an entity (or a relationship) by introducing composite attributes. Example: Composite attribute Address is generated for. 12

Address T8: Refines a simple attribute into either a composite or into a group of attributes. Example: Attribute Date is refined into a composite attribute Day, Month, and Year. The attribute Health_Data is refined in terms of the attributes Health_State and Date_Last_Vaccinitation. Date Date Day Month Year Health_Data Health_State Date_Last_Vaccination Applying a complex top-down schema transformation Starting schema Op. System Works with Package Manages Stored date Resulting schema Op. System Works with DBMS Manages Stored date Interprets DDL/DML Written in Application program Grants access Programmer Written by DB Admin Criteria for choosing the right modeling constructs First example 13

Name Age Name Age City of birth born_in City Name Second example Name Age Name Age Man Woman Sex Maiden name Maiden name Q: Should a real world object be modeled as an entity or as an attribute? A: Object should be an entity if a number of attributes could be associated with it for proper identification and description, either now or later. Object should be an attribute, if it has an atomic nature. For example, Color should be an attribute, unless we identify Color either as a process (e.g., painting) where a number of attributes codes are to be recorded (e.g., type, shade, gray-scale, manufacturer, or as an object with properties (e.g., car-color with details) Q: Should generalization be used or an attribute? A: Generalization should be used if later in the design some attributes can be associated with lower level entities but not with the generic entity. For example: in generalization of person, attribute 'maiden name' can be associated with entity Woman. If no attribute is likely to be associated with any of the lower level entity then an attribute should be chosen. Q: Should a composite attribute or a set of attributes be chosen? A: Composite attribute is chosen when a meaningful name can be assigned to the set of attributes, e.g., data, address. Otherwise a set of simple attributes should be chosen. 14