An Example in Data Modeling in UML

Size: px
Start display at page:

Download "An Example in Data Modeling in UML"

Transcription

1 An Example in Data Modeling in UML Data modeling is a difficult topic for many students to learn and also for an instructor to teach. This full example shows the nuances of data modeling and discusses some mistakes students made. It is a question in a mid-term examination in a graduate DBMS course. Limited by the examination, the example is artificially designed to test students of many common patterns in modeling and not necessarily very realistic. The Student Group System (SGS) Question As appeared in the examination: The goal is to build a toy prototype database to partially support a portion of a drastically simplified student group system (SGS). Construct an UML class diagram to capture and model the partial requirements below. You should list class names, attributes with multiplicities, and associations with multiplicities. Roles of associations should also be provided when appropriate. Multiplicities should be as specific as possible. Show the stereotype <<PK>> (primary key) when applicable. In SGS, students can form groups to do things and join these groups as members. The student id (a unique identifier that can serve as a key), name, , and phone of a student should be recorded. All are mandatory fields with the exception of phone, which is optional. When a student joins a group as a member, the join time must be stored, together with an optional comment. A group must have a unique id and a name. It may also have a description. It can be a top group or a lower level group. A group may have some subgroups, which are themselves groups, and thus may have their own subgroups. A top level group must have a faculty supervisor, so a faculty id must be stored. A member can make comments on a top level group (but not a lower level group). Such comments should be recorded with the time they were made. The Suggested Solution The suggested solution was constructed using the community version of Astah.

2 Explanations Let s start with the straightforward classes: Student and Group. In the specification: This is modeled in the UML diagram:

3 Note: 1. A student has many properties and relationships. It is thus modeled as a class. 2. StudentId is a unique identifier. We use the stereotype <<PK>> to capture this requirement. <<PK>> is a database modeling extension standing for primary key in our use, which will be unique in the relation implementing the Student class eventually. We make the assumption that StudentId will be the primary key. 3. LName, FName, and Phone are properties of a student and are modeled as attributes of the class Student. We break the name into LName (last name) and FName (first name). It is possible that further breakdown or additions are appropriate, such as MiddleInitial. For the multiplicities of the attributes of the class Student, in the requirement specification: In the UML model: Note: 1. LName, FName and are mandatory and thus have the multiplicity of 1, i.e When converted to the relational model, these attributes will be non-nullable in the relation Student (that implements the class Student). 2. Phone is optional and thus has the multiplicity of It will eventually be nullable in the relation Student,

4 3. Furthermore, the multiplicity of StudentId is 1 since the value of primary key is mandatory. For the concept group and its relationship with student, in the specification: The model: Note: 1. The class Group is created. 2. There are two descriptions of groups in the sentence: students form groups to do things and students join groups as members. It is necessary to study whether they are two different concepts between students and groups, or just one. In this case, we assume that they are the same as in students form and join groups as members to do things. It is modeled by the class Membership, which will be discussed next. The specification about members:

5 It is possible to model this requirement as an association between the class student and the class group: One may read this association as: (A student) (is a member of) - (a group). Alternatively, an association can be promoted to a class in an UML model. A class has the extra flexibility of having attributes and forming associations with other classes. An association cannot form associations with other classes. In the suggested model: The association is promoted to a class Membership because: 1. It has two properties, Since and Comment, that can now be modeled as attributes of the class. 2. More importantly, the class Membership forms an association with another class Comment. It is a good practice to document your UML diagram while developing them. At the minimum, definitions and descriptions should be provided for the classes. The advantages:

6 1. Communications: clear definitions enhance articulation, discussion and refinement with stakeholders. 2. Perspectives: documentation provides an additional perspective to improve modeling and detect model deficiency. 3. Clarifications: Further elaborations on assumptions help better understanding of the problem requirements. For the class Membership : Note that in the class description of Membership : A membership describes a student joining a group. The comment attribute stores the optional comment a student may make when joining a group, whether it is a top level group or a lower level group. This is not to be confused with the comment class, which represents the comments a member can make to a top level group (but not to a lower level group). There are a definition and a clarification of what the comment attribute is. Note also that the class name of Membership is better than the possibly more intuitive name of Member. The term Member may give the impression that the object is a person. It is not. It is really the collection of information of a membership between a person and a group. After promoting membership to a class, the multiplicities with the classes Student and Group are:

