数据库复习Word格式文档下载.docx

上传人:b****6 文档编号:21758393 上传时间:2023-02-01 格式:DOCX 页数:12 大小:62.78KB
下载 相关 举报
数据库复习Word格式文档下载.docx_第1页
第1页 / 共12页
数据库复习Word格式文档下载.docx_第2页
第2页 / 共12页
数据库复习Word格式文档下载.docx_第3页
第3页 / 共12页
数据库复习Word格式文档下载.docx_第4页
第4页 / 共12页
数据库复习Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库复习Word格式文档下载.docx

《数据库复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库复习Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

数据库复习Word格式文档下载.docx

max----最大值

min----最小值

注意:

被参照关系的主码和参照关系的外码必须定义在同一个域上

参照关系(ReferencingRelation)与被参照关系

系统数据库:

master数据库、model数据库、tempdb数据库、madb数据库

数据库文件:

主数据文件(有且只有一个)、次数据文件(0-17个)、事务日志文件(至少有一个)。

数据库的三种恢复模式:

简单恢复模式、完整恢复模式、大容量日志恢复模式。

数据库备份的类型:

完整备份、差异备份、事务日志备份、文件及文件组备份。

数据库的安全验证模式:

Windows身份验证模式、混合验证模式。

关系代数的五种操作

并、差、笛卡尔积、选择、投影

1.实体完整性规则

若属性(或属性组)A是基本关系R的主属性,则A不能取空值。

主关系键的值不能为空或部分为空

学生关系中的主关系键“学号”不能为空

选课关系中的主关系键“学号+课程号”不能部分为空,

即“学号”和“课程号”两个属性都不能为空

2.参照完整性规则

如果关系R2的外键X与关系R1的主键相符,则X的每个值或者等于R1中主键的某一个值,或者取空值

1.函数依赖

定义:

设R(U)是一个属性集U上的关系模式,X,Y是U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。

非平凡的函数依赖

如果X→Y,但Y不是X的子集,则称X→Y,是非平凡的函数依赖。

2.平凡的函数依赖

如果X→Y,但Y是X的子集,则称X→Y,是平凡的函数依赖。

在关系模式SC中,因为(Sno,Cname)→Grade,是非平凡的函数依赖,而(Sno,Cname)→Sno和(Sno,Cname)→Cname则是平凡的函数依赖

3.决定因素(决定属性集)

如果X→Y,则X称为这个函数依赖的决定因素。

4.X↔Y:

若X→Y,Y→X,则记作X↔Y。

5.XY:

若Y不函数依赖于X,则记作XY。

6.完全函数依赖

如果X→Y,并且对于X的任何一个真子集X′,都有X′Y,则称Y对X完全函数依赖,记作X→Y。

7.部分函数依赖

如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X→Y。

8.传递函数依赖

若X→Y,但YX,而Y→Z,则称Z对X传递函数依赖,记作:

X→Z。

第一范式

定义:

如果一个关系模式R的每一个属性都是不可分的数据项,则称R符合第一范式,记作R∈1NF

1NF是关系模式应具备的最起码的条件。

第一范式可能具有大量的数据冗余,具有插入异常、删除异常和更新异常等弊端。

如关系模式SCD属于1NF,它既存在完全函数依赖,又存在部分函数依赖和传递函数依赖。

克服这些弊端的方法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的范式进行转换。

第二范式

定义:

若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则称R符合第二范式,记作R∈2NF。

{从1NF关系中消除非主属性对主属性的部分函数依赖,则可得到2NF]

2NF规范化是指把1NF关系模式通过投影分解,转换成2NF关系模式的集合。

第三范式

如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的码,则称R符合第三范式,记作R∈3NF。

存储过程

独立存在于表多的数据库对象

类型:

系统存储、扩展存储、本地存储、临时存储、远程存储。

BC范式:

任何满足BCNF的关系都必然属于3NF

第一范式定义:

在关系模式R的每个关系r中,如果每个属性都是不可再分的基本数据项,则称R为第一范式,简称IEN,,记作RϾINF

