图书前言

《数据库系统原理与设计》及配套教材《数据库系统原理与设计实验教程》于2009年出版后,得到了数据库界同仁和学生的很大反响,已被全国40余所高校选作教材,于2010年12月获得江西省第四届普通高等学校优秀教材一等奖,并被江西省教育厅推荐参评教育部普通高等教育“十二五”国家级规划教材。以该教材为基础的课程建设、教材建设和教学方法研究不断深入,我们于2010年6月完成了江西省高等学校教学改革研究课题“‘数据库系统及应用’课程的双主体教学模式与教学方法改革研究”,并于2010年12月获得江西省第12次优秀教学成果一等奖(成果名称: “数据库系统及应用”国家精品课程建设的探索与实践). 2011年, "‘数据库系统原理’课程探究式教学方法的探索与实践”立项为江西省高等学校教学改革研究课题。

本书第1版出版后,我们不断地收到来自教学一线的师生们的反馈。反馈意见认为,本书具有鲜明的特色,尤其是数据库设计的内容对于学习“如何设计数据库”有很大帮助,但是学生在实际分析及建模中仍然存在一些困惑。例如,复杂业务中如何在联系集和实体集之间取舍,如何标识联系集,如何处理多元联系,业务语义对E-R建模有什么影响等。针对这些问题,并带着自己的一些新的思考,我们着手进行修订。本次修订仍然围绕“培养学生会‘用’数据库”的目标,进一步提升学生的概念建模能力,培养学生会“设计”数据库。此外,第2版的章节更加合理,可用性更强。

本次修订的主要内容有:

(1) 对第4章数据库建模(实体-联系模型)和第6章关系数据库设计实例(网上书店)进行了重写。通过引入实体集与联系集之间的依赖约束、多值联系等概念,将实体集分为基本实体集、弱实体集、依赖实体集和联系实体集4类,较好地解决了E-R建模中经常遇到的一些困惑。

(2) 为了适用于不同课时、不同层次的开课需要,将部分章、节的内容作为选讲内容,在这些章节前加*标注。◆数据库系统原理与设计(第2版)  (3) 调整了部分章节的顺序,增加和调整了部分章节的例题和习题,对部分概念和文字进行了修改。

(4) 将配套教材《数据库系统原理与设计实验教程》中使用的SQL Server 2000平台改为SQL Server 2005. 

与其他教材相比,本书的主要特点如下。

(1) 强化对关系数据库模式的理解,以模式导航图为工具,使学生深刻理解关系数据库逻辑模型,灵活掌握关系代数和SQL查询语言。

(2) 以案例为驱动,通过分析应用需求来介绍数据库建模的基本方法,着力培养学生应用建模的能力,重点是使学生深刻理解数据库概念模型,提高数据库设计能力。

(3) 涵盖了关系数据库物理存储结构、查询处理和查询优化等内容。这些内容一是有利于学生更好地理解关系数据库的物理模型,二是有利于学生更好地理解关系数据库管理系统(DBMS)的基本原理,三是有利于学生从底层的角度理解SQL查询。

(4) 从使用者的角度,以应用需求为驱动介绍数据库的事务、并发、恢复和完整性、安全性等内容,使学生深刻理解关系数据库管理系统(DBMS)的基本原理。

(5) 增加数据库应用开发和Web数据库技术介绍,使学生能了解数据库常用访问方法和Web数据库的实现技术,为后续学习和数据库应用开发实践打下一定的基础。

本次修订由万常选执笔,廖国琼、吴京慧、刘喜平、刘爱红等参与了讨论,并对修改稿进行了审阅,提出了许多宝贵的建议和意见。

本书及配套的《数据库系统原理与设计实验教程》(第2版)是国家精品课程“数据库系统及应用”的建设教材,有配套的电子课件(需要者请到清华大学出版社网站下载)和课程网站。本书可作为计算机相关专业本科生的数据库系统原理课程教材,也可供数据库爱好者自学和参考。

本书在编写过程中,参阅了大量的参考书目和文献资料,在此向参考资料的作者表示衷心的感谢。同时,也对所有关心本书和帮助我们的老师和学生表示衷心的感谢。

限于水平,书中不足之处在所难免,敬请各位读者批评指正。对本书的意见请反馈给我们(wanchangxuan@foxmail.com),谢谢。

万常选········································

  第1版前言                   Foreword  数据库系统是计算机系统的重要组成部分,是企业、机构、互联网乃至整个信息社会赖以运转的基础,在当今社会中扮演着越来越重要的角色。正是由于数据库具有重要的基础地位,数据库理论与技术教育已成为现代计算机科学和相关学科教育中的核心部分,所有计算机及其相关专业的学生都有必要掌握和熟悉数据库理论与技术。

