数据库的基本概念

  • 格式:doc
  • 大小:43.26 KB
  • 文档页数:4

下载文档原格式

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

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