Database Design For Smarties Using Uml Data Modeling (1999).pdf

(9428 KB) Pobierz
Microsoft Word - Database Design for Smarties-Using UML for Data Modeling -.
29865037.005.png
Database Design for Smarties: Using UML for Data
Modeling
by Robert J. Muller
ISBN: 1558605150
Learn UML techniques for object-oriented database design.
Table of Contents
Colleague Comments
Back Cover
Synopsis by Dean Andrews
In Database Design for Smarties , author Robert Muller tells us that current
database products -- like Oracle, Sybase, Informix and SQL Server -- can be
adapted to the UML (Unified Modeling Language) object-oriented database
design techniques even if the products weren't designed with UML in mind.
The text guides the reader through the basics of entities and attributes
through to the more sophisticated concepts of analysis patterns and reuse
techniques. Most of the code samples in the book are based on Oracle, but
some examples use Sybase, Informix, and SQL Server syntax.
Table of Contents
Database Design for Smarties - 3
Chapter 1 - The Database Life Cycle - 6
Chapter 2 - System Architecture and Design - 11
Chapter 3 - Gathering Requirements - 38
Chapter 4 - Modeling Requirements with Use Cases - 50
Chapter 5 - Testing the System - 65
Chapter 6 - Building Entity-Relationship Models - 68
Chapter 7 - Building Class Models in UML - 81
Chapter 8 - Patterns of Data Modeling - 116
Chapter 9 - Measures for Success - 134
Chapter 10 - Choosing Your Parents - 147
Chapter 11 - Designing a Relational Database Schema - 166
Chapter 12 - Designing an Object-Relational Database Schema - 212
Chapter 13 - Designing an Object-Oriented Database Schema - 236
Sherlock Holmes Story References - 259
Bibliography - 268
List of Figures - 266
List of Titles - 267
- 2 -
Morgan Kaufmann Publishers © 1999, 442 pages
Preface - 5
Index -
29865037.006.png 29865037.007.png 29865037.008.png 29865037.001.png
Back Cover
Whether building a relational, Object-relational (OR), or Object-oriented (OO)
database, database developers are incleasingly relying on an object-oriented
design approach as the best way to meet user needs and performance
criteria. This book teaches you how to use the Unified Modeling Language
(UML) -- the approved standard of the Object management Group (OMG) -- to
devop and implement the best possible design for your database.
Inside, the author leads you step-by-step through the design process, from
requirements analysis to schema generation. You'll learn to express
stakeholder needs in UML use cases and actor diagrams; to translate UML
entities into database components; and to transform the resulting design into
relational, object-relational, and object-oriented schemas for all major DBMS
products.
Features
Teahces you everything you need to know to design, build and test
databasese using an OO model
Shows you hoe to use UML, the accepted standards for database
design according to OO principles
Explains how to transform your design into a conceptual schema for
relational, object-relational, and object-oriented DBMSs
Offers proactical examples of design for Oracle, Microsoft, Sybase,
Informix, Object Design, POET, and other database management
systems
Focuses heavily on reusing design patterns for maximum productivity
and teaches you how to certify completed desings for reuse
About the Author
Robert J. Muller, Ph.D., has been desinging databases since 1980, in the
process gaining extensive experience in relational, object-relational, and
object-oriented systems. He is the author of books on object-oriented software
testing, project management, and the Oracle DBMS, including The Oracle
Developer/2000 Handbook, Second Edition (Oracle Press).
Database Design for Smarties
USING UML FOR DATA MODELING
Robert J. Muller
Copyright © 1999 by by Academic Press
USING UML FOR DATA MODELING
MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ACADEMIC PRESS A Harcourt Science and
Technology Company
SAN FRANCISCO SAN DIEGO NEW YORK BOSTON LONDON SYDNEY TOKYO
Senior Editor Diane D. Cerra
Director of Production and Manufacturing Yonie Overton
Production Editors Julie Pabst and Cheri Palmer
Editorial Assistant Belinda Breyer
Copyeditor Ken DellaPenta
Proofreader Christine Sabooni
Text Design Based on a design by Detta Penna, Penna Design & Production
Composition and Technical Illustrations Technologies 'N Typography
Cover Design Ross Carron Design
- 3 -
29865037.002.png
Cover Image PhotoDisc (magnifying glass)
Archive Photos (Sherlock Holmes)
Indexer Ty Koontz
Printer Courier Corporation
Designations used by companies to distinguish their products are often claimed as trademarks or registered
trademarks. In all instances where Morgan Kaufmann Publishers is aware of a claim, the product names appear in
initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete
information regarding trademarks and registration.
ACADEMIC PRESS
A Harcourt Science and Technology Company
525 B Street, Suite 1900, San Diego, CA 92101-4495, USA
http//www.academicpress.com
Academic Press
Harcourt Place, 32 Jamestown Road, London, NW1 7BY United Kingdom
http://www.hbuk.co.uk/ap/
Morgan Kaufmann Publishers
340 Pine Street, Sixth Floor, San Francisco, CA 94104-3205, USA
http://www.mkp.com
1999by Academic Press
All rights reserved
Printed in the United States of America
04 03 02 01 00 5 4 3 2
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any
means—electronic, mechanical, photocopying, recording, or otherwise—without the prior written permission of the
publisher.
Library of Congress Cataloging-in-Publication Data
Muller, Robert J.
Database design for smarties : using UML for data modeling /
Robert J. Muller.
p. cm.
Includes bibliographical references and index.
ISBN 1-55860-515-0
Database design.UML (Computer science)Title.
QA76.9.D26 M85 1999
005.74—dc21 98-54436
CIP
Dedication
To Theo,
whose database design expands every day
- 4 -
29865037.003.png
Preface
This book presents a simple thesis: that you can design any kind of database with standard object-oriented design
techniques. As with most things, the devil is in the details, and with database design, the details often wag the dog.
That's Not the Way We Do Things Here
The book discusses relational, object-relational (OR), and object-oriented (OO) databases. It does not, however,
provide a comparative backdrop of all the database design and information modeling methods in existence. The
thesis, again, is that you can pretty much dispose of most of these methods in favor of using standard 00 design—
whatever that might be. If you're looking for information on the right way to do IDEF1X designs, or how to use
SSADM diagramming, or how to develop good designs in Oracle's Designer/2000, check out the Bibliography for the
competition to this book.
I've adopted the Unified Modeling Language (UML) and its modeling methods for two reasons. First, it's an approved
standard of the Object Management Group (OMG). Second, it's the culmination of years of effort by three very smart
object modelers, who have come together to unify their disparate methods into a single, very capable notation
standard. See Chapter 7 for details on the UML. Nevertheless, you may want to use some other object modeling
method. You owe it to yourself to become familiar with the UML concepts, not least because they are a union of
virtually all object-oriented method concepts that I've seen in practice. By learning UML, you learn object-oriented
design concepts systematically. You can then transform the UML notation and its application in this book into
whatever object-oriented notation and method you want to use.
This book is not a database theory book; it's a database practice book. Unlike some authors [Codd 1990; Date and
Darwen 1998], I am not engaged in presenting a completely new way to look at databases, nor am I presenting an
academic thesis. This book is about using current technologies to build valuable software systems productively. I
stress the adapting of current technologies to object-oriented design, not the replacement of them by object-oriented
technologies.
Finally, you will notice this book tends to use examples from the Oracle database management system. I have spent
virtually my entire working life with Oracle, though I've used other databases from Sybase to Informix to SQL Server,
and I use examples from all of those DBMS products. The concepts in this book are quite general. You can translate
any Oracle example into an equivalent from any other DBMS, at least as far as the relational schema goes. Once
you move into the realm of the object-relational DBMS or the object-oriented DBMS, however, you will find that your
specific product determines much of what you can do (see Chapters 12 and 13 for details). My point: Don't be fooled
into thinking the techniques in this book are any different if you use Informix or MS Access. Design is the point of this
book, not implementation. As with UML, if you understand the concepts, you can translate the details into your
chosen technology with little trouble. If you have specific questions about applying the techniques in practice, please
feel free to drop me a line at < muller@computer.org > , and I'll do my best to work out the issues with you.
Data Warehousing
Aficionados of database theory will soon realize there is a big topic missing from this book: data warehousing, data
marts, and star schemas. One has to draw the line somewhere in an effort of this size, and my publisher and I
decided not to include the issues with data warehousing to make the scope of the book manageable.
Briefly, a key concept in data warehousing is the dimension , a set of information attributes related to the basic
objects in the warehouse. In classic data analysis, for example, you often structure your data into multidimensional
tables, with the cells being the intersection of the various dimensions or categories. These tables become the basis
for analysis of variance and other statistical modeling techniques. One important organization for dimensions is the
star schema , in which the dimension tables surround a fact table (the object) in a star configuration of one-to-many
relationships. This configuration lets a data analyst look at the facts in the database (the basic objects) from the
different dimensional perspectives.
In a classic OO design, the star schema is a pattern of interrelated objects that come together in a central object of
some kind. The central object does not own the other objects; rather, it relates them to one another in a
multidimensional framework. You implement a star schema in a relational database as a set of one-to-many tables,
in an object-relational database as a set of object references, and in an object-oriented database as an object with
dimensional accessors and attributes that refer to other objects.
Web Enhancement
If you're intersted in learning more about database management, here are some of the prominent
relational, object-relational, and object-oreinted products. Go to the Web sites to find the status of the
current product and any trial downloads they might have.
Tool
Company
Web Site
- 5 -
29865037.004.png
Zgłoś jeśli naruszono regulamin