7 In UML-speak, we have: 1. Every Membership object is associated with exactly one Student object. 2. Every Membership object is associated with exactly one Group object. In daily English: A membership is a student joining a group (as a member). Note that the term member in the sentence above is not really a person but a role a student assumes when joining a group. For the other multiplicities in these associations:

8 In UML-speak, we have: 1. Every Student object is associated with 0 or more Membership objects. 2. Every Group object is associated with 0 or more Membership objects. In daily English: Every group have many students. Each student may join many groups. For the properties of a group, in the requirement specifications, we have: In the corresponding suggested model: Note: 1. Join time is modeled as the attribute Since. 2. The adjective must is modeled as the multiplicity 1 (i.e. 1..1) for Since. 3. Comment is modeled as the attribute Comment. 4. The adjective optional is modeled as the multiplicity 0..1 for Comment.

9 For the properties of a group, in the requirement specification: In the suggested model: Note: 1. The noun Id is modeled as the attribute GroupId. A more specific name is used. 2. The adjective unique is modeled by the stereotype <<PK>> of GroupId. 3. The word must means that the multiplicities of GroupId and GroupName should be The noun Name is modeled as the attribute GroupName. A more specific name is used. 5. The noun Description is modeled as an attribute. 6. The word may means that the multiplicity of Description should be About the different kinds of groups, the requirement specification has:

10 Two concepts show up: 1. Top group 2. Lower level group There are many possible ways to model this. For examples: 1. Use an attribute GroupType in the class Group. The value of the attribute may include top and lower. 2. Use a class GroupType and an association between the class Group and GroupType. 3. Introduce two classes, such as TopGroupProperty and LowerGroupProperty, to store the properties that are top group or lower level group respectively. This is a more appropriate approach if the properties can be shared with classes other than the Group class. 4. Introduce two classes, such as TopGroup and LowerGroup as the subclasses of the class Group. This is used by the suggested model.

11 There are many criteria that may favor the use of an inheritance structure (instead of just using attributes, for example). One such metric is whether there are needs for the distinction between the classes in the inheritance structure. Our suggested solution consider this distinction to be necessary: Note: 1. A membership is associated to a group, no matter whether it is a top group or a lower group. 2. Only a top group can have comment made with a membership. 3. Only a top group has a FacultyId serving as its supervisor. 4. Only a lower level group can be a subgroup.

12 On subgroups, the requirement specification has: There are three concepts in the sentence above: 1. A group may have some subgroups. 2. A subgroup is a group. 3. Thus, a subgroup may have its own subgroups. In the suggested model: The concepts are modeled as below: 1. A group may some subgroups: a group may have 0..* child group. 2. A subgroup is a group: the class LowerGroup (subgroup) is a subclass of the class Group. Thus, a LowerGroup object is also a Group object. 3. As a result of (1) and (2), a subgroup may have its own subgroups: a LowerGroup object is also a Group object and thus may have 0..* child subgroups itself. Thus, the parent group is a group object and the child group is a lower level group object. An assumption that is not entirely certain from the specification has been made:

13 A top level group cannot be a subgroup of any other group. In the suggested model: The conversion of this assumption is: 1. A lower level group must be a subgroup of another group, its parent group. Some observations can be drawn:

14 1. Since a lower group is defined as a subgroup that must have a parent group, the multiplicity of the role parent group must be 1, and not In UML-speak, every lower group object is associated with exactly one group object as its parent. 2. On the other hand, a group object is associated with 0..* lower group objects as its child groups. In plain English, a group may have many subgroups. 3. Like program documentation, redundant documentation may not be necessary. If an association is not ambiguous, it is not necessary to provide its names or the role names of the participating classes. However, if it is not clear, role names, such as parent group and child group, are helpful. To revisit the specification on membership: The specification does not precisely specify whether a student can join a top level group, a lower level group, or both. It is assumed to be both. In the model:

15 Note: 1. As a result of this assumption, the association from the Membership class is to the group class, which is the superclass of both TopGroup and LowerGroup classes. 2. The assumption is included in the definition of the class Group. A (student) group may be a top level group or a lower level group that a student can join. It is assumed that a student can join any number of groups. She can join a group and any number of its subgroups. The specification has the following description the faculty supervisor of a top level group: In the suggested model:

