《数据库技术原理与应用教程(第2版)》——导读

前 言

本教材第1版自出版以来已有十年时间了,在这些年中数据库学科有了新的发展,计算机教学改革也有了新的要求。在此环境下,第2版需进行重大调整。

调整原则

本版的调整原则是:保持原版本的基本面貌与特色不变,在此基础上进行一定的修改与补充,使教材内容更适应学科发展、特色更明显、学科体系性更强。

本版中“保持原版本的基本面貌与特色不变”主要表现在下面三个方面:

1)定位不变:面向普通高等院校计算机应用型专业本科“数据库”课程且学时数为72学时左右。

2)结构体系及内容框架基本不变。

3)特色不变:应用特色不变,并有所增强。

在保持三个不变的基础上进行了如下五个方面的调整:

1)增添一篇:第三篇(产品篇),集中介绍SQL Server 2008的内容与操作。

2)增添一章:第6章(关系数据库管理),介绍数据库生成及数据库运行与维护等有关内容。

3)增加开发应用篇的内容,使学生学会数据库应用系统的开发。

4)删除部分不必要的、落后的及已淘汰的内容。

5)对难于理解的并发控制、数据交换等内容进行了重写,使其更容易为读者所接受。

此外,还对部分内容及错误词句进行了必要的订正。

调整内容

经过修订后,第2版共由四篇22章组成,它们是:

第一篇:基础篇,共6章(第1~6章)

本篇保留原6章框架,但在内容上进行了一定的调整。

第1章:基本保留原有内容。

第2章:基本保留原有内容,但进行了一定的删减。

第3章:基本保留原有内容,但删除了面向对象及对象关系两种模型。

第4章:原有内容不变。

第5章:基本保留原有内容,但对事务、并发控制、故障恢复及数据交换等进行了重写。

第6章:将原有的内容并入新设置的第三篇中,而重新设置此章内容,并命名为“关系数据库管理”。

第二篇:操作篇,共6章(第7~12章)

本篇基本保留原有内容,但将原有SQL Server操作内容并入新设置的第三篇中。由于原第10章均为SQL Server操作内容,因此该章整章删除,由此本篇由7章减少为6章。

第7~9章:基本保留原有内容,但删除了SQL Server操作内容并简化了部分内容。

第10~12章:它们即是原有第11~13章内容,但删除了原有SQL Server操作内容并简化了部分内容。

第三篇:产品篇,共6章(第13~18章)

此篇主要介绍以SQL Server 2008为代表的数据库产品,这是此版新增内容,目的是对SQL Server 2008进行全面、系统的介绍,以更方便使用。内容包括SQL Server 2008的系统介绍、服务器管理、数据库管理、数据库对象管理、数据交换以及数据库安全性管理等。

第四篇:开发应用篇,共4章(第19~22章)

此篇即原第三篇(第14~17章),基本保留原有内容并有所增强。

第19章:对原有第14章内容进行了重大的修改及补充。

第20章:基本保留原有第15章内容,但进行了一定的修改。

第21章:改名为“数据库编程”,对原有第16章内容进行了重大的修改及扩充,其目的是增强学生编写数据库程序的能力。

第22章:基本保留原有第17章内容,但进行了一定的修改。

最后,本书还对原有10个实验指导进行了一定的修改,现为8个实验指导。
教材中带有星号(*)的章节可视情况少讲或不讲。

读者对象

本书可作为普通高校计算机及相关专业(特别是应用类专业)本科生“数据库”课程的教材,也可作为数据库应用开发人员的培训教材及参考材料。

鸣谢

本书由徐洁

磐、操凤萍编写,其中第一篇、第二篇及第四篇共16章由徐洁磐编写,第三篇共6章由操凤萍编写,最后由徐洁磐统稿。

值本书付梓之际,首先,向东南大学孙志挥教授表示感谢,他在审稿中对本书提出了很多宝贵的意见。此外,本书还得到南京大学计算机软件新技术国家重点实验室的支持,在此一并表示感谢。

