期中检验2见解解释.docx
- 文档编号:29487788
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:10
- 大小:45.10KB
期中检验2见解解释.docx
《期中检验2见解解释.docx》由会员分享,可在线阅读,更多相关《期中检验2见解解释.docx(10页珍藏版)》请在冰豆网上搜索。
期中检验2见解解释
《数据库原理与应用》期中测试问卷2
一、判断题(每题1分,共10分,正确的写,错误的写)
(1)E-R模型只能转换为关系模型,不能转换为层次模型和网状模型。
(2)如果一个实体A对应多个实体B,则A与B之间必然是一对多的联系。
(3)一个关系的主键可以包含多个属性。
(4)在一个关系模式中,如果A->B,B->C,则称C部分依赖于A。
(传递依赖)
(5)数据库的一个数据文件可以属于多个文件组。
(一个数据文件只属于一个文件组)
(6)创建表时,对表的每列必须指明数据类型和长度,例如“生日datetime(8)”。
(datetime()不能指定长度)
(7)在SQLServer中,存储逻辑型数据值的数据类型是boolean.(bit)
(8)在SQL语句中,对数值型的属性赋值,应该两边用单引号将值包括起来。
(数值型函数不需要单引号)
(9)为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。
(会拖慢更新速度)
(10)聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。
(聚集索引不一定是唯一性索引,非唯一索引:
默认为非唯一索引)
二、选择题(每题2分,共30分,单项选择)
(1)E-R图用于描述数据库的()。
A.物理模型B.存储模型C.逻辑模型D.概念模型
(2)ER图中的主要元素是()。
A.结点、记录和文件 B.记录、文件和表
C.实体、联系和属性 D.记录、表、属性
(3)数据库三级模式间引入二级映射的主要作用是()。
A.提高数据与程序的安全性B.提高数据与程序的独立性
C.保持数据与程序的一致性 D.提高数据与程序的可移植性
二级映像的主要作用是保证数据库系统中数据的独立性,即数据的物理组织改变与逻辑概念级改变相互独立,使得只要调整映射方式而不必改变用户模式。
(4)A∩B可等价替换为()。
A.B-(A-B)B.AU(A-B)C.A-(B-A)D.A-(A-B)
(5)有关系:
职员(编号,姓名,生日,职务),从关系中查询所有经理的情况应使用()关系运算。
(选择是行,投影是列)
A.选择B.投影C.连接D.笛卡儿积
(6)有关系:
教学(学号、教工号、课程号),每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程可以由多个老师来讲授,那么该关系的主键是()。
A.教工号B.课程号
C.(学号,教工号)D.(学号,教工号,课程号)
(7)下面()不是SQLServer2008的数据库对象。
A.视图B.索引C.SQL语句D.约束
(8)以下数据类型中,最适合表示一个人的身高(厘米,保留一位小数)的是()。
A.floatB.tinyint C.decimalD.char
(9)对于数据库中的表A,如果想要清空A中的数据且不留下事务日志,应使用()。
A.DROPTABLEAB.ALTERTABLEA
C.TRUNCATETABLEAD.DELETETABLEA
表格中的资料会完全消失,可是表格本身会继续存在
(10)对R和S进行连接查询时,如果想在显示中保留S的所有行应该使用()。
A.全外连接 B.R左外连接S
C.右外连接SD.内连接
是指以右边的表的数据为基准,去匹配右边的表的数据
(11)已知关系:
员工﹝工号,入职日期,部门﹞,如果按部门降序列出所有员工,并且相同部门的员工按入职日期升序排列,则排序子句应该是﹝﹞。
A.OrderBy部门,入职日期B.OrderBy入职日期,部门DESC
C.OrderBy部门DESC,入职日期D.B项与C项都正确
(12)对工资表(员工号,姓名,部门号,月薪)进行查询,分部门统计人数和平均工资,查询语句应使用()。
A.SELECT部门号,Count(*),AVG(月薪)FROM工资表GROUPBY月薪
B.SELECT姓名,Count(*),AVG(月薪)FROM工资表GROUPBY部门号
C.SELECT部门号,Count(月薪),AVG(*)FROM工资表GROUPBY部门号
D.SELECT部门号,Count(月薪),AVG(月薪)FROM工资表GROUPBY部门号
(13)对于索引,以下说法正确的是()。
A.一个数据表只能有一个索引
B.一个数据表只能有一个唯一索引
C.一个数据表只能有一个聚集索引
D.一个数据标只能有一个非聚集索引
(14)对于视图,以下正确的说法是()。
A.视图显示的数据可以取自于多个基础表
B.视图中的数据不可更改
C.可以基于一个视图,一次性地更改多个基础表的数据
D.视图存在于内存中,每次重新启动DBMS时,视图便会自动消失。
(15)设关系R的主属性是A,则属性A唯一且不能取空值(NULL),这是()规则。
A.域完整性B.参照完整性
C.用户自定义完整性D.实体完整性
实体完整性是对关系中的记录唯一性,也就是主键的约束。
准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值
参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。
准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。
自定义完整性 意为:
用户对数据的语义和逻辑要求必须被满足
解释:
单个属性的取值只能在许可的范围内,称域完整性。
一个元组的多个属性值之间相容,称元组完整性。
技术体现为:
指定每个列的数据类型和取值范围。
制定数据检查规则。
三、填空题(共10分,每空1分)
(1)数据库的三级模式包括外模式、内模式和模式。
(2)SQL按其实现功能可以将SQL语言划分为:
数据操纵语言,__数据定义语言_______,____数据控制语言_____
数据操纵语言(DML):
主要用来处理数据库中的数据内容。
允许用户对数据库中的数据进行查询,插入,更新和删除等操作
数据定义语言(DDL):
是一组SQL命令,用于创建和定义数据库对象,并且将对这些对象的定义保存到数据字典中。
通过DDL语句可以创建数据库对象,修改数据库对象和删除数据库对象等。
数据控制语言(DCL):
数据控制语言用于修改数据库结构的操作权限。
(3)写出约束的英文名,主键约束:
___primarykey_______,唯一约束:
_unique________,检查约束:
___check_______。
(4)SQL语句中使用isnull运算符判断字段值是否为空,使用_exists________运算符测试子查询结果是否为空。
EXISTS 运算符用来检查每一行是否匹配子查询,可以认为 EXISTS 就是用来测试子查询的结果是否为空,如果结果集为空则匹配结果为 false,否则匹配结果为 true。
(5)SQLServer数据库的文件分为三类,它们的后缀名分别是mdf,____ndf________,_______ldf______.
四、综合题(共40分)
1.(共5分)有关系模式R(U,F),属性集合U={A,B,C,D,E},函数依赖集合F={A->BC,B->D,CD->E,E->B},请回答如下的问题:
(1)R的主码是:
A
(3)R最高属于第几范式?
说明理由;
R最高属于2NF,R的主码是A,属性对主码都是完全依赖,但CD->E,E->B,存在传递依赖
(4)R是否为第三范式,解释原因;若不是,将R分解为3NF,并给出每个关系模式的主码。
R不是3NF,CD->E,E->B,存在传递依赖
分解为:
R1(A,B,C)主码是A,
R2(B,D)主码是B,
R3(C,D,E)主码是(C,D),
R4(E,B)主码是E。
2.(共35分)程序填空与程序设计题(共35分)
student数据库中有4个表:
stu_info(学号,姓名,性别,年龄,系号)、department(系编号,系名),curriculum(课程编号,课程名称,学分),grade(学号,课程编号,成绩)
学号
姓名
性别
年龄
系号
001
李林
男
18
D01
002
白冰
女
17
D02
003
刘云
男
16
D02
系编号
系名
D01
软件系
D02
网络系
D02
电子系
(1)程序填空(每空1分,共17分)
1)完成以下代码,使用以下T-SQL创建数据库student,且主数据库文件名为student_dat.mdf,存放在d盘database文件夹下。
CreatedatabaseStudent
ON
(NAME=student,
FILENAME=’D:
\database\student_dat.mdf’)
2)完成以下代码,使用以下T-SQL在student数据库中先创建stu_info表,给性别列设置检查约束,要求只能输入男或女。
CREATETABLEstu_info(
学号char(10)notnull,
姓名char(8)notnull,
性别char
(2)notnullCHECK性别=’男’or性别=’女’,
年龄intnotnull,
系号char(3))
--向stu_info表中添加主键
Altertablestu_info
ADDCONSTRAINTpk_numprimarykey(学号)
3)完成以下代码,使用以下T-SQL在student数据库中grade表,将学号和课程编号设置为主键将学号设置为外键约束,此学号关联于stu_info表中学号。
CREATETABLEgrade(
学号char(10)notnull,
课程编号char(6)notnull,
成绩int,
CONSTRAINTpk_sPRIMARYKEY(学号,课程编号),
CONSTRAINTfk_stinfoFOREIGNKEY学号REFERENCESstu_info.学号)
4)以下代码统计stu_info表中学生人数大于300的系部信息,要求显示系号,系部人数
SELECT系号,count(*)as系部人数
GROUPBY系号
Havingcount(*)>300
5)以下代码查询curriculum表中课程名称中含有”数据库”的课程信息。
SELECT*FROMcurriculum
WHERE课程名称=‘%数据库%’
6)以下代码查询软件系或网络系的学生信息。
SELECT*FROMstu_info
WHERE系号in(SELECT系号FROMdepartmentWHERE
系名in(‘软件系’,‘网络系’))
7)将stu_info表中姓名列创建唯一非聚集索引,索引名称为stu_uqn
CREATEuniquenonclustered
INDEXstu_uqn
ONstu_info(姓名)
--删除stu_info表中的stu_uqn索引
Dropindex
8)使用T-SQL语句删除student数据库
Dropdatabasestudent
(2)用SQL语句完成如下题目(共18分)
1)向stu_info表增加一条数据,(004,张三,男,16)(2分)
Insertintostu_info(学号,姓名,性别,年龄)
Values(‘004’,’张三’,’男’,’16’)
2)修改stu_info表中学号为003的信息,系号改为D03。
(2分)
Updatefromstu_info
SET系号=’D03’
Where学号=’003’
3)将stu_info表中学号为004、姓名为张三的学生记录删除。
(2分)
Deletefromstu_info
Where学号=’004’AND姓名=’张三’
4)对stu_info表,列出18岁男生的学生名单。
(2分)
Select*fromstu_info
Where年龄=18and性别=男
5)查询没有选修“办公软件”课程的学生的学号,姓名,成绩。
(4分)
SELECT学号,姓名
FROMstu_info
WHERE学号NOTIN
(SELECT学号FROMgradeJOINcurrilumONgrade.课程编号=currilum.课程编号WHERE课程名称=’办公软件’)
6)对stu_info表,根据系别查询学生的学号,姓名,系别,系别相同的按学号降序输出。
(3分)
Select学号,姓名,系号
Fromstu_info
Orderby系号,学号desc
7)基于grade表创建视图V1,用于显示每个学生的平均成绩,即显示(学号,平均成绩)。
(3分)
Createviewv1
As
Select学号,avg(成绩)as平均成绩
Fromgrade
Groupby学号
五、设计题(10分)
某旅行社管理系统涉及的部分信息如下:
.
(1)景点:
景点编号,景点名称,地点,景点描述.
(2)线路:
线路编号,线路名称,线路描述.
(3)导游:
工号,姓名,等级.
(4)团队:
团队编号,人数,开始日期,截止日期.其中:
每条线路由多个景点组成,不同线路的景点存在交叉;每条线路有多名导游,但一名导游只负责一条线路;每条线路可同时存在多个旅游团队,但每个团队只旅游一条线路.
(1)画出E-R图,要求标注联系类型(可省略实体属性)。
(共5分)
(2)将E-R模型转换为关系模型,写出关系模式,要求标注每个关系的主键和外键.(共5分)
2.
景点(景点编号,景点名称,地点,景点描述)主键:
景点编号
线路(线路编号,线路名称,线路描述)主键:
线路编号
导游(工号,姓名,等级,线路编号)
主键:
线路编号+工号外键:
线路编号
旅游团队(团队编号,人数,开始日期,截止日期,线路编号)
主键:
线路编号+团队编号外键:
线路编号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期中 检验 见解 解释
![提示](https://static.bdocx.com/images/bang_tan.gif)