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

阅读下列说明,回答问题1至问题5。【说明】 某工厂的信息管理数据库的部分关系模式如下所示: 职工(职

题目

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

【说明】

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

职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

部门(部门号,部门名,负责人代码,任职时间)

关系模式的主要属性、含义及约束如表22-1所示,“职工”和“部门”的关系示例分别如表22-2和表22-3所示。

根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。

Create Table 部门 (部门号 Char(1) (a)

部门名 Char(16),

负责人代码 Char(4),

任职时间 DATE,

(b) (职工号));

Create Table 职工 (职工号 Char(4),

姓名 Char(8),

年龄 NUMDER(3),

月工资 NUMDER(4),

部门号 Char(1),

电话 Char(8),

办公室 Char(8),

(a) (职工号),

(c) (部门号),

CHECK( (d) ));

Create View D_S(D,C,Totals,Averages) As

(Select 部门号, (e)

from 职工

(f)

参考答案
正确答案:a. Primary Key b. Constraint FK_DEPT Foreign Key(负责人代码) References 职工或Foreign Key(负责人代码)References 职工 c. Constraint FK_PERDEPT Foreign Key(部门号)References 部门或Foreign Key(部门号)References 部门 d.月工资Between 500 And 5000或月工资>=500 And 月工资=5000 e.Count(*)Sum(月工资)
a. Primary Key b. Constraint FK_DEPT Foreign Key(负责人代码) References 职工或Foreign Key(负责人代码)References 职工 c. Constraint FK_PERDEPT Foreign Key(部门号)References 部门或Foreign Key(部门号)References 部门 d.月工资Between 500 And 5000或月工资>=500 And 月工资=5000 e.Count(*),Sum(月工资) 解析:SQL语言包括数据定义、数据查询和数据操纵,其中数据定义有表、视图和索引的定义。
数据库完整性包括实体完整性、参照完整性和用户自定义完整性约束。用户自定义完整性写在列级完整性约束条件中。定义实体完整性通常采用“Not Null”,“Unique”,“Constraint主键约束名Primary Key(属性组)”等。其中:
.“Not Null”表示该列的属性不能为空,定义时紧跟数据类型的后面;
.“Unique”表示该列的属性是唯一标识的(即不能取重复值),定义时可以紧跟数据类型的后面,也可以放在最后面,这时的格式是:Unique(列名,[列名]...);
.“Constraint主键约束名Primary Key(属性组)”表示该属性组是表的主键,能唯一标识记录。
定义参照完整性通常采用:
Constraint参照约束名Foreign Key参照表(属性组)References被参照表(属性组)定义用户自定义完整性通常采用:
Constraint自定义约束名Check(条件)
例如:某表R1(a1,a2,a3),其中a1,a2,a3都是int型。现约束要求a1+a2100,则用户自定义完整性定义是:
Constraint C1 Check(a1+a2100)
其中“Constraint约束名”可以省略。
关于定义视图的一般格式如下:
Create View视图名>[(列名>[,列名>]...)]
Aa子查询>
[with Check Option]
注意:
(1)其中的查询可以是任意复杂的Select语句,但通常不允许含有Order by子句和Distinct短语。
(2)With Check Option表示对视图进行Update,Insert和Delete操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。
对视图的查询、更新操作,它的执行过程是首先把这个SQL语句与定义这个视图的SQL语句合并起来,转换成一个新的SQL语句,然后才真正的执行。
SQL语言还提供了一些常用的统计函数,如:Count用来统计元组个数,Sum用来计算一列值的总和,Avg用来计算一列值的平均值,Max用来求一列值中的最大值, Min用来求一列值中的最小值,等等。
SQL语言的查询优化在数据库系统中有着非常重要的地位,同时也是考试的一个难点,能反映出考生能否比较熟练地掌握SQL语言,做这种类型的题目有一些技巧。一般来说,如果查询中采用了查询嵌套,特别是自我连接的那种类型,优化的原则是尽量采用不嵌套的的SQL语句来实现相同的功能;当有选择运算时,应尽可能让它先做:在执行连接前注意对关系做适当的预处理,比如在联接的属性上建立索引和对关系排序,然后再执行联接。
[问题1]
从试题描述可以看出,在“部门”关系中,“部门号”是唯一标识记录的,是该关系的主键,可采用(部门号Char(1)Primary Key)来定义。在“职工”关系中,“职工号”是唯一标识记录的,因此它是主键,可以定义为:UNIQUE(职工号)或Constraint PF PER Primary Key(职工号)。
显然,“负责人代码”是“部门”关系的外键,通过“负责人代码”等于“职工号”来关联“职工”关系的,定义为:Constraint FK_DEPT Foreign Key(负责人代码)References职工(职工号)。同时“部门号”是“职工”关系的外键,定义为:Constraint FK_PERDEPT Foreign Key(部门号)References部门(部门号)。
由于表22-1中告诉我们在“职工”关系中的月工资有个约束:500元≤月工资≤ 5000元。它属于用户自定义完整性约束,可以定义为:Check(月工资Between 500 And 5000)。
通过对题目分析,建立该视图,要采用到集函数和记录分组语句,采用Count来计算部门的人数,用Sum来计算工资总数,用Avg来计算平均工资。然后用“Group by部门号”来对不同部门进行分组。创建D_S视图的SQL语句如下:
Create View D_S(D,C.Totals,Averages) AS (Select 部门号,Count (*),sum (月工资),Avg(月工资)From 职工Group by部门号)
看了阅读下列说明,回答问题1至问题...的网友还看了以下:

评价某工厂某年一月份总产值的相对水平,可用该数据( )。A.除以该月计划总产值 B.除以上月实际 财会类考试 2020-05-21 …

评价某工厂某年一月份总产值的相对水平,可用该数据( )。A.除以该月计划总产值B.除以上月实际总产 财会类考试 2020-05-30 …

某工厂某年节电5000千瓦时,一位记者在报道时说:“我这里有一只理发的电吹风机,功率为500瓦,也 物理 2020-06-06 …

从厂外打电话给这个工厂某一车间,要由工厂的总机转进,若总机打通的概率为0.6,车间的分机占线的概率 数学 2020-06-15 …

高中数学题目某工厂某种产品每月的产能为8000个,1月的销量为5000个,且预计每月销量环比增加1 其他 2020-07-16 …

Ca,Cp,Cpk值计算,求教:某工厂某工序处于统计稳定状态,现有产品中某尺寸,其规格为50±5m 其他 2020-08-04 …

要描述一个工厂某种产品的生产步骤,应用()A.程序框图B.工序流程图C.知识结构图D.组织结构图 其他 2020-12-01 …

要描述一个工厂某种产品的生产步骤,应用()A.工序流程图B.组织结构图C.程序框图D.知识结构图 数学 2020-12-01 …

某服装加工厂某月生产A、B、C三种产品共4000件,为了保证产品质量,进行抽样检验,根据分层抽样的结 数学 2020-12-10 …

(2010•宁德模拟)某服装加工厂某月生产A、B、C三种产品共4000件,为了保证产品质量,进行抽样 其他 2020-12-10 …