书籍详情
《SQLServer数据库原理及应用教程》[22M]百度网盘|亲测有效|pdf下载
  • SQLServer数据库原理及应用教程

  • 出版社:清华大学出版社京东自营官方旗舰店
  • 出版时间:2015-11
  • 热度:12719
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  《SQL Server 2008数据库原理及应用教程/全国高等院校应用型创新规划教材·计算机系列》介绍了Microsoft SQL Server 2008数据库管理系统的基本原理和综合应用。

  《SQL Server 2008数据库原理及应用教程/全国高等院校应用型创新规划教材·计算机系列》共分十个项目,项目一至九讲述Microsoft SQL Server的基础知识,项目十为一个综合型任务实例(设计收视分析问卷调查系统),介绍SQL Server数据库的具体应用。

  《SQL Server 2008数据库原理及应用教程/全国高等院校应用型创新规划教材·计算机系列》理论与实际相结合,既阐述了数据库的基本概念和方法,又结合SQL Server数据库管理系统基本而核心的内容详解其技术应用,阐述了典型数据库应用系统的设计与实现方法。

  《SQL Server 2008数据库原理及应用教程/全国高等院校应用型创新规划教材·计算机系列》可作为高等院校计算机相关专业数据库应用开发设计课程的教材,也可作为其他数据库设计开发人员的实用参考书。

内容简介

  《SQL Server 2008数据库原理及应用教程/全国高等院校应用型创新规划教材·计算机系列》介绍了Microsoft SQL Server 2008数据库管理系统的基本原理和综合应用。 全书共分十个项目,项目一至九讲述Microsoft SQL Server的基础知识,项目十为一个综合型任务实例(设计收视分析问卷调查系统),介绍SQL Server数据库的具体应用。 本书理论与实际相结合,既阐述了数据库的基本概念和方法,又结合SQL Server数据库管理系统基本而核心的内容详解其技术应用,阐述了典型数据库应用系统的设计与实现方法。 本书可作为高等院校计算机相关专业数据库应用开发设计课程的教材,也可作为其他数据库设计开发人员的实用参考书。

目录

目录

项目一 数据库的基本概念 1

任务1 关系数据库 3

任务2 安装SQL Server 2008 10

上机实训 管理和配置SQL Server 2008 32

习题 37

项目二 Transact-SQL语言 39

任务1 使用RETURN语句返回存储

? 过程的参考值 41

任务2 使用CURRENT_USER约束列 57

上机实训 查询成绩并打印结果 84

习题 85

项目三 创建和管理数据库 87

任务1 创建指定文件位置的数据库 90

任务2 查看studb数据库的信息 103

上机实训 创建职工信息数据库 114

习题 118

项目四 创建和管理数据库表 119

任务1 使用T-SQL语句创建图书

? 信息表book 121

任务2 删除class表中的所有数据

? 记录 128

任务3 查询职工数据表中的信息 146

上机实训 创建学生信息管理系统 162

习题 168

项目五 创建和管理视图及索引 169

任务1 创建和修改视图 171

任务2 修改索引属性 180

上机实训 删除聚集索引 190

习题 192

项目六 创建和管理存储过程

与触发器 193

任务1 创建和编辑studb数据库的存储

? 过程 195

任务2 删除students表中的指定

? 触发器 216

上机实训 编辑students表中的触发器 229

习题 231

项目七 游标及事务 233

任务 使用游标打印学生信息表 235

上机实训 使用游标打印查询结果 249

习题 250

项目八 安全管理数据库 251

任务1 创建和查看服务器的登录

? 账户 253

任务2 使用服务器角色 259

任务3 创建和删除数据库用户 263

任务4 创建用户定义的数据库角色 266

任务5 使用图形化界面授予对象、语句

? 权限 276

上机实训 监视SQL Server登录 282

习题 285

项目九 备份和恢复数据库 287

任务1 利用图形化界面操作创建

? 和查看备份设备 289

任务2 利用图形化界面操作备份

? 数据库 298

