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