随着互联网的发展、大数据时代的来临,信息资源已成为各行各业的重要资源和财富,作为实施有效信息处理的数据库已经成为当今企事业单位和政府部门不可缺少的技术,每个员工每天都在直接或间接地与数据库打交道,可以说数据库已经成为整个信息社会赖以运转的基础。而数据库技术作为信息技术和信息产业的重要支柱,是目前IT行业中发展最快的技术之一,已经广泛应用于各种类型的数据处理系统之中,并成为计算机信息系统与各种应用系统的核心技术和重要基础,在社会各个领域发挥着强大的作用。
作为计算机学科和相关学科教育中的核心部分,数据库原理与应用课程是高等学校计算机类、信息类等相关专业的专业基础课,也是一门专业核心课程。作为数据库类课程群的一门基础课程,其主要内容包括数据库系统基础知识,关系数据模型,关系数据库,关系数据库的规范化理论,数据库设计,SQL Server 2012数据库管理系统,TSQL语言在SQL Server 2012数据库管理系统的应用,数据库安全性、完整性、事务管理与并发控制,数据库恢复技术以及存储过程、触发器的编程技术等。
学习本课程的目的是使读者掌握如何利用数据模型描述现实世界中各种对象以及对象之间的相互关系,如何高效地存储数据、如何使用和管理数据,如何利用数据建模的理论和方法解决基于实际应用而提出的各种需求,从实践中充分理解数据库、数据库管理系统、数据库系统之间的关系,理解原理、设计和应用之间的关系,强化数据库理论、数据库设计的方法和步骤,了解目前数据管理技术的发展方向,为进一步学习数据库类课程群的后续系列课程,特别是数据库的应用开发技术课程打下坚实的基础。
目前市面上关于数据库原理与应用的教材很多,内容上要么偏重理论,要么实践上主要介绍某个数据库管理系统的简单操作与应用,并且数据库的整个分析与设计过程大都采用传统结构化的面向过程方法。鉴于数据库系统成功的关键在于数据库设计的好坏,同时针对读者学完数据库课程之后的普遍感受: 数据库原理内容单调而枯燥,不容易理解。本次编写的数据库原理与应用教材,以数据库原理的核心理论为指导,采用面向对象的方法,以具体的软件项目为实例,突出以实际应用为主,同时引入数据建模工具Power Designer,让读者在具体的实践中理解基本理论,并体会数据库设计的重要性。
本书在编写形式上,强调启发读者的思维,在掌握基本知识的基础上,引导读者思考,拓宽读者思路。在内容题材的选取上,凝聚了课程组多年来在基于数据库的信息系统的科研实践中的经验、体会,并结合课程组教师多年的数据库教学经验的积累和总结以及数据库类课程群建设方面的经验和成果,突出以实际应用为主,将数据库原理理论与目前最具典型代表性的SQL Server 2012数据库管理系统与最为流行的数据建模工具Power Designer相结合,通过分析和解剖数据库设计案例,将读者易于理解的应用实例贯穿原理理论内容中,帮助读者从不同角度理解和掌握抽象的原理理论,使原理与应用相互融合,以应用带动和强化原理,用原理指导应用。同时将数据库设计方法、数据库建模工具和数据库设计案例相结合,培养读者数据建模的思想,使读者不仅会用数据库,更会分析、设计、管理数据库,既可提高读者的实际动手能力,又为开发数据库应用程序奠定坚实的基础。
全书共分10章,各章的内容安排如下。
第1章为数据库系统概述,主要内容包括数据库基础知识,数据管理技术及其发展,数据库系统的结构,数据模型,主流数据库管理系统。
第2章为关系数据库基础,以关系数据模型的三大要素数据结构、数据操作和数据的完整性为主线,主要介绍关系数据库中的基本概念、关系代数、关系演算。
第3章为数据库设计,通过案例全面地介绍数据库设计的过程,主要内容包括面向对象的数据库设计方法和设计步骤,对象模型、概念数据模型的设计过程以及如何将概念数据模型转换为关系模型。
第4章为关系数据库规范化理论,介绍关系数据库模式的理论基础,主要内容包括关系规范化的必要性,函数依赖、逻辑蕴涵、属性集闭包的概念,范式的判定,Armstrong公理系统,模式分解及其准则。
第5章为数据库管理系统SQL Server 2012,主要内容包括SQL Server 2012常用管理工具的使用,SQL Server 2012数据库的基本结构,以及如何使用SQL Server Management Studio(SSMS)图形化管理工具创建、管理数据库,创建、管理基本的数据库对象等。
第6章为TSQL在SQL Server 2012中的使用,主要内容包括数据定义语言、数据查询语言、数据更新语言和数据控制语言在SQL Server 2012的使用方法,TSQL常用的语言元素,存储过程、触发器编程,以及嵌入式SQL的编程思想。
第7章为数据库的安全性和完整性控制,主要介绍了SQL Server 2012数据库的安全性管理和完整性控制。安全性管理包括SQL Server 2012的安全认证模式,登录账号,用户账号和角色的管理,权限管理操作; 完整性控制包括完整性约束条件、完整性的实现方法。
第8章为数据库的事务管理和并发控制,主要内容包括事务的概念、状态和特性,事务控制,锁的概念,基于锁的封锁协议,并发调度的可串行性,SQL Server 2012并发控制机制。
第9章为数据库的备份与恢复,主要介绍了SQL Server 2012数据库备份和恢复技术,包括数据库备份的方式、备份操作、数据库恢复方式和恢复操作。
第10章为数据库的研究领域,主要介绍数据库技术与其他技术相结合而出现的应用领域和数据库技术的新发展。
附录中通过贯穿本书的案例高校图书管理系统,主要介绍了数据建模工具Power Designer 16.5的数据建模过程。其中重点演示了数据库建模的方法和步骤,以及如何通过建立的物理数据模型生成数据库。
与其他教材相比,本书具有如下特点。
1. 采用面向对象的方法
从获取应用需求到数据库设计,打破传统教材的结构化设计方法,采用面向对象的分析和设计方法,用对象分解取代功能分解。
2. 以案例为驱动,培养读者应用建模能力
引入数据建模的思想,根据高校图书管理系统的应用需求,介绍了数据建模的基本理论和方法,同时在附录中通过案例介绍了最为流行的数据建模工具Power Designer 16.5,使读者进一步理解数据库设计的思想,在实践中体会数据库建模的重要性,提高数据库设计的能力。
3. 理论实践相结合
针对SQL语言的内容,打破传统教材先编写标准SQL语言、再编写其应用的惯例,本书把SQL的整个知识点贯穿到SQL Server 2012的应用中,以案例为驱动,使理论与实践相结合,加深读者印象。
4. 明确学习内容和目标,方便总结和复习
每一章内容介绍之前,均设置本章的学习目标、学习重点和难点,这样可以使读者明确本章的要求和学习内容,每一章配有适量的例题,所有例题均在SQL Server 2012环境中调试通过。章末设置本章内容小结和习题,加强读者对本章所学知识的理解、掌握和巩固,并鼓励学生在教材知识的基础上,进行自主、扩展学习。
5. 方便读者阅读
内容上图文并茂,逻辑性强,层次分明,方便读者阅读。
本书是集体智慧的结晶,由肖海蓉任主编,任民宏任副主编,鲁秋菊参编。其中,肖海蓉编写第1章、第3章、第4章、第5章、第6章和附录,任民宏编写第7章、第8章和第10章,鲁秋菊编写第2章和第9章。
本书不仅可以作为计算机类专业、信息管理与信息系统专业、信息与计算科学专业及其相关专业的数据库教材,也可以作为其他专业数据库课程的参考教材,还可供从事数据库应用、设计、管理或开发的技术人员和管理人员参考。为配合本课程的教学需要,本教材为教师配有习题参考答案,可发Email(Zhengyk@tup.tsinghua.edu.cn)联系索取。
本书的出版得到了清华大学出版社的大力支持,责任编辑在书稿结构和表达方式上给出了一些指导性的意见,在此表示由衷的感谢。本书在编写过程中,参阅了大量的参考书目和文献资料,在此向参考资料的作者表示深深的感谢。另外,在编写期间,许多老师和读者也对本书的编写提出了许多宝贵建议和修改意见,陈凯、付凯、韦澄杰、张攀在本书的编写过程中做了大量辅助性的工作,在此表示由衷的感谢。由于编者水平有限,加之时间仓促,书中难免还会存在一些疏漏与错误,恳请读者批评指正。如果读者有好的建议或意见,可将邮件发至信箱xhr1226@163.com。
编者
2015.10