基本信息
- 原书名:First Course in Database Systems, A (3rd Edition)
- 原出版社: Prentice Hall
- 作者: (美)Jeffrey D. Ullman Jennifer Widom
- 丛书名: 经典原版书库
- 出版社:机械工业出版社
- ISBN:9787111247333
- 上架时间:2008-8-6
- 出版日期:2008 年8月
- 开本:16开
- 页码:565
- 版次:3-1
- 所属分类:计算机 > 数据库 > 数据库理论 > 综合
教材

编辑推荐
《华章图书·数据库系统基础教程(英文版)(第3版)》由机械工业出版社出版。
内容简介
作译者
Jennifer Widom 美国康奈尔大学计算机科学博士,现为斯坦福大学计算机科学与电子工程系教授,研究非传统的数据管理。她是ACM会士、Guggenheim会士和美国国家工程院成员,并且是多个编辑委员会、程序委员会和顾问委员会的成员。她在2007年获得了ACM SIGMOD Edgar F. Codd发明奖。...
目录
1 The Worlds of Database Systems
1.1 The Evolution of Database Systems
1.1.1 Early Database Management Systems
1.1.2 Relational Database Systems
1.1.3 Smaller and Smaller Systems
1.1.4 Bigger and Bigger Systems
1.1.5 Information Integration
1.2 Overview of a Database Management System
1.2.1 Data-Definition Language Commands
1.2.2 Overview of Query Processing
1.2.3 Storage and Buffer Management
1.2.4 Transaction Processing
1.2.5 The Query Processor
1.3 Outline of Database-System Studies
1.4 References for Chapter 1
2 Relational Database Modeling
2 The Relational Model of Data
2.1 An Overview of Data Models
2.1.1 What is a Data Model?
前言
plementing a DBMS. It is a prerequisite for CS245, which is the introduction to DBMS implementation. Students wishing to go further in the database field then take CS345 (special topics), CS346 (DBMS implementation project), and CS347 (transaction processing and distributed databases).
Starting in 1997, we published a pair of books. A First Course in Database Systems was designed for CS145, and Database System Implementation was for CS245 and parts of CS346. Because many schools are on the semester system or combine the two kinds of database instruction into one introductory course,we felt that there was a need to produce the two books as a single volume,which we call Database Systems: The Complete Book.
If you are a student considering buying this book, and anticipate a later study of implementation, you should consider buying Database Systems:The Complete Book instead.
However, because many more students need to know how to use database systems than to implement them, we have continued to package the first half of the "complete book" as A First Course in Database Systems. In the third edition, we have introduced many new topics and altered the overall view-point somewhat. Today, there are two important models for database systems:
relational and semistructured (XML). We have decided therefore to downplay object-oriented databases, except in the contexts of design and object-relational systems.
What's New in the Third Edition
After a brief introduction in Chapter 1, we cover relational modeling in Chapters 2-4. Chapter 4 is devoted to high-level modeling. There, in addition to the E/R model, we now cover UML (Unified Modeling Language). We also have moved to Chapter 4 a shorter version of the material on ODL, treating it as a design language for relational database schemas. The earlier, more extensive treatment of ODL and OQL is available on the book's Web site.
The material on functional and multivalued dependencies has been mod-ified and remains in Chapter 3. We have changed our viewpoint, so that a functional dependency is assumed to have a set of attributes on the right. We have also given explicitly certain algorithms, including the "chase," that allow us to manipulate dependencies. We have augmented our discussion of third normal form to include the 3NF synthesis algorithm and to make clear what the tradeoff between 3NF and BCNF is.
Chapter 5 contains the coverage of relational algebra from the previous edition, and is joined by (part of) the treatment of Datalog from the old Chap-ter 10. The discussion of recursion in Datalog is either moved to the book's Web site or combined with the treatment of recursive SQL in Chapter 10 of this edition.
Chapters 6-10 are devoted to aspects of SQL programming, and they repre-sent a reorganization and augmentation of the earlier book's Chapters 6, 7, 8,and parts of 10. The material on indexes and views has been moved to its own chapter, number 8, and this material has been augmented with a discussion of important new topics, including materialized views, and automatic selection of indexes.
The new Chapter 9 is based on the old Chapter 8 (embedded SQL). It is introduced by a new section on 3-tiered architecture. It also includes an expanded discussion of JDBC and new coverage of PHP.
Chapter 10 collects a number of advanced SQL topics. The discussion of authorization from the old Chapter 8 has been moved here, as has the discussion of recursive SQL from the old Chapter 10. Most of the chapter is devoted to the nested-relation model (from the old Chapter 4) and object-relational features of SQL (from the old Chapter 9).
Then, Chapters 11 and 12 cover XML and systems based on XML. Ex-cept for material at the end of the old Chapter 4, which has been moved to Chapter 11, this material is all new. Chapter 11 covers modeling; it includes expanded coverage of DTD's, along with new material on XML Schema. Chap-ter 12 is devoted to programming, and it includes sections on XPath, XQuery,and XSLT.
Use of the Book
There is adequate material in this volume for a one-semester course on database modeling and programming. For a one-quarter course, you will probably have to omit some of the topics. We regard Chapters 2-7 as the core of the course.The remaining five chapters contain material from which it is safe to select at will, although we believe that every student should get some exposure to the issues of embedding SQL in standard host languages from one of the sections in Chapter 9.
If, as we do in CS145, you give students a substantial database-application design and implementation project, then you may have to reorder the mate-rial somewhat, so that SQL instruction occurs earlier. You may wish to defer material such as dependencies, although students need normalization for design.
Prerequisites ..
We have used the book at the "mezzanine" level, in a course taken both by undergraduates and beginning graduate students. The formal prerequisites for the course are Sophomore-level treatments of: (1) Data structures, algorithms,and discrete math, and (2) Software systems, software engineering, and pro-gramming languages. Of this material, it is important that students have at least a rudimentary understanding of such topics as: algebraic expressions and laws, logic, basic data struct, ures, object-oriented programming concepts, and programming environments. However, we believe that adequate background is acquired by the Junior year of a typical computer science program.
Exercises
媒体评论
There is one more approach to representing information ab out a hier ar chy ofentity sets.If we axe allowed to use NULL(the null value aS in SQL)as avalue in t uples,we can h andle a hier archy of entity sets with a single relationThis relation has all the att rib utes b elonging to any entity set of the hierarchy.An entity is then represented by a single tup le.This tuple has NuLL in eachattribute that is not defined for that entity.Example 4.33:If we applied this approach to the diagram of Fig.4.3 1,wewould create a single relation whose schema iS:
Movie(title,year,length,genre,weapon)Those movies t hat are not mur der mysteries would have NULL in the weapon comp onent of their tuple.It would also be necessary to have a relation Voicesto connect those movies that are cartoons to t he starts performing the voices,as in Example.
书摘
There is one more approach to representing information ab out a hier ar chy ofentity sets.If we axe allowed to use NULL(the null value aS in SQL)as avalue in t uples,we can h andle a hier archy of entity sets with a single relationThis relation has all the att rib utes b elonging to any entity set of the hierarchy.An entity is then represented by a single tup le.This tuple has NuLL in eachattribute that is not defined for that entity.Example 4.33:If we applied this approach to the diagram of Fig.4.3 1,wewould create a single relation whose schema iS:
Movie(title,year,length,genre,weapon)Those movies t hat are not mur der mysteries would have NULL in the weapon comp onent of their tuple.It would also be necessary to have a relation Voicesto connect those movies that are cartoons to t he starts performing the voices,as in Example.