Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 97%)
Other sellers (Paperback)
-
All (29)
from
$1.99
-
New (2)
from
$80.0
-
Used (27)
from
$1.99
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$80.00
Seller since Tue Oct 07 09:37:03 EDT 2014
Brand new.
Ships from: acton, MA
Usually ships in 1-2 business days
- •Standard, 48 States
- •Standard (AK, HI)
$80.00
Seller since Tue Oct 07 09:37:03 EDT 2014
Brand new.
Ships from: acton, MA
Usually ships in 1-2 business days
- •Standard, 48 States
- •Standard (AK, HI)
More About This Textbook
Overview
A realistic case study integrated throughout the book enables complex subjects to be explained in the context of one understandable example, while three additional case studies allow readers to work through examples by themselves. Clearly stated chapter objectives and summaries guide the reader, highlighted key definitions and numerous worked examples illustrate the concepts, and review questions and exercises reinforce the material covered in each chapter.
Features
New! For the third edition
This book takes a fresh, pragmatic approach to database systems. With a strong design focus and using realistic case studies throughout, readers can master an accessible, step-by-step methodology, learn how to apply this to design and build applications, and gain a good understanding of the issues involved in building the systems.
Editorial Reviews
Booknews
Shows students in computing, informations systems, engineering, and business how to design database systems, offering a step-by-step methodology integrating the entity-relationship model with normalization. Treatment of issues such as formal and de facto standards, recovery control, and security includes chapter summaries, review questions, exercises, and an ongoing case study illustrating stages in the system development process. Includes tutorial chapters on SQL-92 and QBE. Also useful for IT professionals. Annotation c. Book News, Inc., Portland, OR (booknews.com)Product Details
Related Subjects
Table of Contents
Preface
Background
The history of database research over the past 30 years is one of exceptional productivity that 1%as led to the database system becoming arguably the most important development in the field of software engineering. The database is now the underlying framework of the information system, and has fundamentally changed the way many organizations operate. In particular, the developments in this technology over the last few years have produced systems that are more powerful and more intuitive to use. This has resulted in database systems becoming increasingly available to a wider variety of users. Unfortunately, the apparent simplicity of these systems has led to users creating databases and applications without the necessary knowledge to produce an effective and efficient system. And so the `software crisis' or, as it is sometimes referred to, the `software depression' continues.
The original stimulus for this book came from the authors' work in industry, providing consultancy on database design for new software systems or, as often as not, resolving inadequacies with existing systems. Added to this, the authors' move to academia brought similar problems from different users — students. The objectives of this book, therefore, are to provide a textbook that introduces the theory behind databases as clearly as possible and, in particular, to provide a methodology for, database design that can be used by both technical and non-technical readers.
The methodology presented in this book for relational Database Management Systems (DBMSs) — the predominant system for business applications at present - has been tried and tested over the years inboth industrial and academic environments. It consists of three main phases: conceptual, logical, and physical database design. The first phase starts with the production of a conceptual data model that is independent of all physical considerations. This model is then refined in the second phase into a logical data model by removing constructs that cannot be represented in relational systems. In the third phase, the logical data model is translated into a physical design for the target DBMS. The physical design phase considers the storage structures and access methods required for efficient and secure access to the database on secondary storage.
The methodology in each phase is presented as a series of steps. For the inexperienced designer, it is expected that the steps will be followed in the order described, and guidelines are provided throughout to help with this process. For the experienced designer, the methodology can be less prescriptive, acting more as a framework or checklist. To help the reader use the methodology and understand the important issues, the methodology has been described using a realistic worked example, based on an integrated case study, DreamHome. In addition, three additional case studies are provided in Appendix B to allow readers to try out the methodology for themselves.
UML (Unified Modeling Language)
Increasingly, companies are standardizing the way in which they model data by selecting a particular approach to data modeling and using it throughout their database development projects. A popular high-level data model used in conceptual/logical database design, and the one we use in this book, is based on the concepts of the Entity-Relationship (ER) model. Currently there is no standard notation for an ER model. Most books that cover database design for relational DBMSs tend to use one of two conventional notations:
Both notations are well supported by current CASE tools. However, they can be quite cumbersome to use and a bit difficult to explain. Prior to this edition, we used Chen's notation. However, following an extensive questionnaire carried out by Pearson Education, there was a general consensus that the notation should be changed to the latest object-oriented modeling language called UML (Unified Modeling Language). UML is a notation that combines elements from the three major strands of object-oriented design: Rumbaugh's OMT modeling, Booch's Object-Oriented Analysis and Design, and Jacobson's Objectory.
There are three primary reasons for adopting a different notation: (1) UML is becoming an industry standard; for example, the Object Management Group (OMG) has adopted the UML as the standard notation for object methods; (2) UML is arguably clearer and easier to use; (3) UML is now being adopted within academia for teaching object-oriented analysis and design, and using UML in database modules provides more synergy. Therefore, in this edition we have adopted the class diagram notation from UML. We believe you will find this notation easier to understand and use. Prior to making this move to UML, we spent a considerable amount of time experimenting with UML and checking its suitability for database design. We concluded this work by publishing a book through Pearson Education called Database Solutions: A Step-by-Step Guide to Building Databases. This book uses the methodology to design and build databases for two case studies, one with the target DBMS as Microsoft Access and one with the target database as Oracle. This book also contains many other case studies with sample solutions, and an accompanying CD-ROM with an evaluation copy of the visual modeling tool Rational Rose.
What's New in the Third Edition
The second edition of the book has been revised to improve readability, to update or to extend coverage of existing material, and to include new material. The major changes in `tithe third edition are as follows.
Intended Audience
This book is intended as a textbook for a one- or two-semester course in database management or database design in an introductory undergraduate course, a graduate or advanced undergraduate course. Such courses are usually required in an information systems, business IT, or computer science curriculum.
The book is also intended as a reference book for IT professionals, such as systems analysts or designers, application programmers, systems programmers, database practitioners, and for independent self-teachers. Owing to the widespread use of database systems nowadays, these professionals could come from any type of company that requires a database.
It would be helpful for students to have a good background in the file organization and data structures concepts covered in Appendix C before covering the material in Chapter 16 on physical database design and Chapter 20 on query processing. This background ideally will have been obtained from a prior course. If this is not possible, then the material in Appendix C can be presented near the beginning of the database course, immediately following Chapter 1.
An understanding of a high-level programming language, such as 'C', would be advantageous for Chapter 21 on embedded and dynamic SQL and Section 26.3 on ObjectStore.
Distinguishing Features
Pedagogy
Before starting to write any material for this book, one of the objectives was to produce a textbook that would be easy for the readers to follow and understand, whatever their background and experience. From the authors' experience of using textbooks, which was quite considerable before undertaking a project of this size, and also from listening to colleagues, clients, and students, there were a number of design features that readers liked and disliked. With these comments in mind, the following style and structure was adopted:
Instructor's Guide
A comprehensive supplement containing numerous instructional resources is available for this textbook, upon request to Pearson Education. The accompanying Instructor's Guide includes:
Additional information about the Instructor's Guide and the book can be found on the Pearson Education Web site at: http://www.booksites.net/connolly
Organization of this Book
Part 1 Background
Part 1 of the book serves to introduce the field of database systems and database design.
Chapter 1 introduces the field of database management, examining the problems with the precursor to the database system, the file-based system, and the advantages offered by the database approach.
Chapter 2 examines the database environment, discussing the advantages offered by the three-level ANSI-SPARC architecture, introducing the most popular data models, and outlining the functions that should be provided by a mufti-user DBMS. The chapter also looks at the underlying software architecture for DBMSs, which could be omitted for a first course in database management.
Part 2 The Relational Model and Languages
Part 2 of the book serves to introduce the relational model and relational languages, namely the relational algebra and relational calculus, QBE (Query-By-Example), and SQL (Structured Query Language). This part also examines two highly popular commercial systems: Microsoft Access and Oracle.
Chapter 3 introduces the concepts behind the relational model, the most popular data model at present, and the one most often chosen for standard business applications. After introducing the terminology and showing the relationship with mathematical relations, the relational integrity rules, entity integrity, and referential integrity are discussed. The chapter concludes with an overview on views, which is expanded upon in Chapter 6.
Chapter 4 introduces the relational algebra and relational calculus with examples to illustrate all the operations. This could be omitted for a first course in database management. HbWever, relational algebra is required to understand Query Processing in Chapter 20 and fraghkentation in Chapter 22 on distributed DBMSs. In addition, the comparative aspects of the procedural algebra and the nonprocedural calculus act as a useful precursor for the study of SQL in Chapters 5 and 6, although not essential.
Chapter 5 introduces the data manipulation statements of the SQL standard: SELECT, INSERT, UPDATE, and DELETE. The chapter is presented as a tutorial, giving a series of worked examples that demonstrate the main concepts of these statements.
Chapter 6 covers the main data definition facilities of the SQL standard. Again, the chapter is presented as a worked tutorial. The chapter introduces the SQL data types and the data definition statements, the Integrity Enhancement Feature (IEF) and the more advanced features of the data definition statements, including the access control statements GRANT and REVOKE. It also examines views and how they can be created in SQL.
Chapter 7 is another practical chapter that examines the interactive query language, Query-By-Example (QBE), which has acquired the reputation of being one of the easiest ways for nontechnical computer users to access information in a database. QBE is demonstrated using Microsoft Access.
Chapter 8 completes the second part of the book by providing introductions to two popular commercial relational DBMSs, namely Microsoft Access and Oracle. In subsequent chapters of the book, we examine how these systems implement various database facilities, such as security and query processing.
Part 3 Database Analysis and Design Techniques
Part 3 of the book discusses the main techniques for database analysis and design and how they can be applied in a practical way.
Chapter 9 presents an overview of the main stages of the database application lifecycle. In particular, it emphasizes the importance of database design and shows how the process can be decomposed into three phases: conceptual, logical, and physical database design. It also describes how the design of the application (the functional approach) affects database design (the data approach). A crucial stage in the database application lifecycle is the selection of an appropriate DBMS. This chapter discusses the process of DBMS selection and provides some guidelines and recommendations. The chapter concludes with a discussion of the importance of data administration and database administration.
Chapter 10 discusses when a database developer might use fact-finding techniques and what types of facts should be captured. The chapter describes the most commonly used fact-finding techniques and identifies the advantages and disadvantages of each. The chapter also demonstrates how some of these techniques may be used during the earlier stages of the database application lifecycle using the DreamHome case study.
Chapters 11 and 12 cover the concepts of the Entity-Relationship (ER) model an the Enhanced Entity-Relationship (EER) model, which allows more advanced data modeling using subclasses and superclasses and categorization. The EER model is a popular high-level conceptual data model and is a fundamental technique of the database design methodology presented herein. The reader is also introduced to UML to represent ER diagrams.
Chapter 13 examines the concepts behind normalization, which is another important technique used in the logical database design methodology. Using a series of worked examples drawn from the integrated case study, it demonstrates how to transition a design from one normal form to another and shows the advantages of having a logical database design that conforms to particular normal forms up to, and including, fifth normal form.
Part 4 Methodology
This part of the book covers a methodology for database design. The methodology is divided into three parts covering conceptual, logical, and physical database design. Each part of the methodology is illustrated using the DreamHome case study.
Chapter 14 presents a step-by-step methodology for conceptual database design. It shows how to decompose the design into more manageable areas based on individual views, and then provides guidelines for identifying entities, attributes, relationships, and keys.
Chapter 15 presents a step-by-step methodology for logical database design for the relational model. It shows how to map a conceptual data model to a logical data model and how to validate it against the required transactions using the technique of normalization. For database applications with multiple user views, this chapter shows how to merge the resulting data models together into a global data model that represents all the views of the part of the enterprise being modeled.
Chapters 16 and 17 present a step-by-step methodology for physical database design for relational systems. It shows how to translate the global data model developed during logical database design into a physical design for a relational system. The methodology addresses the performance of the resulting implementation by providing guidelines for choosing file organizations and storage structures, and by considering denormalization the introduction of controlled redundancy.
Part 5 Selected Database Issues
Part 5 of the book examines four specific topics that the authors consider necessary for a modern course in database management.
Chapter 18 considers database security, not just in the context of DBMS security but also in the context of the security of the DBMS environment. It illustrates security provision with Microsoft Access and Oracle. The chapter also examines the security problems that can arise in a Web environment and presents some approaches to overcoming them.
Chapter 19 concentrates on three functions that a Database Management System should provide, namely transaction management, concurrency control, and recovery. These functions are intended to ensure that the database is reliable and remains in a consistent state when multiple users are accessing the database and in the presence of failures of both hardware and software components. The chapter also discusses advanced transaction models that are more appropriate for transactions that may be of a long duration. The chapter concludes by examining transaction management within Oracle.
Chapter 20 examines query processing and query optimization. The chapter considers the two main techniques for query optimization: the use of heuristic rules that order the operations in a query, and the other technique that compares different strategies based on their relative costs and selects the one that minimizes resource usage. The chapter concludes by examining query processing within Oracle.
Chapter 21 examines embedded and dynamic SQL, with sample programs in 'C'. The chapter also examines the Open Database Connectivity (ODBC) standard, which has emerged as a de facto industry standard for accessing heterogeneous SQL databases.
Part 6 Current Trends
Part 6 of the book examines distributed DBMSs and object-based DBMSs. Distributed database management system (DDBMS) technology is one of the current major developments in the database systems area. The previous chapters of this book concentrate on centralized database systems: that is, systems with a single logical database located at one site under the control of a single DBMS.
Chapter 22 discusses the concepts and problems of distributed DBMSs, where users can access the database at their own site and also access data stored at remote sites.
Chapter 23 examines various advanced concepts associated with distributed DBMSs. In particular, it concentrates on the protocols associated with distributed transaction management, concurrency control, deadlock management, and database recovery. The chapter also examines the X/Open Distributed Transaction Processing (DTP) protocol, and discusses replication servers as an alternative to distributed DBMSs. The chapter concludes by examining data distribution and replication within Oracle.
The preceding chapters of this book concentrate on the relational model and relational systems. The justification for this is that such systems are currently the predominant DBMS for traditional business database applications. However, relational systems are not without their failings, and the object-based DBMS is a major development in the database systems area that attempts to overcome these failings. Chapters 24-27 examine this development in some detail.
Chapter 24 acts as an introduction to object-based DBMSs and first examines the types of advanced database applications that are emerging, and discusses the weaknesses of the relational data model that makes it unsuitable for these types of applications. The chapter then introduces the main concepts of object orientation. It also discusses the problems of storing objects in a relational database.
Chapter 25 examines the object-oriented DBMS (OODBMS), and starts by providing an introduction to object-oriented data models and persistent programming languages. The chapter discusses the difference between the two-level storage model used by conventional DBMSs and the single-level model used by OODBMSs, and how this affects data access. It also discusses the various approaches to providing persistence in programming 1'guages and the different techniques for pointer swizzling, and examines version management, schema evolution, and OODBMS architectures. The chapter concludes by briefly showing how the methodology presented in Part 4 of this book may be extended for object-oriented databases.
Chapter 26 addresses the new object model proposed by the Object Data Management Group (ODMG), which has become a de facto standard for OODBMSs. The chapter also examines ObjectStore, a commercial OODBMS.
Chapter 27 examines the object-relational DBMS, and provides a detailed overview of the object management features that have been added to the new release of the SQL standard, SQL3. The chapter also discusses how query processing and query optimization need to be extended to handle data type extensibility efficiently. The chapter concludes by examining some of the object-relational features within Oracle.
Part 7 Emerging Trends
The final part of the book deals with five emerging areas that are becoming particularly important, namely, the integration of the DBMS into the Web environment, semistructured data and its relationship to XML, data warehousing, online analytical processing (OLAP), and data mining.
Chapter 28 examines the integration of the DBMS into the Web environment. After providing a brief introduction to Internet and Web technology, the chapter examines the appropriateness of the Web as a database application platform and discusses the advantages and disadvantages of this approach. It then considers a number of the different approaches to integrating DBMSs into the Web environment, including scripting languages, CGI, server extensions, Java, Active Server Pages, and Oracle's Internet Platform.
Chapter 29 examines semistructured data and then discusses XML and how XML is an emerging standard for data representation and interchange on the Web. The chapter then discusses XML-related technologies such as namespaces, XSL, XPath, XPointer, and XLink. It also examines how XML Schema can be used to define the content model of an XML document and how the Resource Description Framework (RDF) provides a framework for the exchange of meta-data. The chapter concludes by examining query languages for XML.
Chapter 30 discusses data warehousing, what it is, how it has evolved, and describes the potential benefits and problems associated with this system. The chapter examines the architecture, the main components, and the associated tools and technologies of a data warehouse. The chapter also discusses data marts and the issues associated with the development and management of data marts. The chapter concludes by describing the data warehousing facilities of the Oracle DBMS.
Chapter 31 provides an approach to the design of the database of a data warehouse/ data mart built to support decision-making. The chapter describes the basic concepts associated with dimensionality modeling and compares this technique with traditional Entity-Relationship (ER) modeling. It also describes and demonstrates a step-by-step methodology for designing a data warehouse using worked examples taken from an extended version of the DreamHome case study. The chapter concludes by describing how to design a data warehouse using the Oracle Warehouse Builder.
Chapter 32 deals with online analytical processing (OLAP) and data mining. The chapter discusses-the concepts associated with mufti-dimensional databases and highlights the characteristics of the three main OLAP tools, namely mufti-dimensional (MOLAP), Relational OLAP (ROLAP), and Managed Query Environment (MQE) tools. It also examines how SQL has been extended to provide complex data analysis functions using, as an example, Red Bricks Intelligent SQL (RISQL). The chapter then presents the concepts associated with data mining and identifies the main characteristics of data mining operations, techniques, and tools, and examines the relationship between data mining and data warehousing.
Appendices
Appendix A provides a description of DreamHome, a case study that is used extensively throughout the book.
Appendix B provides three additional case studies, which can be used as student projects.
Appendix C provides some background information on file organization and storage structures that is necessary for an understanding of the physical database design methodology presented in Chapter 16 and Query Processing in Chapter 20.
Appendix D describes Codd's 12 rules for a relational DBMS, which form a yardstick against which the 'real' relational DBMS products can be identified.
Appendix E describes two alternative data modeling notations to UML, namely Chen's notation and Crow's Foot.
Appendix F summarizes the steps in the methodology presented in Chapters 14-17 for conceptual, logical, and physical database design.
Appendix G discusses how to estimate the disk space requirements for an Oracle database.
Appendix H provides some sample Web scripts to complement Chapter 28 on Web technology and DBMSs.