Modeling Databases Using UML

Similar documents
CMP-3440 Database Systems

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Object-Oriented Data Modeling. After studying this chapter, you should be able to:

Object-Oriented Data Modeling


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

Database Design Process

Chapter 8: Enhanced ER Model

Chapter 2: Entity-Relationship Model

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model

Unified Modeling Language (UML)

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

Chapter 8 The Enhanced Entity- Relationship (EER) Model

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

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

Database Design Process. Requirements Collection & Analysis

Chapter 7: Entity-Relationship Model

Chapter 7: Entity-Relationship Model

A l Ain University Of Science and Technology

High Level Database Models

Chapter 7: Entity-Relationship Model

Entity-Relationship Diagrams

Chapter 7: Entity-Relationship Model

Chapter 6: Entity-Relationship Model

ER to Relational Mapping

Relational DB Design by ER- and EER-to-Relational Mapping Design & Analysis of Database Systems

Chapter 6: Entity-Relationship Model

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

Conceptual Design with ER Model

A l Ain University Of Science and Technology

Database Management

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

Database system development lifecycles

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

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

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

Intro to DB CHAPTER 6

ER-to-Relational Mapping

The En'ty Rela'onship Model

CS54100: Database Systems

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

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

THE ENHANCED ER (EER) MODEL CHAPTER 8 (6/E) CHAPTER 4 (5/E)

CS 338 The Enhanced Entity-Relationship (EER) Model

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

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

Enhanced Entity-Relationship (EER) Modeling

MIS Database Systems Entity-Relationship Model.

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

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

Unit I. By Prof.Sushila Aghav MIT

Chapter (4) Enhanced Entity-Relationship and Object Modeling

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

II. Data Models. Importance of Data Models. Entity Set (and its attributes) Data Modeling and Data Models. Data Model Basic Building Blocks

LELCTURE 4: ENHANCED ENTITY-RELATIONSHIP MODELING (EER)

Chapter 11 Object and Object- Relational Databases

COMP Instructor: Dimitris Papadias WWW page:

Chapter 10. Database System Development Lifecycle

Chapter 2: Entity-Relationship Model. Entity Sets. Entity Sets customer and loan. Attributes. Relationship Sets. A database can be modeled as:

Copyright 2016 Ramez Elmasr and Shamkant B. Navathei

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

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

ENTITY-RELATIONSHIP MODEL

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

The Entity-Relationship Model. Steps in Database Design

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

Chapter 2 Conceptual Modeling. Objectives

Chapter 6: Entity-Relationship Model

Entity-Relationship Model

CSE 880:Database Systems. ER Model and Relation Schemas

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

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

CMPT 354 Database Systems I

CS 405G: Introduction to Database Systems

DATABASE DESIGN I - 1DL300

Entity Relationship Data Model. Slides by: Shree Jaswal

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

Data about data is database Select correct option: True False Partially True None of the Above

Relational Database Systems Part 01. Karine Reis Ferreira

Chapter 7 Relational Database Design by ER- and EERR-to-Relational Mapping

High-Level Database Models (ii)

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

Chapter 5: Structural Modeling

Information Technology Audit & Cyber Security

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

Data Modeling using ER Model

Chapter 7: Entity-Relationship Model. Chapter 7: Entity-Relationship Model

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

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University

Database Design Using E/R Model

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

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

Relational Database Design Part I. Announcement. Relational model: review. CPS 116 Introduction to Database Systems

Unit1: Introduction. Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Basant Group of Institution

DATABASE DESIGN I - 1DL300

Mahathma Gandhi University

Conceptual Design. The Entity-Relationship (ER) Model

Transcription:

Modeling Databases Using UML Fall 2017, Lecture 4 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Software to be used in this Chapter Star UML http://www.mysql.com/products/workbench/ Visual Paradigm: http://www.visual-paradigm.com (CE) 2

Software to be used in this Chapter Microsoft Visio has a UML-like set of diagramming templates for databases For Macs OmniGraffle has UML or spreadsheet templates that can be used for ER diagrams 3 Recap: Steps in Database Design Miniworld DBMS independent DBMS dependent Functional Analysis Application Program Design Functional Requirements High LevelTransaction Specification Requirements Analysis Conceptual Design Logical Design Physical Design Data Requirements Conceptual Schema Logical Schema this lecture Transaction Implementation Internal Schema Application Programs 4

