本书反映了信息系统领域的主趋势,介绍了学生学习现代信息系统所需的技巧。书中包含数据库管理、数据库分析、数据库设计和执行以及更多高级主题。具体涉及数据库环境和发展过程,数据库分析,逻辑数据库设计和关系模型,物理数据库设计及性能,分布式数据库,面向对象的数据建模和数据库开发等内容。通过讨论系统的客户服务器体系结构中的web系统设计和编程、大规模数据库和数据仓库、在线环境下的数据库性能以及数据库标准查询工具SQL,反映了这些领域的最新变化。
本书适合作为高等院校研究生或本科生教材,亦可作为从事数据库管理工作人员的参考资料。
Preface
Part I The Context of Database Management
PART I OVERVIEW
1 The Database Environment
2 Database Development Process
Part II Database Analysis
PART II OVERVIEW
3 Modeling Data in the Organization
4 The Enhanced E-R Model and Business Rules
Part III Database Design
PART III OVERVIEW
5 Logical Database Design and the Relational Model
6 Physical Database Design and Performance
Part IV Implementation
PART IV OVERVIEW
7 SQL
8 Advanced SQL
9 The Client/Server Database Environment
10 The Internet Database Environment
11 Data Warehousing
Part V Advanced Database Topics
PART V OVERVIEW
12 Data and Database Administration
13 Distributed Databases
14 Object-Oriented Data Modeling
15 Object-Oriented Database Development
Appendix
A E-R Modeling Tools and Notation
B Advanced Normal Forms
C Data Structures
D Object-Relational Databases
Glossary of Acronyms
Glossary of Terms
Credits
Index
This text is designed for an introductory course in database management. Such a course is usually required as part of an information systems curriculum in business schools, computer technology programs, and applied computer science departments. The Association of Information Technology Professionals (AITP), Association for Computing Machinery (ACM), and International Federation of Information Processing Societies (IFIPS) curriculum guidelines (for example, IS '97) all outline this Wpe of database management course. Previous editions of our text have been used successfully for more than 15 years at both the under-graduate and graduate levels, as well as in management and professional development programs.
This text represents an extensive revision and updating of the fifth edition of Modern Database Management. These revisions are necessary to accommodate the technical, managerial, and methodological changes occurring at an ever-increasing pace in this field. However, we have endeavored to retain the best features of our previous editions; We have made every effort to justify the rifle Modern Database Management, which was introduced in the fourth edition.
In this sixth edition we have changed the order of authorship because of the reduced involvement of Fred McFadden as he eases into retirement. Fred has reviewed every page of the manuscript and provided sage guidance on the direction of the revisions. Fred McFadden is the "father" of this text, and his words and ideas will always be present on its pages.
New to This Edition
The sixth edition of Modern Database Management updates and expands materials in areas undergoing rapid change due to improved managerial practices, database design tools and methodologies, and database technology. The themes of the sixth edition reflect the major trends in the informations systems field and the skills required of modern information systems graduates:
· Web-enabled systems design and programming within an overall client/server architecture for systems
· Large-scale databases and data warehouses
· Clarifying system requirements through thorough system modeling and design
· Criticality of database performance in an increasingly online environment
· SQL as a standard for database querying
In all the chapters, new screen captures are included to reflect the latest database technologies and a new Web Resources section lists Websites that can provide the student with the information on the latest database trends and expanded background details on important topics covered in the text. The major structural changes to the text are:
·The two object-oriented database chapters are now adjacent chapters, and have been moved to the end of the text, where they are presented as a continuous coverage of this emerging database technology and where they do not break up the natural flow among the other chapters.
·The client/server section of the book has been extensively rewritten and now emphasizes the Internet, intranet, and extranet as implementations of a client/server architecture.
·SQL is now covered in more depth and in two chapters.
·The data warehousing chapter has been significantly rewritten and moved forward as a chapter in the implementation section of the book, representing the explosive growth of this form of database.
The following presents a chapter-by-chapter description of the major changes in this edition. Each chapter description presents a statement of the purpose of that chapter, followed by a description of the changes and revisions that have been made since the fifth edition. Each paragraph concludes with a description of the strengths that have been retained from the fifth edition.
Part I: The Context of Database Management
Chapter 1: lhe Database Environment This chapter discusses the role of databases in organizations and previews the major topics in the remainder of the text. The chapter introduces a revised classification scheme that now recognizes the ft)ur types of databases outlined in the fifth edition--personal, work group, departmental, and enterprise--and now includes Internet/intranet/extranet databases. The explanation of enterprise databases is expanded to include databases that are part of enter prise resource planning systems and data warehouses. The chapter updates the discussion of the evolution of database technologies from pre-database files to modern
object-relational and Web-enabled systems. The chapter continues to present a well-organized comparison of database technology compared to conventional file-pro cessing systems.
Chapter 2: Database Development Process This chapter presents a detailed discussion of the role of database development within the broader context of information systems development. The chapter explains the process of database development for both structured life cycle and prototyping methodologies. The chapter continues to discuss important issues in database development, including management of the diverse group of people involved in database development and fi'ameworks lot under standing database architectures and technologies. The chapter also continues to emphasize the information engineering methodology in database development, including the role of the enterprise data model. Reviewers liequently note the com patibility of this chapter with what students learu in systems analysis and design classes.
Part II: Database Analysis
Chapter 3. Modeling Data in the Organization This chapter, with a new title, presents a thorough introduction to conceptual data modeling with the entity-relation-ship model. The new chapter title reflects a refocusing of the chapter on the reason lot the entity-relationship model: to unambiguously document the rules of tile business that influence database design. The chapter contains a thoroughly updated section on the latest approaches to modeling business rules, which has been moved from Chapter 4. Specific subsections explain in detail how ID name and define elements of a data model, which are essential in developing an unambiguous E-R diagram. A new section addresses an issue many students face as they learn data modeling: whether to represent data as attributes or relationships. The chapter continues to proceed from simple to more complex examples, and it concludes with a comprehensive E-R diagram for Pine Valley Furniture Company.
Chapter 4: The Enhanced E-R Model and Business Rules This chapter presents a discussion of several advanced E-R data model constructs. New to the chapter is an introduction of entity clustering, which is a way to present simpler versions of an E-R diagram. The chapter extensively updates coverage of the GUIDE business rules methodology based on the latest guidelines, and now shows the structure of these guidelines, which will facilitate student understanding. The chapter continues to present a thorough coverage of supenype/subtype relationships.
Part III: Database Design
Chapter 5: logical Database Design and the Relational Model This chapter describes the process of converting a conceptual data model to the relational data model. It features an improved discussion of the characteristics of foreign keys and introduces the important concept of a non-intelligent enterprise key. Enterprise keys (also called surrogate keys for data warehouses) are being emphasized as some concepts of object-orientation migrate into the relational technology world. The discussion of Ifimctional dependencies and normalization has been somewhat enhanced. The chapter continues to emphasize the basic concepts of the relational data model and the role of the database designer in the logical design process.
Chapter 6: Physical Database Design and Performance This chapter describes the steps that are essential in achieving an efficient database design. The chapter contains a new emphasis on ways to improve database performance. Several sections have been enhanced with references to specific techiniques available iii Oracle arid other DBMSs to improve database processing pertormance. The discussion of indexes has been expanded to include descriptions of types of indexes (primary and secondary indexes, join index, hash index table) that are more widely available in database technologies as techniques to improve query processing speed. The discus-
sion (if RAID has been updated to reflect the latest thinking on this important technology. The chapter continues to emphasize the physical design process and tim goals of' that process.
Part IV: Implementation
Chapter 7: SQL This chapter presents a thorough introduction to the SQL used hy most DBMSs (SQL-92) and introduces the changes that are included in the latest standard (SQL-99). The major change for the sixth edition is that the overall coverage of SQL is expanded and divided into this and the next chapter. This chapter includes more examples of SQL code, using mostly SQL-99 syntax and some Oracle 8i syntax. There is an improved coverage of views, both dynamic and materialized. Chapter 7 explains the SQL commands to create and maintain a database and to program single-table queries. The chapter continues to use the Pine Valley Furniture Company case to illustrate a wide variety of practical queries and query results.
Chapter 8: Advanced SQL This new chapter continues the explanation of' SQL with a carefid explanation of multiple-table queries, transaction integrity, data dictionary, triggers and stored procedures, and embedded SQL in other programming language programs. All forms of the OUTER JOIN command are now covered. This chapter illustrates how to store the results of a query in a derived table, the CAST command to convert data between different data types, and the CASE command for doing conditional processing in SQL. The chapter also outlines the new on-line analytical processing (OLAP) features of SQL-99, which are necessary for SQL to be use-fill as a data access tool for data warehouses. As in Chapter 7, most SQL code illustrations are written using SQL-99 syntax and some Oracle 8i syntax. The chapter continues to contain a clear explanation of subqueries and correlated subqueries, two of the most complex and powerful constructs in SQL.
Chapter 9: The Client/Server Database Environment This extensively rewritten chapter combines content from two chapters in the fifth edition. The purpose of the chapter is to provide a thoroughly modern discussion of the client/server architecture, applications, middleware, and client database access itl contempora]w database environments. This chapter lays the technology groundwork for tile Internet topics in the remainder of the text. Many figures have been updated to more clearly show the options in multi-tiered networks, including application and database servers, database processing distribution alternatives among network tiers, and browser (thin) clients. Important new topics include security for Web-enabled databases, and ODBC and JDBC connectivity (including a detailed example of code to access a JDBC-compliant database). The chapter continues to contain a discussion of the three-tier client/server architecture, application partitioning, role of the mainframe, use of parallel computer architectures, middleware, and Microsoft Access 2000 Query-by-Example. Symmetric multiprocessing (SMP) and massively parallel processing (MPP) architectures are described and compared.
Chapter 10: The Internet Database Environment The purpose of this new chapter is to describe the connectivity to databases from Web-based applications. This chapter includes a discussion of scripting languages and embedded SQL in scripts, with examples from ASP and ColdFision for a shopping cart application (all of the code for these examples appears on the book's Website). The chapter also includes a review of the Internet-related terminology and concepts (such as firewall, proxy servel, static and dynamic Web pages, HTML/S(;MI,/XM1,/XHTML languages, cascading style sheets, Common Gateway Interface, and servlets necessary to under-stand connecting a database to a Web page. The role of Web servers and server-side extensions for database connectivity is addressed. Web security and privacy issues are also covered.
Chapter 11: Data Warehousing This chapter is extensively revised from the fifth edition. It's purpose is to describe the basic concepls of data warehousing, the reasons data warehousing is regarded as critical to colnpetitive adwmtage in many organizations, and the database design activities and structures unique to data warehousing. Topics include alternative data warehouse architectures, techniques for data transformation and reconciliation, and the dimensional data model (or star schema) for data warehouses. Operational data store; independent, depen(lent, and logical data mart; and various forms of on-line analytical processing arc defined. The moseextensive changes to the chapter are in the sections dealing with (la(abase design for data marts the derived data layer), in which the topics of snrrogate keys, fact table grain, modeling dates and time, conlormed dixnensions, factless lac! tables, and helper/hierarchy/reference tables are thoroughly explained and illustrated. User interfaces, inch(ding on-line analytical processing (OLAP) and data mining, are also descrilbed.
Part V: Advanced Database Topics
Chapter 12: Data and Database Administration This chapter presents a thorough discussion of the importance and roles of data and database administration and describes a number of the key issues that arise when these fimctions are heing performed. This chapter emphasizes the changing roles and approaches of dam and database administration, with increasing emphasis on tuning the database and queries for improved performance. It contains a thorough discussion of database backup procedures and data security threats and responses and provides a detailed escription of managing data quality. There is a new discussion of transaction integrity properties for better recovery and concurrency control. The chapter continues to emphasize the critical importance of data and database management in managing data as a corporate asset.
Chapter 13: Distributed Databases This chapter reviews the role, technologies, and unique database design opportunities of distributed databases. There is an expanded and updated coverage of the objectives and trade-offs for distributed databases, data replication alternatives, factors in selecting a data distribution strategy, and distributed database vendors and products. This chapter, along with Chapter 12, provides thorough coverage of database concurrency access controls.
Chapter 14: Object-Oriented Data Modeling This chapter presents an introduction to object-oriented modeling using the Unified Modeling Language (UML) of Booch, Jacobson, and Rumbaugh. This chapter has been thoroughly updated to illustrate the latest UML notations. Using UML provides an industry-standard notation for representing classes and objects. The chapter continues to emphasize basic OD concepts, such as inheritance and aggregation. The chapter includes an extensive example of an OD data model for Pine Valley Furniture.
Chapter 15: Object-Oriented Database Development The purpose of this chapter is to show how to translate object-oriented models (explained in Chapter 14) into class, object, relationship, and operation definitions for an object-oriented DBMS. The chapter also introduces the latest format for object defintion language (ODL) and object query language (OQL), the standard language for ODBMSs. The chapter includes an OD database definition using ODL for the Pine Valley Furniture data- base design of tile previous chapter. The chapter concludes with a survey of
ODBMSs---both vendors and products.
Appeadices
The sixth edition contains four appendices intended for persons who wish to explore certain topics in greater depth.
Appendix A: E-R Modeling Tools and Notation This new appendix addresses a need raised by many readers--how to translate the E-R notation in the text into the form used by the CASE tool or DBMS used in class. Specifically, this appendix compares the notations of'Visible Analyst 7.4, ERwin: 3.5.2, Microsoft Access 2000, and Oracle Designer 6.0. Tables and illustrations show the notations used for the same constructs in each of these popular software packages.
Appendix B: Advanced Normal Forms This appendix presents a description (with examples) of Boyce/Codd and Fourth normal forms. A new, additional example is included on BCNF to show how to handle overlapping candidate keys.
Appendix C: Data Structures This appendix describes several data structures that often underlie database implementations. Topics include the use of pointers, stacks, queues, sorted lists, inverted lists, and trees.
Appendix D: Object-Relational Databases This appendix presents a description of object-relational database management systems (ORDBMS). Topics include features of an ORDBMS, enhanced SQL, advantages of the object-relational approach, and a summary of ORDBMS vendors and products.