用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为工

题目

用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定义“职员”关系模式,请在空缺处填入正确的内容。 Create Table 职员 ( 职员号CHAR(5)(a), ”相关问题
  • 第1题:

    工厂的仓库管理数据库的部分关系模式如下所示:

    仓库(仓库号,面积,负责人,电话)

    原材料(编号,名称,数量,储备量,仓库号)

    要求一种原材料只能存放在同一仓库中。“仓库”和“原材料”的关系实例分别如表2-1和表2-2所示。

    根据上述说明,用SQL定义“原材料”和“仓库”的关系模式如下,请在空缺处填入正确的内容。

    CREATE TABLE 仓库(仓库号CHAR(4),

    面积 INT,

    负责人 CHAR(8),

    电话 CHAR(8),

    (a)); //主键定义

    CREATE TABLE 原材料(编号 CHAR(4) (b), //主键定义

    名称 CHAR(16),

    数量 INT,

    储备量 INT,

    仓库号 (c),

    (d)); //外键定义


    正确答案:(a) PRIMARY KEY 仓库号 (b) PRIMARY KEY 或 NOT NULL UNIQUE 或NOT NULL PRIMARY KEY (c) CHAR (4) (d) FOREIGN KEY 仓库号REFERENCES 仓库(仓库号)
    (a) PRIMARY KEY 仓库号 (b) PRIMARY KEY 或 NOT NULL UNIQUE 或NOT NULL PRIMARY KEY (c) CHAR (4) (d) FOREIGN KEY 仓库号REFERENCES 仓库(仓库号) 解析:本问题考查应试者对SQL数据库定义语言的掌握。通过给出的关系模式及关系实例,完成数据库定义语句中的主键及外键的定义部分。主码的定义可以有3种:在列级约束中用NOT NULL UNIQUE或PRIMARY KEY指定;在表级约束中用PRIMARY KEY主键,的方式定义。前两种方法只适用于单一属性作主码的情况,后一种适用于任何情况。参照完整性的指定使用FOREIGN KEY外键>REFERENCES被参照关系>(《被参照属性>)的方式定义,参照关系的域应和被参照数据的域相同。

  • 第2题:

    建立一个“职员”表,表中有5个字段:职员号、姓名、性别、年龄、部门。要求职员号属性的值惟一,并且不能为空值。建立该表的SQL语句可以是______。

    A.CREATE TABLE职员(职员号CHAR(6),姓名CHAR(8),;性别CHAR(2),年龄INT(4),部门CHAR(12))

    B.CREATE TABLE职员(职员号C1LAR(6) NULL,姓名 CHAR(8),;性别CHAR(2),年龄INT(4),部门CHAR((12))

    C.CREATE TABLE职员(职员号CHAR(6) NOT NULL UNIQUE,;姓名CHAR(8),性别CHAR(2),年龄INT(4),部门CHAR(12))

    D.CREATE TABLE职员(职员号CHAR(6)UNIQUE,姓名CHAR(8),;性别CHAR(2),年龄INT(4),部门CHARR(12))


    正确答案:C

  • 第3题:

    显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是( )。

    A.SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0

    B.SELECT 职员.职员号,姓名 FROM 职员 LEFT JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0

    C.SELECT 职员号,姓名 FROM 职员 WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单)

    D.SELECT 职员.职员号,姓名 FROM 职员 WHERE 职员.职员号<>(SELECT订单.职员号FROM订单)


    正确答案:C
    解析:显示没有签订任何订单的职员信息等价于显示订单表中不存在的职员信息。只有选项C符合查询条件。

  • 第4题:

    有如下SQL语句:

    SELECT订单号,签订日期,金额 FROM 订单,职员:

    WHERE订单.职员号=职员.职员号AND姓名=”李二”

    与如上语句功能相同的SQL语句是( )。


    正确答案:B
    题目中给出的SELECT语句是查找出姓名为“李二”的职员签订的单号、签订日期和金额。选项B)中,使用EXISTS谓词来检查子查询中是否有结果返回,它的查询过程是:外查询中,在订单表中从第一条记录开始取出当前职员号,再在内查询中,针对该职员号,在职员表中逐条记录判断是否存在符合WHERE条件的记录,如果存在,则在外查询的订单表巾找到该职员号对应的订单号、签订日期和金额;然后依次类推,在订单表中从第二条记录中取出当前职员号,再在内查询中进行判断,直到将订单表中的所有记录都处理完毕。

  • 第5题:

    阅读下列说明,回答问题1至问题5。

    【说明】

    某工厂的仓库管理数据库的部分关系模式如下所示:

    仓库(仓库号,面积,负责人,电话)

    原材料(编号,名称,数量,储备量,仓库号)

    要求一种原材料只能存放在同一仓库中。“仓库”和“原材料”的关系实例分别如表22-7和表22-8所示。

    根据上述说明,用SQL定义“原材料”和“仓库”的关系模式如下,请在空缺处填入正确的内容。

    create Table 仓库 (仓库号 Char (4),

    面积 Int,

    负责人 Char(8),

    电话 Char(8),

    (a));//主键定义

    Create Table 原材料 (编号 Char (4) (b),//主键定义

    名称 Char (16),

    数量 Int,

    储备量 Int,

    仓库号 (c),

    (d));//外键定义


    正确答案:(a)Primary Key 仓库号 (b)Primary Key 或Not Null Unique 或Not Null Primary Key (c)Char(4) (d)Foreign Key 仓库号References 仓库(仓库号)
    (a)Primary Key 仓库号 (b)Primary Key 或Not Null Unique 或Not Null Primary Key (c)Char(4) (d)Foreign Key 仓库号References 仓库(仓库号) 解析:根据试题介绍,我们知道“仓库号”是关系“仓库(仓库号,面积,负责人,电话)”的主键。同时,从给定的创建表“仓库”的SQL语句来看,其4个属性已分别有了定义,所以,(a)空处应该是定义主键约束(事实上,所给定的SQL语句的注释已经说明了)。因此,(a)空应该填写“Primary Key仓库号”。
    (b)空处也是填写主键定义语句。在关系“原材料(编号,名称,数量,储备量,仓库号)”中,显然“编号”主键,因此,(b)空填写“Primary Key”,或者与其等价的语句,例如:Not Null Unique、Not Null Primary Key等。
    (c)空和(d)空要求填写“仓库号”后半部分。在关系“原材料”中,“仓库号”是外键(相对于关系“仓库”的“仓库号”)。外键的数据类型和大小要和其所在关系的属性完全一致,而在关系“仓库”的定义中,“仓库号”的定义为“Char(4)”,因此, (c)空应填写“Char(4)”。(d)空应填写“ForeignKey仓库号References仓库(仓库号)”。