Typically, analysis, development, and database teams work for different business units, and use different design notations. With UML and the Rational Unified Process (RUP), however, they can unify their efforts -- eliminating time-consuming, error-prone translations, and accelerating software to market. In this book, two data modeling specialists from Rational Software Corporation show exactly how to model data with UML and RUP, presenting proven processes and start-to-finish case studies. The book utilizes a running case study to bring together the entire process of data modeling with UML. Each chapter dissects a different stage of the data modeling process, from requirements through implementation. For each stage, the authors cover workflow and participants' roles, key concepts, proven approach, practical design techniques, and more. Along the way, the authors demonstrate how integrating data modeling into a unified software design process not only saves time and money, but gives all team members a far clearer understanding of the impact of potential changes. The book includes a detailed glossary, as well as appendices that present essential Use Case Models and descriptions. For all software team members: managers, team leaders, systems and data analysts, architects, developers, database designers, and others involved in building database applications for the enterprise.
 
 Foreword. 
 
 
 Preface. 
 
The Approach.
Chapter Summaries.
Acknowledgments.
Why Read This Book?
Who Should Read This Book?
How To Read This Book?
Database Modeling vs. Database Design.
Data Modeling Today.
UML Diagrams for Database Design.
UML Differs From Traditional Database Modeling.
The Case Study.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Approach.
The Design.
Organization.
The Business Use Case Models.
The Business Object Models.
The Traditional Conceptual Data Models.
The System Use Case Models.
The Design Models.
The Database Design Models.
For database professionals, this book provides a practical guide to the use of the Unified Modeling Language (UML) for database design. It is intended for those who have to make things happen in the real world; those who have to deliver real systems to meet real business needs. In short, this book is designed for those pragmatic, working database designers who need to get things done.
UML for Database Design addresses the questions most frequently asked of us by database professionals from all over the globe:
We have endeavored to ensure that this book didn't get lost in theory, buried in formalism, or trivialized by unrealistic, contrived examples. Thus, at times we may run contrary to the purists. That's OK. The approach we take is to introduce the use of UML for database design in a stepwise fashion, for each phase of the system development life cycle. We move from business modeling at the beginning of the life cycle to database design at the end. We show how the UML applies to the process and the value it provides to the database designer in each phase. A robust, realistic case study (described in Chapter 2) helps demonstrate how to use the UML and how to handle challenges that you may encounter during your real-world projects.
Chapter 1--Introduction. This chapter indicates who should read this book and why. It describes the basic structure of subsequent chapters and the overall flow of the book.
Chapter 2--Database Design from Requirements to Implementation.This chapter discusses database modeling versus database design, addresses data modeling as it exists today, describes how using the UML differs from traditional techniques, and introduces the case study used throughout the remainder of the book.
Chapter 3--Business Modeling for Database Design. This chapter introduces business modeling and how it, and the UML, can be used for database design. Here is where the conceptual model is established.
Chapter 4--Requirements Definition.This chapter shows how all the artifacts provided by the previous business modeling are used to establish the system requirements.
Chapter 5--Analysis and Preliminary Design.This chapter moves from the realm of business requirements into the logical design of the system and its database.
Chapter 6--Preparing for Transformation to the Database Design Model. This chapter transitions from the logical analysis model to the database design model. This chapter also addresses the issues that arise during the mapping of object models to data models.
Chapter 7--Database Design Models--the UML Profile for Database Design.This chapter introduces the UML Profile for Database Design developed by Rational Software Corporation.
Chapter 8--Implementing the Physical Aspects of the Database.This chapter focuses on the physical component of database design.
Chapter 9--Summary of Using the UML for Database Design.This chapter performs a "postmortem" on how the UML was used in the case study project.
Appendix A--UML Models for EAB Healthcare, Inc.This appendix contains the UML models from the case study project.
Appendix B--Use Case Descriptions.This appendix contains the use case descriptions from the case study project.
We would appreciate your feedback on this book. If you have questions or comments, please feel free to contact us by email at gurus@UMLforDatabaseDesign.com, or visit our website http://www.UMLforDatabaseDesign.com.
Note: Page numbers followed by letters f and t indicate figures and tables, respectively.
A
Access Clinical Records
     sequence diagram, 255f
     system use case, 61, 64t, 66, 71f
     use case description, 266f
     use case template, 71f