16 Note: 1. The facultyid is an attribute of the class TopGroup, as LowerGroup does not have a faculty supervisor. 2. FacultyId is modeled as an attribute. In a more realistic model, it is likely that a class Faculty is needed, and the supervisor concept is modeled as a many to one association between TopGroup and Faculty. The specification has the following description on comments made by members on top level groups. In the suggested model:

17 Note: 1. The specification indicates that (a member) (makes comment on) (a top group.) A comment is an association between a member and a top group. It is promoted to a full class as there are two properties to be modeled. This is similar to the class of the class Membership, which is also promoted from an association. Thus, the multiplicities of comment to member and comment to topgroup are both many (0..*) to one (1). 2. In this context, the commenting member is not just a student, but a student holding a membership. Thus, the association is between the classes Membership and Comment, but not Student and Comment. 3. The specification adds the narrative but not a lower level group. This further confirm that the association from the class Comment is to the class TopGroup, but not Group or LowerGroup. Potential Mistakes To appear

CS 338 The Enhanced Entity-Relationship (EER) Model

CS 338 The Enhanced Entity-Relationship (EER) Model CS 338 The Enhanced Entity-Relationship (EER) Model Bojana Bislimovska Spring 2017 Major research Outline EER model overview Subclasses, superclasses and inheritance Specialization and generalization Modeling

More information

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet

More information

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities Chapter 3 Entity-Relationship Data Modeling: Process and Examples Fundamentals, Design, and Implementation, 9/e A Data Modeling Process Steps in the data modeling process Plan project Determine requirements

More information

Lecture 10. Spring 2018 Borough of Manhattan Community College

Lecture 10. Spring 2018 Borough of Manhattan Community College Lecture 10 Spring 2018 Borough of Manhattan Community College 1 Chapter Objectives In this lecture you will learn: The limitations of the basic concepts of the Entity-Relationship (ER) model and the requirements

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

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

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling COSC 304 Introduction to Database Systems Entity-Relationship Modeling Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Conceptual Database Design Conceptual database design

More information

Chapter 7: Entity-Relationship Model

Chapter 7: Entity-Relationship Model Chapter 7: Entity-Relationship Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 7: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

Course on Database Design Carlo Batini University of Milano Bicocca

Course on Database Design Carlo Batini University of Milano Bicocca Course on Database Design Carlo Batini University of Milano Bicocca 1 Carlo Batini, 2015 This work is licensed under the Creative Commons Attribution NonCommercial NoDerivatives 4.0 International License.

More information

Chapter 7: Entity-Relationship Model

Chapter 7: Entity-Relationship Model Chapter 7: Entity-Relationship Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 7: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

Roadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML*

Roadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML* E-R Model (II) 1 Roadmap of This Lecture Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML* 2 Weak Entity Sets An entity set that does not have a primary key is referred

More information

Chapter 7: Entity-Relationship Model

Chapter 7: Entity-Relationship Model Chapter 7: Entity-Relationship Model, 7th Ed. See www.db-book.com for conditions on re-use Chapter 7: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram Design Issues Weak Entity

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Final Solution. CS510, Fall 2012, Drexel University Ariel Stolerman

Final Solution. CS510, Fall 2012, Drexel University Ariel Stolerman CS510 Final Solution 1 Ariel Stolerman Final Solution CS510, Fall 2012, Drexel University Ariel Stolerman 1) There is a refinement of the algorithm called the algorithm. Assume that you are given a heuristic

More information

Chapter 7: Entity-Relationship Model

Chapter 7: Entity-Relationship Model Chapter 7: Entity-Relationship Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 7: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

Enhanced Entity-Relationship (EER) Modeling

Enhanced Entity-Relationship (EER) Modeling CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes

More information

Object-Oriented Introduction

Object-Oriented Introduction Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 22, 2012

More information

Tutorial notes on. Object relational structural patterns

Tutorial notes on. Object relational structural patterns Tutorial notes on Object relational structural patterns Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 14 Exercise 1. a) Briefly describe what is

More information

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

