出版时间:2010-6 出版社:北京大学出版社 作者:贾艳宇 编 页数:328 字数:492000
前言
数据库技术人员包括数据库设计人员、数据库管理员和数据库开发人员等,要成为合格的数据库技术人员,仅掌握“如何做”的技术是不够的,更重要的是理解和掌握“为什么这样做”的原理和技术,这就必须熟悉数据库设计、管理和开发的各种知识及技能。本书依据数据库技术人员所需的有关知识及技能,将有关的知识与技术融合在一个项目中,并通过逐步实现这个项目,带领读者-步步进入数据库技术的奇妙世界。 本书在编写过程中,努力突出基础性和实践性,力求做到讲解原理通俗易懂、深入浅出,使读者既掌握较扎实的基础知识,又能较快地掌握数据库应用的技术。按照设计-创建-操作-管理-开发的线索,针对数据库技术人员所需的基础知识和技能,全书内容分为5个模块、11个任务,分别如下。 模块-,设计数据库,本模块包含任务1“设计数据库”,主要介绍任何想要使用数据库的人都必须要理解的一些基本概念和基本原理,也介绍设计关系数据库的关键步骤、方法以及-些技巧。最后带领读者-步步实现项目中涉及的数据库设计方案。 模块二,创建数据库,本模块包含任务2“创建数据库”和任务3“创建表”。任务2介绍操作数据库的语言(SQL语言)和创建数据库的方法;任务3介绍在特定数据库中创建表的方法,同时也介绍数据完整性、规则和默认的应用。 模块三,操作数据库,本模块包含任务4“查询数据”和任务5“管理和维护数据”。任务4介绍使用SQL语言查询数据的方法以及视图和索引的应用;任务5介绍在特定数据库中管理数据的方法,包括插入数据、更新数据和删除数据。 模块四,管理数据库,本模块包含任务6“数据库安全管理”和任务7“数据备份与转换”。任务6介绍数据库安全管理的方法;任务7介绍管理、维护数据库的方法,包括备份和还原数据库、分离和附加数据库以及导入和导出数据。模块五,开发数据库,本模块包含任务8“学习T.SQL编程知识”、任务9“开发存储过程”、任务10“实现触发器”和任务11“实现用户定义函数”。任务8主要介绍开发存储过程、触发器、用户定义函数所需的编程基础知识;任务9介绍创建、执行和管理存储过程的方法;任务10介绍创建和管理触发器,以及使用触发器实现数据完整性的知识;任务11介绍创建和调用用户定义函数的内容。 本书的每个任务内容由学习目标、项目描述、工作任务、独立实验、阅读材料、小结等部分组成,以帮助读者了解工作任务要求、明确学习目标、巩固学习成果、强化职业技能,并将知识和技能转化为经验和工作能力。
内容概要
在主流关系数据库管理系统中,SQL server是较为易用且功能强大的一种。本书结合一个项目实例,使初学者可以围绕一个主线快速入门,由浅入深地学习;本书为读者刻画关于数据库技术的清晰轮廓,使读者了解数据库技术可以做什么,以及如何使用SQL Server数据库来满足用户的需要。本书的最大特点就是所讲授的内容与实例紧密结合,帮助读者更好地领会数据库设计、开发和使用的技术及技巧。通过学习本书,读者可以在较短的时间内掌握数据库技术人员所需的数据库基础知识及技能,尽快进入职业状态。 本书可作为高职高专计算机相关专业的数据库课程教材,也可供对数据库技术有兴趣的人士自学使用。
书籍目录
任务1 设计数据库 1.1 子任务:理解数据库 1.1.1 数据库的概念 1.1.2 数据库系统的组成和结构 1.1.3 数据库管理系统及其功能 1.2 子任务:学习数据模型和关系运算 1.2.1 数据模型 1.2.2 实体关系模型 1.2.3 关系模型 1.2.4 关系运算 1.3 子任务:数据库设计 1.3.1 收集数据 1.3.2 创建E-R模型 1.3.3 创建数据库模型 1.3.4 规范化数据 1.3.5 设计表 1.4 实现项目的子任务——设计数据库 实验1:设计数据库 阅读材料:数据库技术的发展 小结 习题任务2 创建数据库 2.1 子任务:学习结构化查询语言 2.1.1 T-SQL的组成 2.1.2 T-SQL语法约定 2.2 子任务:理解数据库存储结构 2.2.1 系统数据库 2.2.2 数据库文件和文件组 2.3 子任务:创建数据库 2.3.1 使用SSMS创建数据库 2.3.2 使用查询编辑器创建数据库 2.4 子任务:查看和修改数据库 2.4.1 查看数据库信息 2.4.2 修改数据库 2.4.3 删除数据库 2.5 实现项目的子任务——创建数据库 实验2:创建和修改数据库 阅读材料:SSMS概览 小结 习题任务3 创建表 3.1 子任务:熟悉数据类型 3.1.1 系统数据类型 3.1.2 用户自定义数据类型 3.2 子任务:创建表 3.2.1 使用SSMS创建表 3.2.2 使用查询编辑器创建表 3.2.3 使用模板创建表 3.3 子任务:实现数据完整性 3.3.1 理解数据完整性 3.3.2 使用约束 3.3.3 使用规则 3.3.4 使用默认 3.4 子任务:查看和修改表 3.4.1 查看表信息 3.4.2 修改表定义 3.4.3 删除表 3.5 实现项目的子任务——创建表 实验3:创建和修改表 阅读材料:规划表 小结 习题任务4 查询数据 4.1 子任务:单表数据查询 4.1.1 简单查询 4.1.2 WHERE子句 4.1.3 ORDER BY子句 4.1.4 函数和表达式 4.1.5 数据汇总 4.2 子任务:使用连接和联合 4.2.1 连接查询 4.2.2 联合查询 4.3 子任务:使用子查询 4.3.1 嵌套子查询 4.3.2 相关子查询 4.3.3 测试存在性的子查询 4.4 子任务:使用索引查询数据 4.4.1 理解索引 4.4.2 创建和维护索引 4.5 子任务:使用视图查询数据 4.5.1 理解视图 4.5.2 创建和修改视图 4.5.3 为视图创建索引 4.5.4 删除视图 4.6 实现项目的子任务——创建索引和视图 实验4:实现索引和视图 阅读材料:优化查询 小结 习题任务5 管理和维护数据 5.1 子任务:插入数据 5.1.1 基本INSERT语句 5.1.2 插入多条记录 5.2 子任务:更新数据 5.2.1 UPDATE语句 5.2.2 使用子查询 5.2.3 使用视图更新数据 5.3 子任务:删除数据 5.3.1 DELETE语句 5.3.2 截断表 5.3.3 使用子查询 5.4 子任务:使用事务维护数据 5.4.1 理解事务 5.4.2 使用事务更新数据 5.5 实现项目的子任务——管理和维护数据 实验5:操作数据 阅读材料:安装SQL Server 2005 数据库 小结 习题任务6 数据库安全管理 6.1 子任务:登录管理 6.1.1 理解SQL Server安全 6.1.2 Windows身份验证 6.1.3 SQL Server身份验证 6.2 子任务:用户管理 6.2.1 使用T-SQL代码管理用户 6.2.2 使用SSMS管理用户 6.3 子任务:角色管理 6.3.1 理解角色 6.3.2 管理角色 6.4 实现项目的子任务——保证数据安全 实验6:实现数据库安全 阅读材料:规划SQL Server的安全性 小结 习题任务7 数据备份与转换 7.1 子任务:备份和还原数据库 7.1.1 理解备份 7.1.2 备份数据库 7.1.3 还原数据库 7.2 子任务:分离和附加数据库 7.2.1 分离数据库 7.2.2 附加数据库 7.3 子任务:导出和导入数据 7.3.1 导出数据 7.3.2 导入数据 7.4 实现项目的子任务——备份数据库 实验7:数据备份和还原 阅读材料:数据复制 小结 习题任务8 学习T-SQL编程知识 8.1 子任务:T-SQL编程基础 8.1.1 T-SQL批处理 8.1.2 格式化T-SQL代码 8.1.3 使用变量 8.1.4 流程控制 8.2 子任务:T-SQL错误处理 8.2.1 使用变量@@Error和@@RowCount 8.2.2 使用:RaiserrOr语句 8.2.3 使用TRYCATCH结构 8.2.4 错误的严重级别 8.3 实现项目的子任务——T-SQL批处理 实验8:T-SQL编程 阅读材料:使用XML数据 小结 习题任务9 开发存储过程 9.1 子任务:理解存储过程 9.1.1 什么是存储过程 9.1.2 存储过程的优势 9.2 子任务:创建和执行存储过程 9.2.1 创建和执行不带参数的存储过程 9.2.2 创建和执行带输入参数的存储过程 9.2.3 创建和执行带输出参数的存储过程 9.2.4 嵌套存储过程 9.3 子任务:管理存储过程 9.3.1 修改存储过程 9.3.2 查看存储过程信息 9.3.3 重新编译存储过程 9.3.4 删除存储过程 9.4 实现项目的子任务——使用存储过程 实验9:实现存储过程 阅读材料:批处理、视图和存储过程 小结 习题任务10 实现触发器 10.1 子任务:触发器简介 10.1.1 理解触发器 10.1.2 触发器原理 10.2 子任务:创建触发器 10.2.1 INSERT触发器 10.2.2 DELETE触发器 10.2.3 UPDATE触发器 10.2.4 INSTEAD OF触发器 10.2.5 用触发器实现数据完整性 10.3 子任务:管理触发器 10.3.1 修改触发器 10.3.2 删除触发器 10.3.3 禁用触发器 10.3.4 查看触发器信息 10.4 实现项目的子任务——使用触发器 实验10:实现触发器 阅读材料:约束和触发器 小结 习题任务11 实现用户定义函数 11.1 子任务:用户定义函数 11.1.1 理解用户定义函数 11.1.2 用户定义函数的类型 11.2 子任务:设计和实现用户定义函数 11.2.1 创建和调用标量函数 11.2.2 创建和调用内联表值函数 11.2.3 创建和调用多语句表值函数 11.2.4 将存储过程重写为函数 11.2.5 将函数重写为视图或存储过程 11.3 子任务:管理用户定义函数 11.3.1 修改用户定义函数 11.3.2 删除用户定义函数 11.3.3 查看用户定义函数 11.4 实现项目的子任务——创建用户定义函数 实验11:实现用户定义函数 阅读材料:视图、存储过程和用户定义函数 小结 习题参考文献
章节摘录
4.4.1理解索引 索引是一种数据库结构,是SQL Server使用的一种内部表结构。它是依赖于表建立的,提供了数据库各表中数据的排序方法。如果把数据库看作一本书,则可以把索引看作书的目录,通过目录查找书中的信息,要比使用没有目录的书更方便、快捷。 在数据库中,一个表的存储由两部分组成,一部分用来存放表的数据页面,另一部分是索引页面。索引就存放在索引页面上。通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再通过指针从数据页面中读取数据。SOL Server提供了两种索引:聚集索引(CLUSTERED、ERED INDEX)和非聚集索引(NONCLUSTERED INDEX),聚集索引也称聚类索引或簇索引,非聚集索引也称非聚类索引或非簇索引。 1. 聚集索引和非聚集索引 举例来说明聚集索引和非聚集索引,这正像人们使用汉语字典查字时经常使用的两种方法。汉语字典的正文本身就是一个聚集索引。例如,要查“安”字,很自然就会翻开字典的前几页。因为“安”的拼音是“an”,汉字的字典是按照拼音排序的,并以英文字母“a”开头,以“z”结尾,那么“安”字就自然地排在字典的前部。如果翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明字典中没有这个字;同样的,如果查“张”字,那用户也会将字典翻到后面的部分。因为“张”的拼音是“zhang”,字母“z”是排在字典后面的。也就是说,字典的正文部分本身就是一个目录,不需要再去查其他目录来找到所需要找的内容。通常把这种正文内容本身就是一种按照一定规则排列的目录称为聚集索引。 如果遇到一个不认识的字,不知道它的发音,就不能按照拼音的方法查找所要的字了,这时需要根据字的偏旁部首,先查到所要找的字所在的页码,然后再根据这个字的页码直接翻到某页来找到所要找的字。但结合部首目录和检字表而查到的字的排序并不是真正的正文的排序方法。例如查“张”字,在查部首目录之后的检字表中,“张”的页码是第610页,而“张”的上面是“弟”字,其页码是第94页,“张”的下面是“弧”字,其页码却是第188页。很显然,这些字并不是真正地分别位于“张”字的前后,现在所看到的连续的“弟、张、弧”3个字,实际上就是它们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。可以通过这种方式来找到所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到所需要的页码。把这种与正文排序不同的目录(如检字表)称为非聚集索引。 在数据库中,索引是对数据库表中的一列或多个列的值进行排序的结构。聚集索引基于数据行的键值在表内排序和存储这些数据行,也就是说,聚集索引的排序与有聚集索引的表中数据行的排序是一致的,数据行按基于聚集索引键的排序顺序存储。因为数据行本身只能按一个顺序存储,所以每个表只能有一个聚集索引。 ……
编辑推荐
《SQL Server数据库基础与应用》针对性强:切合职业教育的培养目标,侧重技能传授,弱化理论,强化实践内容。体例新颖:从人类常规的思维模式出发,对教材的内容编排进行全新的尝试,打破传统教材的编写框架;符合老师的教学要求,方便学生理解理论知识在实际中的运用。 内容立体:从锻炼学生的思维能力以及运用概念解决问题的能力出发,内容一改以往的惯例,不仅有知识的讲解,部分教材还有动手操作、知识衔接、特别提示、自问自答等知识模块。 注重人文:注重人文与科技的结合,在传统的理论教材中适当地增加人文方面的知识,激发学生的学习兴趣。 方便教学:全套教材以立体化精品教材为构建目标,网上提供的电子课件、素材、源代码和习题参考答案等教学资源。
图书封面
评论、评分、阅读与下载