Accounts Receivable
     activity diagram, 34, 35f, 191f
     business object model, 198f–201f
     business use case, 30, 31f, 60, 60t
Accreditation, sequence diagram, 61, 206f
Activity diagram(s)
     Accounts Receivable, 34, 35f, 191f
     from business use cases, 32
     for class diagram support, 78
     Compliance Assessment, 61, 63f, 193f
     Compliance Review, 61, 62f, 194f
     in current systems comprehension, 23–24
     in database implementation, 151
     in describing processes, 36
     description of, 11
     elements of, 21f. See also specific elements
     examples of, 22f, 35f
     Provide Clinical Care, 33f, 33–34, 196f
     purposes of, 18–19
     Respond to Inquiry, 197f
     sequence diagram vs., 88–89
     simulation of, 24
     in system use case model transition, 61, 62f, 63f
     Transfer Records, 32f, 33, 195f
     in use cases, 19
Actor(s)
     automating functions of, 61
     definition of, 19, 25
     symbol for, 19f
     in system use cases, 58
Actor generalization(s), 46, 46f, 47f
Administrator
     class diagram view, 253f
     system use case view, 101, 101f
Admit Prior Resident, sequence diagram, 38–40, 39f, 41f, 86f, 89, 218f
Agents, 236f
Aggregation, definition of, 25, 111
Alternate keys, primary key used instead of, 138–41, 142f
Analysis datatype(s). See Type(s)
Analysis paralysis, 22, 70
ARBackgroundView, 143, 146f
Association(s)
     definition of, 25, 110
     mapping many-to-many, 106
     symbol for, 19
Association class(es)
     definition of, 111
     in logical models, 106, 107f
     mapping, 106
Attribute(s)
     columns mapped to, 108–10
     derived, 109
     of logical models, 7
     as primary keys, 115
     in tablespaces, 156
     transformation of, 114–17
Auditors, 18, 20f, 34, 35, 236f
B
Background (MDS), 114
     class, 135–36, 137f
     class diagram, 95, 96f
     database diagram, 135–36, 137f
     primary key, 141, 142f
     table, 135–36, 137f, 143, 146f, 164, 165f
     tablespace, 164, 165f
Basic Assessment (MDS), 114
     class, 136, 138f
     class diagram, 95, 96f
     database diagram, 136, 138f
     primary key, 141, 142f
     subtype class, 112
     table, 136, 138f, 162, 164f
     tablespace, 162, 164f
Best-of-breed solutions
     full life-cycle CASE tools vs., 9–10
     UML vs., 10
Billing Manager, 34, 35f
Business actor(s)
     Agents, 236f
     Auditors, 18, 20f, 34, 35, 236f
     Care Providers, 237f
     Clinical Records User, 66, 67f
     definition of, 25
     describing, 28–29
     diagrams of, 236f–238f
     External Facility, 33
     External Service Providers, 18, 20f
     identifying, 28, 29f
     Inquirer, 30
     Investigator, 47f, 61
     Medical Records Manager, 61
     Medical Supply Vendors, 18, 20f
     Nurses, 61
     other, 238f
     perspective of, 28
     Physicians, 18, 20f, 29
     Residents, 18, 20f, 28
     symbol for, 19
     system actors transformed from, 57–58, 58t, 61
     Time, 66, 67f
     Transport Service, 30, 33
Business entities
     Care Plan, 68, 68t
     Clinical Records, 36, 36f, 44, 44f, 80–84, 83t, 84t, 85f–87f
     conceptual data models for, 48f–50f
     definition of, 25
     Treatment, 68, 68t
Business modeling
     completion of, 34, 56
     as cooperative effort, 27
     for database design, 17–51
     definition of, 25
     focus of, 26, 67–68
     goals of, 27–28
     JAD session in, 27
     participants' roles in, 72
     refining, 27
     scenarios in, 82–84, 83t
     scope of, 27
     sequences vs. system use case model, 73
     testing, 82–84
     workflow, 17–24
