年月软件设计师下午试题答案及其分析.doc

年月软件设计师下午试题答案及其分析.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
年月软件设计师下午试题答案及其分析

2005年5月软件设计师下午试题答案及其分析 [试题一] [问题1](6分) (1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。 答:数据流起点是房主,终点是学生住宿管理系统,数据流名称是屋主信息。 (2)数据流图1-2中缺少了与“查询房屋”加工相关的数据流,请指出此数据流的起点和终点。 答:从房屋文件---查询房屋信息 [问题2](4分) “安排会面”加工除需要写入会面文件外,还需要访问哪些文件? 答:房主文件,学生文件,房屋文件 [问题3](5分) 请补齐下列数据字典条目: 登录信息=学生ID+密码 注册信息=学生姓名+学生现住址+电话号码+出生日期+性别+学生ID+密码 试题一分析: 问题1:在答这类题目时要先那题目说明部分理解,然后从里面分出数据流的名称,然后在看数据流图的时候就可以做对比,这样就比较好找到缺少的数据流。本题中的屋主信息是很明显的; 从数据流图1-2中可以看到,“查询房屋”加工有请求者,有输出信息,就是没有关于房屋的信息,所以这里就缺少房屋文件这个数据存储中引出的房屋信息的数据流; 问题2:会面需要的信息有“请求中包含房屋的详细信息,安排学生与房主会面的时间和地点,并将会面信息通知学生和房主”,所以我们得到需要的文件有学生、房屋和屋主; 问题3: 数据字典条目:“学生信息包括姓名、现住址、电话号码、出生日期、性别以及系统分配的唯一身份标识(ID)和密码” [试题二] [问题1](4分) 根据述说明,请给出 (1)“职员”关系模式的主键和外键。 答:主键:职员号 ,外键:部门号 (2)“部门”关系模式的主键和外键。 答:主键:部门号 ,外键:负责人代码 [问题2](4分) 用SQL定义“职员”关系模式,请在空缺处填入正确的内容。 Create Table职员(职员号CHAR(5) (a) , 职员姓名 CHAR(8), 月工资 NUMBER(4), 部门号 CHAR(1), 办公室 CHAR(20) 电话 CHAR(8), (b) (部门号), CHECK(月工资>=1000 AND月工资<=8000)); 答: (a)primary key,(b)foreign key 针对人数大于等于2的部门创建视图D View(Dept, D num, D Totals, D Avgpay),其中,Dept为部门号,D num为部门人数,D_Totals为工资总数,D_Avgpay为平均工资,请在空缺处填入正确的内容。 Create View D_View(Dept,D_num,D_Totals,D_Avgpay)As (Select部门号, (c) From职员 (d) count(*)=2 WHERE 部门号IS NOT NULL): 答: (c)count(*),sum(月工资),avg(月工资) (d)group by 部门号 having [问题3](3分) 对于表2-1、表2-2所示的“职员”和“部门”关系,请指出下列各行是否可以插入“职员”关系,为什么? 60811 芦峰 800 1 A座201 6883122 60802 李晓啸 3500 2 B座202 6883123 60812 高亚南 2600 答: (1)不行,工资不满足条件。 (2)不行,违反主键约束,主属性不能插入重复值。 (3)行 [问题4](4分) 原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修出改后的“职员”和“关系模式”。 答: 原职员关系表中存在大量的数据冗余。 解决办法:把电话和办公室从“职员”关系模式移动到部门关系模式中。 [试题二]分析: 问题1:(1)因为存在“职员”和“部门”两张表,所以“职员”表的主键是职员号,外键是部门号; (2)在部门表中主键是部门号。而外键是负责人代码,实际上负责人代码和职员号表示的是一样的内容,只是名称不同; 问题2:(1)确定主键和外键,通过SQL语句完成; (2)创建视图D View(Dept, D num, D Totals, D Avgpay),D num为部门人数= count(*), D_Totals为工资总数= sum(月工资),D_Avgpay为平均工资= sum(月工资)/count(*)。 人数大于等于2的部门,则按照部门号分组,即group by 部门号 having。 问题

文档评论(0)

zilaiye + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档