资源描述
^`
复习题
第1章绪论
一、单项选择题
1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和( )
A.系统分析员 B.程序员 C.数据库管理员 D.操作员
2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。
A.DBS包括DB和DBMS B.DBMS包括DB和DBS
C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS
3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段
A.I 和 II B.只有 II C.II 和 III D.只有 I
4.下列四项中,不属于数据库系统特点的是( ) 。
A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高
5.数据库系统的数据独立性体现在( ) 。
A.不会因为数据的变化而影响到应用程序
B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
6. .描述数据库全体数据的全局逻辑结构和特性的是( ) 。
A.模式 B.内模式 C.外模式
7.要保证数据库的数据独立性,需要修改的是( ) 。
A.模式与外模式 B.模式与内模式
C.三级模式之间的两层映射 D.三层模式
8.要保证数据库的逻辑数据独立性,需要修改的是( ) 。
A.模式与外模式之间的映射 B.模式与内模式之间的映射
C.模式 D.三级模式
9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是( )模式。
A.模式 B.物理模式 C.子模式 D.内模式
10.下述( )不是DBA数据库管理员的职责 。
A.完整性约束说明 B.定义数据库模式
C.数据库安全 D.数据库管理系统设计
11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( ) 。
A.层次模型 B.关系模型 C.网状模型 D.实体-关系模型
12.区分不同实体的依据是( ) 。
A.名称 B.属性 C.对象 D.概念
13.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是( )。
A.实体完整性、参照完整性、用户自定义完整性
B.数据结构、关系操作、完整性约束
C.数据增加、数据修改、数据查询
D.外模式、模式、内模式
14.在( )中一个结点可以有多个双亲,结点之间可以有多种联系。
A.网状模型 B.关系模型 C.层次模型 D.以上都有
15.( )的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据
A.网状模型 B.关系模型 C.层次模型 D.以上都有
16. 单个用户使用的数据视图的描述称为 ( )
A. 外模式 B. 概念模式 C. 内模式 D. 存储模式
17.数据库的三级模式之间存在着两级映象,使数据库系统具有较高的数据( )
A .相容性 B .独立性C .共享性 D .一致性
二、填空题
1.在数据库的概念设计中,客观存在并且可以相互区别的事物称为_______。
2.关系数据模型中,实体用_______来表示,实体间的联系用_______来表示。
3._______是位于用户与操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。
4.最常用的数据模型有_______、_______和_______。20世纪80年代以来,_______逐渐占主导地位。
5.数据模型的三要素包括_______、_______和_______
6.关系的主键是_______,外键是_______。
7.关系模型和层次、网状模型的最大区别是用________而不是指针导航数据,表格简单,用户易懂,编程时不涉及数据的物理结构。
8.数据库的参照完整性要求有关联的两个或两个以上数据表之间的数据________。数据库参照完整性可通过创建________和________约束来实现。
9.在信息世界中能唯一标识实体的属性集,称为________。
10.数据库系统中三级模式结构定义存放在________中。
第1章 绪论参考答案
一、单项选择题
CADCB AAACD DABAB ABB
二、填空题
1.实体
2.关系
3.数据库管理系统
4. 网状模型、关系模型、层次模型、关系模型。
5. 数据结构、关系操作、完整性约束
6.唯一确定关系元组的属性或属性组。两个关系有中相关的属性,不是本关系的主键,是另一个关系的主键。
7.关系
8.相互关联,外键,表间联系
9.关键字或码
10.数据字典
第2章 数据模型
一、单项选择题
1.数据库在磁盘上的基本组织形式是( )
A.DB B.文件 C.二维表 D.系统目录
2.ER模型是数据库的设计工具之一,它一般适用于建立数据库的()
A.概念模型B.逻辑模型 C.内部模型D.外部模型
3.数据库三级模式中,用户与数据库系统的接口是( )
A.模式B.外模式 C.内模式D.逻辑模式
4.在关系数据库设计中,设计关系模式是_______的任务。
A.详细设计 B.逻辑设计 C.概念设计 D.物理设计
5.实体完整性规则是指关系中( )
A .不允许有空行 B .主键不允许有空值
C .不允许有空列 D .外键不允许有空值
6.在数据库设计中使用 E-R 图工具的阶段是( )
A .需求分析阶段 B. 数据库物理设计阶段
C .数据库实施 D. 概念结构设计阶段
7.在下列四种模型中,与计算机的硬件及软件均无关的是( )
A.外部模型 B.逻辑模型 C.概念模型 D.内部模型
8.设计数据库时,应该首先设计数据库的( )
A.应用系统结构 B.概念结构 C.逻辑结构 D.物理结构
9. 数据库的概念模型通常利用什么模型实现________。
A. ER模型 B. 概念模型
C. 逻辑模型 D. 物理模型
10. 数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为________。
A. 存储视图 B. 概念视图
C. 内部视图 D. 外部视图
二、填空题
1. ______是数据库中全部数据的逻辑结构和特征的描述。
2.E—R 模型的组成要素包括:实体、属性、 ______。
3. 假定一个E-R图包含有A实体和B实体,并且从A到B存在着m∶n的联系,则转换成关系模型后,共包含有____个关系模式。
4. 下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字:职工(职工号,职工名,部门号,职务,工资),设备(设备号,职工号,设备名,数量),两个关系的属性中,存在一个外关键字为________。
三、综合题
1.某商业集团的商品进销存系统中,涉及的部分信息如下:
(1)商品:商品号、商品名、规格、计量单位。(2)供应商:供应商号、供应商名、地址。(3)商店:商店号、商店名、地址。(4)客户:客户号、客户名、地址。其中,每个供应商可供应多种商品,每种商品也可向多个供应商订购,订购时要记录订购单价和订购数量;每个商店可向多个客户销售多种商品,每个客户可以从多个商店购买多种商品,每种商品也可在多个商店销售给多个客户,商品销售时要记录销售单价、销售数量和销售日期。
(1)建立一个反映上述局部应用的ER模型,要求标注联系类型(可省略实体属性)。
(2)根据转换规则,将ER模型转换为关系模型,并指出主键和外键。
2.供应商(SUPPLIER)可以为多个工程项目(PROJECT)提供多种零件(PART);每种零件可以由多个供应商提供,被多个工程项目所使用;工程项目可以使用多个供应商提供的多种零件。
工程项目有编号(J#)、项目名(Jname)、项目日期(Date);
零件有编号(P#)、零件名(Pname)、颜色(Color)、重量(Weight);
供应商有编号(S#),名称(Sname)、供应地(Address);
此外要求工程项目使用某种零件数量(Total)和供应商提供某种零件数量(Amount)。
(1)请按上述数据信息设计E―R模型。
(2) 将上述E―R模型转换为关系模型,分别指出主键和外键。
第2章数据模型-答案
一、单项选择题 BABBB DCBAD
二、填空题
1.模式,2.联系,3.3,4. 职工号
三、综合题
1.
商品(商品号,商品名,规格,计量单位)
供应商(供应商号,供应商名,地址)
商店(商店号,商店名,地址)
客户(客户号,客户名,地址)
供应(商品号,供应商号)
订购(商店号,商品号,单价,数量)
销售(商店号,客户号,单价,数量,日期)
2.(1) E―R模型:
PROJECT
J#
Jname
Data
P–P
PART
P#
Pname
Color
Weight
P–S
SUPPLIER
S#
Sname
Addresss
J#
P#
Total
P#
S#
Amount
M
N
M
N
SPJ
S#
P#
J#
M
P
M
QTY
(2) 关系模型:
PART(P#, Pname, Color, Weight)
PROJECT(J#, Jname, Date)
SUPPLIER(S#, Sname, Address)
P–P(J#, P#, Total) J#是外键 P#是外键
P–S(P#, S#, Amount) P#是外键 S#是外键
SPJ(S#, P#, J#) S#是外键 P#是外键 J#是外键
第3章关系数据库测试题
一、单项选择题
1.下面的选项不是关系数据库基本特征的是( )。
A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名
C. 与行的次序无关 D. 与列的次序无关
2.一个关系只有一个( ) 。
A. 候选码 B.外码 C.超码 D.主码
3.关系模型中,一个码是( )。
A. 可以由多个任意属性组成 B. 至多由一个属性组成
C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组 D. 以上都不是
4.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( )。
A.患者编号 B.患者姓名 C.患者编号和患者姓名 D.医生编号和患者编号
5.关系代数运算是以( )为基础的运算 。
A.关系运算 B.谓词演算 C.集合运算 D.代数运算
6.关系数据库管理系统应能实现的专门关系运算包括( )。
A.排序、索引、统计 B.选择、投影、连接
C.关联、更新、排序 D.显示、打印、制表
7.五种基本关系代数运算是( )。
A. ∪ - σ π B.∪ - σ π C. ∪ ∩ σ π D.∪ ∩ σ π
8.关系数据库中的投影操作是指从关系中( ) 。
A. 抽出特定记录 B.抽出特定字段 C.建立相应的影像 D.建立相应的图形
9.从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是( )操作 。
A.投影 B.连接 C.选择 D.复制
10.关系代数中的连接操作是由( )操作组合而成 。
A.选择和投影 B.选择和笛卡尔积 C.投影、选择、笛卡尔积 D.投影和笛卡尔积
11.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的( ) 。
A.记录 B.行 C.属性 D.元组
12.假设有关系R和S,关系代数表达式R-(R-S)表示的是( )。
A.R∩S B.R∪S C.R-S D.RS
13. 关系运算中花费时间可能最长的运算是( )。
A. 投影 B. 选择 C. 笛卡儿积 D. 除
14. 以下关系运算中花费时间可能最短的运算是_______。
A.投影 B.连接 C.除 D.笛卡尔积
15. 一般需要创建索引的属性有 。
A: 字符属性 B: 数字属性 C: 常用查询项 D: 频繁更新项
二、填空题
1.若关系A有m个属性,关系B有n个属性,则AB有_______个属性。
2. 设关系R和关系S的元数分别是5和4,关系T是R与S的广义笛卡尔积,即:T=RS,则关系T的元数是_______。
第3章关系数据库测试题-答案
一、单项选择题
1.ADCAA BABCC CACAC
二、填空题 1.M+n 2.20
第4章SQL语言测试题
一、单项选择题
1.SQL语言是( )的语言,容易学习 。
A. 过程化 B.非过程化 C.格式化 D.导航式
2. 在SQL语言的SELECT语句中,实现更新表结构操作的是哪个子句?________
A. select B. update C. alter D. modify
3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )。
A.数据查询 B.数据操纵 C.数据定义 D.数据控制
4. SQL语言中,删除一个视图的命令是( )。
A.DELETE B.DROP C.CLEAR D.REMOVE
5.在SQL语言中的视图VIEW是数据库的( ) 。
A.外模式 B.模式 C.内模式 D.存储模式
6.下列的SQL语句中,( )不是数据定义语句。
A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT
7.若要撤销数据库中已经存在的表S,可用( )。
A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S
8.若要在基本表S中增加一列CN(课程名),可用( )。
A. ADD TABLE S(CN CHAR(8))
B. ADD TABLE S ALTER(CN CHAR(8))
C. ALTER TABLE S ADD(CN CHAR(8))
D. ALTER TABLE S (ADD CN CHAR(8))
9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。
A.DELETE Age from S B.ALTER TABLE S DROP Age
C.UPDATE S Age D.ALTER TABLE S ‘Age’
10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。
A.S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’
B.S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in ‘ACCESS’
C.SAGE in>=20 and CNAME in ‘ACCESS’
D.SAGE>=20 and CNAME=’ ACCESS’
11.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用( )。
A. ADD INTO S VALUES(’张二’,’化学’,’80’)
B. INSERT INTO S VALUES(’张二’,’化学’,’80’)
C. ADD INTO S VALUES(’张二’,’化学’,80)
D. INSERT INTO S VALUES(’张二’,’化学’,80)
12.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用( ) 。
A. UPDATE S SET grade=85 WHERE SN=’王二’ AND CN=’化学’
B. UPDATE S SET grade=’85’ WHERE SN=’王二’ AND CN=’化学’
C.UPDATE grade=85 WHERE SN=’王二’ AND CN=’化学’
D.UPDATE grade=’85’ WHERE SN=’王二’ AND CN=’化学’
13.在SQL语言中,子查询是( ) 。
A.返回单表中数据子集的查询语言
B.选取多表中字段子集的查询语句
C.选取单表中字段子集的查询语句
D.嵌入到另一个查询语句之中的查询语句
14.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别, C#是课程号,CNAME是课程名称。要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。
A. S.S# = SC.S# and C.C# = SC.C# and SEX=’男’ and CNAME=’数据库’
B. S.S# = SC.S# and C.C# = SC.C# and SEX in’男’and CNAME in’数据库’
C. SEX ’男’ and CNAME ’ 数据库’
D. S.SEX=’男’ and CNAME=’ 数据库’
15.若用如下的SQL语句创建了一个表SC: CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,( )行可以被插入 。
A. (’201009’,’111’,60,必修)
B. (’200823’,’101’,NULL,NULL)
C. (NULL,’103’,80,’选修’)
D. (’201132’,NULL,86,’ ’)
16.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。要查询选修“Computer”课的男生姓名,将涉及到关系( )。
A.S B.S,SC C.C,SC D.S,C,SC
17.已知SN是一个字符型字段,下列SQL查询语句
SELECT SN FROM S WHERE SN LIKE′AB%′;的执行结果为( )
A.找出含有3个字符′AB%′的所有SN字段
B.找出仅含3个字符且前两个字符为′AB′的SN字段
C.找出以字符′AB′开头的所有SN字段
D.找出含有字符′AB′的所有SN字段
18.现要查找缺少成绩(Grade)的学生学号(Snum),相应的SQL语句是( )
A.SELECT Snum B.SELECT Snum
FROM SC FROM SC
WHERE Grade=0 WHERE Grade<=0
C.SELECT Snum D.SELECT Snum
FROM SC FROM SC
WHERE Grade=NULL WHERE Grade IS NULL
19.SQL语言的标准库函数COUNT、SUM、AVG、MAX和MIN等,不允许出现在下列哪个子句中( )
A.SELECT B.HAVING
C.GROUP…HAVING D.WHERE
20. 在SQL语言的SELECT语句中,实现更新表结构操作的是哪个子句?________
A. select B. update
C. alter D. modify
21.将查询关系S的权限授予用户WANG,并允许该用户将此权限授予其他用户。实现此功能的SQL语句是( )
A.GRANT SELECT TO S ON WANG WITH PUBLIC
B.GRANT SELECT ON S TO WANG WITH PUBLIC
C.GRANT SELECT TO S ON WANG WITH GRANT OPTION
D.GRANT SELECT ON S TO WANG WITH GRANT OPTION
二、填空题
1.在SELECT语句中用_____________关键字消除重复行。
2.用户TestUser具有在pubs数据库上创建表的语句是__________。
3.在authors表中创建一个包括州名列和城市名列的复合非簇索引语句是____________。
4.CREATE TABLE语句可以_________。
5.使用_________语句提取表中的数据。
6.使用_________集合函数能对数值类型的列进行求和。
7.可以用___________命令来修改存储过程。
8.可以通过________语句来指定变量名称和数据类型。
9.SELECT语句的____________子句可以确定从何处提取数据。
10.SELECT语句的___________子句可以改变输出结果行的排序。
11._________集合函数能确定一个表中包含多少行。
12. CREATE DATABASE语句可以____________。
13.SQL语言中,向数据库表中插入数据的命令是_______。
三、设计题
1.设教学数据库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX,DEPT),其属性分别表示学号、姓名、年龄、性别、所在系。
课程关系C(C#,CNAME,TEACHER),其属性分别表示课程号、课程名、任课教师名。
选课关系SC(S#,C#,GRADE},其中GRADE表示成绩。
(1)请用关系代数表达式表达查询:检索选修课程号为“C2”的学生的学号和姓名。
(2)试用SQL语句写出下列查询:查询成绩在70-80分之间的学生的姓名和年龄.
(3)试用SQL语句完成操作:查询与张明同一个系的学生信息。
(4)试用SQL语句完成操作:删除学号为“95002”的学生选修的课程号为“C2”的记录。
(5)试用SQL语句完成操作:建立数学系学生的视图C_STUDENT,并要求进行修改和插入数据时,仍需保证该视图只有数学系的学生。视图的属性名为:S#,SNAME,AGE,DEPT。
(6)试用SQL语句写出下列查询:查询课程号为1024的课程的最高分数.
(7)试用SQL语句查询每个学生已选修课程的门数及平均成绩。
(8)试用SQL语句写出下列查询:查询成绩在80分以上的学生姓名,课程号和成绩,并按成绩的降序排列结果.
2. 已知"学生-项目"数据库中的三个关系:
学生(学号,姓名,系别号)
项目(项目号,项目名称,报酬)
参加(学号,项目号,工时)
其中,报酬是指参加该项目每个工时所得报酬。
依据此关系回答下面各题。
(1).试用关系代数表达式写出下列查询:列出“王明”同学所参加项目的名称。
(2).试用SQL语句写出下列查询: 列出报酬最高的项目编号。
(3).试用SQL语句写出下列查询: 列出每个系所有学生参加项目所获得的总报酬。
(4).试用SQL语句查询报酬大于800元(包括800元)的项目名称。
(5).试用SQL命令创建一个学生_项目视图,该视图包含的属性名称为:学号,姓名和项目名称。
第4章SQL语言测试题-答案
一、单项选择题
BBCBA DCCBA DADAB DCDDC D
二、填空题
1.DISTINCT
2.GRANT CREATE TABLE TO TESTUSE
3.CREATE INDEX AA ON AUTHORS 州名,城市名
4.创建表
5.SELECT
6.SUM
7.ALTER PROC
8.DECLARE
9.FROM
10.ORDER BY
11.COUNT
12.创建数据库
13.insert into
三、设计题
1.
(2)SELECT SNAME,SAGE FROM S WHERE SNO IN (SELECT SNO FROM SC WHERE GRADE BETWEEN 70 AND 80)
(3)SELECT * FROM S WHERE DEPT =
(SELECT DEPT FROM S WHERE SNAME=’张明’)
(4)DELETE FROM C WHERE C# IN
(SELECT C# FROM SC WHERE S#=’95002’)
(5)CREATE VIEW C_STUDENT AS
SELECT S#,SNAME,AGE,DEPT FROM S WHERE DEPT=’数学系’
(6)SELECT MAX(GRADE) FROM SC WHERE CNO=‘1024’
(7)SELECT COUNT(C#),AVG(GRADE) FROM SC GROUP BY S#
(8)select sname,cno,grade from student join sc on student.sno=sc.sno and grade>=80 order by grade desc。
2.
(1).π项目名称(σ姓名=’王明’(学生⊕参加⊕项目))
(2).SELECT项目号 FROM项目 WHERE报酬=(SELECT MAX(报酬) FROM项目)
(3).SELECT SUM(报酬) FROM 学生,项目,参加
WHERE 学生.学号=参加.学号 AND 项目.项目号=参加.项目号
GROUP BY 系别号
(4).SELECT 项目名称 FROM 项目 WHERE 报酬>=800
(5).CREATE VIEW 学生_项目 AS
SELECT学号,姓名,项目名称 FROM 学生,项目,参加
WHERE 学生.学号=参加.学号 AND 项目.项目号=参加.项目号
第5章 存储过程、触发器和数据完整性
一、 单项选择题
1。事务有多个性质,其中不包括( )
A .一致性 B. 唯一性 C .原子性 D. 隔离性
2.系统故障会造成( )
A . 内存数据丢失 B. 硬盘数据丢失
C . 软盘数据丢失 D. 磁带数据丢失
3.在数据库系统中死锁属于( )
A .系统故障 B. 程序故障
C .事务故障 D. 介质故障
4.事务日志是用于保存( )
A. 程序运行过程 B. 数据操作
C. 程序的执行结果 D. 对数据的更新操作
5.如果事务 T 获得了数据项 X 上的排它锁 , 则 T( )
A .可以读 X ,不能写 X B .可以读 X ,也可以写 X
C .不能读 X ,可以写 X D .不能读 X ,也不能写 X
6. DBMS 提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的 ( )
A .一致性 B .完整性 C .安全性 D .可靠性
7. 多个事务执行的次序称为( )
A .过程 B .流程 C .调度 D .步骤
8. 下列不是数据库恢复采用的方法是( )
A.建立检查点 B.建立副本 C.建立日志文件 D.建立索引
二、填空题
1.事务的持久性是指____________。
2.解决并发操作带来的数据不一致性问题,一般采用____________方法。
3. 事务一致性是指事务____________不变。
4. 事务故障恢复是指事务未运行至正常终止点前被撤消,此时应该对该事务做 ______ 处理。
5.在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,这是指事务的____________性。
6.常见的数据库故障分为:事务故障、系统故障、____________。
7.触发器是一个能由系统自动执行对________修改的语句。
8.T-SQL语言中,局部变量由用户定义和维护,名称以________开头。
9数据库的并发操作会带来三个问题________、________、________。
三、 设计题
1.已知电力抢修工程数据库表:抢修工程计划表:salvaging(prj_num, prj_name, start_date, end_date, Prj_status),其中prj_num为主码 , 各属性含义如下:工程项目编号(prj_num), 工程项目名称(prj_name), 开始日期(start_date),结束日期(end_date),是否按期完成(Prj_status);配电物资库存记录表:stock(mat_num, mat_name, speci, warehouse, amount, unit, total), 其中mat_num为主码。 各属性含义如下: 物资编号(mat_num), 物资名称(mat_name), 规格(speci),仓库名称(warehouse),数量(amount),单价(unit), 总金额(mat_name);配电物资领料出库表:out_stock(prj_num, mat_num, amount, get_date, department), 主码为(prj_num, mat_num), 各属性含义如下: 工程项目编号(prj_num), 物资编号(mat_num),领取数量(amount), 领料日期(get_date), 领料部门(department)。
(1)写出建立配电物资库存记录表:stock的SQL语句。
(2)将新的配电物资(m020,架空绝缘导线,10KV-100,供电局1#仓库,50,12.8);插入配电物资库存记录表stock中。写出相应的SQL语句。
(3) 创建一个存储过程PR1,将某个抢修工程领取物资的数量置0。
(4)创建一个delete触发器de1,当用户从Salvaging表中删除数据时,同时将out_stock表中相关物资的出库情况一并删除。
(5)创建一个INSERT触发器TR2,在对表stock进行插入后,验证库存量的大小,库存量小于1,则撤销该插入操作。
第5章 存储过程、触发器和数据完整性参考答案
一、 单项选择题
BBCDD CCD
二、填空题
1.指一旦事务成功完成,该事务对数据库所施加的所有更新都是永久的。
2.封锁
3.执行前后数据库中的数据保持
4.REDO
5.可串行化
6.介质故障
7.数据库
8.单个@
9. 丢失更新,读“脏”数据,不可重复读。
三、设计题
(1)CREATE TABLE stock( mat_num char(8) PRIMARY KEY, mat_name varchar(50) NOT NULL, speci varchar(20) NOT NULL, warehouse varchar(50) , amount int , unit decimal(18, 2) );
(2)INSERT INTO stock(mat_num,mat_name,speci,warehouse, unit,amount)
VALUES (m020,架空绝缘导线,10KV-100,供电局1#仓库,50,12.8);
(3)Create Procedure PR1
@pn char(8)
As
Update out_stock set amount=0
Where prj_num=@pn
(4)Create trigger del
On Salvaging
For delete
As
Begin transtraction
Declare @mat_num char(8)
Select @mat_num=mat_num
From deleted
Delete
From out_stock
Where mat_num=@mat_num
Commit_tran
(5)CREATE TRIGGER tr2_stock
ON stock
FOR INSERT
AS
DECLARE @amount int
SELECT @amount=amount
FROM INSERTED
IF @amount<1
BEGIN
ROLLBACK TRAN
RAISERROR(amount must be greater than 1,16,10)
END
第6章关系数据库设计理论
一、单项选择题
1.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每 一个属性都是( )。
A.长度不变的 B.不可分解的 C.互相关联的 D.互不相关的
2.已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A→D,B→C ,E→A },该关系模式 的候选码是( )。
A.AB B.BE C.CD D.DE
3.关系模式中,满足2NF的模式
展开阅读全文
相关搜索