练习1:
一、单选题 (题数:20,共 20.0 分)
1、求至少选了201215122选了的课的学生学号,可以用(A)来表达
A、
B、
C、以上都不对
2(课程、教师、参考书)模式中,课程和教师之间、课程和参考书之间,存在有(A)
A、平凡多值依赖 B、非平凡多值依赖
3教材79页Student关系,主属性是?(A)
A、sno B、sname C、ssex D、sdept
4、1000个学生,10000个选课记录。2号课程选课记录50个。一块内存可以放10个学生或者100个选课记录。计算机的内存有限,只能同时放下5块学生、1块选课记录和若干连接结果。计算机每秒可读写20块。现在需查找选了2号课的学生姓名,问若先找出2号课程的选课记录,然后再自然连接,至少需要(D)秒?
A、10 B、105 C、205 D、100000
5、每一个表(关系)必须有主键,且主属性非空,说的是(A)
A、实体完整性 B、参照完整性 C、用户定义的完整性D、以上都不对
6、关系模式SLC(sno, sdept, sloc, cno, grade)的码是:C
A、sno B、cno C、(sno, cno) D、sdept
7、下面有关E-R模型向关系模型转换的叙述中,错误的是(C)。
A、一个实体类型转换为一个关系模式。
B、1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端对应的关系模式合并。
C、1:m联系可以转换为一个独立的关系模式,也可以与联系的任意一端对应的关系模式合并。D、m:n联系转换为一个的关系模式。
8、下列关于数据库运行和维护的叙述中,错误的是(A)。
A、只要数据库正式投入运行,就标志着数据库设计工作结束
B、数据库的维护工作就是维护数据库系统的正常运行。
C、数据库的维护工作就是发现问题、修改问题。
D、数据库正式投入运行就标志着数据库运行和维护工作的开始。
9、 ,其中 是域。那么 是B
A、码 B、元组 C、实体 D、目或度
10、关系模式SLC(sno, sdept, sloc, cno, grade)中,部分依赖指的是B
A、
B、
C、
D、
11、视图是数据库系统三级模式中的(A)。
A、外模式 B、模式C、内模式D、模式映像
12、关于视图对于数据库安全性的作用,说法正确的是C
A、视图就是虚表,与安全性无关
B、视图本质上是查询,查询的数据无关安全性 C、视图可以起到隐藏数据的作用,可提供一定程度的安全性保证。 D、创建是视图的命令是CREATE VIEW
13、行列子集视图,说法正确的是A
A、建视图的时候,去掉一些行,或者一些列,保留主码
B、不保留原表的主码C、只是去掉一些行D、只是去掉一些列
14、关系数据库的完整性有(C)类
A、1 B、2 C、3 D、4
15、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于(C)。
A、实体完整性B、参照完整性C、用户定义的完整性D、关系不变性
16、具有相同数据类型的值的集合,被称为:A
A、域B、关系C、元组D、笛卡儿积
17、以下范式规范化程度最高的是D
A、2NF B、3NF C、BCNF D、4NF
18、在数据库逻辑结构设计中,将E-R模型转换为关系模型应遵循相应原则。则对于3个不同实体集合它们之间的一个多对多联系,最少应转换为(C)个关系模式。
A、2 B、3 C、4 D、5
19、聚集函数中,求平均值的函数是:C
A、COUNT B、SUM C、AVG D、MIN
20、已知2个域,D1和D2,分别是学号集合、姓名集合。D1现有10000个学号,D2中有10000个姓名。请问,结合实际情况,D1和D2的笛卡儿积中,有意义的数据有()个二元组?B
A、1亿 B、10000 C、20000 D、30000
二、多选题 (题数:15,共 30.0 分)
1、CONSTRAINT子句的作用是给约束命名,可以起到(AC)的作用
A、删除约束B、修改约束C、增加约束D、没什么,就是起个名字而已
2、以你的认识,下面说法正确的是ACD
A、学生表的学号属性,适合建索引
B、学生表的年龄属性,适合建索引
C、户籍表的身份证号属性,适合建索引
D、学生成绩表的成绩,适合建索引
3、ER图中,实体与实体之间的联系有:ABC
A、1:1 B、1:n C、m:n
4、STJ模式(S, T, J)中,S表示学生,T表示教师,J表示课程。一个教师只带一门课,一门课可以有多个任课教师;学生选了一门课后,确定了任课教师;学生选了某个教师的课,就确定了上课课程。主属性是:ABC
A、S B、T C、J D、(S,T)
5、关于最小依赖集的说法正确的是ABC
A、最小依赖集中不存在冗余的依赖,冗余的依赖应予以去除
B、最小依赖集中,依赖的右边都是单一的属性
C、最小依赖集中,依赖的左边,应为最精简的状态,即不能存在部分依赖。
6、CREATE VIEW S_G
AS
SELECT sno, AVG(grade)
FROM sc
GROUP BY sno命令能够:AD
A、创建视图S_G B、S_G是非行列子集视图 C、S_G无法被更新D、视图中的列中,有的列中的数据是采用聚集函数算出来的结果。
7、关于查询命令SELECT sname FROM student WHERE sdept IN(SELECT sdept FROM student WHERE sname = ‘刘晨’),说法正确的是ACD
A、功能是查询和刘晨所在同一系的学生姓名 B、IN可以换成=
C、IN不一定可以换成= D、该查询可以用连接实现
8、表达条件“学生所在系是计算机系(Sdept = ‘CS’)、数学系(Sdept = ‘MA’)和信息系(Sdept = ‘IS’)”,应该用AC
A、Sdept IN (‘CS’, ‘MA’, ‘IS’) B、Sdept = ‘CS’ AND Sdept = ‘MA’ AND Sdept = ‘IS’
C、Sdept = ‘CS’ OR Sdept = ‘MA’ OR Sdept = ‘IS’ D、以上说法都不对
9、关于SQL语言的特点,说法正确的是ABD
A、语法格式统一,动词开头 B、面向集合的操作方式
C、和C,JAVA等语言一样,简单易学 D、非过程化
10、视图可以AB
A、一定程度上简化数据管理 B、一定程度上带来一定安全性
C、带来一定程度的数据独立性D、简化部分SQL命令的编写
11、以下命令是何意思?AB
SELECT sname
FROM student
WHERE NOT EXISTS
( SELECT *
FROM course
WHERE NOT EXISTS
(SELECT *
FROM sc WHERE sc.sno = student.sno AND sc.cno = course.cno))
A、查询选了全部课程的学生姓名B、查询学生姓名,条件是不存在有课程该学生没选
C、查询学生姓名,条件是不存在有课程该学生选了D、查询选了全部课程的学生学号
12、查询选了1号课的学生姓名,可以使用命令:ABC
A、SELECT sname FROM student, sc WHERE student.sno = sc.sno AND cno = ‘1’
B、SELECT sname FROM student WHERE sno IN(SELECT sno FROM sc WHERE cno = ‘1’)
C、SELECT sname FROM student WHERE EXISTS(SELECT * FROM sc WHERE sc.sno = student.sno AND cno = ‘1’)
D、SELECT sname FROM student WHERE EXISTS(SELECT * FROM sc WHERE cno = ‘1’)
13、以下命令是相关子查询的嵌套查询是:AB
A、SELECT * FROM student WHERE sno IN (SELECT sno FROM sc WHERE cno = ‘1’)
B、SELECT * FROM student WHERE EXISTS (SELECT * FROM sc WHERE cno = ‘1’ AND sc.sno = student.sno)
C、SELECT sno, cno FROM sc x WHERE grade>(SELECT AVG(grade) FROM sc y WHERE y.sno = x.sno) D、以上都是
14、根据实际情况,学生和班级的ER图,转为关系模型的时候,可以转成(ABC)个关系
A、1 B、2 C、3 D、0
15、关系数据语言可以分为三类:(BCD)。
A、关系逻辑语言B、关系代数语言C关系演算语言D、结构化查询语言
三、填空题 (题数:10,共 20.0 分)
1、数据独立性是数据库领域的重要概念,包括数据的逻辑独立性和物理独立性。
2、数据是数据库中存储的基本对象。
3、两个实体之间的联系可以分为三种:一对一联系、一对多联系和多对多联系。
4在关系模式R中,如果X Y,且对于X的任意真子集X’,都有X’ Y,则称Y对X完全函数依赖。
5、在关系模型中,关系操作包括查询、插入 、删除 和 修改等。
6、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中 职工是参照关系,部门号是外码。
7、按年龄降序,应使用命令(大写)ORDER BY Sage DESC
8、1970年,美国IBM公司的研究员 E.F.Codd 首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,他于 1981 年获得AMC图灵奖。
9、关系模型包括8种查询操作,其中 选择 、投影、并、差和笛卡尔积是5种基本操作,其他操作可以用基本操作定义和导出。
10、一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式 ,一个 模式下面通常包括多个表、视图和索引等数据库对象。
练习2:
一、单选题 (题数:20,共 20.0 分)
1、给定3个域,D1,D2,D3,分别代表导师集合(其中有2个导师),专业集合(2个专业),研究生集合(3个研究生)。则D1, D2, D3的笛卡儿积中,有(B)个3元组?
A、10 B、12 C、14 D、7
2、CREATE TABLE的列级完整性描述中,表达某个属性为主码,可以在属性名,类型之后写上(C)关键词
A、FOREIGN KEY B、INDEX C、PRIMARY KEY D、UNIQUE
4、SELECT sno, count(*) FROM sc GROUP BY sno的意思是:C
A、查询每个课程的选课人数B、查询每个学生的选课数目
C、查询选课表SC中每个学生的学号和选课数目D、以上都不对
5、IBM公司的IMS数据库管理系统采用的数据模型是(a)。
A、层次模型B、网状模型C、关系模型D、面向对象模型
6、下列说法正确的是(A)。
A、候选码都可以唯一的标识一个元组B、候选码中只能包含一个属性
C、主属性可以取空值D、关系的外码不可以取空值
7、关系模式中,满足2NF的模式(B)。
A、可能是1NF B、必是1NF C、必是3NF D、必是BCNF
9、关系操作中,操作的对象和结果都是(B)。
A、记录B、集合C、元组D、列
11、关于查询过程中的表与表之间的连接方法,效率比较低的是:A
A、嵌套循环B、排序合并C、索引连接D、Hash Join
12、关系操作的主要特点是D
A、面向对象B、面向过程C、面向函数D、非过程化
13、一个选课关系有两个属性,分别是学号和课程号。某个学号的象集指的是:D
A、该学生的选课记录B、该学生的成绩平均值
C、该学号的出现次数D、该学号所选的课程号的集合
14、给某张表(关系)添加新的一列,可以用(B)命令
A、CREATE TABLE B、ALTER TABLE C、DROP TABLE D、以上都不对
15、BCNF要求:A
A、每个非平凡函数依赖 , 需包含候选码
B、每个函数依赖 , 需包含候选码
C、每个平凡函数依赖 , 需包含候选码
D、每个多值依赖 , 需包含候选码
16、在数据库设计中,当合并局部E-R图时,学生在某一局部应用中被当作实体,而在另一局部应用中被当作属性,那么这种冲突称为(D)。
A、属性冲突B、命名冲突C、联系冲突D、结构冲突
17、79页,80页的关系 结果中,有(B)个元组
A、4 B、5 C、7 D、140
18、实现将现实世界抽象为信息世界的是(B)。
A、物理模型B、概念模型C、关系模型D、逻辑模型
19、参照79页表结构,关于命令INSERT INTO student VALUES(‘201215128’, ‘张三’),说法正确的是B
A、命令能够顺利执行B、命令无法顺利执行
C、命令做的是删除操作D、命令做的是查询操作
20、1000个学生,10000个选课记录。2号课程选课记录50个。一块内存可以放10个学生或者100个选课记录。计算机的内存有限,只能同时放下5块学生、1块选课记录和若干连接结果。计算机每秒可读写20块。问若先做学生和选课记录的笛卡儿积运算,至少需要读取(B)遍学生表?
A、1 B、20 C、100 D、以上都不对
二、多选题 (题数:15,共 30.0 分)
1、数据库建设中,有关数据库设计的特点描述,正确的是:ABCD
A、三分技术B、七分管理C、十二分基础数据D、以上说法都正确
2、数据的完整性指数据的(AC)。
A、正确性B、有效性C、相容性D、合法性
3、专门的关系运算有ABCD
A、选择B、投影C、连接D、除
4、CREATE DOMAIN的作用是ABC
A、创建新的域B、起到对完整性进行封装的作用
C、避免一定程度的代码重复D、跟CREATE TABLE一个意思,即创建表
5、关于查询优化,下面说法正确的是:BCD
A、尽量不要做笛卡儿积B、选择运算尽可能先做
C、投影运算能合并执行就合并执行D、优化与否的差别还是挺大的
6、数据模型通常由(ACD)组成。
A、数据结构B、数据优化C、数据操作D、数据的完整性约束条件
7、关于数据库安全,下面说法正确的是:AC
A、数据库安全属于计算机安全的范畴B、数据库安全等同于计算机安全
C、TCSEC/TDI的四组7级安全级别中,最低安全级别是D级
D、数据库安全也只是一个用户标识和鉴别的问题
8、关于DAC,说法正确的是ABC
A、同一用户对不同对象有不同的存取权限B、不同用户对同一对象也有不同的权限
C、权限可以转授D、用户有许可证级别,数据有密级
9、关于3NF,说法正确的是ABCD
A、不存在码X, 属性组Y, 非主属性Z( ),使得
B、3NF不允许出现非主属性对码的部分依赖C、3NF不允许出现非主属性对码的传递依赖
D、3NF规范化程度比2NF, 1NF高
10、关于视图,说法正确的是BCD
A、视图和基表是一样的,都是通过CREATE TABLE创建
B、视图是虚表,通过CREATE VIEW创建
C、视图不是真正的表。真正的表,使用CREATE TABLE命令创建
D、视图可以像表一样被查询
11、查询选了3号课的学生学号,姓名,学分,成绩,可以用关系代数这样表达AB
A、
B、
C、 D、以上都对
13、关于%, _两种通配符,说法正确的是ABCD
A、%通配不固定长度的任意字符B、_通配固定长度的任意字符
C、两者需结合LIKE关键词使用D、可用于做模糊查询
15、关于命令DELETE FROM sc WHERE ‘CS’ = (SELECT sdept FROM student WHERE student.sno = sc.sno)说法正确的是CD
A、删除部分学生选课记录B、删除全部学生选课记录C、删除指定系CS系的学生选课记录
D、这是一个连接查询
三、填空题 (题数:10,共 20.0 分)
1、SQL语言具有 数据查询 、数据操纵 、数据定义和数据控制的功能。
4、如果X Y且Y是X的子集,那么X Y称为 平凡函数依赖。
5、SQL语言的数据定义功能包括模式定义、表定义、视图定义和 索引定义等。
6、数据库是长期存储在计算机内的,有组织的、可共享的大量数据的集合。
7、求和的聚集函数为(只写大写的函数名即可): SUM
四、计算题 (题数:10,共 30.0 分)
1、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找供应工程J1零件P1的供应商号SNO;
我的答案
SELECT DISTINCT SNO
FROM SPJ
WHERE JNO=‘J1’ AND PNO=‘P1’;
2、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找使用供应商S1所供应零件的工程号JNO;
我的答案
SELECT DISTINCT JNO
FROM SPJ,SPJZ
WHERE NOT EXISTS
(SELECT *
FROM SPJ,SPJX
WHERE SPJX.SNO=‘S1’ AND NOT EXISTS
(SELECT *
FROM SPJ,SPJY
WHERE SPJY.PNO=SPJX.PNO AND
SPJY.JNO=SPJZ.JNO
));
3、基于教材P70习题6中所建立的表,把S5供给J4零件P6改为由S3供应,请作必要的修改;
我的答案
UPDATE SPJ
SET SNO=‘S3’
WHERE PNO=‘P6’ AND JNO=‘J4’ AND QTY=500;
4、基于教材P70习题6中所建立的表,请将(S2,J6,P4,200)插入供应情况关系;
我的答案
INSERT
INTO SPJ(SNO,PNO,JNO,QTY)
VALUES(‘S2’,‘J6’,‘P4’,200);
5、用SQL语句建立教材P70习题6中的4个表;
我的答案
CREATE TABLE S
(SNO CHAR(4) PRIMARY KEY,
SNAME CHAR(20),
STATUS INT,
CITY CHAR(20)
);
CREATE TABLE P
(PNO CHAR(4) PRIMARY KEY,
PNAME CHAR(20),
COLOR CHAR(2),
WEIGHT INT
);
CREATE TABLE J
(JNO CHAR(4) PRIMARY KEY,
JNAME CHAR(20),
CITY CHAR(20)
);
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
QTY INT,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO)
REFERENCES J(JNO)
);
6、设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式(见教材70页,第6题):
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
请指出以上各关系模式的码。
我的答案
S表中的码为SNO,
J表中的码为JNO,
P表中的码为PNO,
SPJ表中的码为SNO,PNO,JNO
7、关系模式如上题所示,求所有红色零件的零件代码(PNO)、零件名(PNAME)。
我的答案
SELECT PNO,PNAME
FROM P
WHERE COLOR=‘红’;
8、关系模式如上题所示,求供应商S1所供应的零件的工程号JNO、工程项目名JNAME。
我的答案
SELECT JNO,JNAME
FROM SPJ,J
WHERE SPJ.SNO=‘S1’ AND SPJ.JNO=J.JNO;
9、关系模式如上题所示,求供应工程J1零件P1的供应商号码SNO。
我的答案
SELECT DISTINCT SNO
FROM SPJ
WHERE JNO=‘J1’ AND PNO=‘P1’;
10、关系模式如上题所示,求供应工程J1零件为红色的供应商号码SNO。
我的答案
SELECT DISTINCT SNO
FROM SPJ,P
WHERE COLOR=‘红’ AND JNO=‘J1’ AND SPJ.PNO=P.PNO;
练习3:
一、单选题 (题数:20,共 20.0 分)
2、E-R方法的三要素是(C)。
A、实体、属性、实体集B、实体、键、联系
C、实体、属性、联系D、实体、域、候选码
3、数据字典在(A)阶段建立
A、需求分析B、概念结构设计C、逻辑结构设计D、物理结构设计
4、REVOKE命令的作用是C
A、授权B、转授C、回收权限D、强化权限
5、1000个学生,10000个选课记录。2号课程选课记录50个。一块内存可以放10个学生或者100个选课记录。计算机的内存有限,只能同时放下5块学生、1块选课记录和若干连接结果。计算机每秒可读写20块。现在需查找选了2号课的学生姓名,问若先做学生和选课记录的笛卡儿积运算,至少需要(C)秒?
A、50秒B、105秒C、100105秒D、不足10秒
6、跟班作业、开会、走访、询问、调查问卷等形式属于数据库设计的哪个阶段的工作?A
A、需求分析B、概念结构设计C、逻辑结构设计D、物理结构设计
7、79页,80页的关系运算 ,结果是A
A、选了全部课程的学生学号B、选了全部课程的学生姓名
C、选了全部课程的学生学号和学生姓名D、以上说法都不对
8、关于码的说法,正确的是:B
A、能够唯一标记实体的单一属性B、能够唯一标记实体的属性集
C、码就是随机选取的实体属性D、无法唯一标记实体
9、对表中数据进行删除的操作是(A)。
A、DELETE B、DROP C、ALTER D、UPDATE
11、开发一个软件系统,其中的登录功能,需记录其登录的详细时间,适合采用那种数据类型?C
A、CHAR B、VARCHAR C、DATETIME D、DATE
12、关于INT, SMALLINT两种数据类型,描述正确的是:B
A、都可以表达一些整数,范围相同B、都可以表达整数,范围不同
C、像学号这样的属性,更适合设置为这两种数据类型
D、像身份证号这样的属性,可以设置为INT
13、创建聚簇索引,用(A)关键词
A、CREATE CLUSTER INDEX B、CREATE UNIQUE INDEX C、CREATE INDEX D、CREATE
15、在数据库的物理结构中,将具有相同值的元组集中存放在连续的物理块称为()存储方法。C
A、HASH B、B+树索引 C、聚簇 D、其他
18、数据库中建立索引的目的是为了(B)。
A、加快建表速度B、加快存取速度C、提高安全性D、节省存储空间
19、WHERE Sage BETWEEN 19 AND 23表达的意思是:A
A、年龄大于等于19,小于等于23 B、年龄大于19,小于23
C、年龄等于19,或者等于23 D、以上结果都对
二、多选题 (题数:20,共 40.0 分)
1、外码取值的规则ABD
A、可以为空B、可以不为空C、不为空,任意取值
D、可以不为空,但必须是所参照关系的主码值
2、关系可以有三种类型:ABC。
A、基本关系B、查询表C、视图D、中间表
3、关于角色的说法,正确的是ABC
A、创建角色CREATE ROLE B、角色可以简化授权的过程
C、角色方便了多用户权限的管理D、角色就是用户
5、SQL命令可以分为以下几类ABCD
A、数据定义B、数据操纵C、数据控制D、数据查询
6、关于命令CREATE VIEW IS_STUDENT AS SELECT * FROM student WHERE sdept = 'IS’说法正确的是ACD
A、可以创建一个视图B、IS_STUDENT为行列子集视图C、IS_STUDENT不是行列子集视图
D、IS_STUDENT可以像student表一样,被SELECT命令查询数据。
9、下面查询,用表的自身连接解决的是:AB
A、查询一门课程(cno)的间接先行课(cpno)B、查询与刘晨所在同一个系的学生姓名
C、查询计算机系的学生信息D、查询计算机系年龄在19岁以上的学生
10、关系模式SLC(sno, sdept, sloc, cno, grade)中存在的依赖有ABC
A、完全函数依赖B、部分函数依赖C、传递函数依赖D、以上说法都对
14、下列关于索引的说法正确的是:ABC
A、索引可以加快数据的查找速度B、Hash索引适合关系大小可预知的情况
C、聚簇方法跟物理位置有关D、索引越多越好
15、关系模式SLC(sno, sdept, sloc, cno, grade)存在的问题有ABCD
A、冗余B、插入异常C、更新异常D、删除异常
17、查询处理包含的过程有:ABCD
A、查询分析B、查询检查C、查询优化D、查询执行
18、以下说法正确的是ABC
A、关系中的列,可以交换B、关系中的行,可以交换
C、关系中的分量必须取原子值,不可再分D、关系中的列,可以继续划分子列
19、关于广义的数据库设计和狭义的数据库设计,下列说法正确的是:AB
A、广义的数据库设计中,不止数据库本身的设计
B、狭义的数据库设计,指的是数据库本身的设计
C、广义数据库设计指的是数据库应用系统的设计
D、广义、狭义的数据库设计本质上是一样的
三、填空题 (题数:10,共 20.0 分)
3、查询选了课的学生人数:SELECT COUNT(DISTINCT SNO) FROM SC;
5、SQL语句中用来消除重复的关键词是 DISTINCT。
6、数据与其 语义是密不可分的。
10、数据库设计的主要阶段是:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、运行和维护。
四、计算题 (题数:10,共 20.0 分)
1、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找上海厂商供应的所有零件号;
我的答案
SELECT DISTINCT PNO
FROM SPJ,S
WHERE S.CITY=‘上海’ AND S.SNO=SPJ.SNO;
3、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找使用上海产的零件的工程名称;
我的答案
SELECT DISTINCT JNAME
FROM S,SPJ,J
WHERE S.CITY=‘上海’ AND S.SNO=SPJ.SNO AND SPJ.JNO=J.JNO;
4、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找所有零件的名称、颜色、重量;
我的答案
SELECT DISTINCT PNAME,COLOR,WEIGHT
FROM P;
5、针对(1)中所建立表,使用SQL语句完成操作:查找工程项目J2使用的各种零件的名称及数量;
我的答案
SELECT DISTINCT PNAME,QTY
FROM SPJ,P
WHERE SPJ.JNO=‘J2’ AND SPJ.PNO=P.PNO;
6、关系模式如上题所示,求至少用了供应商S1所供应的全部零件的工程号JNO。
我的答案
SELECT DISTINCT JNO
FROM SPJ,SPJZ
WHERE NOT EXISTS
(SELECT *
FROM SPJ,SPJX
WHERE SPJX.SNO=‘S1’ AND NOT EXISTS
(SELECT *
FROM SPJ,SPJY
WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO
));
7、关系模式如上题所示,求没有使用天津供应商生产的红色零件的工程号JNO。
我的答案
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ,S,P
WHERE S.CITY=‘天津’ AND S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND P.COLOR=‘红’);
练习4:
一、单选题 (题数:30,共 30.0 分)
1、以下说法正确的是:C
A、笛卡儿积满足交换律B、关系不满足交换律
C、笛卡儿积不满足交换律D、以上说法都不对
5、SQL中,WHERE子句控制(A)
A、查询的列B、查询的数据有哪些列C、统计结果D、查询表中的行需要满足的条件
7、删除某个表的时候,一并将基于该表而建的视图、索引删除,应该在在相关命令的最后,加上(B)关键词
A、RESTRICT B、CASCADE C、VIEW D、INDEX
12、假如教材79页的student关系中,要求年龄取值必须大于0,这样的完整性属于C
A、实体完整性B、参照完整性C、用户定义的完整性D、非空
13、下列那一条不是由于关系模式设计不当所引起的问题?(D)
A、数据冗余B、插入异常C、删除异常D、丢失修改
16、CREATE TABLE的时候,在某一列的后面,加了CHECK,完成的是(C)完整性的定义?
A、实体完整性B、参照完整性C、自定义完整性D、外码
18、概念设计的结果是(B)。
A、一个与DBMS相关的概念模型B、一个与DBMS无关的概念模型
C、数据库系统的公用视图D、数据库系统的数据字典
19、外码的完整性要求,体现的是B
A、实体完整性B、参照完整性C、用户定义的完整性D、必须唯一
22、定义参照完整性的时候,对外键的定义,用了ON DELETE CASCADE,指的意思是:C
A、删除的时候拒绝B、删除的时候限制C、删除的时候级联D、删除的时候不让删除
24、在数据库设计中,学生的学号在某一局部应用中被定义为字符型,而在另一局部应用中被定义为整形,那么这种冲突称为(A)。
A、属性冲突B、命名冲突C、联系冲突D、结构冲突
26、79页学生关系(Student)和80页选课关系(SC)做自然连接,结果有(A)行()列
A、5,8 B、5,7 C、4,8 D、4,7
二、多选题 (题数:20,共 40.0 分)
2、CREATE VIEW IS_S1 AS
SELECT student.sno, sname
FROM student, sc
WHERE student.sno = sc.sno
AND cno = ‘1’
AND sdept = ‘IS’
命令能够:AD
A、创建一个行列子集视图B、创建一个非行列子集视图
C、通常情况下,IS_S1无法被更新D、IS_S1可以像一张表一样被查询
4、适合建立B+树索引的属性,具有(ACD)特征:
A、经常被查询B、很少被更新C、经常取最大最小值D、经常出现在连接条件中
6、根据实际情况,学生和课程的ER图,转为关系模型的时候,可以转成(ABC)个关系
A、1 B、2 C、3 D、0
7、关于索引,正确的说法有ABD
A、索引能够加快数据的查找速度
B、经常查询但是很少更新的属性适合建立索引
C、经常查询,经常更新的索引,也适合建索引
D、索引采用了特殊的数据结构,因此才能加快数据的查找速度
9、关于查询命令SELECT * FROM student WHERE sno IN(SELECT sno FROM sc WHERE cno = ‘1’),说法正确的是ABC
A、这是个连接查询B、这是个嵌套查询
C、这个命令可以写成连接的形式 D、这是个嵌套查询,它的子查询是不相关子查询
13、关于用户的许可证级别和数据的密级,说法正确的是:AC
A、仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
B、仅当主体的许可证级别小于或等于客体的密级时,该主体才能读取相应的客体
C、仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
D、仅当主体的许可证级别大于或等于客体的密级时,该主体才能写相应的客体
20、STJ模式(S, T, J)中,S表示学生,T表示教师,J表示课程。一个教师只带一门课,一门课可以有多个任课教师;学生选了一门课后,确定了任课教师;学生选了某个教师的课,就确定了上课课程。关于这个模式,说法正确的是:ABCD
A、该模式是3NF B、该模式是2NF C、该模式不是BCNF
D、该模式存在主属性对码的部分依赖
三、填空题 (题数:10,共 10.0 分)
1、若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,这类视图称为 行列子集视图。
4、关系模型的三类完整性约束是指实体完整性 、参照完整性和 用户定义的完整性。
8、在一个关系R中,若每个数据项都是不可分割的,那么R一定属于1NF。
四、计算题 (题数:10,共 20.0 分)
1、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找工程项目J2使用的各种零件的名称及其数量;
我的答案
SELECT DISTINCT PNAME,QTY
FROM SPJ,P
WHERE SPJ.JNO=‘J2’ AND SPJ.PNO=P.PNO;
2、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找供应工程J1零件为红色的供应商号SNO;
我的答案
SELECT DISTINCT SNO
FROM SPJ,P
WHERE COLOR=‘红’ AND JNO=‘J1’ AND SPJ.PNO=P.PNO;
5、基于供应情况视图SPJ_VIEW,查询三建工程项目使用的各种零件代码及其数量;
我的答案
CREATE VIEW SPJ_VIEW
AS
SELECT PNO,QTY
FROM J,SPJ
WHERE JNAME=‘三建’ AND J.JNO=SPJ.JNO
WITH CHECK OPTION;
6、关系模式如上题所示,求使用天津供应商生产的红色零件的工程号JNO。
我的答案
SELECT DISTINCT JNO
FROM S,SPJ,P,J
WHERE S.CITY=‘天津’ AND S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND P.COLOR=‘红’;
10、关系模式如上题所示,求供应工程J1零件的供应商号码SNO。
我的答案
SELECT DISTINCT SNO
FROM SPJ
WHERE JNO=‘J1’;
练习5:
一、单选题 (题数:30,共 30.0 分)
1、关系数据库规范化是解决关系数据库中(A)问题而引人的。
A、插入、删除和数据冗余B、提高查询速度C、减少数据操作的复杂性
D、保证数据的安全性和完整性
3、数据管理技术经历了若干阶段,其中人工管理阶段和文件系统阶段相比文件系统的一个显著的优势是(A)。
A、数据可以长期保存 B、数据共享性很强
C、数据独立性很好D、数据整体结构化
7、数据库系统的核心和基础是(C)。
A、物理模型B、概念模型C、数据模型D、逻辑模型
10、关系是一个集合,该集合是(C)的子集
A、域B、属性集C、笛卡儿积D、实体集
11、关于SLC(sno, sdept, sloc, cno, grade)模式中的传递依赖,说法正确的是:B
A、sdept传递依赖于sno B、sloc传递依赖于sno
C、grade传递依赖于sno D、cno传递依赖于sno
13、如果采用关系数据库来实现应用,则应在数据库设计(C)阶段将关系模式进行规范化处理。
A、需求分析B、概念设计C、逻辑设计D、物理设计
15、长期存储在计算机内,有组织的、可共享的大量数据的集合是(B)。
A、数据(Data)B、数据库(DataBase)C、数据库管理系统(DBMS)D、数据库系统(DBS)
18、任何满足2NF但不满足3NF的关系模式都存在(D)。
A、主属性对候选码的部分依赖B、非主属性对候选码的部分依赖
C、主属性对候选码的传递依赖D、非主属性对候选码的传递依赖
19、DBMS是一类系统软件,它是建立在下列哪种系统之上的?(C)
A、应用系统B、编译系统C、操作系统D、硬件系统
22、开发一个学生管理系统,使用关系数据库存储学生信息,其中学生信息中的出生日期,更适合采用哪种数据类型?D
A、CHAR B、VARCHAR C、TIMESTAMP D、DATE
23、能够保证数据库系统中的数据具有较高的逻辑独立性的是(A)。
A、外模式/模式映像B、模式C、模式/内模式映像D、外模式
27、SQL中,SELECT表示(A)
A、数据查询B、数据定义C、数据操纵D、数据控制
28、 表示B
A、关系B、笛卡儿积C、表格D、n元组
二、多选题 (题数:20,共 40.0 分)
3、关于数据库中的审计,说法正确的是ABCD
A、开启审计命令AUDIT B、关闭审计命令NOAUDIT
C、审计技术属于数据库安全性的范畴D、审计消耗了系统的资源
4、表达条件“学生所在系不是计算机系(Sdept = ‘CS’)、数学系(Sdept = ‘MA’)和信息系(Sdept = ‘IS’)”,应该用AC
A、Sdept NOT IN(‘CS’, ‘MA’, ‘IS’)
B、Sdept <> ‘CS’ AND Sdept <> ‘MA’ AND Sdept <> ‘IS’
C、Sdept != ‘CS’ AND Sdept != ‘MA’ AND Sdept != 'IS’D、以上都对
7、关于SQL,下面说法正确的是ABC
A、SQL是关系数据库标准语言B、SQL可以操作关系数据库
C、SQL,即Structured Query Language,结构化查询语言D、和C, JAVA等一样,SQL是一种常见的程序设计语言,可以开发满足各种需求的应用程序
12、对教材79页学生表的查询,若描述条件‘年龄大于计算机系某个学生的年龄’,可以表示为:AD
A、WHERE sage>ANY(SELECT sage FROM student WHERE sdept=‘CS’)
B、WHERE sage>SOME(SELECT sage FROM student WHERE sdept=‘CS’)
C、WHERE sage>ALL(SELECT sage FROM student WHERE sdept=‘CS’)
D、WHERE sage>(SELECT MIN(sage) FROM student WHERE sdept=‘CS’))
15、关于2NF,说法正确的是:ABC
A、2NF规范化程度比1NF高B、2NF规范化程度比3NF低
C、2NF不允许出现非主属性对码的部分依赖D、2NF不允许出现非主属性对码的传递依赖
17、以下说法正确的是ABD
A、选择运算选行B、投影运算投列C、笛卡儿积的运算结果是连接的运算结果的子集
D、连接运算是笛卡儿积运算的子集
四、计算题 (题数:10,共 20.0 分)
3、基于教材P70习题6中所建立的表,使用SQL语句完成操作:查找没有使用天津产的零件的工程号;
我的答案
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM S,SPJ
S.CITY=‘天津’ AND S.SNO=SPJ.SNO
);
4、基于教材P70习题6中所建立的表,为三建工程项目创建供应情况视图SPJ_VIEW,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY);
我的答案
CREATE VIEW SPJ_VIEW
AS
SELECT SNO,PNO,QTY
FROM J,SPJ
WHERE J.CITY=‘三建’ AND J.JNO=SPJ.JNO;