Relational Database Design and Implementation
Fourth edition
Jan L. Harrington
Table of Contents
Copyright
Morgan Kaufmann is an imprint of Elsevier
50 Hampshire Street, 5th Floor, Cambridge, MA 02139, USA
Copyright 2016, 2009, 2003, 1998 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publishers permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.
Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.
To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library
Library of Congress Cataloging-in-Publication Data
A catalog record for this book is available from the Library of Congress
ISBN: 978-0-12-804399-8
For information on all Morgan Kaufmann publications visit our website at https://www.elsevier.com/
Publisher: Todd Green
Acquisition Editor: Todd Green
Editorial Project Manager: Amy Invernizzi
Production Project Manager: Punithavathy Govindaradjane
Designer: Greg Harris
Typeset by Thomson Digital
Preface to the Fourth Edition
One of my favorite opening lines for the database courses I taught during my 32 years as a college professor was: Probably the most misunderstood term in all of business computing is database , followed closely by the word relational . At that point, some students would look a bit smug, because they were absolutely, positively sure that they knew what a database was and that they also knew what is meant for a database to be relational. Unfortunately, the popular press, with the help of some PC software developers, long ago distorted the meaning of both these terms, which led many small business owners to think that designing a database was a task that could be left to a clerical worker who had taken a few days training in using database software.
At the other end of the spectrum, we found large businesses that had large data management systems that they called databases, but depending on the software being used and the logical structuring of the data, may or may not have been. Even 45 years later, the switch to the relational data model continues to cause problems for companies with significant investments in prerelational legacy systems.
There are data models older than the relational data model and even a couple of new ones (object-oriented and NoSQL) that are postrelational. Nonetheless, the vast majority of existing, redesigned, and new database systems are based on the relational data model, primarily because it handles the structured data that form the backbone of most organizational operations. Thats why this book, beginning with the first edition, has focused on relational design, and why it continues to do so.
This book is intended for anyone who has been given the responsibility for designing or maintaining a relational database (or whose college degree requirements include a database course). It will teach you how to look at the environment your database serves and to tailor the design of the database to that environment. It will also teach you ways of designing the database so that it provides accurate and consistent data, avoiding the problems that are common to poorly designed databases. In addition, you will learn about design compromises that you might choose to make in the interest of database application performance and the consequences of making such choices.
For the first time, this edition also includes coverage of using SQL, the international standard for a relational database query language. What you have in your hands is therefore a complete treatment of the relational database environment. There is also an appendix on prerelational data models and two chapters on the postrelational data models.
Changes in the Fourth Edition
The core of this bookthe bulk of the content of the previous editionremains mostly unchanged from the third edition. Relational database theory has been relatively stable for more than 45 years (with the exception of the addition of sixth normal form) and requires very little updating from one edition to the next, although it has been nearly seven years since the third edition appeared.
By far the biggest change in this edition, however, is the addition of full SQL coverage. Previous editions did include material on using SQL to implement a relational design, but nothing about querying the database. Now readers will have everything they need in a single volume.
Note: Because not everyone who studies database design will be fluent in a high-level programming language, SQL programming has been placed in and easily can be skipped if desired.
There is also a new chapter about NoSQL databases. This trend goes hand-in-hand with the analysis of big data, especially that found in data warehouses. Readers should be aware of the special needs of large, unstructured data sets and why the relational data model may not be the best choice for data analytics.
What You Need to Know
When the first edition of this book appeared in 1999, you really didnt need much more than basic computer literacy to understand just about everything in the book. However, the role of networking in database architectures has grown so much in the past decade that, in addition to computer literacy, you need to understand some basic network hardware and software concepts (eg, the Internet, interconnection devices such as routers and switches, and servers).
Note: It has always been a challenge to decide whether to teach students about systems analysis and design before or after database management. Now we worry about where a networking course should come in the sequence. Its tough to understand databases without networking, but, at the same time, some aspects of networking involve database issues.
Teaching Materials
A packet of materials to support a college-level course in database management can be found on the Morgan Kaufmann Web site. In it, you will find sample syllabi, assignments and associated case studies, exams and exam scenarios, and text files to paste into a SQL command processor to create and populate the databases used in the SQL examples in this book.