简介 |
内容推荐 "《数据库原理及应用》全面介绍了数据库系统的基本原理、基本操作、数据库设计和应用技术,并以具体的校企合作案例为例,完整地介绍了数据库应用系统开发的整个过程。《数据库原理及应用》主要内容包括数据库系统概述、关系数据库、关系数据库标准语言SQL、关系规范化理论、数据库设计、数据库系统保护技术、SQL Server 2019应用、数据库应用系统开发技术、数据库应用系统开发案例和数据库技术新进展。本书与中国大学MOOC网站的“数据库原理及应用”课程配套使用,网站提供丰富的资源,包括教学课件、教学视频、实验资源、习题参考答案和数据库应用系统开发案例程序源码等。 《数据库原理及应用》既可作为高等院校计算机及相关专业的教材,又可用为从事计算机软件工作的科技人员、工程技术人员以及其他相关人员作为参考书。" 目录 目 录
第 1章数据库系统概述 ..................................................................................................... 1
1.1数据库系统基本概念 ........................................................................................................ 1
1.2数据管理技术的发展 ........................................................................................................ 1
1.3数据库三级模式和两种映射 ............................................................................................ 2
1.4数据模型 ............................................................................................................................ 3
1.5实体 .................................................................................................................................... 4
1.5.1 实体和属性 ............................................................................................................. 4
1.5.2 实体的联系 ............................................................................................................. 5
1.5.3 1∶1联系 ................................................................................................................ 5
1.5.4 1∶N联系 ............................................................................................................... 5
1.5.5 M∶N联系 .............................................................................................................. 6
1.6数据库类型 ........................................................................................................................ 6
1.7 E-R方法 ............................................................................................................................. 7
1.7.1 E-R图 ...................................................................................................................... 7
1.7.2 E-R图导出数据模型 .............................................................................................. 8 习题 1 ....................................................................................................................................... 10
第 2章关系数据库理论基础 ............................................................................................ 13
2.1关系的数学定义和性质 .................................................................................................. 13
2.1.1 域和域的基数 ....................................................................................................... 13
2.1.2 笛卡儿积及其基数 ............................................................................................... 13
2.1.3 关系和二维表 ....................................................................................................... 13
2.1.4 关系的性质 ........................................................................................................... 14
2.2关系数据库语言 .............................................................................................................. 14
2.2.1 数据描述语言 DDL .............................................................................................. 14
2.2.2 数据操纵语言 DML ............................................................................................. 14
2.2.3 关系代数 ............................................................................................................... 14
2.2.4 关系演算 ............................................................................................................... 16
2.2.5 关系 DML完备性 ................................................................................................ 17
2.3关系数据库标准语言 —SQL ....................................................................................... 17
2.3.1 SQL的特点 ........................................................................................................... 17
2.3.2 SQL数据定义语言 ............................................................................................... 17
2.3.3 SQL数据操纵语言 ............................................................................................... 18
2.4关系规范化 ...................................................................................................................... 19
2.4.1 准备知识 ............................................................................................................... 19
·IV· 数据库原理及应用 2.4.2 范式与规范化 ....................................................................................................... 20
2.4.3 分解关系的基本原则 ........................................................................................... 22 习题 2 ....................................................................................................................................... 22
第 3章数据库简介 .......................................................................................................... 25
3.1 SQL 2012的安装、管理、配置 ..................................................................................... 25
3.1.1 SQL 2012的安装 .................................................................................................. 25
3.1.2 SQL 2012管理器 .................................................................................................. 32
3.1.3 SQL服务器配置管理器 ....................................................................................... 34
3.2 SQL 2012的系统数据库 ................................................................................................. 35
3.2.1 Master数据库 ....................................................................................................... 35
3.2.2 Tempdb数据库 ..................................................................................................... 35
3.2.3 Model数据库 ........................................................................................................ 36
3.2.4 Msdb数据库 ......................................................................................................... 36
3.3 SQL Server系统表 .......................................................................................................... 36
3.4 SQL Server的存储过程 .................................................................................................. 36
3.5国产数据库简介 .............................................................................................................. 36
3.5.1 SinoDB的主要功能 ............................................................................................. 37
3.5.2 SinoDB的特性 ..................................................................................................... 39
3.6 SinoDB的安装、管理、配置 ........................................................................................ 40
3.6.1 SinoDB的安装 ..................................................................................................... 40
3.6.2 SinoDB的基本管理 ............................................................................................. 45
3.6.3 SinoDB服务配置 ................................................................................................. 47
3.6.4 SinoDB交互式命令行工具 ................................................................................. 49 习题 3 ....................................................................................................................................... 51
第 4章 SQL语言基础...................................................................................................... 52
4.1数据类型 .......................................................................................................................... 52
4.1.1 整数类型(Int等) .............................................................................................. 52
4.1.2 实数类型(Float等) .......................................................................................... 52
4.1.3 字符类型(Char等) .......................................................................................... 54
4.1.4 备注类型(Text等) ........................................................................................... 55
4.1.5 二进制类型(Image等) .................................................................................... 55
4.1.6 布尔类型(Bit) .................................................................................................. 56
4.1.7 日期类型(DateTime) ....................................................................................... 56
4.1.8 时间戳类型 TimeStamp ........................................................................................ 57
4.1.9 变体类型 Sql_Variant ........................................................................................... 58
4.1.10表类型 Table ....................................................................................................... 59
4.1.11自定义数据类型 ................................................................................................. 59
4.1.12专享标识类型 ..................................................................................................... 60
4.1.13行全局专享标识列 ............................................................................................. 60
4.1.14自动编号 Identity列 ........................................................................................... 61
4.2常量 .................................................................................................................................. 62
4.2.1 字符串常量 ........................................................................................................... 62
4.2.2 整数常量 ............................................................................................................... 62
4.2.3 浮点数常量 ........................................................................................................... 62
4.2.4 日期常量与语言环境 ........................................................................................... 63
4.3变量 .................................................................................................................................. 64
4.3.1 局部变量 ............................................................................................................... 64
4.3.2 全局变量 ............................................................................................................... 65
4.4运算符与表达式 .............................................................................................................. 69
4.4.1 算术运算符 ........................................................................................................... 69
4.4.2 位运算符 ............................................................................................................... 69
4.4.3 比较运算符 ........................................................................................................... 69
4.4.4 逻辑运算符 ........................................................................................................... 72
4.4.5 字符串连接运算符 ............................................................................................... 72
4.4.6 运算符的优先顺序 ............................................................................................... 73
4.5 SQL函数 ......................................................................................................................... 73
4.5.1 聚合函数 ............................................................................................................... 73
4.5.2 数据转换函数 ....................................................................................................... 75
4.5.3 游标函数 ............................................................................................................... 76
4.5.4 日期和时间函数 ................................................................................................... 77
4.5.5 数学函数 ............................................................................................................... 78
4.5.6 元数据函数 ........................................................................................................... 79
4.5.7 安全函数 ............................................................................................................... 81
4.5.8 字符串函数 ........................................................................................................... 82
4.5.9 系统函数 ............................................................................................................... 83
4.5.10文本和图像函数 ................................................................................................. 86
4.5.11配置函数 ............................................................................................................. 87
4.6其他 .................................................................................................................................. 88
4.6.1 注释语句 ............................................................................................................... 88
4.6.2 批处理 ................................................................................................................... 88
4.6.3 显示服务器上库信息 ........................................................................................... 90
4.6.4 显示当前库的表信息 ........................................................................................... 91 习题 4 ....................................................................................................................................... 91
第 5章 SQL编程 ............................................................................................................. 93
5.1流程控制语句 .................................................................................................................. 93
5.1.1 Select和 Set赋值 ................................................................................................. 93
5.1.2 Begin…End语句块 .............................................................................................. 93
5.1.3 If…Else ................................................................................................................. 93
·VI· 数据库原理及应用 5.1.4 While循环结构 .................................................................................................... 95
5.1.5 Case表达式 .......................................................................................................... 96
5.1.6 WaitFor语句 ......................................................................................................... 97
5.1.7 Return .................................................................................................................... 98
5.2游标 .................................................................................................................................. 99
5.2.1 声明游标 ............................................................................................................... 99
5.2.2 打开游标 ............................................................................................................. 101
5.2.3 关闭游标 ............................................................................................................. 101
5.2.4 释放游标 ............................................................................................................. 102
5.2.5 使用游标取数 ..................................................................................................... 102
5.2.6 用游标修改删除记录 ......................................................................................... 104
5.3事务 ................................................................................................................................ 105
5.3.1 事务的概念 ......................................................................................................... 105
5.3.2 事务处理语句 ..................................................................................................... 106 习题 5 ..................................................................................................................................... 109
第 6章数据定义语言 DDL ............................................................................................ 110
6.1数据库管理 .................................................................................................................... 110
6.1.1 创建数据库 ......................................................................................................... 110
6.1.2 按默认值创建数据库 ......................................................................................... 111
6.1.3 指定位置创建数据库 ......................................................................................... 112
6.1.4 修改数据库名 ..................................................................................................... 112
6.1.5 修改数据库排序规则 ......................................................................................... 113
6.1.6 库添加或修改文件 ............................................................................................. 114
6.1.7 库添加或修改文件组 ......................................................................................... 115
6.1.8 删除数据库 ......................................................................................................... 116
6.1.9 数据库的分离 ..................................................................................................... 116
6.1.10数据库的附加 ................................................................................................... 117
6.2表的管理 ........................................................................................................................ 117
6.2.1 使用 SSMS创建表 ............................................................................................. 118
6.2.2 使用 SQL语句创建表 ........................................................................................ 119
6.2.3 SSMS表设计器修改表 ...................................................................................... 119
6.2.4 用 SQL语句修改表 ............................................................................................ 120
6.2.5 删除表 ................................................................................................................. 121
6.3约束 ................................................................................................................................ 121
6.3.1 主键约束 ............................................................................................................. 121
6.3.2 外建约束 ............................................................................................................. 123
6.3.3 专享约束 ............................................................................................................. 125
6.3.4 检查约束 ............................................................................................................. 126
6.3.5 非空约束 ............................................................................................................. 127
6.3.6 默认值 ................................................................................................................. 127
6.3.7 临时禁止与强制约束 ......................................................................................... 128
6.4创建分组表 .................................................................................................................... 129
6.5创建分区表 .................................................................................................................... 130
6.5.1 创建分区函数 ..................................................................................................... 130
6.5.2 创建分区架构 ..................................................................................................... 132
6.5.3 创建分区架构表 ................................................................................................. 132
6.6视图 ................................................................................................................................ 135
6.6.1 创建视图 ............................................................................................................. 135
6.6.2 创建加密视图 ..................................................................................................... 136
6.6.3 创建检查视图 ..................................................................................................... 137
6.6.4 创建集群视图 ..................................................................................................... 139
6.6.5 只读与可修改视图 ............................................................................................. 143
6.6.6 修改视图和删除视图 ......................................................................................... 144
6.7索引 ................................................................................................................................ 144
6.7.1 创建索引 ............................................................................................................. 144
6.7.2 修改索引 ............................................................................................................. 146
6.7.3 删除索引 ............................................................................................................. 147
6.7.4 sp_helpindex查索引 ........................................................................................... 147
6.7.5 sys.indexes查索引 .............................................................................................. 147 习题 6 ..................................................................................................................................... 148
第 7章数据操纵语言 DML ............................................................................................ 159
7.1查询语句( Select) ...................................................................................................... 159
7.1.1 无表查询 ............................................................................................................. 160
7.1.2 指定要检索的列 ................................................................................................. 160
7.1.3 剔除重复行 Distinct ........................................................................................... 161
7.1.4 查询结果另存 ..................................................................................................... 161
7.2条件子句( Where) ..................................................................................................... 162
7.2.1 基本条件 ............................................................................................................. 162
7.2.2 Null条件 ............................................................................................................. 163
7.2.3 Between条件 ...................................................................................................... 164
7.2.4 In表达式条件 ..................................................................................................... 165
7.2.5 Like条件 ............................................................................................................. 165
7.2.6 Exists条件 .......................................................................................................... 168
7.2.7 限定条件 All或 ANY ........................................................................................ 169
7.2.8 字符串排序规则 ................................................................................................. 171
7.3分组与排序子句 ............................................................................................................ 173
7.3.1 分组(Group By) ............................................................................................. 173
7.3.2 分组筛选(Having) ......................................................................................... 176
·VIII· 数据库原理及应用 7.3.3 排序(Order By) .............................................................................................. 177
7.3.4 排序与 Top子句 ................................................................................................. 178
7.4多表查询 ........................................................................................................................ 179
7.4.1 交叉连接 Cross Join ........................................................................................... 179
7.4.2 内连接[Inner] Join .............................................................................................. 180
7.4.3 左外连接 Left Join .............................................................................................. 181
7.4.4 右外连接 Right Join ............................................................................................ 182
7.4.5 全外连接 Full Join .............................................................................................. 182
7.4.6 多表并集 Union .................................................................................................. 183
7.4.7 多表交集 Intersect .............................................................................................. 185
7.4.8 多表差集 Except ................................................................................................. 185
7.5子查询 ............................................................................................................................ 186
7.5.1 标量值子查询 ..................................................................................................... 186
7.5.2 All或 Any子查询 .............................................................................................. 187
7.5.3 IN子查询条件 .................................................................................................... 187
7.5.4 From子句使用子查询........................................................................................ 188
7.5.5 Exists(子查询) ............................................................................................... 188
7.6添加数据 ........................................................................................................................ 188
7.6.1 使用 SSMS添加数据 ......................................................................................... 188
7.6.2 基本 Insert语句 .................................................................................................. 189
7.6.3 子查询多行 Insert ............................................................................................... 190
7.6.4 Values多行 Insert ............................................................................................... 190
7.6.5 存储过程多行 Insert ........................................................................................... 191
7.6.6 视图插入行 ......................................................................................................... 191
7.7删除数据 ........................................................................................................................ 192
7.7.1 使用 SSMS删除数据 ......................................................................................... 192
7.7.2 基本 Delete语句 ................................................................................................. 192
7.7.3 带 Top的 Delete语句 ........................................................................................ 193
7.7.4 带子查询 Delete语句 ......................................................................................... 194
7.7.5 删除主键被引用记录 ......................................................................................... 194
7.7.6 清除整个表 ......................................................................................................... 195
7.8修改数据 ........................................................................................................................ 196
7.8.1 基本 Update语句 ................................................................................................ 196
7.8.2 带 Top的 Update语句 ....................................................................................... 196
7.8.3 多值 Update语句 ................................................................................................ 197
7.8.4 带子查询 Update语句 ........................................................................................ 199
7.8.5 多表 Update语句 ................................................................................................ 200
7.8.6 父表修改主键 ..................................................................................................... 201
7.8.7 Update控制登录次数 ......................................................................................... 203
7.8.8 置空值或默认值 ................................................................................................. 204 习题 7 ..................................................................................................................................... 205
第 8章存储过程、函数与触发器................................................................................... 229
8.1存储过程的使用和管理 ................................................................................................ 229
8.1.1 创建存储过程 ..................................................................................................... 229
8.1.2 执行存储过程 ..................................................................................................... 230
8.1.3 带默认值的存储过程 ......................................................................................... 231
8.1.4 带编号的存储过程组 ......................................................................................... 232
8.1.5 用@局部变量调用存储过程 .............................................................................. 232
8.1.6 带返回状态存储过程 ......................................................................................... 233
8.1.7 查询存储过程名 ................................................................................................. 234
8.1.8 删除存储过程 ..................................................................................................... 234
8.1.9 修改存储过程 ..................................................................................................... 235
8.1.10存储过程改名 ................................................................................................... 235
8.1.11 RaisError抛出消息 ........................................................................................... 235
8.1.12添加删除错误消息 ........................................................................................... 239
8.1.13 Try…Catch异常处理 ....................................................................................... 240
8.2自定义函数的使用和管理 ............................................................................................ 241
8.2.1 创建返回标量值函数 ......................................................................................... 242
8.2.2 创建内联表值函数 ............................................................................................. 243
8.2.3 创建多语句表值函数 ......................................................................................... 244
8.2.4 修改和删除函数 ................................................................................................. 245
8.2.5 查询自定义函数名 ............................................................................................. 245
8.2.6 树型结构数据处理 ............................................................................................. 246
8.3触发器的使用和管理 .................................................................................................... 252
8.3.1 创建 DML触发器 .............................................................................................. 252
8.3.2 创建 DDL触发器 ............................................................................................... 259
8.3.3 创建登录触发器 ................................................................................................. 263
8.3.4 修改和删除触发器 ............................................................................................. 265
8.3.5 禁用和启用触发器 ............................................................................................. 265
8.3.6 查询触发器 ......................................................................................................... 265 习题 8 ..................................................................................................................................... 266
第 9章数据库的安全管理 ............................................................................................. 271
9.1登录 ................................................................................................................................ 271
9.1.1 身份验证模式 ..................................................................................................... 271
9.1.2 设置身份验证模式 ............................................................................................. 272
9.1.3 SSMS创建登录名 .............................................................................................. 272
9.1.4 SQL创建登录名 ................................................................................................. 274
9.1.5 存储过程创建登录名 ......................................................................................... 274
·X· 数据库原理及应用 9.1.6 修改和删除登录账号 ......................................................................................... 275
9.1.7 数据库用户账号 ................................................................................................. 275
9.2角色 ................................................................................................................................ 277
9.2.1 固定服务器角色 ................................................................................................. 277
9.2.2 固定数据库角色 ................................................................................................. 278
9.2.3 自定义数据库角色 ............................................................................................. 278
9.2.4 管理角色中的用户 ............................................................................................. 280
9.3权限管理 ........................................................................................................................ 281
9.3.1 权限的类型 ......................................................................................................... 281
9.3.2 SSMS设置权限 .................................................................................................. 282
9.3.3 SQL设置权限 ..................................................................................................... 284 习题 9 ..................................................................................................................................... 286
第 10章数据库设计 ...................................................................................................... 288
10.1 数据库设计概述 .......................................................................................................... 288
10.1.1 数据库设计特点 ............................................................................................... 288
10.1.2 数据库设计基本步骤 ....................................................................................... 288
10.2 系统需求分析 .............................................................................................................. 289
10.2.1 需求分析任务 ................................................................................................... 289
10.2.2 需求分析调查 ................................................................................................... 289
10.2.3 需求分析方法 ................................................................................................... 290
10.2.4 需求分析报告 ................................................................................................... 297
10.3 概念结构设计 .............................................................................................................. 297
10.3.1 概念结构设计的方法 ....................................................................................... 297
10.3.2 概念结构设计的主要步骤 ............................................................................... 298
10.3.3 数据抽象 ........................................................................................................... 298
10.3.4 局部 E-R模型 ................................................................................................... 299
10.3.5 集成全局 E-R图 ............................................................................................... 301
10.3.6 整体概念结构验证与评审 ............................................................................... 303
10.4 逻辑结构设计 .............................................................................................................. 304
10.4.1 E-R图向关系模型的转换 ................................................................................ 304
10.4.2 关系模式的优化 ............................................................................................... 306
10.4.3 设计用户视图 ................................................................................................... 307
10.5 物理结构设计 .............................................................................................................. 307
10.5.1 设计物理结构 ................................................................................................... 307
10.5.2 评价物理结构 ................................................................................................... 307
10.6 数据库实施、运行与维护 .......................................................................................... 308 习题 10 .................................................................................................................................... 308
参考文献 .......................................................................................................................... 311
附录 A 习题数据表 ........................................................................................................ 312
附习题表(XS、XUESHENG、补考名单、 C、XX) ................................................... 312 附习题表(商品信息、产地商品数、供应商信息) ...................................................... 313 附习题表(PCInfo)........................................................................................................... 313 附习题表(L) .................................................................................................................... 314 附习题表(InputX) ........................................................................................................... 314 附习题表(Book、JieYue、DuZhe、客房、旅客、 Stu、Depart、Class、Student) ... 314 附习题表(score,course,spj,j,p,s,student,teacher) ............................................................ 316 附习题表(Teacher、Course、Student、Elective) ......................................................... 317 附习题表(库 tmg20170110、视图 GroupSize) ............................................................. 318 附习题表(库 tmg20181201、视图 GroupSize) ........................................................... 319 |