本书介绍了数据库原理、方法及其应用开发技术。介绍了数据库系统基础,关系数据库理论,关系数据库标准语言SQL,SQL Server 2005应用基础,SQL语言高级应用,数据库设计,数据库保护技术,数据库访问技术,C语言数据库应用程序开发技术,C#和ADO.NET数据库应用程序开发技术,Java数据库应用程序开发技术以及数据库新技术等内容。同时介绍了使用C、C#和Java三种语言开发数据库应用程序的基本方法和技术。附录提供实验指导、课程设计指导等实践环节。书中配有实例、习题,有利于教师教学和学生自学。为方便教师教学,本书配有教学课件和书中实例源代码。
本书可作为普通高等学校计算机及信息专业的本、专科生的教材,也可作为高职高专院校在校生的教材,同时也适合从事数据库应用程序开发人员参考之用。
第1章 数据库系统概述\\t(1)
1.1 数据库系统的基本概念\\t(1)
1.1.1 数据管理与数据处理\\t(1)
1.1.2 数据库\\t(2)
1.1.3 数据库管理系统\\t(2)
1.1.4 数据库系统\\t(2)
1.2 数据描述与数据模型\\t(4)
1.2.1 数据的3种范畴\\t(4)
1.2.2 信息世界中所涉及的基本概念\\t(4)
1.2.3 机器世界中所涉及的基本概念\\t(5)
1.2.4 实体间的联系\\t(5)
1.3 概念数据模型与E-R表示方法\\t(6)
1.3.1 数据模型\\t(6)
1.3.2 概念数据模型\\t(7)
1.3.3 概念数据模型的E-R表示方法\\t(7)
1.3.4 概念数据模型实例\\t(8)
1.4 传统数据模型概述\\t(10)
1.4.1 层次模型\\t(10)
1.4.2 网状模型\\t(11)
1.4.3 关系模型\\t(12)
1.5 数据库系统结构\\t(13)
1.5.1 数据库系统模式的概念\\t(13)
1.5.2 数据库系统的三级模式结构\\t(13)
1.5.3 数据独立性\\t(14)
1.6 数据库管理系统的组成\\t(15)
1.7 数据库系统的组成\\t(16)
1.8 小结\\t(16)
习题1\\t(17)
第2章 关系数据库理论\\t(21)
2.1 关系模型\\t(21)
2.1.1 关系模型的基本概念\\t(21)
2.1.2 关系模式\\t(23)
2.2 关系模型的完整性\\t(23)
2.3 关系代数\\t(24)
2.3.1 关系代数概述\\t(24)
2.3.2 关系代数的基本操作\\t(24)
2.3.3 关系代数的其他操作\\t(27)
2.4 关系数据库规范化理论\\t(28)
2.4.1 关系规范化理论概述\\t(28)
2.4.2 函数依赖\\t(30)
2.4.3 关系的规范化\\t(32)
2.4.4 多值依赖与第四范式\\t(34)
2.4.5 各种范式之间的关系\\t(35)
2.5 小结\\t(36)
习题2\\t(36)
第3章 关系数据库语言SQL\\t(41)
3.1 SQL语言的功能与特点\\t(41)
3.2 表的基本操作\\t(41)
3.2.1 定义表\\t(41)
3.2.2 修改表\\t(44)
3.2.3 删除基本表\\t(45)
3.3 SQL的数据查询\\t(45)
3.3.1 单表查询\\t(46)
3.3.2 多表查询\\t(51)
3.4 SQL的视图操作\\t(54)
3.4.1 定义视图\\t(54)
3.4.2 创建视图\\t(54)
3.4.3 使用视图\\t(55)
3.4.4 删除视图\\t(56)
3.5 子查询\\t(56)
3.6 组合查询\\t(58)
3.7 数据的插入、修改与删除\\t(59)
3.7.1 插入数据\\t(59)
3.7.2 修改数据\\t(60)
3.7.3 删除数据\\t(60)
3.8 小结\\t(61)
习题3\\t(61)
第4章 SQL Server 2005应用基础\\t(66)
4.1 SQL Server 2005系统概述\\t(66)
4.2 SQL Server 2005版本说明\\t(67)
4.3 SQL Server 2005 Express Edition简介\\t(68)
4.4 SQL Server 2005安装与配置\\t(70)
4.4.1 安装时考虑的关键点\\t(70)
4.4.2 SQL Server 2005 Express Edition安装\\t(71)
4.4.3 SQL Server 2005组件\\t(77)
4.5 常见故障分析\\t(80)
4.6 数据库的创建\\t(80)
4.6.1 操作系统文件\\t(80)
4.6.2 数据库文件组\\t(81)
4.6.3 使用数据文件和文件组的建议\\t(81)
4.6.4 创建数据库\\t(81)
4.6.5 修改数据库\\t(84)
4.6.6 删除数据库\\t(85)
4.7 基本表的定义\\t(85)
4.7.1 创建基本表\\t(85)
4.7.2 修改基本表\\t(89)
4.7.3 删除基本表\\t(91)
4.8 索引的建立和删除\\t(91)
4.8.1 索引的概念\\t(91)
4.8.2 索引的类型\\t(91)
4.8.3 建立索引\\t(92)
4.8.4 删除索引\\t(92)
4.9 小结\\t(92)
习题4\\t(93)
第5章 SQL高级应用\\t(94)
5.1 Transact_SQL\\t(94)
5.1.1 Transact_SQL简介\\t(94)
5.1.2 Transact_SQL语法格式\\t(94)
5.1.3 Transact_SQL 系统元素\\t(96)
5.2 Transact_SQL程序流程控制\\t(99)
5.2.1 IF...ELSE语句\\t(99)
5.2.2 BEGIN...END语句\\t(100)
5.2.3 GOTO语句\\t(101)
5.2.4 WHILE、BREAK、CONTINUE语句\\t(101)
5.2.5 WAITFOR语句\\t(101)
5.2.6 RETURN语句\\t(102)
5.2.7 CASE表达式\\t(102)
5.3 存储过程\\t(103)
5.3.1 存储过程的概念\\t(103)
5.3.2 存储过程的创建与执行\\t(104)
5.3.3 存储过程与参数\\t(108)
5.4 触发器\\t(110)
5.4.1 触发器的概念与工作原理\\t(110)
5.4.2 创建触发器\\t(111)
5.4.3 管理触发器\\t(114)
5.4.4 触发器的用途\\t(115)
5.5 小结\\t(115)
习题5\\t(115)
第6章 数据库设计\\t(116)
6.1 数据库设计的内容与特点\\t(116)
6.2 数据库设计方法\\t(116)
6.3 数据库设计步骤\\t(117)
6.4 数据库规划\\t(118)
6.5 需求分析\\t(118)
6.5.1 需求分析的任务\\t(118)
6.5.2 需求分析的方法\\t(119)
6.5.3 需求分析的步骤\\t(119)
6.6 概念结构设计\\t(122)
6.6.1 设计各局部应用的E-R模型\\t(122)
6.6.2 全局E-R模型的设计\\t(122)
6.7 逻辑结构设计\\t(124)
6.7.1 逻辑结构设计的步骤\\t(124)
6.7.2 E-R图向关系模型的转换\\t(124)
6.7.3 逻辑模式的优化\\t(125)
6.7.4 外模式的设计\\t(126)
6.8 物理结构的设计\\t(127)
6.8.1 数据库物理设计的内容与方法\\t(127)
6.8.2 关系模式存取方法的选择\\t(127)
6.8.3 系统存储结构的确定\\t(129)
6.9 数据库的实施\\t(130)
6.9.1 数据库试运行\\t(131)
6.9.2 数据库的运行与维护\\t(131)
6.10 数据库应用的结构和开发环境\\t(132)
6.10.1 数据库应用模型\\t(132)
6.10.2 数据库应用开发环境ODBC\\t(134)
6.11 小结\\t(137)
习题6\\t(137)
第7章 数据库保护技术\\t(140)
7.1 事务机制\\t(140)
7.1.1 事务的概念与特性\\t(140)
7.1.2 事务的提交与回退\\t(141)
7.2 数据库安全性\\t(142)
7.2.1 对数据库安全的威胁\\t(142)
7.2.2 数据库安全性控制\\t(143)
7.2.3 视图机制\\t(144)
7.2.4 数据加密\\t(144)
7.2.5 SQL Server 2005的安全性\\t(144)
7.3 数据库完整性\\t(147)
7.3.1 数据库完整性概述\\t(147)
7.3.2 完整性控制\\t(148)
7.3.3 数据完整性的实现\\t(150)
7.4 数据库恢复\\t(153)
7.4.1 数据库的故障分类\\t(153)
7.4.2 数据库故障的基本恢复方式\\t(154)
7.4.3 恢复策略\\t(156)
7.4.4 具有检查点的恢复技术\\t(158)
7.4.5 SQL Server 2005备份与还原\\t(159)
7.5 并发控制\\t(163)
7.5.1 数据库并发操作带来的数据不一致性问题\\t(163)
7.5.2 封锁技术\\t(165)
7.5.3 锁协议\\t(165)
7.5.4 封锁带来的问题——活锁与死锁\\t(166)
7.5.5 并发调度的可串行性\\t(168)
7.5.6 SQL Server的并发控制\\t(170)
7.6 小结\\t(171)
习题七\\t(172)
第8章 数据库访问技术\\t(176)
8.1 ODBC的使用\\t(176)
8.1.1 ODBC概述\\t(176)
8.1.2 ODBC数据源的配置\\t(177)
8.2 ADO的使用\\t(179)
8.2.1 ADO概述\\t(179)
8.2.2 使用ADO技术访问数据库举例\\t(181)
8.3 ADO.NET简介\\t(184)
8.3.1 ADO.NET技术的设计目标\\t(184)
8.3.2 ADO.NET的体系结构\\t(184)
8.3.3 ADO.NET数据对象\\t(190)
8.4 JDBC技术\\t(191)
8.4.1 JDBC概述\\t(191)
8.4.2 JDBC驱动程序\\t(192)
8.4.3 JDBC常用类\\t(193)
8.5 小结\\t(194)
习题8\\t(194)
第9章 C语言数据库应用程序开发技术\\t(195)
9.1 嵌入式SQL语句\\t(195)
9.1.1 在C语言程序中嵌入SQL语句的程序开发环境的搭建\\t(196)
9.1.2 第一个在C语言程序中嵌入SQL语句的程序\\t(197)
9.2 静态SQL语句\\t(199)
9.2.1 声明嵌入式SQL语句中使用的C变量\\t(199)
9.2.2 连接数据库\\t(201)
9.2.3 数据的查询与更新\\t(202)
9.2.4 SQL通信区\\t(203)
9.3 动态SQL语句\\t(205)
9.3.1 动态修改\\t(205)
9.3.2 动态游标\\t(206)
9.3.3 SQLDA\\t(208)
习题9\\t(209)
第10章 C#和ADO.NET数据库应用程序开发技术\\t(210)
10.1 数据库的连接\\t(210)
10.1.1 SqlConnection的使用\\t(211)
10.1.2 OleDbConnection的使用\\t(212)
10.1.3 OdbcConnection的使用\\t(213)
10.1.4 OracleConnection的使用\\t(214)
10.2 数据的获取\\t(217)
10.2.1 创建Command对象\\t(217)
10.2.2 执行命令\\t(217)
10.2.3 参数化查询\\t(221)
10.2.4 执行存储过程\\t(223)
10.3 DataReader的使用\\t(225)
10.3.1 DataReader简介\\t(225)
10.3.2 使用DataReader读取数据\\t(226)
10.3.3 在DataReader中使用多个结果集\\t(228)
10.4 DataSet和DataAdapter的使用\\t(230)
10.4.1 DataSet简介\\t(230)
10.4.2 DataAdapter简介\\t(230)
10.4.3 利用DataSet和DataAdapter访问数据\\t(231)
10.4.4 类型和无类型DataSet\\t(233)
10.5 性能\\t(234)
10.6 小结\\t(234)
习题10\\t(235)
第11章 Java数据库应用程序开发技术\\t(236)
11.1 JDBC API简介\\t(236)
11.2 SQL和Java之间的映射关系\\t(237)
11.3 JDBC编程\\t(238)
11.3.1 数据库操作基本步骤\\t(239)
11.3.2 JDBC数据库操作实现\\t(240)
11.4 连接其他类型数据库\\t(258)
11.4.1 连接Oracle数据库\\t(258)
11.4.2 连接MySQL数据库\\t(259)
11.4.3 连接SQL Server数据库\\t(260)
11.4.4 JDBC:ODBC连接Access数据库\\t(262)
11.5 小结\\t(263)
习题11\\t(263)
第12章 数据库新技术\\t(266)
12.1 面向对象数据库系统\\t(266)
12.1.1 对象-关系数据库\\t(268)
12.1.2 面向对象数据库与传统数据库的比较\\t(268)
12.2 分布式数据库系统\\t(270)
12.2.1 分布式数据库系统概述\\t(270)
12.2.2 分布式数据库系统的设计\\t(272)
12.2.3 分布式数据库系统的安全技术\\t(273)
12.2.4 分布式数据库系统的发展前景与应用趋势\\t(273)
12.3 数据仓库\\t(275)
12.3.1 数据仓库的定义与特点\\t(275)
12.3.2 数据仓库的种类\\t(276)
12.3.3 数据集市\\t(276)
12.3.4 数据仓库中的几个数据\\t(277)
12.3.5 数据仓库模型\\t(278)
12.4 数据挖掘\\t(279)
12.4.1 数据挖掘的定义\\t(279)
12.4.2 数据挖掘的分类\\t(279)
12.4.3 数据挖掘的数据来源\\t(279)
12.4.4 数据挖掘的体系结构\\t(280)
12.4.5 数据挖掘的步骤\\t(280)
12.4.6 数据挖掘的功能\\t(280)
12.4.7 数据挖掘的常用技术\\t(280)
12.5 数据库技术的新应用\\t(281)
12.5.1 数据模型研究\\t(281)
12.5.2 与新技术结合的研究\\t(281)
12.5.3 与应用领域结合的研究\\t(284)
12.6 小结\\t(286)
习题12\\t(286)
附录A 实验部分\\t(287)
附录B 课程设计指导书\\t(301)
数据结构是刻画一个数据模型性质最重要的方面。因此,在数据库系统中,通常按照数据结构的类型来命名数据模型。例如,层次结构、网状结构、关系结构的数据模型分别命名为层次模型、网状模型和关系模型。
(2)数据操作。数据操作用于描述系统的动态特征。数据操作是指允许对数据库中各种对象(型)的实例(值)执行的操作的集合,包括操作及有关的操作规则。数据库主要有检:索和修改(包括插入、删除、更新)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)及实现操作的语言。
(3)数据完整性约束。数据完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和存储规则,用以限制符合数据模型的数据库状态及状态的变化,用以确保数据的正确、有效和相容。
数据模型应该反映和规定本数据模型必须遵守的、基本的、通用的完整性约束。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性这两类约束。
此外,数据模型还应该提供定义完整性约束的机制,以反映具有应用所涉及的数据必须遵守的特定的语义约束。例如