版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021数据结构考研《数据库系统概论》考
研真题大题解析1、设计与应用题1某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话维修项目:项目号,项目名称,维修费汽车备件:备件号,备件名称,备件单价,库存数量以上数据之间存在下列约束:可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。①根据以上需求构建该数据库的概念模型(画E-R图)。②假设车辆信息有如下约束:车牌号:标识属性,取值形式为:第1个字符是“京”,第2个字符为“A”到“Z”的字母,第3到第7个字符均是“0”到“9”的数字。此列采用普通编码定长字符型,非空;车型:普通编码定长字符型,长度为6,默认值为“轿车”;发动机号:普遍编码定长字符型:长度为6,非空;
行驶里程:整型,取值大于或等于0;车辆所有人:普通编码定长字符型,长度为8,非空;联系电话:普通编码定长字符型,长度为13,取值唯一。写出创建满足上述要求的车辆信息表的SQL语句。(注:表名和列名均用题中给出的中文名,SQL语句中大、小写字母均可。)维修时间维修②答:概念模型如下:车辆信息维修时间维修②答:概念模型如下:车辆信息Createtable牵轲信息〔Createtable牵轲信息〔军差号char⑷NotNULLCHECK车坦号like(^^[A-Z]fK9][0-^][M][M]^车型diar@default"轿车二发动机与diar⑸NOTNULL,行驻里程imCHECK(行驻里徨T):车辆所有人char(8)NOTNULL,联弗电话diar[13)UNIQUE,PRTV\YTEKEY〔车源W〕【解析】①根据题意可知,一个车辆可以进行多个项目的维修,一个维修可以用于多个车辆,所以实体车辆信息与维修项目之间是多对多的关系;一种配件可用于多个维修项目,但一个维修项目最多只能用一种配件,所以配件与维修项目是一对多的关系。②SQL语句中车牌号的取值形式限定可用CHECK约束来表示。2现有关系模式:教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名)其函数依赖集为:{教师号一姓名,教师号一职称,课程号一课程名,课程号一学分,课程号一教科书名}①指出这个关系模式的主码。②这个关系模式是第几范式,为什么?③将其分解为满足3NF要求的关系模式(分解后的关系模式名自定)答:①主码为:(教师号、课程号)②第1范式,因为存在部分依赖。③分解方法为:教师表(教师号,姓名,职称)课程表(课程号,课程名,学分,教科书名)教师授课表(教师号,课程号)【解析】①外码的数据项需参照主码的数据项来操作,主码和外码是用来实现参照完整性的。②第一范式:(1NF)无重复的列;第二范式:(2NF)属性完全依赖于主键;第三范式:(3NF)属性不依赖于其它非主属性。3为在某种程度上保证某数据库系统可靠地运行,在SQLServer2000环境中,对其制定有下列三种备份策略。假设对此数据库进行一次完全备份需要4小时,差异备份需要2小时,日志备份需要1小时。设所有备份都是从凌晨1:00开始。策略1:每周周日进行一次完全备份,每周周一至周六每天进行一次日志备份;策略2:每周周日进行一次完全备份,每周周一至周六每天进行一次差异备份;策略3:每天进行一次完全备份。①假设需要保留一年的备份数据,比较三种备份策略所占用的空间。②比较每种备份策略的备份和恢复速度。答:①占用空间量从大到小排序为:策略3,策略2,策略1;②备份速度从快到慢排序为:策略1,策略2,策略3;恢复速度从快到慢排序为:策略3,策略2,策略1。【解析】完全备份不考虑文件的存档属性,备份全部选中的文件夹,所以占用空间最大,但是速度最快;差异备份备份上一次完全备份后发生变化的所有文件,是针对于完全备份的,恢复时需要完全数据备份和最近的差异备份;日志备份需要有完全数据备份,备份自上次backuplog语句到当前日志尾之间的所有数据库修改;日志备份的数据量少,只备份上次备份到现在的修改,恢复时需要完全数据库备份和所有的日志备份,占用空间最小,但恢复时间最慢。4有两张关系表:Students(SID,SName,Sex,Dept)Prizing(SID,PName,Type,PDate)Students表描述的是学生基本信息,Prizing表描述的是学生获奖信息。①若在应用程序中经常使用如下查询语句:SELECTS.SID,SName,PName,TypeFROMStudentsASSJOINPrizingASPONS.SID=P.SID;请问能否使用聚集文件提高此查询的性能?并给出原因。②为了提高查询性能,数据库管理员在Students表的SName列上建立了一个非聚集索引SName_ind。如果应用程序使用如下语句查询数据:SELECT*FROMStudentsWHERESNamelike'%华’;请问SName_ind索引是否能够提高语句的查询速度,并给出原因。答:①可以用聚集文件提高查询性能。因为聚集文件将不同关系表中有关联关系的记录存储在一起,减少了系统的物理I/O操作次数,提高了查询性能。②此索引不能提高该语句的查询速度。因为该索引是建立在SNAME上的非聚集索引,以SNAME首字母排序,而查询语句查询的名字是最后一个“华”的SNAME,所以仍然需要全部扫描students表,因此不能提高该语句的查询速度。【解析】聚集文件本身存储不同类型表的联系,能够减少表间的连接操作,提高查询性能。而非聚集索引对于以SNAME首字母排序时有效。5某公司需建立产品信息数据库,经调查其业务要求如下:I.一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;口.对于一种具体的部件,要记录这种部件使用的各种零件的数量;田.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;IV.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。根据以上业务要求,某建模人员构建了如下E-R图:零件号零件名称7联系电话供应商名装配图号此零件号零件名称7联系电话供应商名装配图号此E-R图中的实体的属性完整,但实体、联系的设计存在不合理之处。①请重新构建合理的E-R图,使之符合业务要求,且信息完整。②根据重构的E-R图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。答:①重新构建后的E-R图如下:部件号联系电版供应商年件名秘答:①重新构建后的E-R图如下:部件号联系电版供应商年件名秘.装配留珍②符合3NF的关系模式:(带下划线的为主码属性)产品(产品号(PK),产品名称,型号,装配图号)部件(部件号(PK),部件名称)零件(零件号(PK),零件名称,供应商号(FK)产品_部件(产品号(FK),部件号(FK),部件数量)产品_零件(产品号(FK),零件号(FK),零件数量)部件_零件(部件号(FK),零件号(FK),零件数量)供应商(供应商号(PK),供应商名称,联系电话)【解析】题中实体设计中存在明显的不合理之处,比如供应商应该是一个独立的实体。止的卜,没有准确的表现产品和零件之间直接的联系。一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件,说明产品与零件是有直接关系的,所以需要一个能表示它们之间的关系的实体,否则,设计出来的关系模式就会存在大量的数据冗余。6在SQLServer2000中,有教师表Teachers(TeaeherlD,Name,LeaderID,其中TeaeherlD是主码,类型是长度为4的普通编码定长字符串,且每位是0~9的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderlD是每个教师的领导的TeaeherlD。①写出创建Teachers表的SQL语句,要求语句中包含所有的约束。②现要查询TeaeherlD为“1234”的教师的领导的上级领导的TeaeherlD,请给出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询。答:①createtableTeachers(TeaeherlDchart4)check.(TeaeherlD1ike”10-9:「0-91[。~—91'')N自ni巨uarchar(10).LeaderlDchar<4>.primaryk.eyTeaeherlD.foreignkeyLeaderlDreferencesTeachers(TeaeherlD)②selectT2,LeaderlDfromTeachersasT1joinTeachersasT2anTl.LeaderlD=T2,TeaeherlDwhereTLTeaeherlD=F234*【解析】应使用CREATE语句创建表格;可以通过对该表进行自我连接查询领导的信息,“1234”的条件约束可以通过WHERE子句来实现。2简答题1有如下2个关系表:Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号写出一条SQL语句,查询工资高于10000,且与他所在部门的经理年龄相同的职工姓名。答:selecta.*fromEmpa,Deptb,Empcwherea.did=b.didandb.mgr_id=c.eidanda.salary>10000anda.age=c.age;【解析】select和where的语法为:SELECT列名称FROM表名称WHERE列运算符值;2有学生表(学号,姓名,年龄,性别,系名,专业名,班号),设一个系可有多个专业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按“系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立一个非聚集索引,建立此索引有下列两种方法:方法1:索引列顺序为(系名,班号)。方法2:索弓|歹I」顺序为(班号,系名)。①这两种方法哪个更合理?请简要说明原因。②针对你认为合理的方法,写出创建该索引的SQL语句。答:①方法1更加合理,理由如下:更加有利于减少索引层次,提高查询效率;更加符合使用习惯;更加便于(系、班)进行统计。②createindexindex_1on学生表(系名,班号);【解析】SQLServer在创建主键或其它索引时自动将字段的顺序设置为升序排列,这样做的目的是为了保持与SQLServer早期版本的兼容性。创建索引时索引列的顺序应该按照常用查询中的排序方式排序。3考虑定义在事务集(T1,T2,T3)上的调度S1和S2,S1与S2是否是冲突等价的?为什么?S1S2nT2T3T'lT213readCQj^witeCQjwriteCPjrea-dCP)-writeCQ?writeCPjwriteCQ?read1二P)t他d血话CQJwriteCPj侬dCP)^aiteCQjwrireCP;writeC-Qj0d(Pj答:不是等价冲突,因为T1的write(Q)和T2的write(Q)是冲突的,不可交换。【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度S,通过调换S中的不冲突操作次序所得到的新调度称为S的冲突等价调度。不冲突操作有两类:一是对同一数据均为读操作,即Ri(x),Rj(x);二是对不同数据对象的一组操作中可以有写的操作,即Ri(x),Wj(y)或Wi(x)Wj(y)。因为T1和T2对数据对象Q进行了相同的写操作,所以是冲突的,所以S1和S2不是冲突等价的。3填空题1设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。SELECT城市FROM作者表 SELECT城市FROM出版商表;【答案】EXCEPT查看答案【解析】EXCEPT语句的作用是查询两个数据表中除“公共”数据以外的数据信息,即查询两个数据表中的“除外”数据信息。使用EXCEPT运算符可以实现集合差操作,从左查询中返回右查询没有找到的所有非重复值。2设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。请补全如下语句:CREATEVIEWV1(商品类别,平均价格)ASSELECT商品类别UFROM商品表GROUPBY商品类别;【答案】AVG(价格)查看答案【解析】SQL中,AVG(字段名)函数用来计算一组记录中某个字段值的平均值。3在VB6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到Adobel.Recordset的—方法和Update方法,使用Adobel.Recordset的方法可以使当前行指针在结果集中向前移动一行。【答案】AddNew;MovePrevious查看答案【解析】Recordset对象中的AddNew方法可以用来在结果集里添加一个新记录MovePrevious方法用来将当前行记录指针向前移动一行。4设在SQLServer2000环境下,对“销售数据库”进行的备份操作序列如下图所示。完全 日志 日志 翦异 口忐 U志 差异 日忐 出现能你 加份: 揩鄢2 容份I符份3 备份4 备份工林份5 故障 1 1 1 1二 」 1 一时间①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。首先应该进行的恢复操作是恢复第二个应该进行的恢复操作是恢复一。②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句RESTOREFROMBKWITHFILE=1,;【答案】完全备份1;差异备份2;DATABASE销售数据库;RECOVERY查看答案【解析】数据库恢复的顺序为:①恢复最近的完全数据库备份。②恢复完全备份之后的最近的差异数据库备份(如果有的话)。③按日志备份的先后顺序恢复自最近的完全或差异数据库备份之后的所有日志备份。用来实现恢复数据库的RESTORE语句其基本语法格式为:RESTOREDATABASE数据库名FROM备份设备名[WITHFILE=文件号[,]NORECOVERY[,]RECOVERY];5在SQLServer2000中,数据页的大小是8KB。某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为一页。【答案】1000查看答案【解析】一个数据页的存储空间是8x1024字节,最多能存放8000多个字节,而SQLServer2000中不允许跨页存储一行数据,每行需要5000字节的空间,于是每个数据页最多只能存放一行数据,所以1000行数据需要的数据页数是1000页。6在SQLServer2000中,新建了一个SQLServer身份验证模式的登录账户LOG,现希望LOG在数据库服务器上具有全部的操作权限,下述语句是为LOG授权的语句,请补全该语句。EXECsp_addsrvrolemember'LOG′,;【答案】dbowner查看答案
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度集装箱运输企业信用评价与风险管理合同3篇
- 二零二五年环保节能型监控设备采购与技术支持合同2篇
- 二零二五版房屋租赁及转让合同全方位权益创新协议2篇
- 二零二五版文化创意产业园区使用权转让合同3篇
- 二零二五年度国际公路运输代理合同2篇
- 二零二五版城市绿化苗木租赁合同3篇
- 二零二五版环保设备质押贷款合同模板3篇
- 二零二五年度高级管理人员出差责任免除服务合同范本2篇
- 二零二五版体育行业劳动合同管理规范及运动员权益保障协议3篇
- 二零二五年度节水减排供水合同范本3篇
- 2023年山东省青岛市中考化学试题(含答案解析)
- 商业计划书(BP)产品与服务的撰写秘籍
- 安徽华塑股份有限公司年产 4万吨氯化石蜡项目环境影响报告书
- 公司章程(二个股东模板)
- 世界奥林匹克数学竞赛6年级试题
- 药用植物学-课件
- 文化差异与跨文化交际课件(完整版)
- 国货彩瞳美妆化消费趋势洞察报告
- 云南省就业创业失业登记申请表
- UL_标准(1026)家用电器中文版本
- 国网三个项目部标准化手册(课堂PPT)
评论
0/150
提交评论