DATABASE SYSTEMS. Chapter 5 Entity Relationship (ER) Modelling DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT DATABASE SYSTEMS DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT Chapter 5 Entity Relationship (ER) Modelling 1 Coronel & Crockett 978184480731) In this chapter, you will

More information

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Chapter (4) Enhanced Entity-Relationship and Object Modeling Chapter (4) Enhanced Entity-Relationship and Object Modeling Objectives Concepts of subclass and superclass and the related concepts of specialization and generalization. Concept of category, which is

More information

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More information

Entity Relationship Modelling

Entity Relationship Modelling Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes, and relationships in a system The degree of

More information

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling COSC 304 Introduction to Database Systems Entity-Relationship Modeling Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Conceptual Database Design Conceptual database design

More information

Outline. Chapter 6. Developing Data Models for Business Databases. Prof. Rasley. McGraw-Hill/Irwin

Outline. Chapter 6. Developing Data Models for Business Databases. Prof. Rasley. McGraw-Hill/Irwin Chapter 6 Developing Data Models for Business Databases Prof. Rasley Outline Guidelines for analyzing business information needs s for generating alternative designs Finalizing an ERD Schema Conversion

More information

Ch 9: Mapping EER to Relational. Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7

Ch 9: Mapping EER to Relational. Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7 Ch 9: Mapping EER to Relational Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7 Additional steps for EER model for specialization/generalization steps 8a

More information

Chapter 2 ENTITY RELATIONSHIP MODEL

Chapter 2 ENTITY RELATIONSHIP MODEL INTRODUCTION Chapter 2 ENTITY RELATIONSHIP MODEL Data model is used to describe data, data relationship and constraints on data. A number of different data models have proposed. They can broadly be classified

More information

Conceptual Database Design

Conceptual Database Design Conceptual Database Design Fall 2009 Yunmook Nah Department of Electronics and Computer Engineering Dankook University Conceptual Database Design Methodology Chapter 15, Connolly & Begg Steps to Build

More information

Experimenting with bags (tables and query answers with duplicate rows):

Experimenting with bags (tables and query answers with duplicate rows): January 16, 2013 Activities CS 386/586 Experimenting with bags (tables and query answers with duplicate rows): Write an SQL query (and run it against the sailors database) that does the following: 1. List

More information

CSCI 5333 DBMS Fall 2018 Mid-Term Examination. Last Name: First Name: Student Id:

CSCI 5333 DBMS Fall 2018 Mid-Term Examination. Last Name: First Name: Student Id: CSCI 5333 DBMS Fall 2018 Mid-Term Examination Last Name: First Name: Student Id: Number: Time allowed: two hours. Total score: 100 points. Closed book examination. Answer all questions. Write in the back

More information

Fundamentals of Health Workflow Process Analysis and Redesign

Fundamentals of Health Workflow Process Analysis and Redesign Fundamentals of Health Workflow Process Analysis and Redesign Unit 10.3f Process Mapping Entity-Relationship Diagrams Slide 1 Welcome to the Entity-Relationship Diagrams Subunit. This is the fifth and

More information

Applied Information and Communication Technology

Applied Information and Communication Technology Applied Information and Communication Technology Unit 7: Using Database Software Summer 2010 Example Solution and Principal Examiner Advice and Guidance Activity 1...3 Activity 2...6 Activity 3...12 Activity

More information

Module 2 : Entity-Relationship Model 15

Module 2 : Entity-Relationship Model 15 Module 2 : Entity-Relationship Model 15 Module-02 Entity Relationship Data Model 2.1 Motivation Data modeling is an essential step in the process of creating any Database Application. It helps Database

More information

Understanding Entity Relationship Diagrams. Dr. Chawalit Jeenanunta

Understanding Entity Relationship Diagrams. Dr. Chawalit Jeenanunta Understanding Entity Relationship Diagrams Dr. Chawalit Jeenanunta Objective Business rule representation Diagram rules Alternative notations Dr. Chawalit Jeenanunta DBMS: Slide 2 Business Rules Enforce

More information

OBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization.

OBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization. 7.5 逻辑数据库设计 OBJECTIVES How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization. 2 OBJECTIVES How to validate a logical data model

More information

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam Question No: 1 ( Marks: 1 ) - Please choose one Which of the following is NOT a feature of Context DFD?

More information

CS211 Lecture: Database Design

