图书目录

目    录

第1章  数据库基础知识 1

1.1  数据库基本概念 1

1.1.1  数据库技术概述 1

1.1.2  数据库相关概念 2

1.1.3  数据库模型 3

1.2  关系型数据库 6

1.2.1  关系型数据库发展历程 6

1.2.2  关系型数据库术语 7

1.2.3  关系型数据库管理系统的功能 8

1.2.4  关系模型完整性规则 8

1.3  数据库基础理论 9

1.3.1  范式 9

1.3.2  实体模型 11

1.4  数据库开发和应用开发 13

1.4.1  数据库开发 13

1.4.2  数据库应用开发 13

1.4.3  两者的关系 14

1.5  SQL Server 2008概述 14

1.5.1  SQL Server 2008简介 14

1.5.2  SQL Server 2008新增特性 15

1.5.3  SQL Server 2008的组成 16

1.6  SQL Server 2008的安装和配置 17

1.6.1  准备安装 17

1.6.2  安装示例 18

1.6.3  配置 22

1.7  SQL Server Management Studio 24

1.8  习题 26

1.8.1  填空题 26

1.8.2  选择题 26

1.9  上机实验 26

实验1  设计数据库模型 26

实验2  安装SQL Server 2008 27

实验3  使用联机丛书 27

实验4  管理SQL Server 2008的服务 27

实验5  注册SQL Server 2008服务器 28

第2章  建立数据库 29

2.1  数据库存储结构 29

2.2  数据库对象 30

2.3  事务日志 31

2.4  系统数据库 31

2.5  创建数据库 33

2.5.1  创建前应考虑的问题 33

2.5.2  在图形界面中创建数据库 33

2.5.3  使用命令方式创建数据库 36

2.6  查看数据库 38

2.6.1  在图形界面中查看数据库 38

2.6.2  使用命令方式查看数据库 39

2.7  修改数据库 40

2.7.1  在图形界面中修改数据库 40

2.7.2  使用命令修改数据库 41

2.8  删除数据库 43

2.8.1  在图形界面中删除数据库 43

2.8.2  使用命令删除数据库 44

2.9  移动数据库 44

2.9.1  分离数据库 44

2.9.2  附加数据库 45

2.10  习题 47

2.10.1  填空题 47

2.10.2  选择题 47

2.11  上机实验 47

实验1  SQL Server 2008中数据库的创建 47

实验2  SQL Server 2008中数据库的修改1 48

实验3  SQL Server 2008中数据库的修改2 48

实验4  SQL Server 2008中数据库的删除 48

实验5  SQL Server 2008中数据库的分离 49

第3章  表的创建 50

3.1  表的概念 50

3.2  表的设计 51

3.2.1  表的数据类型 51

3.2.2  文本和图像数据 54

3.2.3  表结构设计 54

3.3  表的创建 56

3.3.1  在图形界面中创建表 56

3.3.2  使用命令创建表 59

3.4  表数据的操作 61

3.4.1  添加表数据 61

3.4.2  修改表数据 62

3.4.3  删除表数据 63

3.5  查看表信息 63

3.5.1  查看表数据 63

3.5.2  查看表上的约束 64

3.5.3  查看表间关系 64

3.6  表结构的修改 66

3.6.1  在图形界面中修改表 66

3.6.2  使用命令修改表 68

3.7  表的删除 69

3.7.1  在图形界面中删除表 70

3.7.2  使用命令删除表 70

3.8  习题 71

3.8.1  填空题 71

3.8.2  选择题 71

3.9  上机实验 72

实验1  使用命令语句创建表 72

实验2  使用SQL Server Management Studio创建表 73

实验3  创建表数据库关系图 74

实验4  修改表结构 74

实验5  录入数据表记录 74

第4章  数据库查询 77

4.1  SELECT基础语法 77

4.1.1  SELECT子句 78

4.1.2  WHERE子句 80

4.1.3  GROUP BY子句 83

4.1.4  HAVING子句 85

4.1.5  ORDER BY子句 86

4.1.6  COMPUTE子句 87

4.1.7  INTO子句 87

4.2  连接查询 88

4.2.1  内连接 89

4.2.2  外连接 90

4.2.3  交叉连接 92

4.3  子查询 92

4.3.1  IN子查询 93

4.3.2  EXISTS子查询 93

4.3.3  由比较运算符引出的子查询 94

4.4  集合查询 95

4.4.1  使用UNION 95

4.4.2  使用UNION ALL 96

4.4.3  使用EXCEPT和

INTERSECT 96

4.5  插入数据 97

4.5.1  添加数据到一行中所有列 98

4.5.2  为某一列插入默认值 99

4.5.3  用INSERT SELECT插入

多行 100

4.6  更新数据 101

4.6.1  更新特定行数据 102

4.6.2  更新所有行数据 103

4.7  删除数据 103

4.7.1  删除特定行的数据 104

4.7.2  删除整个表数据 105

4.7.3  使用TRUNCATE TABLE 105

4.8  习题 106

4.8.1  填空题 106