编者

2017年4月

目 录

第一篇基础篇
第1章数据、数据管理与数据处理
1.1概述
1.2数据及其特性
1.3数据与数据库
1.4数据管理
1.4.1数据库管理系统
1.4.2开发性数据库管理与数据库管理员
1.5数据管理的变迁
1.6数据处理
1.6.1数据处理的环境
1.6.2应用开发
1.6.3数据处理的应用领域
1.6.4数据处理中数据库的用户
本章小结
习题1
第2章数据库的基础知识
2.1数据库中的基本概念
2.2数据库内部结构体系
2.2.1数据库的三级模式
2.2.2数据库的二级映射
2.3数据库系统的特点
本章小结
习题2
第3章数据管理中的数据模型
3.1数据模型的基本概念
3.2数据模型的四个世界
3.3现实世界
3.4概念世界与概念模型
3.4.1E-R模型的基本概念
3.4.2E-R模型三个基本概念之间的联接关系
3.4.3E-R模型的图示法
3.5信息世界与逻辑模型
3.5.1概述
3.5.2关系模型简介
3.5.3关系模型的数据结构、操纵和约束
3.6计算机世界与物理模型
3.6.1数据库的物理存储介质
3.6.2磁盘存储器及其操作
3.6.3文件系统
3.6.4数据库的物理结构
本章小结
习题3

时间: 2024-08-01 22:24:10

《数据库技术原理与应用教程(第2版)》——导读的相关文章

《深入理解Scala》——第1章,第1.2节当函数式编程遇见面向对象

1.2 当函数式编程遇见面向对象 深入理解Scala 函数式编程和面向对象编程是软件开发的两种不同途径.函数式编程并非什么新概念,在现代开发者的开发工具箱里也绝非是什么天外来客.我们将通过Java生态圈里的例子来展示这一点,主要来看Spring Application framework和Google Collections库.这两个库都在Java的面向对象基础上融合了函数式的概念,而如果我们把它们翻译成Scala,则会优雅得多.在深入之前,我们需要先理解面向对象编程和函数式编程这两个术语的含义

《深入理解Scala》——第1章,第1.4节与JVM的无缝集成

1.4 与JVM的无缝集成 深入理解Scala Scala的吸引力之一在于它与Java和JVM的无缝集成.Scala与Java有很强的兼容性,比如说Java类可以直接映射为Scala类.这种紧密联系使Java到Scala的迁移相当简单,但在使用Scala的一些高级特性时还是需要小心的,Scala有些高级特性是Java里没有的.在Scala语言设计时已经小心地考虑了与Java无缝交互的问题,用Java写的库,大部分可以直接照搬(as-is)到Scala里. 1.4.1 Scala调用Java 从S

《深入理解Scala》——第2章,第2.1节学习使用Scala交互模式(REPL)

第2章 核心规则深入理解Scala 本章包括的内容: • 使用Scala交互模式(Read Eval Print Loop 简称REPL) • 面向表达式编程 • 不变性(Immutability) • Option类 本章内容覆盖了每个新Scala开发者都需要知道的几个主题.本章不会深入到每个主题里,但是会讲到可以让你自己去接着探索的程度.你将学会使用REPL,学会如何利用这个工具做软件的快速原型开发.然后我们会学到面向表达式编程,并从另一个视角来看控制结构是怎么回事.在此基础上,我们来研究不

《深入理解Scala》——第1章,第1.3节静态类型和表达力

1.3 静态类型和表达力 深入理解Scala 开发人员中有一个误解,认为静态类型必然导致冗长的代码.之所以如此是因为很多继承自C的语言强制要求程序员必须在代码中多处明确地指定类型.随着软件开发技术和编译器理论的发展,情况已经改变.Scala利用了其中一些技术进步来减少样板(boilerplate)代码,保持代码简洁. Scala做了以下几个简单的设计决策,以提高代码表达力. • 把类型标注(type annotation)换到变量右边. • 类型推断. • 可扩展的语法. • 用户自定义的隐式转

