早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

用SQL定义“职员”关系模式,请在空缺处填入正确的内容。 Create Table 职员 ( 职员号CHAR(5)(a),

题目

用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);

参考答案
正确答案:(a)PRIMARY KEY (b)FOREIGNKEY (部门号) REFERENCES部门 (c)count(*)Sum (月工资)Avg(月工资) (d)GROUP by部门号HAVING 注:以上答案中的单词可以小写。
(a)PRIMARY KEY (b)FOREIGNKEY (部门号) REFERENCES部门 (c)count(*),Sum (月工资),Avg(月工资) (d)GROUP by部门号HAVING 注:以上答案中的单词可以小写。 解析:用SQL定义关系模式的一个非常重要的问题是完整性控制。完整性控制应具有三方面的功能:定义功能、检测功能、处理功能(一旦发现违背了完整性约束条件,采取相关的动作来保证数据的完整性)。数据库中最重要的约束是声明一个或一组属性形成关系的键。键的约束在SQL的CREATE TABLE命令中声明。在关系系统中,最重要的完整性约束条件是实体完整性和参照完整性。
  1.实体完整性定义
  在关系中只能有一个主键。声明主键有两种方法:
  ①将PRIMARY KEY保留字加在属性类型之后;
  ②在属性列表中引入一个新元素,该元素包含保留字PRIMARY KEY和用圆括号括起的形成该键的属性或属性组列表。
  2.参照完整性
  参照完整性定义格式如下:
  FOREIGN KEY (属性名) REFERENCES 表名(属性名)
  [ON DELETE[CASCADEt|SET NULL]
  参照完整性通过使用保留字FOREIGN KEY定义哪些列为外码;REFERENCES指明外键对应于哪个表的主键;ON DELETE CASCADE指明删除被参照关系的元组时,同时删除参照关系中的元组;SETNULL表示置为空值方式。
  本试题中,职员关系的主键为职员号,部门关系的主键为部门号,这样,职员关系中的部门号是外键。其中,职员关系的主键职员号可采用如下两种方式定义:
  职员号CHAR(5)PRIMARY KEY或者是PRIMARY KEY (职员号)
  根据分析问题2(1)职员关系的SQL定义如下:
  Create Table职员 ( 职员号CHAR (5) PRIMARY KEY,
          职员姓名CHAR(8),
          月工资 NUMBER(4),
          部门号 CHAR(1),
          办公室 CHAR(20),
          电话  CHAR(8),
          FOREIGN KEY (部门号) REFERENCES 部门(部门号),
  问题2(2)的关键在于要对职员关系采用分组语句按部门分类,并统计。如果统计的元组个数大于等于2,则在结果集中。根据分析,针对人数大于等于2的部门创建视图D——View(Dept,D_num,D_Tomis,D_AvgPay)如下:
  Create View D View(Dept,D num,D Totals,D AvgPay)As
  (Select 部门号,count (*),Sum(月工资),Avg(月工资)
  from 职员
  GROUP by部门号 HAVING count(*)>=2 WHERE 部门号 IS NOT NULL);
看了用SQL定义“职员”关系模式,...的网友还看了以下: