数据库期末考试Word文档下载推荐.docx
- 文档编号:7026991
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:288.57KB
数据库期末考试Word文档下载推荐.docx
《数据库期末考试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库期末考试Word文档下载推荐.docx(23页珍藏版)》请在冰点文库上搜索。
如教师与学生
1.7.3数据模型的分类
第一类:
概念模型:
它是按用户的观点对数据和信息建模;
用来描述某个特定组织所关心的信息结构;
概念模型属于信息世界中的模型(常见于E-R模型)
第二类:
逻辑模型(或称数据模型)和物理模型
逻辑模型是属于计算机世界中的模型;
逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型等;
物理模型描述数据在磁盘或磁带上的存储方式和存取方法。
1:
11:
nm:
n
1.7.4实体联系模型及E-R图
实体属性联系
1.7.5数据模型的组成要素
1、数据结构2、数据操作3、数据的完整性约束
层次结构查询正确
网状结构更新(包括插入、删除、修改)有效
关系结构相容
1.8数据模型(关系模型)
分量:
每一行对应的列的属性值,即为元组中的一个属性值。
关键字(Key):
可惟一标识一个元组的属性或属性集,也称为关系键或主码,如S表中学号可以惟一确定一个学生,为学生关系的主码。
关系模式:
关系模式是对关系的描述,是关系模型的“型”。
一般表示为:
关系名(属性1,属性2,……属性n)
关系实例:
关系实例是关系模式的“值”,是关系的数据,相当于二维表中的数据。
补充:
关系:
一个关系对应一张二维表
元组:
二维表中的一行
属性:
二维表格中的一列(属性由名称、类型、长度构成)
1.10.4数据库技术的研究领域:
1、数据库管理系统软件的研制:
提高系统的性能和提高用户的生产率。
2、数据库设计:
在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方
便、效率较高的数据库及其应用系统。
3、数据库理论:
关系规范化理论、关系数据理论的研究。
(课后习题:
选择、填空)
第2章关系数据库
2.1.3关系模式(定义)
关系的描述称为关系模式(RelationSchema)形式表示为:
R(U,D,DOM,F)
R--关系名U--属性名集合D--属性所来自的域DOM--属性向域的映像集合F-属性间数据的依赖关系集合
简记为:
R(U)或R(A1,A2,…,An)
2.2关系的键与关系的完整性
候选键(CandidateKey):
能惟一标识关系中元组的一个属性或属性集,称为候选键(CandidateKey)
特性:
惟一性、最小性
主关系键(PrimaryKey):
从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键。
每个关系必定有且仅有一个主关系键
主属性(PrimeAttribute)与非码属性(Non-PrimeAttribute):
主属性:
包含在主关系键中的各个属性称为主属性
非码属性:
不包含在任何候选键中的属性称为非码属性(或非主属性)
全码:
所有属性的组合是关系的候选键
2.2.2外部关系键
如果关系R2的一个或一组属性X不是R2的主码,而是另一关系R1的主码。
则该属性或属性组X称为关系R2的外部关系键并称关系R2为参照关系,关系R1为被参照关系。
注:
被参照关系的主码和参照关系的外码必须定义在同一个域上
2.2.3关系的完整性
完整性约束(必须满足):
实体完整性、参照完整性、用户自定义完整性
其中用户自定义完整性体现具体领域中的语义约束
2.3关系代数的分类及其运算符
并(Union):
R∪S={t|t∈R∨t∈S}
差(Difference):
R-S={t|t∈R∧┐t∈S}
交(Intersection):
R∩S={t|t∈R∧t∈S}
广义笛卡尔积(ExtendedCartesianProduct):
R×
S={tr⌒ts|tr∈R∧ts∈S}
2.3.3专门的关系运算
(1)设关系模式为R(A1,A2,……An),它的一个关系为R,t∈R表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。
(2)若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Aik是A1,A2,……,An中的一部分,则A称为属性列或域列,Ã
则表示{A1,A2,……,An}中去掉{Ai1,Ai2,……,Aik}后剩余的属性组。
t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元组t在属性列A上诸分量的集合。
(3)R为n目关系,S为m目关系,tr∈R,ts∈S,tr⌒ts称为元组的连接(concatenation),它是一个n+m列的元组,前n个分量为R的一个n元组,后m个分量为S中的一个m元组。
(4)给定一个关系R(X,Z),X和Z为属性组,定义当t[X]=x时,x在R中的象集(imageset),为Zx={t[Z]|t∈R,t[X]=x},它表示R中的属性组X上值为x的诸元组在Z上分量的集合。
象集举例:
选择(Selection)
(选择、填空、简答6)
第3章关系数据库标准语言——SQL
3.1.2SQL语言的基本概念
1、基本表(BaseTable){一个关系对应一个基本表;
一个或多个基本表对应一个存储文件}
2、视图(View){视图是从一个或几个基本表导出的表,是一个虚拟的表;
无数据,只有定义}
3.3创建与使用数据库
1、创建一个数据库将至少产生两个文件,即数据文件和日志文件。
一个数据库至少应包括一个数据文件和一个事务日志文件。
数据文件:
是存放数据库数据和数据库对象的文件。
一个数据库可以有一个或多个数据文件,一个数据文件只属于一个数据库。
事务日志文件:
是用来记录数据库更新情况的文件,扩展名为.ldf。
一个数据库可以有一个或多个事务日志文件。
文件组:
文件组(FileGroup)是将多个数据文件集合起来形成的一个整体,每个文件组有一个组名。
文件组分为:
主要文件组+次要文件组;
一个数据文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。
而日志文件不分组,它不能属于任何文件组。
3.4创建与使用数据表
1、数据类型:
整数数据类型:
按照整数数值的范围大小,有bigint,int,smallint,tinyint
精确数值类型:
定义可带小数部分的数字,有numeric和decimal建议使用decimal
字符串数据类型:
用来表示字段中的字符串,有char,varchar和text三种,如“数据库”
近似浮点数值类型:
当数值的位数太多时,可用此数据类型来取数值的近似值,有float和real
日期时间数据类型:
用来表示日期和时间,可用datetime与smalldatetime
(补充:
Unicode字符串数据nchar、nvarchar与ntext;
二进制数据:
binary、varbinary、image
货币数据:
money与smallmoney;
标记数据:
timestamp和uniqueidentifier)
3.4.3定义数据表的约束
完整性约束的基本语法格式:
[CONSTRAINT<
约束名>
]<
约束类型>
约束类型:
1、NULL/NOTNULL约束:
NULL表示“不知道”、“不确定”或“没有数据”的意思;
主键列不允许出现空值
[CONSTRAINT<
][NULL|NOTNULL]
2、UNIQUE约束(惟一约束):
指明基本表在某一列或多个列的组合上的取值必须惟一。
在建立UNIQUE约束时,需要考虑以下几个因素:
使用UNIQUE约束的字段允许为NULL值。
一个表中可以允许有多个UNIQUE约束。
可以把UNIQUE约束定义在多个字段上。
UNIQUE约束用于强制在指定字段上创建一个UNIQUE索引,缺省为非聚集索引。
UNIQUE用于定义列约束
]UNIQUE
UNIQUE用于定义表约束
]UNIQUE(<
列名>
[{,<
}])
3、PRIMARYKEY约束(主键约束):
用于定义基本表的主键,起惟一标识作用{不能为空、不能重复}
PRIMARYKEY用于定义列约束
CONSTRAINT<
PRIMARYKEY
PRIMARYKEY用于定义表约束
]PRIMARYKEY(<
4、FOREIGNKEY约束(外键约束):
[CONSTRAINT<
]FOREIGNKEYREFERENCES<
主表名>
(<
5、CHECK约束:
CHECK约束用来检查字段值所允许的范围。
在建立CHECK约束时,需要考虑以下几个因素:
一个表中可以定义多个CHECK约束。
每个字段只能定义一个CHECK约束。
在多个字段上定义的CHECK约束必须为表约束。
当执行INSERT、UNDATE语句时CHECK约束将验证数据。
]CHECK(<
条件>
)
3.5创建与使用索引
索引的作用:
1、加快查询速度2、保证行的唯一性
3.5.2索引的分类
1、聚集索引与非聚集索引:
聚集索引:
查询速度快非聚集索引:
更新速度快
(一个表中只能有一个聚集索引,而非聚集索引可以有多个)
2、唯一索引:
有UNIQUE,自动建立非聚集的惟一索引有PRIMARYKEY,自动建立聚集索引
3、复合索引:
将两个或多个字段组合起来建立的索引,单独的字段允许有重复的值
3.7数据操作
◆添加数据(INSERTINTO)
◆修改数据(UPDATE)
◆删除数据(DELETE)
添加数据(INSERTINTO):
用EnterpriseManager添加数据(不能应付数据的大量添加)
用SQL命令添加数据INSERTINTO
用SQL命令添加数据----添加一行新记录
INSERTINTO<
表名>
[(<
列名1>
[,<
列名2>
…])]VALUES(<
值>
)
[例3-65]在S表中添加一条学生记录(学号:
S7、姓名:
郑冬、性别:
女、年龄:
21、系别:
计算机)。
INSERTINTOS(SNo,SN,Age,Sex,Dept)
VALUES('
S7'
'
郑冬'
21,'
女'
计算机'
添加一行记录的部分数据值
[例3-66]在SC表中添加一条选课记录('
C1'
)。
INSERTINTOSC(SNo,CNo)
VALUES('
添加多行记录
[(<
…])]
子查询
[例3-67]求出各系教师的平均工资,把结果存放在新表AvgSal中。
首先建立新表AvgSal,用来存放系名和各系的平均工资
CREATETABLEAvgSal
(DepartmentVARCHAR(20),
AverageSMALLINT)
求出T表中各系的平均工资,把结果存放在新表AvgSal中
INSERTINTOAvgSal
SELECTDept,AVG(Sal)
FROMT
GROUPBYDept
3.7.2修改数据
用EnterpriseManager修改数据
不能应付数据的大量修改
用SQL命令修改数据----UPDATE
UPDATE<
SET<
=<
表达式>
[,<
]…
[WHERE<
]
3.7.3删除数据
用EnterpriseManager删除数据
比较适合于少量的单个记录等简单情况
用SQL命令删除数据:
DELETE
FROM<
[WHERE<
]
3.8视图
视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库中存储其定义。
创建视图
用EnterpriseManager创建视图
用SQL命令创建视图
CREATEVIEW<
视图名>
视图列表>
)]
AS<
子查询>
[例3-77]创建一学生情况视图S_SC_C(包括学号、姓名、课程名及成绩)。
CREATEVIEWS_SC_C(SNo,SN,CN,Score)
ASSELECTS.SNo,SN,CN,Score
FROMS,C,SC
WHERES.SNo=SC.SNoANDSC.CNo=C.CNo
[例3-78]创建一学生平均成绩视图S_Avg。
CREATEVIEWS_Avg(SNo,Avg)
ASSELECTSNo,Avg(Score)
FROMSC
GROUPBYSNo
3.9.2系统权限与角色的授予与收回
授予:
GRANT收回:
REVOKE
(选择、填空、四、5以及3.6全节)
第4章关系数据库理论
4.1.2不合理的关系模式存在的存储异常问题(在进行数据库的操作时,会出现以下几方面的问题)
1、数据冗余2、插入异常3、删除异常4、更新异常
根本原因:
属性间存在着数据依赖关系
4.4.1第一范式定义:
如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R∈1NF。
第二范式的定义:
如果关系模式R∈1NF,且每个非主属性都完全函数依赖于R的主关系键,则称R属于第二范式,简称2NF,记作R∈2NF。
第三范式的定义
如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的主关系键,则称R属于第三范式,简称3NF,记作R∈3NF。
4.5.2关系模式规范化的步骤
1、对1NF关系进行投影,消除原关系中非主属性对键的部分函数依赖,将1NF关系转换成若干个2NF关系
2、对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系
第五章数据库安全保护
1、DBMS对数据库的安全保护功能通过四个方面实现的:
1、安全性控制2、完整性控制3、并发性控制4、数据库恢复
2、安全性控制的一般方法
用户标识和鉴定;
用户存取权限控制;
定义视图;
数据加密;
审计(Audit)
3、SQLServer2000的身份验证模式
5.2完整性控制
数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。
数据库的完整性是指防止合法用户使用数据库时向数据库中加入不符合语义的数据。
完整性措施的防范对象是不合语义的数据。
5.3.2事务(Transaction)
定义事务的语句有三条:
BEGINTRANSACTION事务的开始
COMMIT事务的提交
ROLLBACK事务的回滚
事务的特征:
1、原子性(Atomicity)2、一致性(Consistency)3、隔离性(Isolation)4、持久性(Durability)
5.3.3数据库的并发操作导致的数据库不一致性主要有以下三种:
1、丢失更新(LostUpdate)2、污读(DirtyRead)3、不可重读(UnrepeatableRead)
5.3.4基本的封锁类型有两种:
排它型封锁(ExclusiveLock):
排它型封锁又称写封锁,简称为X封锁,它采用的原理是禁止并发操作。
共享封锁(ShareLock):
共享封锁又称读封锁,简称为S锁,它采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。
(填空、选择)
第6章数据库设计
1、数据库设计的步骤;
(按规范设计法可将数据库设计分为六个阶段)
1.系统需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段
4.物理结构设计阶段5.数据库实施阶段6.数据库运行与维护阶段
2\、E-R图中的冲突:
有属性冲突:
值域冲突、取值单位冲突
命名冲突:
同名异义、异名同义
结构冲突:
同一对象在不同应用中有不同的抽象;
同一实体在不同应用中属性组成不同;
同一联系在不同应用中呈现不同类型。
(选择、填空)
补充:
E-R图转换成关系模式:
四个关系模式:
学生(学号,姓名,性别,年龄)
课程(课程号,课程名)
教师(教师号,姓名,性别,职称)
系(系名,电话)
第7章SQLServer2000高级应用
7.1.2变量局部变量:
局部变量是用户可自定义的变量,其名称命名规则则同标识符的命名规则,不区分大小写。
作用范围仅在其声明的批处理、存储过程或触发器中。
DECLARE@变量名变量类型
[,@变量名变量类型……]
SELECT@局部变量=变量值
或
SET@局部变量=变量值
[例7-1]声明一个长度为8个字符的变量id,并赋值。
DECLARE@idchar(8)
SELECT@id='
10010001
Transact-SQL程序的批处理:
在Transact-SQL程序内两个“GO”标记符之间的代码称为一个“批”。
SQLServer对Transact-SQL程序的编译和执行是按照“批”为单位来进行的,称为批处理。
一个Transact-SQL程序内可以包含多个“批”。
7.1.3流程控制命令:
1、BEGIN
<
命令行或程序块>
END
2、IF[NOT]EXISTS(SELECT子查询)
[ELSE
3、IF<
条件表达式>
4、CASE<
WHEN<
THEN<
…
[ELSE<
END
5、WHILE<
BEGIN
<
[BREAK]
[CONTINUE]
[命令行或程序块]
7.1.4常用命令(结合书本P258)
1、BACKUP
用于将数据库内容或其事务处理日志备份到存储介质上(软盘、硬盘、磁带等)。
2、CHECKPOINT
用于将当前工作的数据库中被更改过的数据页或日志页从数据缓冲器中强制写入硬盘。
3、DBCC
用于验证数据库完整性、查找错误、分析系统使用情况等。
4、DECLARE
DECLARE的语法格式如下:
DECLARE{{@local_variabledata_type}
|{@cursor_variable_nameCURSOR}
|{table_type_definition}
}[,...n]
DECLARE命令用于声明一个或多个局部变量、游标变量或表变量。
例:
DECLARE@xCHAR,@yCHAR(10)
SELECT@x='
123'
@y='
data_type'
PRINT@x
PRINT@y
5、EXECUTE命令用来执行存储过程。
6、KILL命令用于终止某一过程的执行。
7、PRINT的语法格式如下:
PRINT'
anyASCIItext'
|@local_variable|@@FUNCTION|string_expression
PRINT命令向客户端返回一个用户自定义的信息,即显示一个字符串、局部变量或全局变量。
8、RAISERROR
用于在SQLServer系统返回错误信息时,同时返回用户指定的信息。
9、READTEXT命令的语法格式如下:
READTEXT{table.columntext_pointeroffsetsize}[HOLDLOCK]
READTEXT命令用于从数据类型为TEXT、NTEXT或IMAGE的列中读取数据。
10、RESTORE命令用来将数据库或其事务处理日志备份文件由存储介质回存到SQLServer系统中。
11、SELECT命令可用于给变量赋值,其语法格式如下:
SELECT{@local_variable=expression}[,...n]
SELECT命令可以一次给多个变量赋值。
12、SET命令有两种用法。
(1)用于给局部变量赋值。
(2)用于用户执行SQL命令时,SQLServer处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 期末考试