Object-Oriented Modeling Becoming increasingly important as Object-Oriented and Object-Relational DBMS continue to proliferate Databases become more complex and have more complex relationships than are easily captured in ER or EER diagrams 5 Unified Modeling Language (UML) Combined three competing methods Can be used for graphically depicting Software designs and interaction Database Processes 6

Object Benefits Encapsulate both data and behavior Object-oriented modeling methods can be used for both database design and process design Real-World applications have more than just the data in the database they also involve the processes, calculations, etc performed on that data to get real tasks done OOM can be used for more challenging and complex problems 7 Unified Modeling Language (UML) UML methodology Used extensively in software design Many types of diagrams for various software design purposes UML class diagrams Entity in ER corresponds to an object in UML 8

UML Classes A class is a named description of a set of objects that share the same attributes (states), operations, relationships, and semantics. An object is an instance of a class that encapsulates state and behavior. These objects can represent real-world things or conceptual things. An attribute is a named property of a class that describes a range of values that instances of that class might hold. An operation is a named specification of a service that can be requested from any of a class's objects to affect behavior in some way or to return a value without affecting behavior 9 UML Classes Attributes have types. PK indicates an attribute in the primary key (optional) of the object. Methods have declarations: arguments (if any) and return type. 10

UML Relationships An relationship is a connection between or among model elements. The UML defines four basic kinds of relationships: Association Dependency Generalization Realization 11 UML Diagrams The UML defines nine types of diagrams: activity diagram class diagram Describes the data and some behavioral (operations) of a system collaboration diagram component diagram deployment diagram object diagram sequence diagram State chart diagram use case diagram 12

Class Diagrams A class diagram is a diagram that shows a set of classes, interfaces, and/or collaborations and the relationships among these elements. 13 Example: Bar Class Class Name Bar PK Name: string Addr: string Attributes Methods setname(n) setaddr(a) getname() : string getaddr() : string sellsbud() : boolean 14

Differences from Entities in ER Entities can be represented by Class diagrams But Classes of objects also have additional operations associated with them 15 Operations Three basic types for database Constructor Query Update 16

Associations An association is a relationship that describes a set of links between or among objects. An association can have a name that describes the nature of this relationship. You can put a triangle next to this name to indicate the direction in which the name should be read. 17 Associations An association contains an ordered list of association ends. An association with exactly two association ends is called a binary association An association with more than two ends is called an n-ary association. 18

Associations: Unary relationships 0..1 * Person Is-married-to Employee manages 0..1 0..1 manager 19 Associations: Binary Relationship Employee 0..1 Is-assigned 0..1 Parking Place One-to-one Product Line 1 contains * Product One-to-many Student * Registers-for * Course Many-to-many 20

Associations: Ternary Relationships Part * Vendor * * Supplies Warehouse 21 Association Classes Registers-for Student Course * * Registration Term Grade CheckEligibility() issues * 0..1 Computer Account acctid Password ServerSpace 22

Derived Attributes, Associations, and Roles Student name ssn dateofbirth /age Registers-for Course Offering term section time location Scheduled-for * * * 1 Derived attribute Course crsecode crsetitle credithrs * /participant Derived role * {age = currentdate dateofbirth} /Takes Derived association 23 Generalization Employee empname empnumber address datehired printlabel() Hourly Employee HourlyRate computewages() Salaried Employee Annual Sal stockoption Contributepension() Consultant contractnumber billingrate computefees() 24

Example: Association Bar 1..50 Sells 0..* Beer 25 Comparison With E/R Multiplicities E/R UML 0..* 0..* 0..* 0..1 0..* 1..1 26

Association Classes Attributes on associations are permitted. Called an association class. Analogous to attributes on relationships in E/R. 27 Example: Association Class Bar 1..50 0..* Sells price: float Beer 28

Subclasses Like E/R, but subclass points to superclass with a line ending in a triangle. The subclasses of a class can be: Complete (every object is in at least one subclass) or partial. Disjoint (object in at most one subclass) or overlapping. 29 Example: Subclasses Beer name: string manf: string Ale color: string 30

