2021数据结构考研《数据库系统概论》考研真题大题解析.pdf

上传人:ylj18****70940 文档编号:80683068 上传时间:2023-03-23 格式:PDF 页数:13 大小:1.33MB
返回 下载 相关 举报
2021数据结构考研《数据库系统概论》考研真题大题解析.pdf_第1页
第1页 / 共13页
2021数据结构考研《数据库系统概论》考研真题大题解析.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《2021数据结构考研《数据库系统概论》考研真题大题解析.pdf》由会员分享,可在线阅读,更多相关《2021数据结构考研《数据库系统概论》考研真题大题解析.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 2021 数据结构考研数据库系统概论考研真题大题解析 1、设计与应用题 1 某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话 维修项目:项目号,项目名称,维修费 汽车备件:备件号,备件名称,备件单价,库存数量 以上数据之间存在下列约束:可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。根据以上需求构建该数据库的概念模型(画 E-R 图)。假设车辆信息有如下约束:车牌号

2、:标识属性,取值形式为:第 1 个字符是“京”,第 2 个字符为“A”到“Z”的字母,第 3 到第 7 个字符均是“0”到“9”的数字。此列采用普通编码定长字符型,非空;车型:普通编码定长字符型,长度为 6,默认值为“轿车”;发动机号:普遍编码定长字符型:长度为 6,非空;行驶里程:整型,取值大于或等于 0;车辆所有人:普通编码定长字符型,长度为 8,非空;联系电话:普通编码定长字符型,长度为 13,取值唯一。写出创建满足上述要求的车辆信息表的SQL 语句。(注:表名和列名均用题中给出的中文名,SQL 语句中大、小写字母均可。)答:概念模型如下:【解析】根据题意可知,一个车辆可以进行多个项目的

3、维修,一个维修可以用于多个车辆,所以实体车辆信息与维修项目之间是多对多的关系;一种配件可用于多个维修项目,但一个维修项目最多只能用一种配件,所以配件与维修项目是一对多的关系。SQL 语句中车牌号的取值形式限定可用 CHECK 约束来表示。2 现有关系模式:教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名)其函数依赖集为:教师号姓名,教师号职称,课程号课程名,课程号学分,课程号教科书名 指出这个关系模式的主码。这个关系模式是第几范式,为什么?将其分解为满足 3NF 要求的关系模式(分解后的关系模式名自定)答:主码为:(教师号、课程号)第 1 范式,因为存在部分依赖。分解方法为:教师表

4、(教师号,姓名,职称)课程表(课程号,课程名,学分,教科书名)教师授课表(教师号,课程号)【解析】外码的数据项需参照主码的数据项来操作,主码和外码是用来实现参照完整性的。第一范式:(1NF)无重复的列;第二范式:(2NF)属性完全依赖于主键;第三范式:(3NF)属性不依赖于其它非主属性。3 为在某种程度上保证某数据库系统可靠地运行,在 SQL Server 2000 环境中,对其制定有下列三种备份策略。假设对此数据库进行一次完全备份需要 4 小时,差异备份需要 2 小时,日志备份需要 1 小时。设所有备份都是从凌晨 1:00 开始。策略 1:每周周日进行一次完全备份,每周周一至周六每天进行一次

5、日志备份;策略 2:每周周日进行一次完全备份,每周周一至周六每天进行一次差异备份;策略 3:每天进行一次完全备份。假设需要保留一年的备份数据,比较三种备份策略所占用的空间。比较每种备份策略的备份和恢复速度。答:占用空间量从大到小排序为:策略 3,策略 2,策略 1;备份速度从快到慢排序为:策略 1,策略 2,策略 3;恢复速度从快到慢排序为:策略 3,策略 2,策略 1。【解析】完全备份不考虑文件的存档属性,备份全部选中的文件夹,所以占用空间最大,但是速度最快;差异备份备份上一次完全备份后发生变化的所有文件,是针对于完全备份的,恢复时需要完全数据备份和最近的差异备份;日志备份需要有完全数据备份

6、,备份自上次 backup log 语句到当前日志尾之间的所有数据库修改;日志备份的数据量少,只备份上次备份到现在的修改,恢复时需要完全数据库备份和所有的日志备份,占用空间最小,但恢复时间最慢。4 有两张关系表:Students(SID,SName,Sex,Dept)Prizing(SID,PName,Type,PDate)Students 表描述的是学生基本信息,Prizing 表描述的是学生获奖信息。若在应用程序中经常使用如下查询语句:SELECT S.SID,SName,PName,Type FROM Students AS S JOIN Prizing AS P ON S.SIDP.S

