描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302502951丛书名: 21世纪高等学校计算机专业实用规划教材
本书可作为大学本科、高职高专及培训班课程的教学用书,也适于计算机应用开发人员和计算机爱好者自学参考。
为方便教学,每章都有大量示范性设计实例和运行结果,所有实例都经过调试通过,书末附习题答案。本书提供的教学课件、所有实例的源代码的下载网址为http://www.tup.com.cn。
第1章 数据库系统概论 11.1 数据库和数据库系统 1 1.1.1 数据和数据库 1 1.1.2 数据库管理系统 2 1.1.3 数据库系统 2 1.1.4 数据管理技术的发展 31.2 数据模型 5 1.2.1 两类数据模型 5 1.2.2 概念模型 6 1.2.3 数据模型的组成要素 8 1.2.4 常用的数据模型 91.3 数据库系统结构 11 1.3.1 数据库系统的三级模式结构 11 1.3.2 数据库的两级映像功能和数据独立性 12 1.3.3 数据库管理系统的工作过程 121.4 数据库设计 13 1.4.1 数据库设计概述 14 1.4.2 需求分析 16 1.4.3 概念结构设计 18 1.4.4 逻辑结构设计 22 1.4.5 物理结构设计 26 1.4.6 数据库的实施 27 1.4.7 数据库的运行和维护 281.5 应用举例 281.6 小结 29习题1 31第2章 关系数据库系统模型 342.1 关系模型 34 2.1.1 关系数据结构 34 2.1.2 关系操作 37 2.1.3 关系完整性 382.2 关系代数 40 2.2.1 传统的集合运算 40 2.2.2 专门的关系运算 422.3 关系演算 48 2.3.1 元组关系演算 48 2.3.2 域关系演算 502.4 SQL简介 52 2.4.1 SQL语言的分类 52 2.4.2 SQL语言的特点 52 2.4.3 SQL语言的发展历程 532.5 小结 53习题2 54第3章 关系数据库设计理论 573.1 关系数据库设计理论概述 573.2 规范化 59 3.2.1 函数依赖、码和范式 60 3.2.2 1NF 62 3.2.3 2NF 63 3.2.4 3NF 64 3.2.5 BCNF 65 3.2.6 多值依赖与4NF 67 3.2.7 规范化小结 683.3 数据依赖的公理系统 69 3.3.1 Armstrong公理系统 69 3.3.2 闭包及其计算 70 3.3.3 确定候选码 72 3.3.4 函数依赖集的等价和最小函数依赖集 723.4 关系模式的分解 74 3.4.1 模式分解的定义 74 3.4.2 分解的无损连接性 75 3.4.3 分解的保持依赖性 77 3.4.4 模式分解的算法 773.5 小结 78习题3 78第4章 SQL Server概述 814.1 SQL Server的发展历史和版本 814.2 SQL Server 2014的特点 824.3 SQL Server 2014的安装 82 4.3.1 SQL Server 2014的安装要求 82 4.3.2 SQL Server 2014的安装步骤 824.4 服务器组件和管理工具 86 4.4.1 服务器组件 86 4.4.2 管理工具 864.5 SQL Server Management Studio环境 884.6 小结 89习题4 90第5章 创建和修改数据库 915.1 SQL Server数据库的基本概念 91 5.1.1 逻辑数据库 91 5.1.2 物理数据库 935.2 SQL Server数据库的操作 93 5.2.1 创建数据库 94 5.2.2 修改数据库 95 5.2.3 删除数据库 975.3 小结 97习题5 98第6章 创建和使用表 1006.1 表的基本概念 100 6.1.1 表和表结构 100 6.1.2 数据类型 101 6.1.3 表结构设计 1056.2 创建SQL Server表 106 6.2.1 创建表 106 6.2.2 修改表 108 6.2.3 删除表 1096.3 操作SQL Server表数据 1096.4 小结 110习题6 111第7章 T-SQL基础 1137.1 T-SQL概述 1137.2 T-SQL中的数据定义语言 115 7.2.1 数据库操作语句 115 7.2.2 数据表操作语句 1197.3 T-SQL中的数据操纵语言 122 7.3.1 插入语句 122 7.3.2 修改语句 123 7.3.3 删除语句 1247.4 T-SQL中的数据查询语言 124 7.4.1 投影查询 124 7.4.2 选择查询 126 7.4.3 连接查询 129 7.4.4 统计计算 134 7.4.5 排序查询 137 7.4.6 子查询 138 7.4.7 SELECT查询的其他子句 1417.5 综合训练 1487.6 小结 150习题7 152第8章 视图 1558.1 创建视图 155 8.1.1 使用图形界面方式创建视图 155 8.1.2 使用T-SQL语句创建视图 1578.2 查询视图 1578.3 更新视图 159 8.3.1 可更新视图 159 8.3.2 插入数据 160 8.3.3 修改数据 161 8.3.4 删除数据 1618.4 修改视图定义 1628.5 删除视图 165 8.5.1 使用图形界面方式删除视图 165 8.5.2 使用T-SQL语句删除视图 1658.6 小结 165习题8 166第9章 索引 1689.1 索引的分类 1689.2 索引的创建 169 9.2.1 使用图形界面方式创建索引 169 9.2.2 使用T-SQL语句创建索引 1729.3 查看和修改索引属性 173 9.3.1 使用图形界面方式查看和修改索引属性 173 9.3.2 使用系统存储过程查看索引属性 174 9.3.3 使用T-SQL语句修改索引属性 1749.4 索引的删除 175 9.4.1 使用图形界面方式删除索引 175 9.4.2 使用T-SQL语句删除索引 1759.5 小结 176习题9 176第10章 数据完整性 17810.1 数据完整性概述 17810.2 域完整性 180 10.2.1 CHECK约束 180 10.2.2 DEFAULT约束 18210.3 实体完整性 18310.3.1 使用图形界面方式创建与删除PRIMARY KEY约束、UNIQUE约束 18310.3.2 使用T-SQL语句创建与删除PRIMARY KEY约束、UNIQUE约束 18410.4 参照完整性 18610.4.1 使用图形界面方式创建与删除表间参照关系 18610.4.2 使用T-SQL语句创建与删除表间参照关系 18810.5 综合训练 19010.6 小结 192习题10 192第11章 T-SQL程序设计 19511.1 数据类型 19511.1.1 系统数据类型 19511.1.2 用户自定义数据类型 19611.1.3 用户自定义表数据类型 19811.2 标识符、常量和变量 19911.2.1 标识符 19911.2.2 常量 20011.2.3 变量 20111.3 运算符与表达式 20411.3.1 算术运算符 20411.3.2 位运算符 20411.3.3 比较运算符 20411.3.4 逻辑运算符 20511.3.5 字符串连接运算符 20611.3.6 赋值运算符 20611.3.7 一元运算符 20711.3.8 运算符的优先级 20711.4 流程控制语句 20711.4.1 BEGIN…END语句 20711.4.2 IF…ELSE语句 20811.4.3 WHILE、BREAK和CONTINUE语句 21011.4.4 GOTO语句 21111.4.5 RETURN语句 21211.4.6 WAITFOR语句 21211.4.7 TRY…CATCH语句 21311.5 系统内置函数 21311.6 用户定义函数 22211.6.1 用户定义函数的定义和调用 22311.6.2 用户定义函数的删除 22911.7 游标 22911.7.1 游标的概念 22911.7.2 游标的基本操作 23011.8 综合训练 23311.9 小结 235习题11 236第12章 存储过程 23812.1 存储过程概述 23812.2 存储过程的创建 23912.2.1 使用图形界面方式创建存储过程 23912.2.2 使用T-SQL语句创建存储过程 24012.3 存储过程的使用 24112.3.1 存储过程的执行 24112.3.2 存储过程的参数 24412.4 存储过程的管理 24712.4.1 修改存储过程 24712.4.2 删除存储过程 24812.5 综合训练 24912.6 小结 251习题12 252第13章 触发器 25413.1 触发器概述 25413.2 创建DML触发器 25513.2.1 使用图形界面方式创建DML触发器 25513.2.2 使用T-SQL语句创建DML触发器 25613.3 使用DML触发器 25813.3.1 使用AFTER触发器 25913.3.2 使用INSTEAD OF触发器 26113.4 创建和使用DDL触发器 26213.4.1 创建DDL触发器 26313.4.2 使用DDL触发器 26313.5 触发器的管理 26413.5.1 修改触发器 26413.5.2 删除触发器 26513.5.3 启用或禁用触发器 26613.6 综合训练 26713.7 小结 268习题13 268第14章 事务和锁 27114.1 事务 27114.1.1 事务原理 27114.1.2 事务类型 27214.1.3 事务模式 27214.1.4 事务处理语句 27314.2 锁定 27714.2.1 并发影响 27814.2.2 可锁定资源和锁模式 27814.2.3 死锁 28014.3 小结 280习题14 281第15章 系统安全管理 28315.1 SQL Server安全机制和身份验证模式 283 15.1.1 SQL Server安全机制 283 15.1.2 SQL Server身份验证模式 28415.2 服务器登录名的管理 284 15.2.1 创建登录名 284 15.2.2 修改登录名 286 15.2.3 删除登录名 28715.3 数据库用户的管理 287 15.3.1 创建数据库用户 288 15.3.2 修改数据库用户 290 15.3.3 删除数据库用户 29115.4 角色 291 15.4.1 服务器角色 291 15.4.2 数据库角色 29415.5 权限管理 298 15.5.1 登录名权限管理 298 15.5.2 数据库用户权限管理 30015.6 综合训练 30415.7 小结 305习题15 306第16章 备份和恢复 30916.1 备份和恢复概述 30916.2 创建备份设备 310 16.2.1 使用图形界面方式创建和删除命名备份设备 310 16.2.2 使用存储过程创建和删除命名备份设备 312 16.2.3 使用T-SQL语句创建临时备份设备 31216.3 备份数据库 313 16.3.1 使用图形界面方式备份数据库 313 16.3.2 使用T-SQL语句备份数据库 31416.4 恢复数据库 317 16.4.1 使用图形界面方式恢复数据库 317 16.4.2 使用T-SQL语句恢复数据库 31916.5 复制数据库 32116.6 分离和附加数据库 323 16.6.1 分离数据库 323 16.6.2 附加数据库 32416.7 小结 326习题16 326第17章 云计算和大数据 32917.1 云计算概述 32917.2 大数据概述 33217.3 云数据库 33417.4 NoSQL数据库 33717.5 小结 338习题17 339第18章 基于Java EE和SQL Server的学生成绩管理系统开发 34118.1 创建学生成绩数据库和表 34118.2 搭建系统框架 342 18.2.1 层次划分 342 18.2.2 搭建项目框架 34418.3 持久层开发 34518.4 业务层开发 35018.5 表示层开发 35118.6 小结 365习题18 365附录A 习题参考答案 367第1章 数据库系统概论 367第2章 关系数据库系统模型 368第3章 关系数据库设计理论 370第4章 SQL Server概述 371第5章 创建和修改数据库 372第6章 创建和使用表 372第7章 T-SQL基础 372第8章 视图 375第9章 索引 377第10章 数据完整性 377第11章 T-SQL程序设计 378第12章 存储过程 381第13章 触发器 382第14章 事务和锁 384第15章 系统安全管理 385第16章 备份和恢复 386第17章 云计算和大数据 387第18章 基于Java EE和SQL Server的学生成绩管理系统开发 387附录B stsc数据库的表结构和样本数据 388参考文献 390
随着社会信息化进程的推进,我们已进入云计算和大数据时代,数据库技术作为信息技术和信息产业的重要支柱,其发展非常快速,已广泛应用到各行各业的数据处理系统中。数据库原理与应用课程是高等院校计算机专业、信息专业和有关工科专业的基础专业课,为了与社会信息化快速推进相结合,我们结合近年来的教学实践编写了本书。 在数据库原理部分,本书介绍了数据库系统概论、关系数据库系统模型、关系数据库设计理论;在数据库系统和应用部分,本书以Microsoft公司推出的新一代关系数据库管理系统SQL Server 2014为平台,以学生成绩数据库为主线,主要内容有SQL Server概述、创建数据库和表、T-SQL基础、视图、索引、数据完整性、T-SQL程序设计、存储过程、触发器、事务和锁、系统安全管理、备份和恢复;在数据库新技术和应用开发部分,本书介绍了云计算和大数据、基于Java EE和SQL Server的学生成绩管理系统开发。 本书的主要特点如下。* 理论与实践相结合:将理论和实际应用有机结合起来,以数据库原理为基础,以SQL Server 2014为平台,培养学生掌握数据库原理和数据库管理、操作,并具备T-SQL语言编程的能力。* 技术新颖:介绍了云计算、大数据、云数据库、NoSQL数据库等内容。* 在数据库设计中着重培养学生掌握基本知识、画出合适的E-R图并将E-R图转换为关系模式的能力。* 基于Java EE和SQL Server数据库的学生成绩管理系统开发等章节可作为教学和实训的内容,培养学生开发一个简单应用系统的能力。* 方便教学、资源配套:本书免费提供教学课件、所有实例的源代码,章末习题有选择题、填空题、问答题和应用题等类型,书末附习题答案,以供教学参考。 本书可作为大学本科、高职高专及培训班课程的教学用书,也适于计算机应用开发人员和计算机爱好者自学参考。 本书提供的教学课件、所有实例的源代码的下载网址为http://www.tup.com.cn。 本书由赵明渊主编,参加本书编写的有何明星(西华大学)、王俊峰(四川大学)、裴峥(西华大学)、任健、周亮宇、赵凯文、李文君、程小菊、杨天虹、蔡苗苗、邓铠凌、王成均。对于帮助完成本书基础工作的同志在此表示感谢! 由于编者水平有限,不当之处敬请读者批评指正。 编 者 2018年5月
图5.1 选择“新建数据库”命令[d1] (3)进入“新建数据库”窗口,在该窗口的左上方有3个选项,即“常规”“选项”和“文件组”。 在“数据库名称”文本框中输入创建的数据库名称stsc,“所有者”文本框使用系统默认值,系统自动在“数据库文件”列表中生成一个主数据文件stsc.mdf和一个日志文件stsc_log.ldf,主数据文件stsc.mdf的初始大小为3MB,增量为1MB,存放的路径为“C: Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLDATA”;日志文件stsc_log.ldf的初始大小为1MB,增量为10%,存放的路径与主数据文件的路径相同,如图5.2所示。
图5.2 “新建数据库”窗口[d2] 这里只配置“常规”选项卡,其他选项卡采用系统默认设置。 (4)单击“确定”按钮,stsc数据库创建完成,在“C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQL”下的DATA文件夹中增加了两个数据文件stsc.mdf和stsc_log.ldf。5.2.2 修改数据库 在数据库创建之后,用户可以根据需要对数据库进行以下修改。* 增加或删除数据文件,改变数据文件的大小和增长方式。* 增加或删除日志文件,改变日志文件的大小和增长方式。* 增加或删除文件组。 【例5.2】 在abc数据库(已创建)中增加数据文件abcbk.ndf和日志文件abcbk_log.ldf。 操作步骤如下。 (1)启动SQL Server Management Studio,在左边的“对象资源管理器”窗口中展开“数据库”节点,选中数据库abc,然后右击,在弹出的快捷菜单中选择“属性”命令。 (2)在“数据库属性-abc”窗口中单击“选择页”中的“文件”选项,进入文件设置页面,如图5.3所示。通过本窗口可增加数据文件和日志文件。 (3)增加数据文件:单击“添加”按钮,在“数据库文件”列表中出现一个新的文件位置,单击“逻辑名称”文本框并输入名称“abcbk”,单击“初始大小”文本框,通过该框后的微调按钮将大小设置为5,“文件类型”文本框、“文件组”文本框、“自动增长/最大大小”文本框和“路径”文本框都选择默认值。 (4)增加日志文件:单击“添加”按钮,在“数据库文件”列表中出现一个新的文件位置,单击“逻辑名称”文本框并输入名称“abcbk_log”,单击“文件类型”文本框,通过该框后的下拉箭头设置为“日志”,“初始大小”文本框、“文件组”文本框、“自动增长/最大大小”文本框和“路径”文本框都选择默认值,如图5.4所示,单击“确定”按钮。
图5.3 文件[d3]设置页面
图5.4 增加数据文件和日志文件[d4] 在“C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQL”下的DATA文件夹中增加了辅助数据文件abcbk.ndf和日志文件abcbk_log.ldf。 【例5.3】 在abc数据库中删除数据文件和日志文件。 操作步骤如下。 (1)启动SQL Server Management Studio,在左边的“对象资源管理器”窗口中展开“数据库”节点,选中数据库abc,然后右击,在弹出的快捷菜单中选择“属性”命令。 (2)出现“数据库属性-abc”窗口,单击“选择页”中的“文件”选项,进入文件设置页面。 通过本窗口可删除数据文件和日志文件。 (3)选择abcbk.ndf数据文件,单击“删除”按钮,该数据文件被删除。 (4)选择abcbk_log.ldf日志文件,单击“删除”按钮,该日志文件被删除。 (5)单击“确定”按钮,返回SQL Server Management Studio窗口。5.2.3 删除数据库 数据库运行后需要消耗资源,往往会降低系统的运行效率,通常将不再需要的数据库删除,以释放资源。删除数据库之后,其文件及数据都会从服务器上的磁盘中删除,并永久删除,除非使用以前的备份,所以在删除数据库时应谨慎。 【例5.4】 删除abc数据库。 删除abc数据库的操作步骤如下。 (1)启动SQL Server Management Studio,在左边的“对象资源管理器”窗口中展开“数据库”节点,选中数据库abc,然后右击,在弹出的快捷菜单中选择“删除”命令。 (2)弹出“删除对象”对话框,单击“确定”按钮,abc数据库被删除。5.3 小 结 本章主要介绍了以下内容。 (1)数据库是SQL Server存储和管理数据的基本对象,我们从逻辑数据库和物理数据库两个角度进行讨论。 (2)从用户的观点看,组成数据库的逻辑成分称为数据库对象,SQL Server数据库由存放数据的表以及支持这些数据的存储、检索、安全性和完整性的对象所组成。 SQL Server的数据库对象包括表(table)、视图(view)、索引(index)、存储过程(stored procedure)、触发器(trigger)等。 SQL Server的数据库有两类,一类是系统数据库,另一类是用户数据库。SQL Server在安装时创建4个系统数据库,即master、model、msdb和tempdb。用户数据库是由用户创建的数据库。 (3)从系统的观点看,数据库是存储逻辑数据库的各种对象的实体,它们存放在计算机的存储介质中,从这个角度称数据库为物理数据库。SQL Server的物理数据库架构包括页和区、数据库文件、数据库文件组等。 页和区是SQL Server数据库的两个主要的数据存储单位。每个页的大小是8KB,每8个连接的页组成一个区,区的大小是64KB。 SQL Server采用操作系统文件来存放数据库,使用的数据库文件有主数据文件、辅助数据文件、日志文件3类。 SQL Server提供了两类文件组,即主文件组和用户定义文件组。 (4)使用SQL Server Management Studio的图形用户界面创建SQL Server数据库包括创建数据库、修改数据库、删除数据库等内容。习 题 5 一、选择题 5.1 在SQL Server中创建用户数据库,其主要数据文件的大小必须大于 。 A.master数据库的大小 B.model数据库的大小 C.msdb数据库的大小 D.3MB 5.2 在SQL Server中,如果数据库tempdb的空间不足,可能会造成一些操作无法进行,此时需要扩大tempdb的空间。下列关于扩大tempdb空间的方法错误的是 。 A.手工扩大tempdb中某数据文件的大小 B.设置tempdb中的数据文件为自动增长方式,每当空间不够时让其自动增长 C.手工为tempdb增加一个数据文件 D.删除tempdb中的日志内容,以获得更多的数据空间 5.3 在SQL Server中创建用户数据库,实际上就是定义数据库所包含的文件以及文件的属性。下列不属于数据文件属性的是 。 A.初始大小 B.物理文件名 C.文件结构 D.最大大小 5.4 SQL Server数据库是由文件组成的。下列关于数据库所包含的文件的说法中正确的是 。 A.一个数据库可包含多个主要数据文件和多个日志文件 B.一个数据库只能包含一个主要数据文件和一个日志文件 C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件 D.一个数据库可包含多个次要数据文件和多个日志文件 5.5 在SQL Server系统数据库中,存放用户数据库公共信息的是 。 A.master B.model C.msdb D.tempdb 二、填空题 5.6 从用户的观点看,组成数据库的 称为数据库对象。 5.7 SQL Server的数据库对象包括表、 、索引、存储过程、触发器等。 5.8 SQL Server的物理数据库架构包括页和区、 、数据库文件组等。 5.9 SQL Server数据库的每个页的大小是8KB,每个区的大小是 。 5.10 SQL Server使用的数据库文件有主数据文件、辅助数据文件、 3类。 三、问答题 5.11 SQL Server有哪些数据库对象? 5.12 SQL Server数据库中包含哪几种文件? 5.13 简述使用SQL Server Management Studio创建数据库的步骤。 四、上机实验题 5.14 参照例5.1创建stsc数据库。 5.15 使用SQL Server Management Studio创建library数据库。 5.16 使用SQL Server Management Studio创建test数据库,增加数据文件testbk.ndf和日志文件testbk_log.ldf,然后删除增加的数据文件和日志文件,最后删除test数据库。
评论
还没有评论。