4.8.2  选择题 106

4.9  上机实验 107

实验1  练习使用基本的SELECT

语句 107

实验2  在SELECT 语句中使用

WHERE子句 107

实验3  练习分组和排序查询 107

实验4  连接多个表 108

实验5  练习应用子查询 108

实验6  使用UPDATE语句修改

数据 108

实验7  使用DELETE语句删除

数据 108

实验8  使用INSERT语句 109

第5章  T-SQL语言 110

5.1  T-SQL概述 110

5.1.1  T-SQL语言的类型 110

5.1.2  T-SQL语言和SQL语言 111

5.2  常量和变量 112

5.2.1  标识符 112

5.2.2  常量 113

5.2.3  变量 113

5.3  运算符与表达式 117

5.3.1  算术运算符 117

5.3.2  赋值运算符 118

5.3.3  位运算符 118

5.3.4  比较运算符 118

5.3.5  逻辑运算符 119

5.3.6  字符串连接运算符 120

5.3.7  一元运算符 120

5.3.8  运算符优先级 120

5.4  内置函数 121

5.4.1  标量函数 121

5.4.2  聚合函数 128

5.5  流程控制语句 128

5.5.1  BEGIN…END 128

5.5.2  IF…ELSE语句 129

5.5.3  WHILE语句 131

5.5.4  Case语句 132

5.5.5  GOTO语句 134

5.5.6  WAITFOR语句 134

5.5.7  RETURN语句 135

5.5.8  TRY…CATCH语句 135

5.6  批处理 136

5.7  注释 137

5.8  习题 138

5.8.1  填空题 138

5.8.2  选择题 138

5.9  上机实验 139

实验1  练习变量的使用 139

实验2  练习运算符的使用 139

实验3  练习内置函数的使用 140

实验4  练习分支和循环语句 140

实验5  练习CASE、WAITFOR、

GOTO 140

第6章  数据库完整性 141

6.1  数据库完整性的概念 141

6.1.1  数据完整性的分类 141

6.1.2  实现数据完整性的方法 142

6.2  约束 143

6.2.1  默认约束 143

6.2.2  主键约束 145

6.2.3  检查约束 147

6.2.4  唯一约束 150

6.2.5  外键约束 153

6.2.6  非空约束 155

6.2.7  标识属性 157

6.3  缺省 158

6.3.1  缺省的概念 159

6.3.2  创建缺省 159

6.3.3  查看缺省 159

6.3.4  绑定和解除缺省 160

6.3.5  删除缺省 162

6.4  规则 163

6.4.1  规则的概念 163

6.4.2  创建规则 163

6.4.3  查看规则 164

6.4.4  绑定与解除规则 165

6.4.5  删除规则 166

6.5  习题 167

6.5.1  填空题 167

6.5.2  选择题 167

6.6  上机实验 168

实验1  练习规则的使用 168

实验2  练习缺省的使用 168

实验3  练习CHECK约束的使用 169

实验4  练习主键约束的使用 169

实验5  练习外键约束的使用 169

第7章  视图和索引 171

7.1  索引 171

7.1.1  索引概述 171

7.1.2  索引类型 173

7.1.3  索引的优缺点 175

7.2  创建索引 175

7.2.1  创建索引的原则 176

7.2.2  使用图形工具创建索引 176

7.2.3  使用CREATE INDEX创建

索引 177

7.3  修改索引 179

7.3.1  使用图形工具修改索引 179

7.3.2  使用T-SQL语句修改索引 180

7.4  查看索引信息 181

7.5  删除索引 183

7.5.1  在SSMS中删除索引 183

7.5.2  使用T-SQL删除索引 183

7.6  视图 183

7.6.1  视图概述 183

7.6.2  视图类型 184

7.7  创建视图 185

7.7.1  创建视图的原则 185

7.7.2  使用SSMS创建视图 186

7.7.3  使用T-SQL语句创建视图 187

7.8  查看视图信息 190

7.8.1  查看视图基本信息 190

7.8.2  查看视图文本信息 190

7.8.3  查看视图的依赖关系 191

7.9  修改视图信息 191

7.9.1  通过SSMS修改视图信息 191

7.9.2  通过T-SQL修改视图信息 192

7.10  通过视图更新数据 193

7.10.1  使用INSERT插入数据 193

7.10.2  使用UPDATE更新数据 194

7.10.3  使用DELETE删除数据 195

7.11  删除视图 195

7.11.1  使用SSMS删除视图 195

7.11.2  使用T-SQL语句删除视图 196

7.12  习题 196

7.12.1  填空题 196

7.12.2  选择题 196

7.13  上机实验 197

实验1  使用图形工具界面创建

视图 197

实验2  使用T-SQL创建视图 197

实验3  通过视图操作数据 198

实验4  使用T-SQL创建索引 198

实验5  使用图形工具界面修改索引 199

第8章  游标、事务和锁 200

8.1  游标 200

8.1.1  游标概述 200

8.1.2  游标的类型 201

8.1.3  游标的使用 202