Conversion to Relations We can use any of the three strategies outlined for E/R to convert a class and its subclasses to relations. 1. E/R-style: each subclass relation stores only its own attributes, plus key. 2. OO-style: relations store attributes of subclass and all superclasses. 3. Nulls: One relation, with NULL s as needed. 31 Aggregations Relationships with implication that the objects on one side are owned by or are part of objects on the other side. Represented by a diamond at the end of the connecting line, at the owner side. Implication that in a relational schema, owned objects are part of owner tuples. 32

Example: Aggregation Beer name: string manf: string 0..1 Won 0..* Award title: string year: int 33 Compositions Like aggregations, but with the implication that every object is definitely owned by one object on the other side. Represented by solid diamond at owner. Often used for subobjects or structured attributes. 34

Example: Composition Beer name: string manf: string 1..1 Won 0..* Award title: string year: int 35 Conversion to Relations We could store the awards of a beer with the beer tuple. Requires an object-relational or nestedrelation model for tables, since there is no limit to the number of awards a beer can win. 36

Example: Composition Bar name: string phone: int 1..1 Won 0..1 Addr street:string city: string zip: int 37 Conversion to Relations Since a bar has at most one address, it is quite feasible to add the street, city, and zip attributes of Addr to the Bars relation. In object-relational databases, Addr can be one attribute of Bars, with structure. 38

39 Chapter 10 Practical Database Design Methodology and Use of UML Diagrams 40

Chapter 10 Outline The Role of Information Systems in Organizations The Database Design and Implementation Process Use of UML Diagrams as an Aid to Database Design Specification Rational Rose: A UML-Based Design Tool Automated Database Design Tools 41 Practical Database Design Methodology and Use of UML Diagrams Design methodology Target database managed by some type of database management system Various design methodologies Large database Several dozen gigabytes of data and a schema with more than 30 or 40 distinct entity types 42

The Role of Information Systems in Organizations Organizational context for using database systems Organizations have created the position of database administrator (DBA) and database administration departments Information technology (IT) and information resource management (IRM) departments Key to successful business management 43 The Role of Information Systems in Organizations (cont d.) Database systems are integral components in computer-based information systems Personal computers and database systemlike software products Utilized by users who previously belonged to the category of casual and occasional database users Personal databases gaining popularity Databases are distributed over multiple computer systems Better local control and faster local processing 44

The Role of Information Systems in Organizations (cont d.) Data dictionary systems or information repositories Mini DBMSs Manage meta-data High-performance transaction processing systems require around-the-clock nonstop operation Performance is critical 45 The Information System Life Cycle Information system (IS) Resources involved in collection, management, use, and dissemination of information resources of organization 46

The Information System Life Cycle Macro life cycle Feasibility analysis Requirements collection and analysis Design Implementation Validation and acceptance testing Requirements collection and analysis 47 The Information System Life Cycle (cont d.) The database application system life cycle: micro life cycle System definition Database design Database implementation Loading or data conversion 48

The Information System Life Cycle (cont d.) Application conversion Testing and validation Operation Monitoring and maintenance 49 The Database Design and Implementation Process Design logical and physical structure of one or more databases Accommodate the information needs of the users in an organization for a defined set of applications Goals of database design Very hard to accomplish and measure Often begins with informal and incomplete requirements 50

The Database Design and Implementation Process (cont d.) Main phases of the overall database design and implementation process: 1. Requirements collection and analysis 2. Conceptual database design 3. Choice of a DBMS 4. Data model mapping (also called logical database design) 5. Physical database design 6. Database system implementation and tuning 51 52

The Database Design and Implementation Process (cont d.) Parallel activities Data content, structure, and constraints of the database Design of database applications Data-driven versus process-driven design Feedback loops among phases and within phases are common 53 The Database Design and Implementation Process (cont d.) Heart of the database design process Conceptual database design (Phase 2) Data model mapping (Phase 4) Physical database design (Phase 5) Database system implementation and tuning (Phase 6) 54

