为帮助广大软考中级软件设计师考生更好备考,信管网特整理汇总了软件设计师部分《案例分析》真题、答案及解析供考生查阅,并提供免费在线模拟答题、历年真题免费下载等服务,了解软件设计师更多备考信息请关注信管网。
相关推荐:
免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)
阅读以下说明和表,回答问题1~问题4。
【说明】
某公司信息管理系统的需求分析和部分关系模式设计的结果描述如下。
1.公司有多个部门,每个部门有一名负责人、一间办公室、一部电话、多名职员,每个职员最多属于一个部门,负责人也是一名公司职员。
2.公司职员的月工资大于等于1000元且小于等于8000元。
3.数据库的部分关系模式设计如下:
职员(职员号,职员姓名,月工资,部门号,办公室,电话)
部门(部门号,部门名,负责人代码,任职时间)
4.“职员”和“部门”的关系示例分别如表2-1和表2-2所示。
【问题1】
根据上述说明,请给出
(1)“职员”关系模式的主键和外键。
(2)“部门”关系模式的主键和外键。
【问题2】
(1)用sql定义“职员”关系模式,请在空缺处填入正确的内容。
create table 职员 ( 职员号char(5) (a) ,
职员姓名char(8),
月工资 number(4),
部门号 char(1),
办公室 char(20),
电话 char(8),
(b) (部门号),
check (月工资>=1000 and月工资<=8000));
(2)针对人数大于等于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_totfls,d_avgpay)as
(select部门号, (c)
from 职员
(d) count(*)>=2 where 部门号 is not null);
【问题3】
对于表2-1、表2-2所示的“职员”和“部门”关系,请指出下列各行是否可以插入“职员”关系,为什么?
【问题4】
原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修改后的“职员”和“部门”关系模式。
信管网参考答案:
【问题1】
(1)主码∶ 职员号外码∶ 负责人代码 外码∶ 部门号
(2)主码∶ 部门号,或部门名
【问题2】
(a)primary key
(b)foreign key(部门号)references 部门
(c)count(*),sum(月工资),avg(月工资)
(d)group by 部门号 having
【问题3】
第 1行不能插入,因为"职员"关系建表 SQL 语句中对月工资进行了限制,只能是大于等于 1000 且小于等于 8000。
第 2 行不能插入,因为表中已有职员号为 60802 的记录,会发生冲突。
第 3 行可以插入,因为外码允许为空,且关系中没有对办公室和电话进行不为空的限制。
【问题4】
"职员"关系模式的主要问题是∶数据存在大量冗余且可能产生数据修改的不一致。
修改后的关系模式为∶
职员(职员号,职员姓名,月工资,部门号)
部门(部门号,部门名,办公室,电话,负责人代码,任职时间)
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |