数据库考试复习资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章索引

一、概念:

●索引的作用:索引能够快速访问表中的记录,提高查询速度。

●索引的组成:从表中抽取的关键字和对应的数据行在表中的页号。

●页和页号:数据表中的数据以8K为单位进行分割存储,每个8K称为页,每个页有一个

唯一的编号,称为页号。

●聚集(簇)索引

特点:索引中的关键字是有序排列的,表中数据行的存储次序和索引中键的排列次序一致;每张表只能有一个聚集索引。

●非聚集索引

特点:索引中的关键字也是有序排列的,但是表中数据的存储顺序和非索聚集引中键的排列次序无关;每张表可以有多个非聚集索引。

二、原理:

●为什么索引能加快查询的速度:

1.使用索引能减少读取磁盘的次数。

2.索引的数据结构是排序二叉树,查询效率比顺序表高。

●使用索引的代价

1.占据额外的存储空间

2.降低其他操作的效率:在表中插入、更新、删除数据时,必须同时对索引进行维护。

●索引的分类

索引分为两类:聚集索引和非聚集索引。

●自动创建的索引

在表上创建主键约束、外键约束和唯一性约束时,系统会自动创建相应的索引:

1.主键索引:主键索引是具有唯一性的聚集索引。

2.外键索引:外键索引是非聚集索引。

3.唯一性索引。

自动创建的索引不可以手动删除,只有在约束条件被删除之后,相应的索引才会被删除。

三、操作:

1.建立索引命令:

CREATE [UNIQUE][ CLUSTERED | NONCLUSTERED ]

INDEX 索引名

ON TABLE(字段名1 [,字段名2,… ])

2.删除索引

DROP INDEX 表名.索引名 [,… ]

第七章 T-SQL语言基础

一、SQL语言的特点:

SQL语言是一种面向集合的语言,每个命令的操作对象是一个或多个关系,结果也是一个关系。

SQL语言有两种运行方式:交互式运行和嵌入式运行。可独立使用,也可嵌入到宿主语言中。

●可以独立地交互式地运行,适用于终端用户和数据库管理员;

●嵌入式运行使其能够嵌入在高级语言程序中,供程序员开发时操作数据库系统。二、SQL语言的功能:

SQL语言具有四种功能:

1.数据查询(SELECT)

2.数据定义(CREATE、DROP、 ALTER)

3.数据操纵(INSERT、UPDATE、DELETE)

4.数据控制(GRANT、REVOKE、DENY)

三、Transact-SQL 语法要素:

1.批处理

使用GO语句作为批处理的标志。

批处理的特点:

(1)每个批中的代码构成一个整体,如果批中有任何语句出现了语法错误,整个批处理都不会被执行。

(2)变量的作用域也限制在同一个批处理中,在另一个批处理中无法引用之前定义的变量。

2.两种注释符

多行注释: /* 注释内容 */

单行注释: -- 注释内容

3.标识符

首字符必须是字母

其他字符可以包括字母、数字、符号

标识的第一个字符是符号时,代表特殊用途4.数据类型

(2)浮点数

(3)字符型

5.变量

Transact-SQL 中可以使用两种变量:局部变量和全局变量。

(1)局部变量

局部变量必须以@开头,而且必须先用DECLARE 命令说明后才可使用。其说明形式如下:

局部变量是用户可自定义的变量,它的作用范围仅在程序内部。

声明以后,所有的变量都被赋予初值NULL。

声明局部变量:

DECLARE @变量名数据类型[,@变量名数据类型…]

局部变量的赋值:

SELECT @局部变量= 表达式

SET @局部变量= 表达式

(2)全局变量

全局变量是SQL Server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用。

引用全局变量时必须以“@@”开头。

6.运算符

算术运算符

比较运算符

特别注意:在SQL中,比较运算的结果有三种:TRUE、FALSE和UNKNOWN;把一个已知量和一个未知量(NULL)进行比较时,得到的结果是UNKNOWN。要检测一个变量是否为空值,必须使用IS NULL或 IS NOT NULL进行判断。

例如:

DECLARE @test int

IF (@test is null)

PRINT '变量为空值'

ELSE

PRINT '变量不为空'

GO

字符串连接符

字符串连接运算是指使用加号(+)将两个字符串连接成一个字符串,加号作为字符串连接符。

例如:'abc' +'123'结果为'abc123'。

7.流程控制语句

BEGIN...END

B E G I N . . . E N D关键词对用来将一个S Q L语句块组织在一起,以达到一起执行的目的

它可以和许多其他的流控制关键词一起使用

语法

BEGIN

< SQL语句>

END

它必须包含在一个单独的批中

IF…ELSE

用来判别条件是否满足,接下来根据条件,执行I F语句后的代码段,或是执行E L S E后的代码段。

语法:

IF <逻辑表达式>

ELSE

IF…ELSE语句可以嵌套使用。

相关文档
最新文档