通过多年的数据库课程教学,我们发现学生在学习数据库课程之后,仍然不会“用”数据库--不会设计数据库,不会管理数据库,不会开发数据库应用程序。带着这些问题,我们进行了一系列的数据库课程的教学改革探索与实践,并取得了一定的成绩,如“数据库系统及应用”于2007年获得国家精品课程立项。目前,虽然数据库教材很多,但是很难找到完全适合教学需要的教材。于是,我们决定动手编写一套让学生会“用”数据库的教材,一本“够用”的教材,这便是编写本书的初衷。本书虽然不一定能完全达到目标,但至少开始了有益的尝试。

数据库技术发展至今,已经相当成熟,相关知识博大精深。本书定位于面向计算机及其相关专业本科生的第一本数据库入门教材,在内容选择上颇费思量。在构思本书之前,本书作者一直在思考:对于计算机及其相关专业的本科生来说,需要掌握哪些数据库知识?回答这个问题并不容易,这是因为数据库知识非常丰富,而且由于课时有限,学生不可能了解所有数据库知识。另外,不同用户在使用数据库时,他们的视角是不同的。数据库系统的用户大致可分为4类: 数据库管理员、数据库系统分析员、数据库设计人员、数据库应用程序员及终端用户。我们认为,计算机及其相关专业的学生既可能做数据库管理员,也可能成为系统分析员和数据库设计员,更可能是数据库应用程序员。因此,作为一本数据库入门教材,必须要提供这些方面的知识,为学生以后的深入学习打下基础。◆数据库系统原理与设计(第2版)第1版前言  基于这些考虑,本书内容包括以下几个部分。

 数据库系统基本概念(第1章)。该部分介绍了数据、数据管理、数据库、数据库管理系统和数据库系统等基本概念。同时,也介绍了数据模型、数据抽象、数据库模式等概念。

 关系数据库基础(第2章和第3章)。第2章介绍了关系模型(关系数据结构、关系操作和关系完整性约束条件)以及关系代数;第3章介绍了关系数据库的标准语言--SQL,包括数据定义DDL语言、数据控制DCL语言和数据操纵DML语言。

 关系数据库设计(第4章~第6章)。第4章介绍了数据库建模方法,包括实体-联系模型基本概念、概念模型设计过程以及如何将E-R模型转化为关系模型;第5章介绍了关系数据库设计理论,着重讲述了函数依赖及规范化理论;第6章通过一个实例演示了关系数据库设计过程。

 关系数据库管理系统(第7章~第10章)。第7章介绍了关系数据库物理存储结构,包括文件组织、记录组织、索引技术以及物理数据库设计;第8章介绍了查询处理技术,包括查询处理过程、各种关系操作算法以及查询优化技术;第9章讲述了数据库完整性和安全技术,包括数据库安全性、完整性的基本概念和措施,游标、存储过程和触发器,以及应用与安全设计;第10章阐述了事务管理和恢复相关技术。

 数据库应用开发(第11章和第12章)。第11章介绍了数据库应用系统的体系结构、常用数据库访问技术和数据库应用开发技术;第12章介绍了Web数据库基本概念,讨论了Web数据库访问技术,并介绍了XML数据库基本概念。

与其他教材相比,本书的主要特点如下。

① 强化对关系数据库模式的理解,以模式导航图为工具,使学生深刻理解关系数据库查询原理,灵活掌握关系代数和SQL查询语言。

② 以案例为驱动,通过分析应用需求来介绍数据库建模的基本方法,使学生深刻理解关系数据库设计思想,提高数据库设计能力。

③ 增加关系数据库物理存储结构、查询处理和查询优化等内容,一是有利于学生从底层的角度理解SQL查询,二是有利于学生更好地理解关系数据库的物理设计,三是有利于学生更好地理解关系数据库的优点和缺点。该部分内容可根据授课对象的不同有选择地教学。

④ 从使用者的角度,以应用需求为驱动介绍数据库的事务、并发、恢复和完整性、安全性等内容。

⑤ 增加数据库应用开发和Web数据库技术介绍,使学生能了解数据库常用访问方法和Web数据库的原理和实现技术,为后续学习和数据库应用开发实践打下一定的基础。

本书由万常选、廖国琼、吴京慧和刘喜平编写,其中,第1、2、7、8章由万常选执笔,第4、5、6、10章及7.6节、9.6节由廖国琼执笔,第3、9章及11.1节由吴京慧执笔,第11、12章由刘喜平执笔。万常选提出本书的编写大纲,并对全书的初稿进行了修改、补充和总纂。

本书及配套的《数据库系统原理与设计实验教程》是国家精品课程“数据库系统及应用”的建设教材,有配套的电子课件和教学网站(http://skynet.jxufe.edu.cn/jpkc/sjk),可作为计算机相关专业本科生的数据库系统原理课程教材,也可供数据库爱好者自学和参考。

本书在编写过程中,参阅了大量的参考书目和文献资料,在此向参考资料的作者表示衷心的感谢。

由于作者学识浅陋,书中不足之处在所难免,敬请各位读者批评指正。编 者