CS211 Lecture: Database Design CS211 Lecture: Database Design Objectives: last revised November 21, 2006 1. To introduce the anomalies that result from redundant storage of data 2. To introduce the notion of functional dependencies

More information

Chapter 4. In this chapter, you will learn:

Chapter 4. In this chapter, you will learn: Chapter Entity Relationship (ER) Modeling Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel 1 In this chapter, you will learn: The main characteristics of entity

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) m2n: Translating Models to Natural Language

More information

Database Design with Entity Relationship Model

Database Design with Entity Relationship Model 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

More information

More Notes on 'A Clash of Intuitions 9

More Notes on 'A Clash of Intuitions 9 More Notes on 'A Clash of Intuitions 9 R. Al-Asady A. Narayanan ras@uk.ac.exeter.dcs ajit@uk.ac.exeter.dcs Computer Science Department Exeter University Exeter EX4 4PT U.K. Abstract A path-based inheritance

More information

IT 204 Final Project Guidelines and Rubric Database Proposal and Implementation Plan Report

IT 204 Final Project Guidelines and Rubric Database Proposal and Implementation Plan Report IT 204 Final Project Guidelines and Rubric Database Proposal and Implementation Plan Report Overview The final project for this course is the creation of a database proposal and implementation plan report

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 8 The Enhanced Entity- Relationship (EER) Model Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization

More information

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

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 Database Systems: Design, Implementation, and Management Tenth Edition Chapter 4 Entity Relationship (ER) Modeling Objectives In this chapter, students will learn: The main characteristics of entity relationship

More information

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 Database Systems: Design, Implementation, and Management Tenth Edition Chapter 4 Entity Relationship (ER) Modeling 4.1 The Entity Relationship Model (ERM) ER model forms the basis of an ER diagram ERD

More information

CS 405G: Introduction to Database Systems

CS 405G: Introduction to Database Systems CS 405G: Introduction to Database Systems Entity Relationship Model Jinze Liu 9/11/2014 1 CS685 : Special The UNIVERSITY Topics in Data of Mining, KENTUCKY UKY Review A database is a large collection of

More information

CMPT 354 Database Systems I

CMPT 354 Database Systems I CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data

More information

Entity Relationship Diagram (ERD): Basics

Entity Relationship Diagram (ERD): Basics Entity Relationship Diagram (ERD): Basics CIS 3730 Designing and Managing Data J.G. Zheng Fall 2010 Overview: 3 Level Database Design Creating an Entity Relationship Diagram (ERD) and associated data dictionary

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

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

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell Data Analysis 1 Chapter 2.1 V3.1 Copyright @ Napier University Dr Gordon Russell Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is

More information

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Design Engineering. Dr. Marouane Kessentini Department of Computer Science Design Engineering Dr. Marouane Kessentini Department of Computer Science 1 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non functional characteristics) How

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Review The Big Picture

Review The Big Picture CS445 - Introduction to Database Management Systems Fall Semester 2015 LECTURE 6 The Entity-Relationship Model Introduction TEXTBOOK REFERENCE: CHAPTERS 2,3 R&G 1 Review The Big Picture Data Modeling Relational

More information

Systems Analysis and Design Methods Chapter 7: Data Modeling and Analysis

Systems Analysis and Design Methods Chapter 7: Data Modeling and Analysis Systems Analysis and Design Methods Chapter 7: Data Modeling and Analysis Multiple Choice Questions 1. Which of the following sentence is NOT correct about a logical model: A. is implementation dependent

More information

Unit I. By Prof.Sushila Aghav MIT

Unit I. By Prof.Sushila Aghav MIT Unit I By Prof.Sushila Aghav MIT Introduction The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager DBMS Applications DBMS contains

More information

The En'ty Rela'onship Model

The En'ty Rela'onship Model The En'ty Rela'onship Model Debapriyo Majumdar DBMS Fall 2016 Indian Statistical Institute Kolkata Slides re-used, with minor modification, from Silberschatz, Korth and Sudarshan www.db-book.com Outline

More information

Modelling with Classes. CITS1220 Software Engineering

Modelling with Classes. CITS1220 Software Engineering Modelling with Classes CITS1220 Software Engineering Lecture Overview Classes and UML Associations between classes Special types of association: is-a, has-a, is-part-of Modelling Example Implementing associations