Business object model(s)
     Accounts Receivable, 198f–201f
     actors' view of, 204f, 224f
     Comply with Regulations, 61, 64f, 65t, 202f–213f
     in conceptual model development, 44
     and database designer, 45, 50, 69
     definition of, 25
     development of, 36–44, 38f, 40f, 44f
     Manage Clinical Records, 36, 38, 38f, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f, 214f–221f
     MDS view of, 203f
     Medical Records Manager view, 216f
     modifying, 80–84, 81f, 82f, 84f
     perspective of, 34–35
     Provide Clinical Care, 222f–231f
     Respond to Inquiry, 36f, 232f
     in sequence prioritization, 68t
     in system use case model transition, 61, 64f
     Update Care Plan, 223f
     updating, 38, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f–87f
     for view construction, 79–80
Business Process Reengineering, 27
Business use case (models), 28–34
     Accounts Receivable, 30, 31f, 60, 60t
     for activity diagram creation, 32
     completion, 34, 56
     Comply with Regulations, 30, 31f, 60t, 60–62
     deferring, 60, 60t
     definition of, 25
     explanation of, 28
     Manage Clinical Records, 30, 31f, 60, 60t, 63–68, 73t
     overview, 29f, 29–30
     perspective of, 28
     prioritizing, 60, 60t, 60–62, 68t
     Provide Clinical Care, 30, 60t, 66–68, 68t
     Provide Resident Care, 29f, 29–30, 30, 31f, 189f, 190f
     refining, 30
     Respond to Inquiry, 30, 31f, 36, 36f, 60, 60t, 67–68
     scope of, 29–30
     in subsystem transformation, 57–58, 58t
     symbol for, 19
     in system use case model transformation, 58t, 60–69
Business worker(s)
     activities transformed to system use cases, 57–58, 58t
     Billing Manager, 34, 35f
     definition of, 25
     Medical Records Manager, 32f, 33, 34, 35f, 66
     system actors, transformation to, 57–58, 58t
C
Candidate key(s), definition of, 282
Cardinality, 127, 128f
Care Plan, business entities, 68, 68t
Care Providers, 237f
Check constraint(s), creating, 131, 132, 141, 144f
Class(es)
     association, 106, 107f, 111
     Background MDS, 135–36, 137f
     Basic Assessment MDS, 136, 138f
     defining, 112
     Full Assessment MDS, 136–38, 139f, 140f
     passive, 78
     persistent, 111, 133–34
     subtype, 25, 106–8, 112
     supertype, 25, 106–8
     tables created from, 133–46
     tables mapped to, 106–8
Class diagram(s)
     activity diagram as support for, 78
     Administrator view, 253f
     in application design, 77
     Background MDS, 95, 96f
     Basic Assessment MDS, 95, 96f
     in change management, 77
     Comply with Regulations, 242f–253f
     control classes in updating, 90, 91f
     in database design, 77
     and database designer, 92, 102, 102f
     in database implementation, 151
     definition of, 25
     description of, 11, 35–36, 36f
     developing, 79
     elaborating, 91
     Establish MDS, 93f, 243f
     from existing business models, 80
     Full Assessment MDS, 95, 96f–99f
     initial, 94, 96f
     integrating, 103f, 104
     MDS, 95, 96f, 247f–250f
     normalizing, 111
     Nurse view, 245f
     in partitioning tables, 151
     Security Access, 254f
     sequence diagrams for, 78–79
     statechart diagrams for support of, 78
     system use case model in developing, 79
     Transmit MDS, 101, 101f–103f, 251f
     in UML, 76–77
     updating, 95, 97f–99f
Class model(s). See Class diagram(s)
Clinical Records
     business entities, 36, 36f, 44, 44f, 80–84, 83t, 84t, 85f–87f
     conceptual data model, 48f, 233f
Clinical Records User, 66, 67f
Close Clinical Records
     sequence diagrams, 40, 42f, 220f
     use case description, 267f
Column(s)
     attributes mapped to, 108–10
     definition of, 125
     elements of, 131
     identity, 131, 133
     modeling, 125