7、ID;请问能否使用聚集文件提高此查询的性能?并给出原因。为了提高查询性能,数据库管理员在 Students 表的 SName 列上建立了一个非聚集索引 SName_ind。如果应用程序使用如下语句查询数据:SELECT*FROM Students WHERE SName like%华;请问 SName_ind 索引是否能够提高语句的查询速度,并给出原因。答:可以用聚集文件提高查询性能。因为聚集文件将不同关系表中有关联关系的记录存储在一起,减少了系统的物理 I/O 操作次数,提高了查询性能。此索引不能提高该语句的查询速度。因为该索引是建立在 SNAME 上的非聚集索引,以 SNAME 首字母排序

8、,而查询语句查询的名字是最后一个“华”的SNAME,所以仍然需要全部扫描 students 表,因此不能提高该语句的查询速度。【解析】聚集文件本身存储不同类型表的联系,能够减少表间的连接操作,提高查询性能。而非聚集索引对于以 SNAME 首字母排序时有效。5 某公司需建立产品信息数据库,经调查其业务要求如下:一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;对于一种具体的部件,要记录这种部件使用的各种零件的数量;对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零

9、件数量,但部件所使用的零件数量不计入该种产品的零件数量;一个供应商可供应多种零件,但一种零件只能由一个供应商供应。根据以上业务要求,某建模人员构建了如下 E-R 图:此 E-R 图中的实体的属性完整,但实体、联系的设计存在不合理之处。请重新构建合理的 E-R 图,使之符合业务要求,且信息完整。根据重构的 E-R 图给出符合 3NF 的关系模式,并标出每个关系模式的主码和外码。答:重新构建后的 E-R 图如下:符合 3NF 的关系模式:(带下划线的为主码属性)产品(产品号(PK),产品名称,型号,装配图号)部件(部件号(PK),部件名称)零件(零件号(PK),零件名称,供应商号(FK)产品_部件

10、(产品号(FK),部件号(FK),部件数量)产品_零件(产品号(FK),零件号(FK),零件数量)部件_零件(部件号(FK),零件号(FK),零件数量)供应商(供应商号(PK),供应商名称,联系电话)【解析】题中实体设计中存在明显的不合理之处,比如供应商应该是一个独立的实体。此外,没有准确的表现产品和零件之间直接的联系。一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件,说明产品与零件是有直接关系的,所以需要一个能表示它们之间的关系的实体,否则,设计出来的关系模式就会存在大量的数据冗余。6 在 SQL Server 2000 中,有教师表 Teachers(TeaeherID,N

11、ame,LeaderID,其中 TeacherID 是主码,类型是长度为 4 的普通编码定长字符串,且每位是 09 的数字字符;Name 的类型是长度为 10 的普通编码可变长字符串;LeaderID是每个教师的领导的 TeacherID。写出创建 Teachers 表的 SQL 语句,要求语句中包含所有的约束。现要查询 TeaeherID 为“1234”的教师的领导的上级领导的 TeacherID,请给出相应的 SQL 语句,要求只使用一条 SQL 语句实现,且此语句中不允许包含子查询。答:【解析】应使用 CREATE 语句创建表格;可以通过对该表进行自我连接查询领导的信息,“1234”的条

12、件约束可以通过 WHERE 子句来实现。2 简答题 1 有如下 2 个关系表:Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资 Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号 写出一条 SQL 语句,查询工资高于 10000,且与他所在部门的经理年龄相同的职工姓名。答:select a.*from Emp a,Dept b,Emp c where a.didb.did and b.mgr_idc.eid and a.salary10000 and a.agec.age;【解析】select

13、和 where 的语法为:SELECT 列名称 FROM 表名称 WHERE 列运算符值;2 有学生表(学号,姓名,年龄,性别,系名,专业名,班号),设一个系可有多个专业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按“系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立一个非聚集索引,建立此索引有下列两种方法:方法 1:索引列顺序为(系名,班号)。方法 2:索引列顺序为(班号,系名)。这两种方法哪个更合理?请简要说明原因。针对你认为合理的方法,写出创建该索引的 SQL 语句。答:方法 1 更加合理,理由如下:更加有利于减少索引层次,提高查询效

14、率;更加符合使用习惯;更加便于(系、班)进行统计。create index index_1 on 学生表(系名,班号);【解析】SQL Server 在创建主键或其它索引时自动将字段的顺序设置为升序排列,这样做的目的是为了保持与 SQL Server 早期版本的兼容性。创建索引时索引列的顺序应该按照常用查询中的排序方式排序。3 考虑定义在事务集(T1,T2,T3)上的调度 S1 和 S2,S1 与 S2 是否是冲突等价的?为什么?答:不是等价冲突,因为 T1 的 write(Q)和 T2 的 write(Q)是冲突的,不可交换。【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。

15、不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度 S,通过调换 S 中的不冲突操作次序所得到的新调度称为 S 的冲突等价调度。不冲突操作有两类:一是对同一数据均为读操作,即 Ri(x),Rj(x);二是对不同数据对象的一组操作中可以有写的操作,即 Ri(x),Wj(y)或Wi(x)Wj(y)。因为 T1 和 T2 对数据对象 Q 进行了相同的写操作,所以是冲突的,所以 S1 和 S2 不是冲突等价的。3 填空题 1 设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。SELEC

16、T 城市 FROM 作者表_ SELECT 城市 FROM 出版商表;【答案】EXCEPT 查看答案【解析】EXCEPT 语句的作用是查询两个数据表中除“公共”数据以外的数据信息,即查询两个数据表中的“除外”数据信息。使用 EXCEPT 运算符可以实现集合差操作,从左查询中返回右查询没有找到的所有非重复值。2 设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。请补全如下语句:CREATE VIEW V1(商品类别,平均价格)AS SELECT 商品类别,_FROM 商品表 GROUP BY 商品类别;【答案】AVG(价格)查看

17、答案【解析】SQL 中,AVG(字段名)函数用来计算一组记录中某个字段值的平均值。3 在 VB 6.0 中,已经用 Adobel 连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到 Adobel.Recordset 的_方法和 Update 方法,使用 Adobel.Recordset 的_方法可以使当前行指针在结果集中向前移动一行。【答案】AddNew;MovePrevious 查看答案【解析】Recordset 对象中的 AddNew 方法可以用来在结果集里添加一个新记录。MovePrevious 方法用来将当前行记录指针向前移动一行。4 设在 SQL S

18、erver 2000 环境下,对“销售数据库”进行的备份操作序列如下图所示。出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。首先应该进行的恢复操作是恢复_,第二个应该进行的恢复操作是恢复_。假设这些备份操作均是在 BK 设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句 RESTORE_FROM BK WITH FILE1,_;【答案】完全备份 1;差异备份 2;DATABASE 销售数据库;RECOVERY查看答案【解析】数据库恢复的顺序为:恢复最近的完全数据库备份。恢复完全备份之后的最近的差异数据库备份(如果有的话)。按日志备份的先后顺序恢复自最

19、近的完全或差异数据库备份之后的所有日志备份。用来实现恢复数据库的 RESTORE 语句其基本语法格式为:RESTORE DATABASE 数据库名 FROM 备份设备名 WITH FILE文件号,NORECOVERY,RECOVERY;5 在 SQL Server 2000 中,数据页的大小是 8KB。某数据库表有 1000 行数据,每行需要 5000 字节空间,则此数据库表需要占用的数据页数为_页。【答案】1000 查看答案【解析】一个数据页的存储空间是 81024 字节,最多能存放 8000 多个字节,而 SQL Server 2000 中不允许跨页存储一行数据,每行需要 5000 字节的

20、空间,于是每个数据页最多只能存放一行数据,所以 1000 行数据需要的数据页数是 1000 页。6 在 SQL Server 2000中,新建了一个 SQL Server 身份验证模式的登录账户LOG,现希望 LOG 在数据库服务器上具有全部的操作权限,下述语句是为 LOG授权的语句,请补全该语句。EXEC sp_addsrvrolememberLOG,_;【答案】dbowner 查看答案【解析】在 SQL Server 中,dbonwer 具有数据库服务器上的全部权限。7 在 SQL Server 2000 中,某数据库用户 User 在此数据库中具有对 T 表数据的查询和更改权限。现要收回

21、 User 对 T 表的数据更改权,下述是实现该功能的语句,请补全语句。_UPDATE ON T FROM User;【答案】REVOKE 查看答案【解析】在 SQL Server 中,收回权限用 REVOKE 来实现。8 某事务从账户 A 转出资金并向账户 B 转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_性。【答案】原子查看答案 【解析】由事务的原子性可知,它对数据所做的修改操作要么全部执行,要么全部不执行。9 某在 SQL Server 2000 数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。【答案】TOP3;SUM(销售单价成本价)*销售数量);DESC 查看答案【解析】用 TOPn 来查询前 n 条记录,用 SUM 函数来计算销售总利润等于每类商品销售单价与成本价的差额与销售数量的乘积的累加和。用 DESC 按销售总利润降序排列查询最多的前几条记录。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