国内最大的教育考试网站之一
2008年12月软考软件设计师每日一练(12月17日)
2008-12-17 13:14:36 来源:优易学(Qnr.Cn) 作者:Qnr.Cn

试题六、

阅读以下某工厂信息管理数据库的设计说明,根据要求回答问题。

【说明】
某工厂有多个部门,每个部门有多位职工,每位职工属于并且仅属于一个部门,每个部门有一位负责人,每个办公室有一部电话。每位职工的月工资大致是:800≤月工资≤4 500元。
软件开发公司A为该工厂开发的信息管理数据库的部分关系模式如下所示。
职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
部门(部门号,部门名,负责人代码,任职时间)
其中“职工”和“部门”的关系示例分别见表3-10和表3-11。

表3-10 “职工”关系示例表

   

   

   

   

   

    

   

1001

郑俊华

26

1000

1

8001234

主楼201

1002

王平

27

1100

1

8001234

主楼201

2001

王晓华

38

1300

2

8001235

1号楼302

2002

李力

24

800

2

8001236

1号楼303

3001

黎运军

42

1300

3

8001237

主楼202

4001

李源

24

800

3

8001245

2号楼102

4002

李兴民

36

1200

4

8001246

2号楼103

5001

赵欣

25

0

Null

表3-11 “部门”关系示例表

   

   

负责人代码

   

1

人事处

1002

2004-8-3

2

机关

2001

2004-8-3

3

销售科

 

 

4

生产科

4002

2003-6-1

5

车间

 

 

问题:

1、请使用“关系模式标记规则”(见本题附录),给出上述各关系模式的主键和外键。
2、对于表3-10和表3-11所示的“职工”和“部门”关系,请指出表3-12中第①、②和③行是否允许插入?请分别用100字以内的文字简要说明理由。
表3-12  新增“职工”关系示例表

   

   

   

   

   

   

   

   

1001

王新军

28

1000

1

8001234

主楼201

2003

李力

28

1000

 

 

 

5802

赵晓啸

36

1500

6

8001568

3号楼503

3、查询每个部门中月工资最高的“职工号”的SQL查询语句如下。
Select 职工号 from 职工E
where 月工资=(Select Max(月工资)
from职工as M
where M.部门号=E.部门号)
(1)请用30字以内文字简要说明该查询语句对查询效率的影响。
(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。
4、假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。
Select 姓名,年龄,月工资 from 职工
where 年龄>45 or 月工资<1000;
5、该数据库系统在设计时,采用了异构数据库技术。请给出目前3种通用的异构数据库查询技术。
关系模式的标记规则如下.
关系名(属性名1,属性名2,…,属性名n)
其中:①若该属性仅为主键属性时,则该属性名下画实下画线;
②若该属性仅为外键属性时,则该属性名下画虚下画线;
③若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;
④若该属性既不是主键属性,又不是外键属性时,则在该属性名下不做标记。

 

进入优易学网论坛看答案

【字体: 】【收藏本页】【打印本文】【告诉好友 】【投稿邮箱