More information

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

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 7 Data Modeling with Entity Relationship Diagrams Objectives In this chapter, students will learn: The

More information

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases.

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Topic 3.3: Star Schema Design This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Star Schema Overview The star schema is a simple database architecture

More information

UML Class Diagrams Revisited

UML Class Diagrams Revisited 9/25/2003 1 UML Class diagrams Organizing attributes and operations Class relationships Association Aggregation/Composition Multiplicity Dependencies 9/25/2003 2 UML Class Diagrams Revisited In the analysis

More information

Reflections on using Qualtrics for Course Evaluations EFS & ALC Summer Jennifer DeSantis August 28, 2013

Reflections on using Qualtrics for Course Evaluations EFS & ALC Summer Jennifer DeSantis August 28, 2013 Reflections on using Qualtrics for Course Evaluations EFS & ALC Summer 2013 Jennifer DeSantis August 28, 2013 Summary: Using Qualtrics for course evaluations has overall been a success. There are several

More information

Chapter 2: Entity-Relationship Model

Chapter 2: Entity-Relationship Model Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

needs, wants, and limitations

needs, wants, and limitations In broad terms Process in which the needs, wants, and limitations of end users of a product are given extensive attention at each stage of the design process. ISO principles which says that the design

More information

COIS Databases

COIS Databases Faculty of Computing and Information Technology in Rabigh COIS 342 - Databases Chapter 4 Enhanced Entity-Relationship and UML Modeling Adapted from Elmasri & Navathe by Dr Samir BOUCETTA First Semester

More information

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

Chapter 2. Database Design. Database Systems p. 25/540 Chapter 2 Database Design Database Systems p. 25/540 Database Design Phases requirements analysis specification conceptual design conceptual schema logical design logical schema physical design physical

More information

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented

More information

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model. Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common

More information

Structured and Object Oriented Analysis and Design

Structured and Object Oriented Analysis and Design RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NERUL Department of Computer Engineering Lab Manual Structured and Object Oriented Analysis and Design 2015-2016 List of Experiments Subject: Structured and object

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010 CS403- Database Management Systems Solved MCQS From Midterm Papers April 29,2012 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 CS403- Database Management Systems MIDTERM EXAMINATION - Spring

More information

How to Request a Client using the UCC Self Serve Website. The following provides a detailed description of how to request a client...

How to Request a Client using the UCC Self Serve Website. The following provides a detailed description of how to request a client... The following provides a detailed description of how to request a client... 1. User Info - The first step is to confirm that we have your current information in case we need to contact you. Click on the

More information

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS

More information

Information Technology Audit & Cyber Security

Information Technology Audit & Cyber Security Information Technology Audit & Cyber Security Structural Modeling Systems & Infrastructure Lifecycle Management OBJECTIVES demonstrate the differences between object diagrams and class diagrams, explain

More information

Entity-Relationship Model. Dr. Samaresh Mishra, School of Computer Engineering, KIIT University, Bhubaneswar

Entity-Relationship Model. Dr. Samaresh Mishra, School of Computer Engineering, KIIT University, Bhubaneswar Entity-Relationship Model Dr. Samaresh Mishra, School of Computer Engineering, KIIT University, Bhubaneswar Conceptual data modelling motivation, Entities, Entity types, Various types of attributes, Relationships,

More information

Why is Inheritance Important?

Why is Inheritance Important? Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 A Controlled Experiment on Inheritance Depth as a Cost Factor in Maintenance Walter F. Tichy University of Karlsruhe Why is Inheritance Important?

More information

Relational Database Design Part I. Announcements (September 5) Relational model: review. CPS 116 Introduction to Database Systems

Relational Database Design Part I. Announcements (September 5) Relational model: review. CPS 116 Introduction to Database Systems Relational Database Design Part I CPS 116 Introduction to Database Systems Announcements (September 5) 2 rack040 accounts created; change your password! Let me know if you have NOT received the email Homework

More information

Guide to Use of the CFP Marks by Education Partners

Guide to Use of the CFP Marks by Education Partners Guide to Use of the CFP Marks by Education Partners CFP CM, CERTIFIED FINANCIAL PLANNER CM and are certification marks owned outside the U.S. by Financial Planning Standards Board Ltd. (FPSB). Financial

