关系数据库习题
① 数据库 关系数据库题目
数据管理经历了 (人工管理 ), (文件系统 ) , (数据库系统 ) 三个阶段。
2.数据库保护问题包括: ( 安全性) 、(完整性)、(故障恢复)和(并发控制)等多方面。
3.SQL是 (关系数据库语言)(或结构化查询语言) 。
4.关系规范化理论是设计 逻辑结构 的指南和工具。
5.SQL语言是一种 ( 通用的 ) , ( 功能极强的关系数据库 )语言。我觉得这个填空要求不明确啊
6.关系代数中专门的关系运算包括:(选择)、(投影)、(连接)和 ( 除运算 ) 。
7.关系模式的定义主要包括( 关系名),(关系的属性名),(属性的域),(属性向域的映象),(属性间的依赖关系) 。这个我们课本上么有的,看楼上的挺有道理的,应该没错吧。
8.关系数据库中基于数学上的两类运算是 ( 关系代数 ) ( 关系演算 ) 。
9.数据库的逻辑模型设计阶段,任务是将( E-R图(或概念模型)) 转换成关系模型。
10.数据库保护包括数据的 (泄露 ) (更改) (破坏) 。差一个空,不知道咯。
11.数据的完整性是 ( 实体完整性 ) ( 参照完整性 ) ( 用户定义完整性 ) 。
12.SQL语言提供(数据库定义) ( 数据操纵 ) (数据控制)等功能。
13.关系中主码的取值必须唯一且非空,这条规则是 ( 实体 ) 完整性规则。
14.视图是一个虚表,它是从 (基本表 )中导出的表。在数据库中只存放那个使用的( 命令 ) ,不存放视图的( 数据 )。
15.SQL语言中,修改表结构的语句是 (ALTER TABLE ) 。
16.在关系数据模型中,两个关系R1与R2之间存在1:M的联系,可以通过在一个关系R2中的
在相关联的另一个关系R1中检索相对应的记录。
17.关系模式是关系的 ( 型 ) ,相当于 ( 关系的描述 ) 。
18.当数据库破坏后,如果事先保存了 (日志文件) 和数据库的副本,就有可能恢复数据库。
19.关系数据库中,二维表称为一个 ( 关系) ,表的一行称为(元组) ,表的一列称为 (属
性) 。
20.关系代数运算中,基本的运算有 ( 选择 ),(投影 ) , (并 ),( 差) ,( 笛卡尔积 ) 。
21.关系数据库数据操作的处理单位是 (字段) ,层次和网状数据库数据操作的处理单位是记 录。
22.安全性控制的一般方法 ( 用户标识与鉴别)(存取控制)(强制存取控制)(视图机制)(审计)(数据加密 )。这个课本上么有,在网上搜的,答案应该正确滴。
23.数据恢复是利用 (冗余) 数据重建已破坏的数据。
24设有关系SC(sno,cname,grade),各属性的含义分别为学号、课程名、成绩。若要将所有学生的“数据库系统”课程的成绩增加5分,能正确完成该操作的SQL语句是
(update SC
set grade=grade+5
where cname“数据库系统” )
好好看哟
② 数据库关系运算题
2=1表示等值连接 就是指R和S里面属性相等的列 就是B和C列,而B和C又有R里面的B和C和S里面的B和C,所以答案就是用R.B,R.C和S.B,S.C表示出来
③ 有关关系数据库理论的简答题
(1)求属性集的闭包,其实就是求各属性的闭包,然后整合去重复。
闭包就是由一个属性直接或间接推导出的所有属性的集合
A可以直接导出C A+={A,C}
D可以直接导出A C D+={A,C,D}
所以(AD)+={A,C,D}
B可以直接导出A,C B+={A,B,C}
(2)关键码的求解理论和算法对于给定的关系R(A1A2…An)和函数依赖集F ,可将其属性分为4类:L类:仅出现在F函数依赖左部的属性
R类:仅出现在F函数依赖右部的属性
N类:在F函数依赖的左右两部均未出现的属性
LR类:函数依赖的左右两部均出现的属性定理:
对于给定的关系模式R及其函数依赖集F,若X是R的L类属性,则X必为R的 任一关键码的成员。
所以可以看出BD是R的唯一关键码
(3)求最小函数依赖集
1.根据分解性先分解所有依赖的右边为单属性
F={A->C,C->A,B->A,B->C,D->A,D->C}
2.对所有依赖的左边为多属性的情况,消除左侧冗余属性
3.去除多余的函数依赖{A->C,C->A,B->A,D->A}
不知道对不对,对的话就继续。。
④ 关系数据库概论题目(急啊在线等)
[标准答案]
1、
grant
select
on
职工
when
user()=
name
to
all;
这里假定系统的
grant语句支持when子句和user()的使用。用户将自己的名字作为id。
reovke
select
on
职工
when
user()=
name
from
all;
这里假定用户将自己的名字作为id,且系统的reovke语句支持when子句,系统也支持user()的使用。
2、
create
view
部门工资统计(最高工资,最低工资,平均工资)
as
select
max(工资),min(工资),avg(工资)
from
职工
group
by
部门号;
grant
select
on
部门工资统计
to
扬兰;
revoke
select
on
部门工资统计
from
扬兰;
⑤ 数据库SQ习题
最佳答案:
习题
一、选择题
1.关于查询语句中ORDER BY子句使用正确的是( D )。
A.如果未指定排序字段,则默认按递增排序
B.表的字段都可用于排序
C.如果在SELECT子句中使用了DISTINCT关键字,则排序字段必须出现在查询结果中
D.联合查询不允许使用ORDER BY子句
第2~4题使用7.7节“示例分析”中数据表。
2.使用查询语句:
SELECT STUDENT.学号,STUDENT.姓名,SUM(分数)
FROM STUDENT,GRADE
WHERE STUDENT.学号=GRADE.学号
GROUP BY STUDENT.学号,STUDENT.姓名
查询结果是(A )。
A.按学号分类的每个学生所有课程成绩的总分 B.按学号分类的每个学生各课程成绩
C.全体学生的按各课程分类的成绩总分 D.所有学生所有课程成绩总分
3.使用查询语句:
SELECT MAX(分数) AS 最高分
FROM STUDENT,curriculum,GRADE
WHERE STUDENT.学号=GRADE.学号
AND curriculum.课程编号=GRADE.课程编号
AND 课程名称='数据库技术及应用'
查询的结果是( )。
A.87 B.91 C.82 D.90
很遗憾!不知道表中的记录数据,无法判断是哪个选项,但是题意是检索出:选修课程'数据库技术及应用'的学生中成绩最高的。看一下表就知道了。
4.查询选修了课程编号为“0002”的学生的学号和姓名,以下( A )语句是错误的。
A.
SELECT 学号,姓名FROM STUDENT
WHERE 学号=(SELECT 学号FROM GRADE WHERE 课程编号='0002')
B.
SELECT STUDENT.学号,STUDENT.姓名
FROM STUDENT,GRADE
WHERE STUDENT.学号=GRADE.学号AND 课程编号='0002'
C.
SELECT STUDENT.学号,STUDENT.姓名
FROM STUDENT JOIN GRADE ON STUDENT.学号=GRADE.学号
WHERE GRADE.课程编号='0002'
D.
SELECT 学号,姓名FROM STUDENT
WHERE 学号IN (SELECT 学号FROM GRADE WHERE 课程编号='0002')
5.下列关于查询结果错误的是( D )。
A.查询结果可以显示在表格中
B.查询结果可以按文本方式显示
C.以文本和表格显示的查询结果在保存时,其文件格式不同
D.不管以哪种方式查看,查询结果都会显示在查询结果窗口中
6.在T-SQL语句中,与表达式“仓库号NOT IN ('wh1','wh2')”功能相同的表达式是( D )。
A.仓库号='wh1' AND 仓库号='wh2' B.仓库号!='wh1' OR 仓库号# 'wh2'
C.仓库号<>'wh1' OR 仓库号!='wh2' D.仓库号!='wh1' AND 仓库号!='wh2'
7.在T-SQL 的SELECT语句中用于实现关系的选择运算的短语是( C )。
A.FOR B.WHILE C.WHERE D.CONDITION
8.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( B )。
A.使用WHERE子句 B.在GROUP BY后面使用HAVING子句
C.先使用WHERE子句,再使用HAVING子句 D.先使用HAVING子句,再使用WHERE子句
二、填空题
1.在查询语句中,应在__SELECT____子句中指定输出字段。
2.如果要使用SELECT语句返回指定条数的记录,则应使用_TOP__关键字来限定输出字段。
3.当一个子SELECT的结果作为查询的条件,即在一个SELECT命令的WHERE子句中出现另一个SELECT命令,这种查询称为__嵌套____查询。
4.连接查询可分为3种类型:_内连接___、__外连接__和交叉连接。
5.若要把查询结果存放到一个新建的表中,可使用__into tabale 或into dbf____子句。
三、判断题
1.在关系数据库SQL Server中,用于检索数据的语句是T-SQL的定义语言。 (× )
2.逻辑运算符(AND、NOT、OR)的运算顺序是AND→OR→NOT。 ( × )
3.用于WHERE子句的查询条件表达式可用的比较运算符为:=(等于)、!=或<>(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)。 ( √ )
4.SELECT语句的DISTINCT参数表示输出无重复结果的记录。 ( √ )
5.如果要使SELECT的查询结果有序输出,需要用GROUP BY子句配合。 ( × )
⑥ 数据库原理题,设有一个关系数据库,有三个基本表,表的结构如下;高手帮答下!
1
2 create table student(
学号 char[10] primary key,
姓名 char[10],
年龄 int,
性别 char[2] defaut '男',
系名 char[10]
)
3 create table SC(
学号 char[10],
课程号 char[10],
成绩 int,
primary key (学号,课程号),
foreignkey(学号) references STUDENT(学号),
foreign key(课程号) references COURSE(课程号)
)
4 delete from SC where 成绩 is null
5 insert into STUDENT values('20130301009','王进', 18,'男','自动控制')
6
select distinctC.*
from STUDENT S, COURSE C, SC
where C.任课教师 ='李平' and S.系名='计算机' and S.学号=SC.学号 and C.课程号=SC.课程号
7
select S.学号,姓名,任课教师
from STUDENT S, COURSE C, SC
where C.课程名 ='计算机原理' and 成绩>60 and 成绩<85and S.学号=SC.学号 and C.课程号=SC.课程号
8
delete from SC where 学号 in (select 学号 from STUDENT where 姓名='王林')
9
create view view1
as
select *
from STUDENT
where 年龄<22 and 系名='通信' and 性别='女'