Course Number: 1609A
Developed with KiZAN Corporation
1099 Part Number: x04-99424
Delivery Guide
Designing Data Services and
Data Models
Information in this document is subject to change without notice. The names of companies,
products, people, characters, and/or data mentioned herein are fictitious and are in no way intended
to represent any real individual, company, product, or event, unless otherwise noted. Complying
with all applicable copyright laws is the responsibility of the user. No part of this document may
be reproduced or transmitted in any form or by any means, electronic or mechanical, for any
purpose, without the express written permission of Microsoft Corporation. If, however, your only
means of access is electronic, permission to print one copy is hereby granted.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
1999 Microsoft Corporation. All rights reserved.
Microsoft, MS-DOS, MS, Windows and Windows NT are either registered trademarks or
trademarks of Microsoft Corporation in the U.S.A. and/or other countries.
The names of companies, products, people, characters, and/or data mentioned herein are fictitious
and are in no way intended to represent any real individual, company, product, or event, unless
otherwise noted.
Other product and company names mentioned herein may be the trademarks of their respective
owners.
Project Lead: Janet Robinson, Mark Bader
Instructional Designers: Mark Bader, Shawn Lock, Michas Sadzak
Program Managers: Mark Bader, Rama Biswas, Teresa Canady
Subject Matter Experts: Mark Bader, Whitney Roberts (KiZAN Corporation), Janet Robinson,
Scott F. Wilson (KiZAN Corporation)
Graphic Artist: Elizabeth Johanson (ArtSource, Inc.)
Editors: Joyce Cox (Online Training Solutions, Inc.), Todd Duft (Write Stuff), Elizabeth Hui
Reese (Write Stuff)
Testers: Chris Baca (Digital Counterbalance), Rick Carr (Digital Counterbalance)
Production Support: Linda Lu Cannon (Write Stuff), Marlene Lambert (Online Training
Solutions, Inc.), Eric Wagoner (Write Stuff)
Manufacturing Support: Julie Challenger, John Williams
Product Manager: Ron Wodaski
Business Manager: Roger Gerdes
Authors: Mark Bader, Whitney Roberts (KiZAN Corporation), Janet Robinson, Scott F. Wilson
(KiZAN Corporation)
Course Number: 1609A
Part Number: X04-99424
October 1999
Contents iii
Contents
Introduction
Introductions ........................................................................................................... 3
Course Materials ..................................................................................................... 4
Prerequisites............................................................................................................ 5
Microsoft Certified Professional Program .............................................................. 6
Facilities.................................................................................................................. 7
Module 1: Course Overview
Overview............................................................................................................... 11
Business Solutions Design Curriculum................................................................. 12
Curriculum Vision and Purpose....................................................................... 13
Courses in the Curriculum ............................................................................... 14
Curriculum Case Study.................................................................................... 15
Overview of This Course ...................................................................................... 16
Course Vision and Purpose.............................................................................. 17
Course Objectives ............................................................................................ 18
Modules in This Course................................................................................... 19
Activity 1.1: Categorizing Existing Information................................................... 21
Module 2: Solution Design Processes
Overview............................................................................................................... 25
Design Processes................................................................................................... 26
The MSF Process Model.................................................................................. 27
Requirements Gathering .................................................................................. 29
The MSF Design Process Model ..................................................................... 30
Data and the MSF Design Process Model ....................................................... 32
Benefits of the Design Process......................................................................... 33
Services-Based Design.......................................................................................... 34
The MSF Application Model ........................................................................... 35
Logical Network of Cooperating Services....................................................... 36
Data Services ................................................................................................... 37
Examples of Services....................................................................................... 38
Benefits of Services-Based Design .................................................................. 39
Activity 2.1: Identifying Services .................................................................... 40
Review .................................................................................................................. 41
Guidelines ........................................................................................................ 42
Review Questions ............................................................................................ 43
Looking Forward ............................................................................................. 44
Module 3: Using a Conceptual Design for Data Requirements
Overview............................................................................................................... 47
Investigation Process............................................................................................. 48
Gathering Information ..................................................................................... 49
Analyzing Information..................................................................................... 50
Creating Use Cases .......................................................................................... 51
Data Requirements................................................................................................ 52
Characteristics of Data Requirements.............................................................. 53
Categories of Data Requirements .................................................................... 54
Identifying Functional Data Requirements ...................................................... 56
iv Contents
Identifying Nonfunctional Data Requirements ................................................ 57
Activity 3.1: Identifying Data-Related Use Cases and Data Requirements..... 58
Validating Data Requirements ......................................................................... 59
Activity 3.2: Relating Data Requirements to Conceptual Design......................... 60
Review .................................................................................................................. 61
Guidelines ........................................................................................................ 62
Review Questions ............................................................................................ 63
Looking Forward ............................................................................................. 64
Module 4: Deriving a Logical Data Design
Overview............................................................................................................... 67
Logical Data Design.............................................................................................. 68
The Need for a Logical Data Design ............................................................... 69
Deriving Logical Data Services ....................................................................... 70
Entities and Attributes........................................................................................... 72
Overview of Entities and Attributes................................................................. 73
Deriving Entities .............................................................................................. 74
Deriving Attributes .......................................................................................... 75
Activity 4.1: Deriving Entities and Attributes from Data Requirements......... 76
Data Relationships ................................................................................................ 77
Overview of Data Relationships ...................................................................... 78
Identifying Relationships Between Entities..................................................... 79
Overview of Cardinality and Existence ........................................................... 80
Determining Cardinality .................................................................................. 81
Determining Existence..................................................................................... 82
Entity/Relationship Modeling ............................................................................... 83
Syntax .............................................................................................................. 84
Creating the Logical Data Model..................................................................... 86
Activity 4.2: Creating a Logical Data Model................................................... 88
Review .................................................................................................................. 89
Guidelines ........................................................................................................ 90
Review Questions ............................................................................................ 91
Looking Forward ............................................................................................. 92
Module 5: Normalizing the Logical Data Design
Overview............................................................................................................... 95
Implementing Entity Relationships....................................................................... 96
Using Keys....................................................................................................... 97
Primary Keys ................................................................................................... 98
Foreign Keys.................................................................................................... 99
Examples of Primary and Foreign Keys ........................................................ 100
Activity 5.1: Identifying Keys in the Logical Model..................................... 101
Normalization Basics .......................................................................................... 102
Normalizing Logical Models ......................................................................... 103
Creating a First Normal Form Data Model .................................................... 105
First Normal Form Example .......................................................................... 106
Moving to a Second Normal Form Data Model............................................. 107
Creating a Third Normal Form Data Model .................................................. 108
Third Normal Form Example......................................................................... 109
Benefits of Normalization.............................................................................. 110
Contents v
Activity 5.2: Normalizing Data...................................................................... 111
Review ................................................................................................................ 112
Guidelines ...................................................................................................... 113
Review Questions .......................................................................................... 114
Looking Forward ........................................................................................... 115
Module 6: Deriving a Physical Data Design
Overview............................................................................................................. 119
Physical Data Design .......................................................................................... 120
Describing a Physical Data Model................................................................. 121
Identifying Database Tables and Fields ......................................................... 123
Common Data Types ..................................................................................... 124
Implementing Relationships................................................................................ 125
Implementing One-to-One Relationships ...................................................... 126
Implementing One-To-Many Relationships .................................................. 127
Implementing Many-To-Many Relationships................................................ 128
Activity 6.1: Translating the Logical Data Design ........................................ 129
Data Optimization Techniques............................................................................ 130
Goals of Optimization.................................................................................... 131
Optimizing for Creation of Data .................................................................... 133
Optimizing for Retrieval of Data ................................................................... 134
Optimizing for Updating Data ....................................................................... 136
Considerations for Deleting Data................................................................... 138
Activity 6.2: Optimizing a Physical Data Design .......................................... 139
Review ................................................................................................................ 140
Guidelines ...................................................................................................... 141
Review Questions .......................................................................................... 142
Looking Forward ........................................................................................... 143
Module 7: Implementing Data Integrity
Overview............................................................................................................. 147
Overview of Data Integrity ................................................................................. 148
Data Integrity Categories ............................................................................... 149
Referential Integrity ....................................................................................... 150
Data Validation.............................................................................................. 151
Identifying Data Integrity Requirements ....................................................... 153
Activity 7.1: Identifying Data Integrity Requirements .................................. 154
Implementing Data Integrity Requirements........................................................ 155
Identifying Business Rules ............................................................................ 156
Deploying Business Rules and Data Integrity Requirements ........................ 157
Implementing in the Database........................................................................ 158
Implementing Programmatically.................................................................... 160
Implementation Guidelines............................................................................ 162
Activity 7.2: Determining Data Integrity Implementations ........................... 163
Review ................................................................................................................ 164
Guidelines ...................................................................................................... 165
Review Questions .......................................................................................... 166
Looking Forward ........................................................................................... 167
Module 8: Designing Data Services
Overview............................................................................................................. 171