急求解答:JAVA编程与SQL题目!!!!!!!!!!!!!!!

阅读下列说明,回答问题1 至问题5,将解答填入对应栏内。

[说明]

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

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

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

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

如表2-2 和表2-3 所示。

急求解答:JAVA编程与SQL题目!!!!!!!!!!!!!!!_第1张图片

[问题1]

根据上述说明,由SQL 定义的“职工”和“部门”的关系模式,以及统计各部

门的人数C、工资总数Totals、平均工资Averages D_S 视图如下所示,请在空缺处填入正

确的内容。(6 )

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

部门名 CHAR(16)

负责人代码 CHAR(4)

任职时间 DATE

(b) (职工号))

Create Table 职工(职工号 CHAR(4)

姓名 CHAR(8)

年龄 NUMBER(3)

月工资 NUMBER(4)

部门号 CHAR(1)

电话 CHAR(8)

办公室 CHAR(8)

(a) (职工号)

(c) (部门号)

CHECKL( (d) ))

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

(Select 部门号, (e)

from 职工

(f)

 

解答:

(a)

(b)

(c)

(d)

(e)

(f)

 

[问题2]

对于表2-2、表2-3 所示的“职工”和“部门”关系,请指出下列各行是否可

以插入,为什么?(3 )

 

 [问题3]

在问题l 定义的视图D-S 上,下面那个查询或更新是允许执行的,为什么? (3 )

(1)Update D_S set=3 where D=4

(2)Delete from D_S where C>4

(3)Select DAverages fromD_S

where C>(Select C from D_S where D=dept)

(4)SelectD,C FromD_S

where Totals>10000

(5)Select*fromD_S

 

[问题4]

查询每个部门中月工资最高的“职工号”的SQl 查询语句如下:

Select 职工号 from 职工E

where 月工资=(Select Max(月工资)

from职工as M

where M.部门号=E.部门号)

(1)请用30 字以内文字简要说明该查询语句对查询效率的影响。(3 )

(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。(3 )

 

[问题5]

假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select 查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL 语句。(2 )

Select 姓名,年龄,月工资from 职工

where 年龄>45 or 月工资<1000

 

SQL语句分析题:

请分析上图中SQL语句应该如何优化。

 

一、编程题(20分)

Java 的通信编程,用JAVA SOCKET编程,每次从服务器读N个字符,再写入本地显示,其中N是服务器从服务器中读到的字符的第一个数字字符,如果读到的字符不是数字,则结束?

 

你可能感兴趣的:(急求解答:JAVA编程与SQL题目!!!!!!!!!!!!!!!)