日期:2014-05-20  浏览次数:20701 次

急求SQL问题与JAVA程序问题。。。。
因为无图,请高手去这里看

http://blog.csdn.net/zhangsaim/archive/2007/06/20/1660106.aspx
[说明]

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

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

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

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

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


[问题1]

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

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

确的内容。

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   D,Averages   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是服务器从服务器中读到的字符的第一个数字字符,如果读到的字符不是数字,则结束?


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

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

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

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

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


[问题1]

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

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

确的内容。

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) (部门号),