上机实训 使用图形化界面恢复数据库

备份 309

习题 313

项目十 设计收视分析问卷调查系统 315

任务 设计并验证收视分析问卷调查

系统 317

习题 356

习题答案 358

参考文献 362



精彩书摘

  项目二

  Transact-SQL语言

  1. 项目要点

  (1) 使用RETURN语句返回存储过程的参考值。

  (2) 使用CURRENT_USER约束列。

  2. 引言

  Transact-SQL是SQL Server 2008的编程语言,是一种结构化查询语言,是SQL的增强版本。使用Transact-SQL语言,可以从数据库中提取数据,完成SQL语言的数据定义(DDL)、数据操作(DML)和数据控制(DCC)等行为。本项目首先对Transact-SQL语言进行简单概述,然后详细讲述Transact-SQL语言的基本功能。先介绍Transact-SQL语言的两种标识符,即常规标识符和分隔标识符,然后介绍Transact-SQL语言中常用的几种常量、变量、常用的运算符和常用的表达式。最后介绍Transact-SQL语言中常用的9种函数,并对典型函数进行举例。通过本项目的讲述,读者将能够较详细地了解Transact-SQL语言的基本功能,方便后续项目的学习。

  3. 项目导入

  陈倩用Transact-SQL语言编写程序,查询教学管理系统Teacher数据库student_grade表中成绩大于80的数据,看下面的语句:

  SELECT * FROM student_grade WHERE 成绩>80

  程序执行结果如图2-1所示。

  图2-1 使用Transact-SQL进行查询

  4. 项目分析

  在如图2-1所示的查询中,比较运算符(>)的返回值为布尔数据类型,可以有3种值:TRUE、FALSE或NULL。比较表达式的条件成立时,返回TRUE,否则返回FALSE。如果打开ANSI_NULLS选项,则当比较操作数中任一个为NULL时,将返回NULL。

  5. 能力目标

  (1) 掌握Transact-SQL的基本语言。

  (2) 掌握Transact-SQL的内置函数。

  6. 知识目标

  (1) 学习Transact-SQL常量、变量、运算符、表达式、控制流程语句。

  (2) 学习数学函数、字符串函数、日期时间函数等。

  任务1 使用RETURN语句返回存储过程的参考值

  Transact-SQL是Microsoft公司在关系型数据库管理系统SQL Server中对SQL-3标准的实现,是微软对SQL的扩展,具有SQL的主要特点,同时增加了变量、运算符、函数、流程控制和注释等语言元素,使其功能更加强大。

  知识储备

  1. Transact-SQL概述

  Transact-SQL对SQL Server十分重要,在SQL Server中,使用图形界面能够完成的所有功能,都可以通过Transact-SQL来实现。与SQL Server通信的所有应用程序都通过向服务器发送Transact-SQL语句来进行操作,而与应用程序的界面无关。

  根据其完成的具体功能,可以将Transact-SQL语句分为4大类,分别为数据定义语句、数据操纵语句、数据控制语句和一些附加的语言元素。

  (1) 数据定义语句:CREATE TABLE、DROP TABLE、ALTER TABLE、CREATE VIEW、DROP VIEW、CREATE INDEX、DROP INDEX、CREATE PROCEDURE、ALTER PROCEDURE、DROP PROCEDURE、CREATE TRIGGER、ALTER TRIGGER、DROP TRIGGER。

  (2) 数据操纵语句:SELECT、INSERT、DELETE、UPDATE。

  (3) 数据控制语句:GRANT、DENY、REVOKE。

  (4) 附加的语言元素:BEGIN TRANSACTION / COMMIT、ROLLBACK、SET TRANSACTION、DECLARE OPEN、FETCH、CLOSE、EXECUTE。

  2. 标识符

  数据库对象的名称即为标识符。Microsoft SQL Server中的所有内容都可以有标识符,例如服务器、表、视图、列、索引、触发器、过程、约束及规则等。大多数对象都要求有标识符,但有些对象标识符是不可选的,例如,约束标识符是系统自动生成的,不需要用户提供。

  对象标识符是在定义对象时创建的,标识符随后用于引用该对象。

  【例1】创建一个标识符为student的表,该表中有两个列标识符,分别是Number和Address:

  CREATE TABLE student

  (Number INT PRIMARY KEY, Address nvarchar(80))

  此表还有一个未命名的约束。PRIMARY KEY约束没有标识符。

  标识符的排序规则取决于定义标识符时所在的级别。实例级对象的标识符指定的是实例的默认排序规则,例如登录名、数据库名。数据库对象的标识符分配数据库的默认排序规则,例如表、视图和列名。按照标识符的使用方式,可把标识符分为两类,即常规标识符和分隔标识符。这两种标识符包含的字符数必须在1~128之间。对于本地临时表,标识符最多可以有116个字符。

  (1) 常规标识符

  常规标识符的格式规则取决于数据库的兼容级别。可以使用ALTER DATABASE进行设置。当兼容级别为100时,适用下列规则。

  ① 第一个字符必须是下列字符之一:Unicode标准3.2所定义的字母,这些定义的字母包括拉丁字符a~z和A~Z,以及来自其他语言的字母字符;下划线(_)、符号@或数字符号#。

  在Transact-SQL中,某些位于标识符开头位置的符号具有特殊意义。

  以@符号开头的常规标识符始终表示局部变量或参数,并且不能用作任何其他类型的对象的名称。某些Transact-SQL函数的名称以两个符号(@@)开头。为了避免与这些函数混淆,不应使用以@@开头的名称命名。

  以一个数字符号开头的标识符表示临时表或过程。以两个数字符号(##)开头的标识符表示全局临时对象。虽然数字符号或两个数字符号字符可用作其他类型对象名的开头,但这里不建议使用。

  ② 后续字符可以包括:Unicode标准3.2中所定义的字母;基本拉丁字符或其他国家/地区字符中的十进制数字;@符号、美元符号($)、数字符号(#)或下划线(_)。

  ③ 标识符一定不能是Transact-SQL保留字。SQL Server可以保留大写形式和小写形式的保留字。

  ④ 不允许嵌入空格或其他特殊字符。

  ⑤ 不允许使用增补字符。

  例如,studentInformation、@number_20、Money_88$等是合法的常规标识符,而the student、My name_@、age 30等不是合法的标识符。

  在Transact-SQL语句中,如果符合标识符的格式规则,在使用常规标识符时,不用将其分隔开。例2中使用的标识符均是合法的,不用进行分隔。

  【例2】查询学号为15的学生信息:

  SELECT *

  FROM student

  WHERE Number = 15

  知识链接: 变量、函数和存储过程的名称必须符合Transact-SQL标识符的规则。在 Transact-SQL语句中使用标识符时,不符合上述规则的标识符必须用双引号或括号分隔,即我们下面要介绍的分隔标识符。

  (2) 分隔标识符

  分隔标识符是包含在双引号(“”)或者方括号([])内的标识符。使用双引号(“”)分隔的标识符称为引用标识符,使用方括号([])分隔的标识符称为括在括号内的标识符。默认情况下使用方括号([])分隔标识符。只有QUOTED_IDENTIFIER选项设置为ON时,才使用双引号(“”)分隔标识符。

  在Transact-SQL语句中,符合标识符格式规则的标识符可以分隔,也可以不分隔。下面是对例2中的合法标识符进行分隔:

  SELECT *

  FROM [student]

  WHERE [number] = 15

  在Transact-SQL语句中,如果对象名称包含了Microsoft SQL Server中的保留字或使用了未列入限定字符的字符,均不符合标识符的格式规则,必须进行分隔。例3中包含不合法的标识符My student和保留字order,必须进行分隔。

  【例3】查询序号为15的学生信息:

  SELECT *

  FROM [My student]

  WHERE [order] = 15

  注意: 美元符号($)的关键字通常用得较少,不为人们所熟知,应尽量避免使用,以提高程序的可读性。

  3. 常量和变量

  (1) 常量

  常量是表示特定数据值的符号,也称为字面量,在整个程序运行过程中保持不变。常量的格式取决于它所表示的值的数据类型。Transact-SQL中常用的常量主要有字符串常量、整型常量、实型常量、Money常量、uniqueidentifier常量和日期时间常量等。

  ① 字符串常量

  分为ASCII字符串常量和Unicode字符串常量两种。

  ASCII字符串常量是用单引号括起来的由ASCII字符构成的符号串,每个ASCII字符用一个字节来存储。

  Unicode字符串常量数据中的每个字符用两个字节存储,与ASCII字符串常量相似。N前缀必须为大写字母,例如N‘What is you name?’。

  ASCII和Unicode常量被分配了当前数据库的默认排序规则,除非使用COLLATE子句分配特定的排序规则,例如:

  'abc' COLLATE French_CI_AI或者N'lustig' COLLATE German_Phonebook_CS_AS

  注意: 如果单引号中的字符串包含引号,可以使用两个单引号表示嵌入的单引号。

  ② 整型常量

  按照整型常量表示方式的不同,可将整型常量分为二进制整型常量、十进制整型常量和十六进制整型常量。

  * 二进制整型常量的表示:即数字0或1,并且不使用引号。如果使用一个大于1的数字,它将被转换为1。

  * 十进制整型常量的标识:即不带小数点的十进制数,例如2012、9、+20120215、-20120215。

  * 十六进制整型常量的表示:前辍0x,后跟十六进制数字串。例如0xAEBF、0x12Ff、0x48AEFD010E、0x。

  ③ 实型常量

  实型常量按表示方式的不同,可分为定点表示和浮点表示。

  * 定点表示:例如1894.1204、2.0、+145345234.2234、-2147483648.10。

  * 浮点表示:例如101.5E5、0.5E-2、+123E-3、-12E5。

  ④ 日期时间常量

  日期时间常量用单引号将表示日期时间的字符串括起来构成。SQL Server可以识别的日期和时间格式有字母日期格式、数字日期格式和未分隔的字符串格式。例如‘April 15, 2012’、‘4/15/1998’、‘20001207’、‘04:24:PM’、‘April 15, 2012 14:30:24’。

  ⑤ money常量

  money常量是以$作为前缀的整型或实型常量数据。例如$12、$542023、-$45.56、+$423456.99。下面是将money常量应用到Transact-SQL中的例子:

  SELECT Price +$6.50

  FROM CommodityTable

  ⑥ uniqueidentifier常量

  uniqueidentifier常量是表示全局唯一标识符(GUID)值的字符串。uniqueidentifier常量可以使用字符或者十六进制字符串格式来指定。例如‘642D-000F96D458AB19FF011-B04FC964FF’、0x2012ff6fd00c04fc964ff。

  注意: 引用数值常量时不用单引号,引用日期、字符串常量时需要加单引号。

  (2) 变量

  变量是在程序运行过程中会发生改变的量。根据作用范围,可以将变量分为局部变量和全局变量两种。

  ① 局部变量

  局部变量是指在批处理或脚本中用来保存数据值的对象,是用户自己定义的变量。局部变量一次只能保存一个值,它的作用范围仅在程序内部。

  一般局部变量只在一个批处理或存储过程中使用,用来存储从表中查询到的数据,或当作程序执行过程中的暂存变量使用。通常,局部变量可以作为计数器,计算循环执行的次数或控制循环执行的次数;此外,利用局部变量还可以保存数据值,以供流程控制语句测试,以及保存由存储过程返回的数据值等。

  局部变量使用Declare语句来声明,其语法格式如下:

  Declare {变量名 数据类型}[...n]

  例如:

  DECLARE @name varchar(8)

  DECLARE @seat int

  声明完局部变量后,就可以对其进行赋值了,赋值格式如下:

  SET @变量名 = 值 (普通赋值)

  SELECT @变量名 = 值[,...](查询赋值)

  使用SELECT语句赋值时,若返回多个值,结果为返回的最后一个值。若省略“=”及其后的表达式,可以将局部变量的值显示出来。

  例如下面两个为变量赋值的语句:

  SET @name = '张三'

  SELECT @name = sname FROM student

  WHERE snum = '001'

  注意: 局部变量必须先声明后使用,初值为NULL。

  【例4】编写程序,计算两个整数之和:

  DECLARE @i int, @j int, @sum int

  SET @i = 50

  SET @j = 60

  SELECT @sum = @i + @j

  PRINT @sum

  GO

  语法说明如下:DECLARE声明局部变量。@i、@j、@sum为变量名,总是以@开始。int为变量的数据类型。SELECT和SET用来对局部变量进行赋值。SET一次只能给一个局部变量赋值,SELECT可以同时给多个局部变量赋值。

  ② 全局变量

  全局变量也称配置函数,是SQL Server系统提供并赋值的变量,用于存储系统的特定信息,作用范围并不局限于某一程序,而是任何程序均可随时调用。

  全局变量是在服务器级定义的,以@@开头。例如@@version。

  全局变量对用户来说,是只读的,用户只能使用预先定义的全局变量,不能建立全局变量,也不能修改其值,但可在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。

  在Transact-SQL语句中,常用的全局变量如表2-1所示。

  ……

前言/序言

  微软公司的SQL Server是一个功能完备的数据库管理系统,提供了完整的关系数据库创建、开发和管理功能。它使用Transact-SQL语言在客户机与服务器之间发送请求。

  本书结合作者多年的数据库教学和开发经验,借鉴了多位资深数据库开发人员的指导和提示,内容由浅入深,从数据库的基本概念讲起,逐步引导读者了解并掌握SQL Server 2008数据库的相关专业知识,掌握创建和管理数据库的技能。

  全书分为十个项目,对每一个项目的重要知识点都以任务为纲要,通过例题进行实际的演示。此外,每个项目还配有课后习题,以帮助读者更好地学习。本书内容安排如下。

  项目一:主要介绍SQL语言的发展和功能特点、SQL Server 2008的版本和新增功能、安装SQL Server 2008的系统要求以及安装过程。

  项目二:首先对Transact-SQL语言进行简单概述,然后详细讲述Transact-SQL语言的基本功能。

  项目三:分别利用图形化界面和T-SQL语句两种方法,以实例的方式,讲解数据库的基本操作,如创建、查看、修改、删除数据库。

  项目四:分别利用图形化界面和T-SQL语句两种方法,以实例的方式,讲解数据库表的基本操作,如创建、查询、修改、删除数据库表。

  项目五:分别介绍视图的概念、视图的类型(即标准视图、索引视图和分区视图),并介绍如何创建、修改、删除视图。

  项目六:主要介绍存储过程与触发器的概念、特点,在此基础上讲解如何创建和执行各种类型的存储过程及触发器。

  项目七:首先介绍游标的概念、特点及其使用,然后介绍事务的概念、特点,以及事务的模式和控制方法。

  项目八:主要介绍数据库的安全性管理,包括服务器登录账户和角色、数据库用户和角色,以及管理权限。

  项目九:主要说明数据库备份和恢复的重要性,介绍备份类型、恢复模式等概念,讲解如何创建和管理备份、如何恢复数据库,并给出具体的操作步骤。

  项目十:主要介绍如何利用SQL Server的相关知识来建立收视分析问卷调查系统,并利用SQL Server的相关知识,对该系统的准确性进行验证。

  通过阅读本书,可以快速掌握数据库管理及应用开发的相关知识和技能。

  本书各项目实训所需的素材文件可从清华大学出版社的网站下载。

  本书由河北联合大学的章昊、高晶、杨静、张玉环老师编写。

  其中,项目一至项目五由章昊老师编写,项目六、项目七由高晶老师编写,项目八、项目九由杨静老师编写,项目十由张玉环老师编写。

  由于作者水平有限,书中难免有不妥之处,敬请广大读者和专业人士批评指正。