《深入理解Scala》——第1章,第1.5节总结

1.5 总结 深入理解Scala 本章中,你学到了一些Scala的设计理念.设计Scala的初衷在于把不同语言中的多种概念融合起来.Scala融合了函数式和面向对象编程,尽管显然Java也已经这么做了.Scala精选其语法,极大地减少了语言中的繁冗之处,使一些强大的特性可以优雅地表达,比如类型推断.最后,Scala和Java能够紧密集成,而且运行在Java虚拟机上,这或许是让Scala变成一种实用选择的最重要的一点.几乎不花代价就可以把Scala用于我们的日常工作中. 因为Scala融合了多种概

《深入理解Scala》——第1章,第1.1节Scala一种混合式编程语言

第1章 Scala--一种混合式编程语言 Scala是一种将其他编程语言中的多种技巧融合为一的语言.Scala尝试跨越多种不同类型的语言,给开发者提供面向对象编程.函数式编程.富有表达力的语法.静态强类型和丰富的泛型等特性,而且全部架设于Java虚拟机之上.因此开发者使用Scala时可以继续使用原本熟悉的某种编程特性,但要发挥Scala的强大能力则需要结合使用这些有时候相互抵触的概念和特性,建立一种平衡的和谐.Scala对开发者的真正解放之处在于让开发者可以随意使用最适合手头上的问题的编程范式.

《深入理解Scala》——第2章,第2.2节优先采用面向表达式编程

2.2 优先采用面向表达式编程 深入理解Scala 面向表达式编程是个术语,意思是在代码中使用表达式而不用语句.表达式和语句的区别是什么?语句是可以执行的东西,表达式是可以求值的东西.在实践中这有什么意义呢?表达式返回值,语句执行代码,但是不返回值.本节我们将学习面向表达式编程的全部知识,并理解它对简化程序有什么帮助.我们也会看一下对象的可变性,以及可变性与面向表达式编程的关系. 作者注:语句VS表达式 语句是可以执行的东西,表达式是可以求值的东西. 表达式是运算结果为一个值的代码块.Scala

《深入理解Scala》——第2章,第2.3节优先选择不变性

2.3 优先选择不变性 深入理解Scala 编程中的不变性指对象一旦创建后就不再改变状态.这是函数式编程的基石之一,也是JVM上的面向对象编程的推荐实践之一.Scala也不例外,在设计上优先选择不变性,在很多场景中把不变性作为默认设置.对此,你可能一下子会不适应.本节中,我们将学到不变性对于判等问题和并发编程能提供什么帮助. Scala里首先要明白的是不变对象和不变引用(immutable referene)的区别.Scala里的所有变量都是指向对象的引用.把变量声明为val意味着它是个不变"引

《深入理解Scala》——第2章,第2.4节用None不用null

2.4 用None不用null深入理解Scala Scala在标准库里提供了scala.Option类,鼓励大家在一般编程时尽量不要使用null.Option可以视作一个容器,里面要么有东西,要么什么都没有.Option通过两个子类来实现此含义:Some和None.Some表示容器里有且仅有一个东西,None表示空容器,有点类似List的Nil的含义. 在Java和其他允许null的语言里,null经常作为一个占位符用于返回值,表示非致命的错误,或者表示一个变量未被初始化.Scala里,你可以用

《深入理解Scala》——第2章,第2.5节多态场景下的判等

2.5 多态场景下的判等 深入理解Scala 众所周知,为多态的面向对象系统定义合适的判等和散列方法是个特别难的过程.这是因为子类可能在整个过程中造成一些相当怪异的问题,尤其是当类型层次上有多个实体(concrete)级别的时候.一般来说,对于需要比引用判等更强的判等(译者注:比如需要判断对象内部数据)的类,最好避免多层实体类层次.这是什么意思呢?有些时候类只需要引用判等就够了.也就是说只要两个对象不是同一个实例就判为不等.但是如果我们需要判断两个不同实例是否相等,而且又有多层实体类层次(mul