Comment(s), 131, 133
Compliance Assessment activity diagram, 61, 63f, 193f
Compliance Review activity diagram, 61, 62f, 194f
Comply with Regulations
     business object model, 61, 64f, 65t, 202f–213f
     business use case, 30, 31f, 60t, 60–62
     class diagram, 242f–253f
     database diagram, 257f–264f
     sequence diagram, 56, 207f, 244f, 246f, 252f
     system use case, 61–63, 64f, 65f, 86, 88f, 239f
Component(s)
     databases. See Database (component)
     definition of, 154
     schemas. See Schema(s)
     in storage modeling, 156–59
     tablespaces. See Tablespace(s)
Component diagram(s)
     in database implementation, 151–52
     description of, 11
Composite domain(s), 130–31
Composite index, 141
Conceptual model(s)
     for business entities, 48f–50f
     business object models in developing, 44
     Clinical Records, 48f, 233f
     definition of, 282
     initial components of, 32, 34
     from JAD sessions, 27–28
     for miscellaneous data, 235f
     for miscellaneous entities, 50f
     refining, 58
     Schedules and Reports, 49f, 234f
     traditional, 47, 48f–50f
Connection, definition of, 154
Constraint(s)
     check, 131, 132, 141, 144f
     definition of, 131
     explanation of, 132
     key. See Key(s)
     unique, 131, 132
Control class(es)
     in class diagram updating, 90
     definition of, 78
     statechart diagrams for, 90, 92f
Create Clinical Records
     system use case, 66
     use case description, 268f
D
Data Definition Language (DDL), 113
Data dictionary, definition of, 282
Database(s), definition of, 282
Database (component)
     in database modeling, 154
     dependency on tablespaces, 159
     determining, 170–71
     icon for, 159f
     MDSDatabases, 170, 171f
     modeling, 158–59
Database administrator (DBA)
     in database implementation, 149–50
     in DBMS selection, 120
Database design
     business modeling for, 17–51
     class diagrams in, 77
     domains in, 116, 129–31
     focus of, 8
     with logical model basis, 105–6
     model-driven development of, 123–24
     physical modeling for, 8
     preliminary, 75–104
     and requirements, 76
     and sequence diagrams, 79
     traditional, 7
     UML for, 2–3, 11, 119–48
Database design model(s), transformation to, 105–18
Database designer
     and business object models, 45, 50, 69
     in class diagram creation, 102, 102f
     in postmortem, 179
     and requirements definition, 59
     and scope, 66
     and system use case models, 69
Database diagram(s)
     Background MDS, 135–36, 137f
     Basic Assessment MDS, 136, 138f
     Comply with Regulations, 257f–264f
     definition of, 282
     Establish MDS, 258f
     Full Assessment MDS, 136–38, 139f, 140f
     icons for, 126f
     MDS, 139f, 260f–263f
     Nurse view, 259f
     Transmit MDS, 264f
     typing, 122–23
Database implementation (deployment), 149–74
     activity diagrams in, 151
     class diagrams in, 151
     component diagrams in, 151–52
     database administrator in, 149–50
     deployment diagrams in, 151–52
     modeling, importance of, 150
     sequence diagrams in, 151
     use cases in, 150
Database management system (DBMS), selecting, 120, 157, 159–60
Database modeling
     conceptual. See Conceptual model(s)
     database components in, 154
     diagrams for. See UML diagram(s)
     focus of, 7
     logical. See Logical model(s)
     metadata, 12
     physical. See Physical model(s)
     reasons for, 123
     schemas in, 154
     stages of, 5, 176–77
     tablespaces in, 154, 161–62, 163f
     traditional, 7, 8
     traditional vs. UML, 12–14
     in understanding business, 23–24
     in understanding current systems, 23–24
     updating, 87f
     usefulness of, 152–53
Database view(s). See View(s)
Datatype(s), definition of, 131, 133
DBA. See Database administrator
DBMS. See Database management system
DDL (Data Definition Language), 113
Decision point(s)
     symbol for, 21f
     using, 34, 35f
Denormalization
     definition of, 282
     of physical models, 7
Dependencies
     of database components on tablespaces, 159
     definition of, 154
     explanation of, 154
     in storage modeling, 156
     symbol for, 19
Deployment (implementation) diagram(s)
     in database implementation, 151–52
     definition of, 154
     description of, 11, 154
     elements of, 154