8.2  事务 209

8.2.1  事务的基本概念 209

8.2.2  事务的特性 211

8.2.3  事务的分类 212

8.2.4  事务操作的原则 217

8.3  锁 218

8.3.1  锁的粒度 218

8.3.2  锁的分类 219

8.3.3  事务的隔离级别 220

8.3.4  死锁及其处理 221

8.4  习题 222

8.4.1  填空题 222

8.4.2  选择题 223

8.5  上机实验 223

实验1  用于插入操作的事务 223

实验2  使用可更新的游标 224

实验3  创建可滚动的游标 224

实验4  显式事务的使用 224

实验5  创建只进游标 225

第9章  存储过程和触发器 226

9.1  存储过程 226

9.1.1  存储过程概述 226

9.1.2  存储过程的类型 227

9.2  创建存储过程 229

9.2.1  使用T-SQL创建存储过程 229

9.2.2  使用SSMS创建存储过程 231

9.3  执行存储过程 231

9.3.1  使用T-SQL语句执行存储过程 232

9.3.2  使用SSMS执行存储过程 233

9.4  存储过程参数和返回值 234

9.4.1  指定默认参数 234

9.4.2  指定参数方向 235

9.4.3  使用RETURN语句 236

9.5  修改存储过程 237

9.5.1  在SSMS中修改存储过程 237

9.5.2  使用T-SQL语句修改存储过程 237

9.6  删除存储过程 238

9.6.1  使用SSMS删除存储过程 238

9.6.2  使用T-SQL语句删除存储过程 238

9.7  触发器 239

9.7.1  触发器概述 239

9.7.2  触发器类型 240

9.7.3  inserted表和deleted表 240

9.8  创建触发器 241

9.8.1  使用T-SQL语句创建触发器 242

9.8.2  使用SSMS创建触发器 244

9.8.3  INSERT触发器 245

9.8.4  UPDATE触发器 246

9.8.5  DELETE触发器 247

9.8.6  INSTEAD OF触发器 248

9.9  修改触发器 250

9.9.1  使用SSMS修改触发器 250

9.9.2  使用T-SQL语句修改触发器 250

9.10  删除触发器 251

9.10.1  使用SSMS删除触发器 251

9.10.2  使用T-SQL语句删除触发器 251

9.11  关闭和启用触发器 251

9.12  习题 252

9.12.1  填空题 252

9.12.2  选择题 252

9.13  实验指导 253

实验1  简单存储过程的使用 253

实验2  使用返回数据的存储过程的 253

实验3  使用INSERT触发器 254

实验4  使用列级UPDATE触发器 254

实验5  使用INSTEAD OF触发器 254

第10章  SQL Server安全管理 256

10.1  SQL Server 2008安全管理策略 256

10.1.1  SQL Server 2008的安全机制 256

10.1.2  SQL Server 2008登录认证模式 257

10.1.3  配置登录认证模式 258

10.2  用户管理 260

10.2.1  登录账户 260

10.2.2  数据库用户 260

10.2.3  创建和管理登录账户 261

10.2.4  创建和管理数据库用户 265

10.3  角色管理 267

10.3.1  服务器角色 268

10.3.2  数据库角色 270

10.4  权限管理 274

10.4.1  权限的分类 275

10.4.2  权限的操作 275

10.5  习题 279

10.5.1  填空题 279

10.5.2  选择题 279

10.6  上机实验 280

实验1  练习数据库的身份验证 280

实验2  映射数据库用户 280

实验3  为数据库用户创建角色 280

实验4  为数据库用户授权 281

实验5  删除数据库用户和角色 281

第11章  数据库备份与恢复 282

11.1  备份 282

11.1.1  备份概述 282

11.1.2  备份类型 283

11.2  备份设备 283

11.2.1  备份设备的类型 284

11.2.2  创建备份设备 284

11.2.3  查看和删除备份设备 287

11.3  创建数据库备份 287

11.3.1  使用SSMS备份数据库 287

11.3.2  使用BACKUP命令备份数据库 289

11.4  恢复数据库 293

11.4.1  检查点 294

11.4.2  自动恢复数据库 294

11.4.3  手动恢复数据库 295

11.5  习题 299

11.5.1  填空题 299

11.5.2  选择题 299

11.6  上机实验 300

实验1  创建备份设备 300

实验2  备份完整数据库 300

实验3  备份数据库事务日志 300

实验4  备份差异数据库 301

实验5  数据库的恢复 301

第12章  数据库应用开发实例——酒店管理系统 302

12.1  系统需求分析 302

12.2  系统模块设计 303

12.3  设计系统E-R图 305

12.4  创建系统数据库 307

12.5  创建数据表 307

12.6  创建系统视图 311

12.7  创建系统存储过程 312

12.8  创建触发器 315

12.9  ASP.NET程序开发 316

12.9.1  Web.config设置 316

12.9.2  数据库管理模块 317

12.9.3  实体类数据访问层 319

12.9.4  实现房间类型管理 322

12.10  系统运行演示 324

参考文献 327