




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试四级数据库论述题真题(23)5为学校中学生选课管理这个现实问题进行数据库模式设计。根据调查分析,确定它的属性集合为: US#,C#,SNAME,CNAME,TEACHER,GRADE, 5为学校中学生选课管理这个现实问题进行数据库模式设计。根据调查分析,确定它的属性集合为: US#,C#,SNAME,CNAME,TEACHER,GRADE,SD 下面给出两种确定的模式设计方案: 方案一:只有一个关系模式: R(S#,C#,SNAME,CNAME,TEACHER,GRADE,SD) 方案二:如果根据属性之间存在的联系或相关性,建立如下三个关系: S(S#,SNAME,SD),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE) (1).试分析这两种模式设计方案各自的优缺点。(26分) (2).通常情况下你认为哪种方案更“好”些?请说明理由。(4分) 答案: 对一个现实问题,进行关系数据库模式设计,通常其设计结果不是唯一的。每个方案有各自的优缺点。对本题可以得到如下的分析结果: 对方案一:这个关系模式存在如下问题:(每个问题4分,共16分。若只给出问题,没有说明得2.5分) (1).数据存在大量冗余。例如:(至少给出1项) S#,SNAME,SD要重复“每个学生选修的课程数” C#,CNAME,TEACHER要重复“学生选修这门课的人数” (2).更新异常。由于数据存在大量冗余,容易引起更新异常。例如,当更新某门课程的教师时,由于数据存在大量冗余,可能造成与这门课程有关的元组中,一部分元组的TEACHER的值被更新,而另一部分元组的TEACHER的值未被更新。 (3).插入异常。显然,这个关系的主键是S#和C#。由于主键属性值不能为空值,当登记学生信息时,由于该学生尚未选课,C#未确定,该学生的其他信息也无法登入,这不是我们的意愿。 (4).删除异常。如果某些课程因故删除了,则只选修这些课程的学生信息也被删除了,这往往也不是我们的本意,我们并不希望删除这些学生的信息。 对方案二:如果根据属性之间存在的联系或相关性,建立了三个关系,则方案一中存在的异常现象被消除了。(得5分) 但对诸如“查找张三的数据库技术课程的成绩”之类的问题时,这需要连接这三个关系才能完成,这个查询代价高而且会影响效率。(得2.5分) 相比之下,第一个方案则可直接投影、选择就可以完成这类查询,不需要连接操作,显然代价低而且效率高。(得2.5分) 比较这两种设计方案:本人认为第二种设计方案虽然对某些查询问题连接操作较多,但它仍比第一种方案“好”,因为它不存在上述异常问题。(得4分) 6.(2003年)在学生选课课程数据库中有三个关系:S(S#,SNAME,SEX,AGE,SD),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。它们的主码分别是S#,(S#,C#),C#,并且其他属性都允许为空值(NULL)。用下面的SQL语句创建了两个视图: createviewCS_SasselectS#,SNAME,AGEfromS whereSD计算机系; createviewS_G(S#,GAVG)asselectS#,avg(GRADE) fromSCgroupbyS#; 若用下面的SQL语句对上述视图进行修改,它们能被成功执行吗?为什么? (1)updateCS_SsetSNAMEWANGPINGwhereS#200301001; (这里假定在表S中存在学生号S#200301001的行。) (2)insertintoCS_Svalues(200302189,YANGXIN,21); (这里假定在表S中不存在学生号S#200302189的行。) (3)updateS_GsetGAVG85whereS#200301001; (这里假定在表SC中存在学生号S#200301001的行。) 要求: 首先回答这三个SQL语句中哪个(些)能被成功执行,哪个(些)不能被成功执行(12分),再进一步说明能被成功执行或不能被成功执行的理由(18分)。 答案: (1)第(1)和(2)两个SQL语句能被成功执行;第(3)个SQL语句不能被成功执行。 (2)因为对视图的修改最终要转换为对基本表的修改。 对于第(1)个SQL语句能被成功执行的理由是:执行这个SQL语句将转换成执行如下的SQL语句: updateSsetSNAMEWANGPING whereSD计算机系andS#200301001; 对于第(2)个SQL语句能被成功执行的理由是:执行这个SQL语句将转换成执行如下的SQL语句: insertintoSvalues(200302189,YANGXIN,NULL,21,计算机系) 或insertintoS(S#,SNAME,AGE,SD)values(200302189,YANGXIN,21,计算机系) 转换后的这两个SQL语句,在本题意的假定下是能够被成功执行的。所以第(1)和(2)个SQL语句能被成功执行。 对于第(3)个SQL语句不能被成功执行的理由是:由于视图S_G中的一个行是由表SC中若干行经过分组求平均值得到的,因此对视图S_G的更新就无法转换成对基本表SC的更新。所以第(3)个SQL语句不能被成功执行。全国计算机等级考试四级数据库论述题真题(24)7.(2004年) 设某商品销售数据库中的信息有:员工员、员工名、工资、销售组名、销售组负责人、商品号、商品价、单价、销售日期、销售量、供供应者号、供应者名、供应者地址。假定:一个员工仅在一个销售组;一个销售组可销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多种商品,一种商品可以多渠道供货。 要求完成下列各题: (1)根据以上信息,给出ER图。(10分) (2)按规范化要求设计出3NF的数据库模式。(10分) (3)给出数据库模式中每个关系模式的主键和外键。(5分) (4)在所设计的数据库模式上,检索累计销售总额超过50000元的商品号、商品名、销售总额,并按商品号排序。(5分) 答案: (1)ER模型(10分;每个实体1分,包括属性;每个联系2分,包括联系类型.) (2)3NF的关系模式:(10分) R1(员工号,员工名,工资,销售组名);(2分,没有销售组名扣1分) R2(销售组名,销售组负责人);(1分) R3(商品号,商品名,单价,销售组名);(2分,没有销售组名扣1分) R4(商品号,销售日期,销售量);(2分) R5(供应者号,供应者名,供应者地址);(1分) R6(商品号,供应者号).(2分) 注:若R1,R3分为二个模式,也要扣1分. (3)主键(3分)外键(2分) R1员工号 R2销售组名 R3商品号销售组名 R4商品号,销售日期商品号 R5供应者号 R6商品号,供应者号商品号,供应者号 (4)(5分) SelectR3.商品号,商品名,sum(销售量)单价(1分) FromR3,R4whereR3.商品名R4.商品名(1分) GroupbyR3.商品名havingsum(销售量)单价%26gt;50000(2分) OrderbyR3.商品名(1分)全国计算机等级考试四级数据库论述题真题(22)3.(2000年)设计一个用于管理会议室的数据库。经调查分析,得到的数据项列出如下: 房间号r#CHAR(4),部门号d#CHAR(3),部门名称dnameCHAR(20), 房间容量contentINT,部门主管dmanagerCHAR(8),开会日期mdateDATE, 会议名称cnameCHAR(20),会议主题(subject)CHAR(80),会议类型(type), 部门人数dnumINT,当前房间状态stateCHAR(1), 并确定以会议室(room)信息,部门(department)信息,会议(conference)信息为实体,它们通过“开会(meeting)”联系起来。为了简化问题做如下假定: l 会议以部门召开,但一个部门在同一会议室不能重复召开同一个会议。 l 会议室按部门借用,且不预借。 l 当前房间状态取值为1表示该会议室当前正在开会,取值为0表示该会议室当前未被借用。 数据库概念设计的只包含主键属性的简化ER图如下: cname r# 会议conference 房间room 部门department d# 开会meeting m n p 要求: 数据库的逻辑结构设计:给出相应的表名、表的属性名(数据类型可省)、主键。(14分) 给出下列查询的SQL语句:(16分,每小题4分) a)当前未借用的会议室(房间号)和容量: b)2000年4月8日有哪些部门(部门名称)在开会?他们的主管是谁? c)2000年4月8日信息中心在哪个会议室(房间号)开会?会议名称和主题是什么? d)当前能够适合信息中心开会的有哪些会议室(房间号)? 答案: (1)数据库的逻辑结构设计(给出相应的表名,表结构,主键;(14分) room(r#,content,state)主键:r#(3分) department(d#,dname,dmanager,dnum)主键:d#(3分) conference(cname,subject,type)主键:cname(3分) meeting(r#,d#,cname,mdate)主键(r#,d#,cname)(5分) (2)给出下列查询的SQL语句:(16分,每小题4分) a)当前未借用的会议室(房间号)和容量: selectr#,contentfromroomwherestate0 b)2000年4月8日有哪些部门(部门名称)在开会?他们的主管是谁? Selectdname,dmanagerfromdepartmentd,meetingm whered.d#m.d#andmdate2000年4月8日 或 Selectdname,dmanagerfromdepartmentd whered.d#in(selectm.d#frommeetingmWheremdate2000年4月8日) c)2000年4月8日信息中心在哪个会议室(房间号)开会?会议名称和主题是什么? Selectr#,ame,subjectfromdepartmentd,meetingm,conferencec whered.d#m.d#ameand Mdate2000年4月8日anddname信息中心 或(注:本题中Selectr#,ame,.也可以是Selectr#,ame,. Selectr#,ame,subjectfrommeetingm,conferencec WhereMdate2000年4月8日ameand m.d#(selectd.d#fromdepartmentdwheredname信息中心) d)当前能够适合信息中心开会的有哪些会议室(房间号)? Selectr#fromroomwherestateOand content%26gt;(selectdnumfromdepartmentwheredname信息中心)4.(2001年) (l)、为了维护数据库的参照完整性,当删除被参照关系的元组时,系统可能采取哪些做法?(15分) (2)、若有学生关系S(S#,SNAME,SEX,AGE),其主键为S#;选课关系SC(S#,C#,GRADE),其主键为(S#,C#),且S.S#SC.S#。假定学生号为01001的学生离开学校不再回来了,为此若删除关系S中S#01001的元组时,如果关系SC中有4个元组的S#01001,应该选用哪一种做法?为什么?(15分) 答案: (1)、为了维护数据库的参照完整性,当删除被参照关系的元组时,系统可能采取如下三种做法(每种做法得5分): l)级联删除(cascades):即,当删除被参照关系的元组时,同时将参照关系中所有外键值与被参照关系中要被删除元组的主键值相等(相对应)的元组一起删除。 2)拒绝删除(restricted):即,只当参照关系中没有任何元组的外键值与被参照关系中要被删除的元组的主键值相等(相对应)时,系统才执行该删除操作,否则拒绝执行该删除操作。 3)置空值删除(nullfies):即,当删除被参照关系的元组时,同时将参照关系中所有与被参照关系中要被删除元组的主健值相等(相对应)的外键值都置为空值。 (2)、对于本题的情况,应该选用第一种做法。即,将关系SC中S#01001的4个元组也一起删除。(得10分) 因为当一个学生离开学校不再回来,他的个人信息记录若从S关系中删除了,那么他的选课信息记录就没有保存的必要,也应随之从SC关系中删除。(得5分) 全国计算机等级考试四级数据库论述题真题(21)1.(1997年)本题要求设计一个学生试卷成绩输入、查询和成绩单输出系统(简称SRS)的数据结构和算法要点。问题描述如下: 要输入到SRS系统中的每一份试卷成绩反映一个学生选修一门课程的考试结果,它包括以下数据项:学号、姓名、课程名、成绩。由于实行了灵活的选课制度,所以每个学生选修多少门课程,选修哪些课程都可以不同。要输入的多份试卷成绩并未按任何数据项排列顺序,它们以任意的顺序被输入到系统中来。 SRS系统要具有以下功能:试卷成绩插入,将试卷成绩逐个插入到SRS系统的数据结构中。学生成绩查询,给出学号查找该学生所选修的各门课程的考试成绩。成绩单输出,按学号递增的顺序依次输出所有学生的学号、姓名,及其所选修的各门课程的课程名和成绩。(为简单起见,假设上述所有工作都在计算机内存中进行。) 请设计SRS系统的数据结构和算法要点,使上述三项操作都有较高的执行效率。从以下方面阐述你的设计: (1)SRS系统的数据结构(15分) 数据结构的Pascal语句描述 数据结构的示意图 数据结构的简单文字说明 (2)SRS系统的算法要点(10分) (只要简单的文字说明,不必写出Pascal程序) 试卷成绩插入 学生成绩查询 成绩单输出 (3)简单陈述你的上述设计的理由(5分) 答案: 本题可有多种不同的设计方案,下面给出其中一个较好的方案。 (1)数据结构(15分,其中对三种操作的有效支持各4分,叙述的条理性3分。) 数据结构的Pascal语句描述 TYPEpptrpnode; pnodeRECORD cname:string; score:0.100; next:pptr END; sptrpnode; snodeRECORD sno:integer; sname:string; llink,rlink:sptr; plink:pptr END; VARt:sptr; 数据结构的示意图 9508027Liu%26#1640;%26#1640; OS72 OS60 9408023Fang%26#1640;%26#1640; 9508091Chen %26#1640; 9508010Li DS85 DB66%26#1640; SE89 AI92%26#1640; DS90 OS95 t 数据结构的简单文字说明 每个学生结点包含学生的学号和姓名,所有学生结点组织成一棵二叉排序树,用linkrlink法存储。 每份试卷成绩作为一个链表结点,包含课程名和成绩,每个学生的所有试卷成绩结点链接成一个单链表,并且二叉排序树的学生结点中有一个指针指向该单链表的第一个结点。 (2)算法要点(10分,三种操作各3分,叙述的条理性1分) 试卷成绩插入,根据试卷的学号在二叉排序树中查找该学生结点。若找到,则在该学生结点所指的成绩链表中插入一个成绩结点;若未找到,则先在二叉排序树中插入一个新的学生结点,然后再往这个学生结点所指的(空的)成绩链表中插入一个成绩结点。 学生成绩查询,根据所给学号在二叉排序树中查找该学生结点,再在该结点所指的成绩链表中沿着指针读出所有成绩。 成绩单输出。对二叉排序树进行对称序周游,在访
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东公考真题2025
- 零售药店医疗器械各岗位培训考核试题及答案
- 度继续教育公需科目知识产权考试试题及答案(版)
- 药品管理法和药品网络销售管理办法培训试题及答案
- 事业单位招聘考试公共基础知识复习题库及答案
- 高血压健康管理试题-高血压知识
- 工程力学期末考试试卷测试题A与答案
- 2025年度安全培训中心保安人员服务合同下载
- 2025版车展期间展商洽谈与商务对接服务合同
- 2025年智能机器人研发与市场推广合作协议
- 安全伴我行-大学生安全教育知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
- 有害物质过程管理系统HSPM培训教材
- 2025年蛇年年会汇报年终总结大会模板
- 存款代持协议书范文模板
- DB3301T 0374-2022 疗休养基地评价规范
- 胖东来企业文化指导手册
- 北师大版八年级物理(上册)期末复习题及答案
- 【历年真题合集+答案解析】2024年教资高中历史
- 委托别人找工作的协议
- 医技三基三严知识模拟习题含参考答案
- Y -S-T 732-2023 一般工业用铝及铝合金挤压型材截面图册 (正式版)
评论
0/150
提交评论