数据库的基本概念
- 格式:doc
- 大小:43.26 KB
- 文档页数:4
1.关系的基本操作:选择、投影、并、差、笛卡尔集。
2.声明变量的语句:declare @XXX (XXX为变量名称)
3.判断并发调度的正确性:
(1)可串行性的调度:多个事务的并发执行是正确的,当且仅当其结果与某一次串行的执行这些实物的结果相同。
(2)可串行性:是并发事务调度的准则。按照这个准则,一个给定的并发调度,当且仅当他是可串行化的才认为是正确的调度。
4.事物的四个特性:原子性、一致性、隔离性和持续性。
5.定义视图:
Create view <视图名称>[(列名)[,(列名)]]
As
<子查询>
[with check option]
6.关系数据理论:
7.范式:
(1)第二范式:若R∈1NF,且每一个非主属性完全依赖于码,则R∈2NF
(2)第三范式:非主属性中不存在传递关系。
8.角色、权限
(1)创建角色:create role <角色名>
(2)给角色授权:create <权限> on <对象类型> 对象名to 角色。
9.设计中概念模型描述什么:实体、属性、码、实体型、实体集、联系。
10.关系的完整性:实体完整性、参照完整性、用户定义的完整性。
11.读锁和写锁的定义:
(1)写锁:又称“排它锁”,若事物T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能对A加任何类型的锁,直到T释放A上的锁。
(2)读锁:又称“共享锁”,若事物T对数据对象A加上S锁,则事物T可以读A但不能修改A,其他事物只能对A加S锁,而不能加X锁,直到T释放A上的S锁。
简答:
1.关系模式:判断是第几范式,分析指出主键、外键P175 例题4
2.举例说明参照完整性(外键取值的几种情况)P49例题1,例题2,例题3
3.数据库的设计步骤、任务。
(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计
(5)数据库实施(6)数据库运行和维护
4.描述并发调度中锁的概念、作用
(1)概念:事物T对某个数据对象操作之前,先向系统发出申请,对其加锁。加锁后的事物T就对该数据对象有了一定的控制,在事物T释放它的锁之前,其他的事物不能更新此数据对象。
(2)作用:解决了事物并发过程中可能出现的丢失修改、不可重复读、读“脏”数据。
1、在教务系统中三个实体集。一是“教研室”实体集,属性有教研室编号、名称、研究方向等;二是“课程”实体集,属性有课程号、名称学分等;三是“教师”实体集,属性有教师编号、姓名、电话等。
教研室与教师之间存在“聘用”联系,每个教研室可聘用若干教师,但每个教师只能应聘于一个教研室,教研室聘用教师有聘期、职称;教研室与课程之间存在“拥有”联系,每个教研室负责多门课程的建设,但每门课程只能属于一个教研室;教师与课程之间存在着“讲授”联系,教师讲授课程有讲授学时和开设学期,每个教师可讲授多门课程,每门课程可被多个教师讲授。 1)试画出ER 图,并在图上注明属性、联系类型、实体标识符;
1 n
1
n
N
m
2)将ER 图转换成关系模型,并说明主键和外键。 教研室(编号,名称,方向)。 主键:编号
教师(编号,姓名,电话,教研室编号)。 主键:编号,外键:教研室编号
课程(课程号,名称,学分,教研室编号)。 主键:课程号,外键:教研室编号
授课(教师编号,课程号)。主键:教师编号和课程号
教研室
课程
教师
聘用
拥
有
教授
编号 编号
编号
编号
编号
编号
编号
编号
编号
2、学生管理数据库中有班级和部学生两个关系,其关系模式分别为:
学生(学号,姓名,性别,出生年月,所属班级,薪水)
班级(编号,所属专业,班级住址)
1)两个关系的主码与外码是什么?
学生表:
主码:学号
外码:所属班级
班级:
主码:编码
2)写出完成以下查询的关系代数表达式
A.查询学生的编号、姓名和所属班级;
Π学号,姓名,所属班级(学生)
B.查询男学生的编号和姓名;
Π学号,姓名(σ性别=’男’(学生))
C.查询所属专业为‘信控’的学生信息,显示其学号和姓名。
Π学号,姓名(σ所属专业 = ‘信控’(班级)∞学生)
3、关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade)
Sloc为学生住处,假设每个系的学生住在同一个地方。
1)试写出关系模式R的基本函数依赖和关键码。
(Sno,Cno) Grade
Sno→Sdept,(Sno,Cno) Sdept
Sno→Sloc,(Sno,Cno) Sloc
Sdept→Sloc
2)说明R不是2NF模式的理由,并把R分解成2NF模式集。
非主属性Grade完全依赖于码(Sno,Cno),而非主属性Sdept、Sloc只是部分依赖于码(Sno,Cno)。因此,S-L-C(Sno,Sdept,Sloc,Cno,Grade)不符合2NF的定义,即:S-L-C 2NF。
S(Sno,Sdept,Sloc)
C(Sno,Cno,Grade)
3)进而把R分解成3NF模式集,并说明理由。
S(Sno,Sdept)
L(Sdept,Sloc)
C(Sno,Cno,Grade)
4、体育竞赛数据库中包含有运动员、项目和比赛选项三个表,其关系模式定义分别为:
运动员(运动员号,姓名,性别,出生年月,系部,专项)
项目(项目号, 项目名称,项目类型)
比赛选项(动员号, 项目号,名次)
现在创建存储过程处理运动员信息,在存储过程中要使用游标机制来逐条处理运动员信息。
use test --数据库名
go
create proc procAth as--procAth为存储过程名称
begin
declare@code char(10)--运动员号
declare@name char(10)--运动员姓名
declare@sex char(10)--运动员性别
declare cstn cursor--cstn为游标名称
for select code,name,sex from athlete--athlete运动员信息表
for read only
begin
open cstn--打开游标
fetch next from cstn into@code,@name,@sex
while@@FETCH_STATUS= 0
begin
fetch next from cstn into@code,@name,@sex
end
close cstn--关闭游标
end
end