第二范式:

消除非主属性对码的部分函数依赖

第三范式:

消除非主属性对码的传递函数依赖

BCNF:

消除主属性对码的部分和传递函数依赖

视图的概念视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库中存储其定义。

逻辑机构,无存储数据,只有定义

局部变量:

类型为float和char局部变量其中,名字分别为f和cn并且char类型的长度为8。

Declare@ffloat,@cnchar(8).

运算符优先级

第三、四讲

课本3、6、7、8章

•1、基本表的创建与维护

•在SQL语言中,使用语句CREATETABLE创建数据表,其基本语法格式为:

•CREATETABLE<

表名>

(<

列名>

<

数据类型>

[列级完整性约束]

•[,<

[列级完整性约束]],……

•[表级完整性约束])

•说明:

•1)<

所要定义的基本表的名字。

2)<

表由一个或多个属性(列)组成,建表同时通常需要定义列信息及每列所使用的数据类型,列名在表内必须是唯一的。

3)<

定义表的各个列(属性)时需指明其数据类型和长度,不同的数据库系统支持的数据类型不完全相同,应根据实际使用的DBMS来确定。

4)<

列级完整性约束条件>

只应用到一个列的完整性约束条件。

5)<

表级完整性约束条件>

应用到多个列的完整性约束条件。

•常用完整性约束

主码约束:

PRIMARYKEY(约束主码唯一性与非空性)

唯一性约束:

UNIQUE(属性取值唯一,不重复)或(元组分量唯一,不重复)

非空值约束:

NOTNULL

参照完整性约束(外码—主码对应,外码不多于主码)

2删除表

DROPTABLE<

 

基本表删除:

数据、表上的索引都删除,表上的视图往往仍然保留,但无法引用。

[例]删除Student表

DROPTABLE Student

2、建立索引

•语句格式

•CREATE[UNIQUE][CLUSTER]INDEX<

索引名>

ON<

[<

次序>

][,<

]]…);

用<

指定要建索引的基本表名字

索引可以建立在该表的一列或多列上,各列名之间用逗号分隔

指定索引值的排列次序,升序:

ASC,降序:

DESC。

缺省值:

ASC

UNIQUE表明此索引的每一个索引值只对应唯一的数据记录

CLUSTER表示要建立的索引是聚簇索引。

•唯一值索引

–对于已含重复值的属性列不能建UNIQUE索引

–对某个列建立UNIQUE索引后,插入新记录时DBMS会自动检查新记录在该列上是否取了重复值。

这相当于增加了一个UNIQUE约束

•删除索引

DROPINDEX<

删除索引时,系统会从数据字典中删去有关该索引的描述。

[例]删除Student表的Stusname索引。

DROPINDEXStusname

3、数据更新

1)插入数据

(插入一个元组)

•插入单个元组

语句格式

INSERT

INTO<

[(<

属性列1>

[,<

属性列2>

…)]

VALUES(<

常量1>

[,<

常量2>

]…)

功能--将新元组插入指定表中。

•INTO子句

–指定要插入数据的表名及属性列,属性列的顺序可与表定义中的顺序不一致

–没有指定属性列:

表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致

–指定部分属性列:

插入的元组在其余属性列上取空值

•VALUES子句

–提供的值必须与INTO子句匹配

>

值的个数

值的类型

2)修改数据

UPDATE<

SET<

=<

表达式>

[,<

……]

[WHERE<

条件>

]

(1)按指定条件修改元组

将表studentinfo中“200302303055”号学生的姓名改为:

“孙明洁”。

UPDATEStudentInfoSETStuName=‘孙明洁’

WHEREStuNo=’200302303055’

(2)修改表中所有元组的值

将所有学生的平均成绩OrdinarySc加1。

UPDATESCSETOrdinarySc=OrdinarySc+1

3)删除数据

DELETE<

