SQL语句问题,急急急!高手进,50分! 50
1.建表1)建立职工表worker,其结构如下:职工号:int姓名:char(8)性别:char(2)出生日期:datetime党员否:char(2)参加工作:datet...
1. 建表
1) 建立职工表worker,其结构如下:
职工号:int 姓名:char(8) 性别:char(2)
出生日期:datetime 党员否:char(2) 参加工作:datetime
部门号:int
其中“职工号”为主键,“部门号”外键。
2) 建立部门表depart,结构如下:
部门号:int 部门名:char(10)
其中“部门号”为主键。
3) 建立职工工资表salary,结构如下:
职工号:int 日期:datetime 工资:decimal(6,1)
其中“职工号”和“日期”为主键,“职工号”为外键;。
2. 插入数据
worker表
职工号 姓名 性别 出生日期 党员否 参加工作 部门号
1 孙华 男 01/03/1952 是 10/10/1970 1
4 李华 男 08/07/1956 否 07/20/1983 3
7 程西 女 06/10/1980 否 07/10/2002 1
dapart表
部门号 部门名
1 财务处
2 人事处
3 市场部
salary表
职工号 日期 工资
1 01/04/2008 1201.5
4 01/04/2008 1500.5
7 01/04/2008 750.8
1 02/04/2008 1206.5
4 02/04/2008 1505.5
7 02/04/2008 755.8
3. 修改表
为dapart表增加一个“部门人数”字段,数据类型为int型。
4. 更新????????
更新depart表中“部门人数”为worker表中的实际人数。
5. 触发器???????
为worker表创建一个更新触发器update_worker,要求当更新worker表中职工的部门号时,自动修改dapart表中相关部门的“部门人数”。如‘1’号职工从财务处调到人事处,则财务处人数减少1人,人事处增加1人。
6. 删除
删除depart表中‘市场部’的信息,注意外键的作用。
7. 创建索引
在salary表的“职工号”和“日期”列上创建普通的组合索引index_salary来加快查询速度,按“职工号”升序和“日期”降序索引。
8. 创建视图????????
建立视图depart_totalsalary视图,按“部门名”来查询各个部门的总工资。
9. 添加约束
为salary表添加约束条件CK_salary,将“工资”字段的值限制在0~9999之间。
10. 查询?????????
使用分组语句查询男女职工的平均工资。
加问号的几个是我不太会做的,请高手给的正确答案,周五就要考了……
要用SQL 2000 做,谢谢了!!! 下面是我自己做的,加问号的题,请高手帮我改一下,多谢了!!!
update depart_2006203374
set 部门人数 = (select count(*) from worker_2006203374
where worker_2006203374.部门号= depart_2006203374.部门号
group by worker_2006203374.部门号);
create trigger update_worker
on worker_2006203374
for update
as update depart_2006203374 set 部门人数=部门人数-1
from deleted d
where d.部门号=depart.部门号,
update depart_2006203374 set 部门人数=部门人数+1
from inserted i
where i.部门号=depart.部门号;
create view depart_totalsalary(部门名,总工资) as select depart_2006203374.部门名,?
from ?
select ? 展开
1) 建立职工表worker,其结构如下:
职工号:int 姓名:char(8) 性别:char(2)
出生日期:datetime 党员否:char(2) 参加工作:datetime
部门号:int
其中“职工号”为主键,“部门号”外键。
2) 建立部门表depart,结构如下:
部门号:int 部门名:char(10)
其中“部门号”为主键。
3) 建立职工工资表salary,结构如下:
职工号:int 日期:datetime 工资:decimal(6,1)
其中“职工号”和“日期”为主键,“职工号”为外键;。
2. 插入数据
worker表
职工号 姓名 性别 出生日期 党员否 参加工作 部门号
1 孙华 男 01/03/1952 是 10/10/1970 1
4 李华 男 08/07/1956 否 07/20/1983 3
7 程西 女 06/10/1980 否 07/10/2002 1
dapart表
部门号 部门名
1 财务处
2 人事处
3 市场部
salary表
职工号 日期 工资
1 01/04/2008 1201.5
4 01/04/2008 1500.5
7 01/04/2008 750.8
1 02/04/2008 1206.5
4 02/04/2008 1505.5
7 02/04/2008 755.8
3. 修改表
为dapart表增加一个“部门人数”字段,数据类型为int型。
4. 更新????????
更新depart表中“部门人数”为worker表中的实际人数。
5. 触发器???????
为worker表创建一个更新触发器update_worker,要求当更新worker表中职工的部门号时,自动修改dapart表中相关部门的“部门人数”。如‘1’号职工从财务处调到人事处,则财务处人数减少1人,人事处增加1人。
6. 删除
删除depart表中‘市场部’的信息,注意外键的作用。
7. 创建索引
在salary表的“职工号”和“日期”列上创建普通的组合索引index_salary来加快查询速度,按“职工号”升序和“日期”降序索引。
8. 创建视图????????
建立视图depart_totalsalary视图,按“部门名”来查询各个部门的总工资。
9. 添加约束
为salary表添加约束条件CK_salary,将“工资”字段的值限制在0~9999之间。
10. 查询?????????
使用分组语句查询男女职工的平均工资。
加问号的几个是我不太会做的,请高手给的正确答案,周五就要考了……
要用SQL 2000 做,谢谢了!!! 下面是我自己做的,加问号的题,请高手帮我改一下,多谢了!!!
update depart_2006203374
set 部门人数 = (select count(*) from worker_2006203374
where worker_2006203374.部门号= depart_2006203374.部门号
group by worker_2006203374.部门号);
create trigger update_worker
on worker_2006203374
for update
as update depart_2006203374 set 部门人数=部门人数-1
from deleted d
where d.部门号=depart.部门号,
update depart_2006203374 set 部门人数=部门人数+1
from inserted i
where i.部门号=depart.部门号;
create view depart_totalsalary(部门名,总工资) as select depart_2006203374.部门名,?
from ?
select ? 展开
4个回答
展开全部
你这个也太过份了~~~
这里是帮你解决难题的地方,没人帮你做作业
自己动脑子想去!!!
这里是帮你解决难题的地方,没人帮你做作业
自己动脑子想去!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。自己看书,好好学吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
50分 打水漂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再想想
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询