Derived attribute(s), definition of, 109
Destroy Clinical Records
     sequence diagram, 40, 43f, 221f
     system use case, 66
     use case description, 269f
Developer(s), and system use case model, 57
Development cycle, 2
Device(s)
     definition of, 154
     in storage modeling, 156
Domain(s) (user-defined datatypes)
     composite, 130–31
     in database design, 116, 129–31
     definition of, 125
E
Element(s)
     of activity diagrams, 21f
     aggregate, 25
     of columns, 131
     of deployment diagrams, 154
     of packages, 122f
     stereotyping, 12
     of tables, 131, 132f
     of UML diagrams, 125
End state(s), symbol for, 21f
Entities. See also Business entities
     defining, 112
     definition of, 283
     making persistent, 113–14
Entity-relationship (ER) diagram(s), definition of, 283
Entity-relationship (ER) notation(s), UML and, 107, 121
Establish Care Plan
     sequence diagram, 229f
     use case description, 270f
Establish MDS
     class diagram, 93f, 243f
     database diagram, 258f
     sequence diagram, 56, 63, 90f, 164, 166f, 207f, 244f
     system use case, 63, 65f, 88–93
     use case description, 271f
     user view, 89f
Establish Treatment
     sequence diagram, 225f
     use case description, 272f
Evaluate Eligibility sequence diagram, 199f
Extend(s)
     definition of, 56
     in use case templates, 70
Extension point(s), definition of, 283
External Facility, 33
External Service Providers, 18, 20f
F
Foreign key(s)
     definition of, 125
     in logical database models, 115
Full Assessment MDS, 114
     class, 136–38, 139f, 140f
     class diagram, 95, 96f–99f
     database diagram, 136–38, 139f, 140f
     primary key, 141, 143f
     subtype class, 112
     table, 136–38, 139f, 140f, 164
     tablespaces, 164, 167f–170f
Full life-cycle CASE tools
     best-of-breed solutions vs., 9–10
     UML vs., 9–10
G
Generalization(s)
     actors, 46, 46f, 47f
     definition of, 25, 111
     symbol for, 19
Generic (logical) type(s), 110, 116t
H
Hardware, designing with UML, 172
I
Identifying (mandatory) relationship
     creating, 127
     definition of, 125
     explanation of, 126–27
Identity, 131, 133
Implementation diagram(s). See Deployment (implementation) diagram(s)
Include(s)
     definition of, 56
     in use case templates, 70
Inclusion point(s), definition of, 283
Index
     composite, 141
     creating, 141, 143f
     definition of, 131
     explanation of, 133
     MDS, 141, 143f
     partitioning, 158
     tagged values on, 133
Inheritance, definition of, 111
Inquirer, 30
Interaction diagram(s), description of, 11
Investigate Concerns sequence diagram, 61, 208f–210f
Investigator, 47f, 61
Iron Triangle, 53–54
J
Joint Application Development (JAD) session(s), in business modeling, 27–28
K
Key(s)
     alternate, 138–41, 142f
     candidate, 282
     definition of, 131, 132
     foreign, 115, 125
     primary, 111, 115, 125, 138–41, 142f, 143f
Key migration, definition of, 283
L
Length, definition of, 131, 133
Logical model(s)
     application design based on, 105
     association classes in, 106, 107f
     attributes, 7
     composition of, 7
     database design based on, 105–6
     definition of, 283
     entities, 7
     foreign keys in, 115
     mapping, 106
     normalizing, 111
     optimizing, 7
     and physical model, 7–8
Lower CASE tools, 9
M
Maintain MDS
     sequence diagram, 56, 63, 94f, 211f, 246f
     system use case, 63, 65f, 93–99
     use case description, 273f
Manage Clinical Records
     business object model, 36, 38, 38f, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f, 214f–221f
     business use case, 30, 31f, 60, 60t, 63–68, 73t
     sequence diagram, 89
     system use case, 63–68, 67f, 73t, 240f
     use case description, 274f
Mapping(s)
     association classes, 106
     attributes to columns, 108–10
     classes to tables, 106–8
     logical analysis model, 106
     managing, 117
&nb