Phase 1: Requirements Collection and Analysis Activities Identify application areas and user groups Study and analyze documentation Study current operating environment Collect written responses from users 55 Phase 1 (cont d.) Requirements specification techniques Oriented analysis (OOA) Data flow diagrams (DFDs Refinement of application goals Computer-aided 56

Phase 2: Conceptual Database Design Phase 2a: Conceptual Schema Design Important to use a conceptual high-level data model Approaches to conceptual schema design Centralized (or one shot) schema design approach View integration approach 57 Phase 2: (cont d.) Strategies for schema design Top-down strategy Bottom-up strategy Inside-out strategy Mixed strategy Schema (view) integration Identify correspondences/conflicts among schemas: Naming conflicts, type conflicts, domain (value set) conflicts, conflicts among constraints Modify views to conform to one another Merge of views and restructure 58

Phase 2: (cont d.) Strategies for the view integration process Binary ladder integration N-ary integration Binary balanced strategy Mixed strategy Phase 2b: Transaction Design In parallel with Phase 2a Specify transactions at a conceptual level Identify input/output and functional behavior Notation for specifying processes 59 Phase 3: Choice of a DBMS Costs to consider Software acquisition cost Maintenance cost Hardware acquisition cost Database creation and conversion cost Personnel cost Training cost Operating cost Consider DBMS portability among different types of hardware 60

Phase 4: Data Model Mapping (Logical Database Design) Create a conceptual schema and external schemas In data model of selected DBMS Stages System-independent mapping Tailoring schemas to a specific DBMS 61 Phase 5: Physical Database Design Choose specific file storage structures and access paths for the database files Achieve good performance Criteria used to guide choice of physical database design options: Response time Space utilization Transaction throughput 62

Phase 6: Database System Implementation and Tuning Typically responsibility of the DBA Compose DDL Load database Convert data from earlier systems Database programs implemented by application programmers Most systems include monitoring utility to collect performance statistics 63 Use of UML Diagrams as an Aid to Database Design Specification Use UML as a design specification standard Unified Modeling Language (UML) approach Combines commonly accepted concepts from many object-oriented (O-O) methods and methodologies Includes use case diagrams, sequence diagrams, and statechart diagrams 64

UML for Database Application Design Advantages of UML Resulting models can be used to design relational, object-oriented, or objectrelational databases Brings traditional database modelers, analysts, and designers together with software application developers 65 Different Types of Diagrams in UML Structural diagrams Class diagrams and package diagrams Object diagrams Component diagrams Deployment diagrams 66

Different Types of Diagrams in UML (cont d.) Behavioral diagrams Use case diagrams Sequence diagrams Collaboration diagrams Statechart diagrams Activity diagrams 67 68

Different Types of Diagrams in UML (cont d.) 69 Different Types of Diagrams in UML (cont d.) 70

Modeling and Design Example: UNIVERSITY Database 71 72

73 Rational Rose: A UML-Based Design Tool Rational Rose for database design Modeling tool used in the industry to develop information systems Rational Rose data modeler Visual modeling tool for designing databases Provides capability to: Forward engineer a database Reverse engineer an existing implemented database into conceptual design 74

Data Modeling Using Rational Rose Data Modeler Reverse engineering Allows the user to create a conceptual data model based on an existing database schema specified in a DDL file Forward engineering and DDL generation Create a data model directly from scratch in Rose Generate DDL for a specific DBMS 75 Data Modeling Using Rational Rose Data Modeler (cont d.) Conceptual design in UML notation Build ER diagrams using class diagrams in Rational Rose Identifying relationships Object in a child class cannot exist without a corresponding parent object Non-identifying relationships Specify a regular association (relationship) between two independent classes 76

Data Modeling Using Rational Rose Data Modeler (cont d.) Converting logical data model to object model and vice versa Logical data model can be converted to an object model Allows a deep understanding of relationships between conceptual and implementation models 77 Data Modeling Using Rational Rose Data Modeler (cont d.) Synchronization between the conceptual design and the actual database Extensive domain support Create a standard set of user-defined data types Easy communication among design teams Application developer can access both the object and data models 78

Automated Database Design Tools Many CASE (computer-aided software engineering) tools for database design Combination of the following facilities Diagramming Model mapping Design normalization 79 Automated Database Design Tools (cont d.) Characteristics that a good design tool should possess: Easy-to-use interface Analytical components Heuristic components Trade-off analysis Display of design results Design verification 80

Automated Database Design Tools (cont d.) Variety of products available Some use expert system technology 81 Summary Six phases of the design process Commonly include conceptual design, logical design (data model mapping), physical design UML diagrams Aid specification of database models and design Rational Rose and the Rose Data Modeler Provide support for the conceptual design and logical design phases of database 82