[WHERE<

(1)按指定条件删除一个或多个元组

[例]删除“03123803”号课程的选课信息。

DELETESC

WHERECNO=’03123803’

(2)删除表中所有元组

[例]删除成绩表中的所有记录。

4视图

(1) 定义视图

CREATEVIEW<

视图名>

[(<

视图列表>

)]

AS<

子查询>

[WITHCHECKOPTION]

[例]建立2004级英语成绩在85分以上的学生的视图。

CREATEVIEWEnggrade

AS

SELECTSno,Sname,Grade

FROMStu2004grade

WhereCourse=‘英语’ANDGrade>

85

2) 删除视图

用SQL命令删除视图

DROPVIEW<

例如:

DROPVIEWStu2004grade

视图删除后,只会删除该视图在数据字典中的定义,

而与该视图有关的基本表中的数据不会受任何影响

(3)查询视图

视图定义后,对视图的查询操作如同对基本表的查询操作一样。

在2004级学生的视图中找出1986年以前出生的学生。

SELECTStuName,Birth

FROMStu2004

WHEREBirth<

‘1986-1-1‘

{SELECTStuName,Birth

FROMStudentInfo

WHEREEnterdate=2004

ANDBirth<

‘1986-1-1‘}

视图的建立简化了查询操作

4) 更新视图

由于视图是一张虚表,所以对视图的更新,最终转换成对基本表的更新。

其语法格式如同对基本表的更新操作一样。

插入--INSERT

更新--UPDATE

删除--DELETE

单表查询语句基本格式:

[use数据库名称]

select目标列表达式[,…….n]

from表名

where条件(表达式)

[ORDERBY排序条件]

内连接查询

例:

在course表与sc表中查询cno是“1”的课程对应的“学号”“课程名称”“学分数”

USE学生课程数据库

selectsc.sno,cname,ccredit

fromcourseinnerjoinsc

ono=o(innerjoinstudenton…)

whereo=‘1’

汇总查询

聚合函数

groupby子句

having子句

(compute子句)

(computeby子句)

根据课程分组,统计cgrade的总分与平均分,显示平均成绩大于90分的查询信息。

use学生课程数据库

selectcname,sum(cgrade)as'

总分'

avg(cgrade)as'

平均分'

fromscinnerjoincourseono=course.con

groupbycname

havingavg(cgrade)>

=90

select子句涉及显示的列名必须包含在聚合函数或groupby子句中

1创建、修改与执行存储过程

语法格式

CREATEPROC[EDURE]procedure_name[{@parameterdata_type}[=default][OUTPUT]]

ASsql_statement[…n]

修改:

create改为:

alter

执行:

EXEC存储过程名[参数值]

创建存储过程,完成功能:

执行后可查询任意学生的系别信息。

go

createproceduredemo1

@stunumbvarchar(10)=null

as

selectsname,sdept

fromstudent

wheresno=@stunumb

execdemo1‘1’

DML触发器的创建和应用

使用CREATETRIGGER命令创建DML触发器的语法形式如下:

CREATETRIGGERtrigger_name

ON{table|view}

[WITH[ENCRYPTION]

{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}

AS

{sql_statement[;

][...n]}

for或after规定触发动作完成后执行触发器;

Insteadof规定触发器动作代替触发动作执行

例 创建一个触发器,在course表上插入、更新数据时触发,触发后输出course表的所有信息。

程序如下:

CREATETRIGGERtr_c

ONcourse

InsteadofINSERT,UPDATE

BEGIN

select*

fromcourse

END

2、DDL触发器的创建和应用

使用CREATETRIGGER命令创建DDL触发器的语法形式如下:

CREATETRIGGERtrigger_name

ON{ALLSERVER|DATABASE}

{FOR|AFTER}{create_table|alter_table|drop_table}

AS{sql_statement[;

][...n}

例:

使用DDL触发器来防止在数据库中创建表。

程序如下:

CREATETRIGGERsafety

ONDATABASE

FORCREATE_TABLE

AS

PRINT'

CREATETABLEFailed!

!

'

ROLLBACK

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1