收藏 分销(赏)

数据库期中试卷及参考答案.doc

上传人:xrp****65 文档编号:9430538 上传时间:2025-03-26 格式:DOC 页数:4 大小:76.50KB
下载 相关 举报
数据库期中试卷及参考答案.doc_第1页
第1页 / 共4页
数据库期中试卷及参考答案.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
《数据库原理与应用》 一.单项选择题(每题1分,共20分) 1.目前市场上常见的DBMS 90%以上都是基于( C )数据模型的。 A.层次 B.网状 C.关系 D.面向对象 2.E-R图是在数据库设计中用来表示( A )的一种常用方法。 A.概念模型 B.逻辑模型 C.物理模型 D.面向对象模型 3.( C )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 A.外模式 B.内模式 C.模式 D.概念模式 4.( B )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。 A.外模式 B.内模式 C.模式 D.概念模式 5.数据库的概念模型独立于( A )。 A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界 6.在数据库中存储的是( C )。 A.数据 B.数据库模型 C.数据以及数据之间的联系 D.信息 7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是( B )。 A.互不相关的 B.不可分解的 C.长度可变得 D.互相关联的 8.在数据模型中有“型”和“值(或实例)”两个对应的概念。其中数据库的模式是一个( D )的概念,是一个相对( )的概念,而数据库在某一时刻的状态则是一个( )的概念,是一个相对( )的概念。 A.型;变化;值;不变 B.值;不变;型;变化 C.值;变化;型;不变 D.型;不变;值;变化 9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20. 则A与B的笛卡尔积A×B的属性有( D )个,元组个数有( )个。 A.30;200 B.11;30 C.30;30 D.11;200 10.父亲和子女的亲生关系属于( B )的关系。 A.1:1 B.1:n C.m:n D.不一定 11.在SQL语言中,删除关系表中的一个属性列,要用动词( D ),删除关系表中的一行或多行元组,要用动词( )。 A.delete,delete B.drop,drop C.delete,drop D.drop,delete 12.在SQL语言中,为关系模式增加一个属性要用动词( B),为关系表增加一行或多行元组要用动词( )。 A.insert,insert B.add,insert C.insert,add D.add,add 13.实体完整性约束和SQL语言中的( A )相对应。 A.primary key B.foreign key C.check D.都不是 14.参照完整性约束和SQL语言中的( B )相对应。 A.primary key B.foreign key C.check D.都不是 15.在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是: A.Student表中的学生号Sno不能随意取值 B.Course表中的课程号Cno不能随意取值 C.SC表中学生号Sno不能随便 D.SC表中学生号Sno、课程号Cno均不能随意取值 16.如果在学生-课程数据库中的SC表上建立了参照完整性约束: Foreign Key (Sno) References Student(Sno), Foreign Key (Cno)References Course(Cno), 则( D )操作可能会违背该完整性约束。 A.在Student表上增加一行记录 B.在Course表上增加一行记录 C.在SC表上删除一行记录 D.更新SC表上的记录 17.关系R(X,Y,Z),函数依赖集FD={Y→Z,XZ→Y},则关系R是( C )。 A.1NF B.2NF C.3NF D.BCNF 18、表之间一对多关系是指_B_____。 A.一张表与多张表之间的关系 B.一张表中的一个记录对应另一张表中的多个记录 C.一张表中的一个记录对应多张表中的一个记录 D.一张表中的一个记录对应多张表中的多个记录 19、SQL的SELECT语句中,“HAVING条件表达式”用来筛选满足条件的( D  ) A.列 B.行 C.关系 D.分组 20、SQL语言中INSERT、DELETE、UPDATE实现哪类功能 D 。 A.数据查询 B.数据控制 C.数据定义 D.数据操纵 二.填空题(每空1分,共18分): 1.从历史发展看来,数据管理技术经历了人工管理、 文件管理 和 数据库管理 三个阶段。 2.在SQL语言中,用符号 — 代表单个字符,用符号 % 代表0到多个字符。 3.在SQL语言中,为了使查询的结果表中不包含完全相同的两个元组,应在select的后面加上关键词 distinct 。 4、在SQL语句中,与表达式“工资 BETWEEN 1210 AND 1240”功能相同的表达式是 工资>=1210 and 工资<=1240 。 5、在SQL语句中,与表达式“性别 =‘男’or性别 =’女’”功能相同的表达式是 性别in(‘男’,’女’) 。 6.在数据库设计中,若关系模式设计得范式太低,可能会使得数据库存在数据冗余、修改复杂 、 插入异常 和 删除异常 四个方面的弊端。采取的解决方法就是对该关系模式进行 分解(或规范化) 。 7.根据关系理论,对一个关系模式的最起码的要求是 满足一范式 。 8.如果一个关系模式中不存在 非主属性 对 码(或候选码) 的 部分 函数依赖,则该关系模式就达到了二范式。 9、 关系的完整性一般包括实体完整性规则 参照完整性规则 自定义完整性规则 三.判断题:(每小题1分,共8分) 1.SQL Server 2005,Access,Oracle等DBMS,都是面向对象的数据库管理系统。( × ) 2.在关系数据模型中,只有一种结构——关系。不论是实体还是实体之间的联系都是用关系来表达的。( ∨ ) 3.一个数据库只能对应一个应用程序,即一个数据库只能为一个应用程序所用。( × ) 4.SQL语言是SQL Server数据库管理系统的专用语言,其它的数据库如Oracle、Sybase等都不支持这种语言。(× ) 5.对于一个基本关系表来说,列的顺序无所谓——即改变属性的排列顺序不会改变该关系的本质结构。( ∨ ) 6.对于一个基本关系表来说,行的顺序无所谓——即将一条记录插入在第一行和插入在第五行没有本质上的不同。( ∨ ) 7.在开发一个数据库应用系统的时候,无论什么时候,都是设计的数据库范式越高越好。( × ) 8.一个全码的关系模式,其范式一定达到了三范式。( ∨ ) 四.用SQL语言完成下面要求的功能:(每小题2分,共44分): 1、设某公司数据库中有关系模式如下: 职工(职工号,职工名,性别,出生日期) 公司(公司号,公司名,地址) 工作(职工号,公司号,工资) 1) 设置约束使所有职工的工资不能低于2000元。 2) 删除出生日期在1950年1月1日前的职工记录 3) 超过50岁职工的工资增加200元。 4) 查询每个公司女职工的平均工资。 5) 查询不在“希望”公司工作的所有职工的职工号。 1)alter table工作 add constraint C1 check(工资>=2000) 2)delete from职工where 出生日期<’1950-1-1’或 year(出生日期)<1950 3) update 工作 set工资=工资+200 where year(getdate()-year(出生日期))>=50 4) select公司号,公司名 avg(工资) 平均工资 from 职工,公司, 工作 where 职工.工号=工作.工号 and 公司.公司号=工作.公司号 and 性别=‘女’group by公司号 5)select 职工号 from 职工,工作,公司 where工作.职工号=职工.职工号and公司. 公司号=工作. 公司号 and 公司.公司名!=’希望’ 2、给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。 (1)查询计算机系(CS)全体学生的基本信息。 Select * From Student Where Sdept=’CS’ (2)查询C02号课程不及格的学生的学号、考试成绩。 Select Sno ,Grade From SC Where Cno=’C02’ And Grade <60 (3)查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。 Select Student..Sno, Sname, Ssex,, SC.Cno, Ccredit, Grade From Student, SC, Course Where Student.Sno=SC.Sno And SC.Cno=Course.Cno And Cname=’ 数据库原理 ’ (4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。 Select Count(Sno) 选课人数, AVG(Grade)平均分数 From SC Where Cno=‘C02’ (5)查询每个学生的学号及其对应的选课门数。 Select Sno ,Count(Cno) From SC Group By Sno (6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。 Select Student.Sno, Sname , AVG(Grade) From Student, SC Where Student.Sno=SC.Sno Group By Student.Sno, Sname Having AVG(Grade)>85 Order By Student.Sno (7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。 Update SC Set Grade=Grade * (1+0.1) Where Sno Like ‘12345%’ And Cno=’C02’ (8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course的相应属性取值。 Create Table SC ( Sno Char(7), Cno Char(5), Grade int Check ( Grade Between 0 and 100 ), Primary Key (Sno, Cno), Foreign Key (Sno) References Student (Sno)., Foreign Key (Cno)References Course(Cno) ) (9)在Student表中插入这样一条新生记录——学号:1234599,姓名:马小立,年龄20岁系别:IS。 Insert Into Student(Sno ,Sname, Sage, Sdept) Values ( ‘1234599’ , ‘马小立’ ,20,‘IS’) (10)在Student表中注册的12345班全体学生都要选修学号为C10的课程。请将这一选课信息插入到SC(Sno,Cno,Grade)表中。 Insert Into SC(Sno, Cno) Select Sno ,‘C10’ From Student Where Sno Like ‘12345%’ (11)学号为1234510的学生已经退学。请将Student表中该学生的基本信息删除。 Delete From Student Where Sno=’1234510’ 老师操作: 2、给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。 (1)查询计算机系(CS)全体学生的基本信息。 Select * from student where Sdept= ‘CS’ (2)查询C02号课程不及格的学生的学号、考试成绩。 Select sno 学号,grade考试成绩 from sc where Cno= ‘C02’ and Grade<60 (3)查询选修了数据库原理的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。 Select Student. Sno, Sname, Ssex, Course. Cno, Ccredit, Grade From Student inner join SC on Student. Sno= SC. Sno Inner join Course on Course. Cno= SC. Cno Where Cname=’数据库原理’ Order by Grade desc Select Student. Sno, Sname, Ssex, Course. Cno, Ccredit, Grade from Student,SC ,Course Where Student. Sno= SC. Sno and Course on Course. Cno= SC. Cno and Cname=’数据库原理’ Order by Grade desc (4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。 Select count(grade) as 选课人数,avg(grade) as ’平均分数’ From sc Group by cno Having cno=’ C02’ (5)查询每个学生的学号及其对应的选课门数。 Select sno, count(sno),count(cno),count(grade) From sc Group by sno (6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。 Select student.sno,sname,avg(grade) From student inner join sc on student.sno= sc.sno Group by sno Having avg(grade)>85 Order by sno (7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。 Update set grade=grade*1.1 From sc Where sno like ‘12345%’ and cno=’ C02’ (8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course 的相应属性取值。 Create Table SC ( Sno Char(7), Cno Char(5), Grade int Check ( Grade Between 0 and 100 ), Primary Key (Sno, Cno), Foreign Key (Sno) References Student (Sno)., Foreign Key (Cno)References Course(Cno) ) (9)在Student表中插入这样一条新生记录——学号:1234599,姓名:马小立,年龄20岁系别:IS。 Insert into student values(1234599, 马小立, 20, IS) Insert Into Student(Sno ,Sname, Sage, Sdept) Values ( ‘1234599’ , ‘马小立’ ,20,‘IS’) (10)在Student表中注册的12345班全体学生都要选修学号为C10的课程。请将这一选课信息插入到SC(Sno,Cno,Grade)表中。 Insert Into SC(Sno, Cno) Select Sno ,‘C10’ From Student Where Sno Like ‘12345%’ (11)学号为1234510的学生已经退学。请将Student表中该学生的基本信息删除。 Delete From Student Where Sno=’1234510’ 4 第 4 页 / 共 4 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服