More information

Requirement Analysis & Conceptual Database Design

Requirement Analysis & Conceptual Database Design Requirement Analysis & Conceptual Database Design Problem analysis Entity Relationship notation Integrity constraints Generalization Introduction: Lifecycle Requirement analysis Conceptual Design Logical

More information

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes. Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational

More information

MIS Database Systems Entity-Relationship Model.

MIS Database Systems Entity-Relationship Model. MIS 335 - Database Systems Entity-Relationship Model http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database Design Main concepts in the ER model? ER Diagrams Database Design

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 9: The Object-Oriented Design Process and Design Axioms Goals The object-oriented design process. Object-oriented design

More information

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Perfect Timing Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Problem & Solution College students do their best to plan out their daily tasks, but

More information

COMP102: Introduction to Databases, 13

COMP102: Introduction to Databases, 13 COMP102: Introduction to Databases, 13 Dr Muhammad Sulaiman Khan Department of Computer Science University of Liverpool U.K. 7 March, 2011 Logical Database Design: Enhanced ER Modeling Specific topics

More information

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Entity-Relationship Diagrams. This is Lecture e.

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Entity-Relationship Diagrams. This is Lecture e. WORKFLOW ANALYSIS Audio Transcript Component 10 Unit 3 Lecture E Fundamentals of Health Workflow Process Analysis & Redesign Interpreting and Creating Process Diagrams Process Mapping UML notation for

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/29/2015 http://cs.gsu.edu/~ncasturi1 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation)

More information

Mapping ER Diagrams to. Relations (Cont d) Mapping ER Diagrams to. Exercise. Relations. Mapping ER Diagrams to Relations (Cont d) Exercise

Mapping ER Diagrams to. Relations (Cont d) Mapping ER Diagrams to. Exercise. Relations. Mapping ER Diagrams to Relations (Cont d) Exercise CSC 74 Database Management Systems Topic #6: Database Design Weak Entity Type E Create a relation R Include all simple attributes and simple components of composite attributes. Include the primary key

More information

Lecture 10 - Chapter 7 Entity Relationship Model

Lecture 10 - Chapter 7 Entity Relationship Model CMSC 461, Database Management Systems Spring 2018 Lecture 10 - Chapter 7 Entity Relationship Model These slides are based on Database System Concepts 6th edition book and are a modified version of the

More information

Consistency The DBMS must ensure the database will always be in a consistent state. Whenever data is modified, the database will change from one

Consistency The DBMS must ensure the database will always be in a consistent state. Whenever data is modified, the database will change from one Data Management We start our studies of Computer Science with the problem of data storage and organization. Nowadays, we are inundated by data from all over. To name a few data sources in our lives, we

More information

(Photos and Instructions Based on Microsoft Outlook 2007, Gmail, Yahoo! Mail, and Hotmail)

(Photos and Instructions Based on Microsoft Outlook 2007, Gmail, Yahoo! Mail, and Hotmail) Specific instructions on how to compose a professional e-mail using send and reply options, basic e-mail components, appropriate wording, content, tone, and examples of what not to do. (Photos and Instructions

More information

Project Assignment 2 (due April 6 th, 2016, 4:00pm, in class hard-copy please)

Project Assignment 2 (due April 6 th, 2016, 4:00pm, in class hard-copy please) Virginia Tech. Computer Science CS 4604 Introduction to DBMS Spring 2016, Prakash Project Assignment 2 (due April 6 th, 2016, 4:00pm, in class hard-copy please) Reminders: a. Out of 100 points. Contains

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg Database Systems A Practical Approach to Design, Implementation, and Management For these Global Editions, the editorial team at Pearson has collaborated with educators across the world to address a wide

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes all modeling concepts of basic ER Additional concepts:

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 15, 2014 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

More information

"Relations for Relationships"

Relations for Relationships M359 An explanation from Hugh Darwen "Relations for Relationships" This note might help those who have struggled with M359's so-called "relation for relationship" method of representing, in a relational

More information

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

1/24/2012. Chapter 7 Outline. Chapter 7 Outline (cont d.) CS 440: Database Management Systems CS 440: Database Management Systems Chapter 7 Outline Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys Relationship

More information