实训项目3-员工管理数据库系统(3)

2019-03-06 08:08

SQL实训

(

[出生日期] ASC

)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]

-------------------------------------------------------------------------------------------------------

(3).在salary表的工资列上创建名为money的非聚集索引,并按从小到大的次序排列。脚本文件名:0703.sql。

------------------------------------脚本文件0703.sql-------------- ------------------------------

USE [factory] GO

CREATE NONCLUSTERED INDEX [money] ON [dbo].[salary] (

[工资] ASC

)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]

-------------------------------------------------------------------------------------------------------

8.SQL编程

(1)创建一个存储过程showworker,要求该存储过程能根据提供的职工号返回其工作部门名称;如果不存在此人,则显示提示信息“查无此人”。

执行该存储过程,查询职工号为10的职工信息。 脚本文件名:0801.sql。

---------------------------------------脚本文件0801.sql------------------------------------------

if ( select count(*) from worker where 职工号=10)>0 select depart.部门名,worker.职工号 from worker,depart where

worker.职工号=10 and worker.部门号=depart.部门号 else

print '查无此人'

----------------------------------------------------------------------------------

(2)求出男女职工的平均工资。若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了”的信息;若男职工平均工资与女职工平均工资比率在1.5~0.8之间,则显示“男职工跟女职工的工资差不多”的信息;否则,显示“女职工比男职工的工资高多了”的信息。脚本文件名:0802.sql。 --------------------------------------脚本文件0802.sql-------------- ---------------------------

declare @男float,@女float,@比较值float

select @男=avg(salary.工资) --计算男职工平均工资 from worker,salary

where worker.职工号=salary.职工号and worker.性别='男' select @女=avg(salary.工资) --计算女职工平均工资 from worker,salary

where worker.职工号=salary.职工号and worker.性别='女'

- 10 -

SQL实训

set @比较值=@男/@女 if @比较值>1.5

print '男职工比女职工的工资高多了' else

if @比较值>=0.8

print '男职工跟女职工的工资差不多' else

print '女职工比男职工的工资高多了'

9.触发器

创建一个触发器Delworker,删除worker表中指定职工号的记录时,也将职工工资表salary中相应的记录删去。脚本文件名:0901.sql。

------------------------------------脚本文件0901.sql-------------- ------------------------------

CREATE TRIGGER Delworker ON worker AFTER delete AS begin

declare @worker varchar(30)

select @worker 职工号from deleted print @worker+'用户已被删除!' end

delete from worker where 职工号='13'--触发器验证

------------------------------------------------------------------------------------------------------- 10.数据转换

(1).新建一个数据库factory1,将前面已建的factory数据库中的所有表导入到factory1数据库中。

(2).将前面已建的factory数据库中的所有表(不包括视图)导出到Factory.mdb(ACCESS数据库)。

(3).将此文件夹下的“订单.mdb”(ACCESS数据库)的数据导入到数据库factory中。

- 11 -

SQL实训

实 训 总 结

这次实训,总的下来,感觉不易。在数据库这门课程一开始,感觉学的云里雾里,觉得记代码很麻烦,也会担心这门课程期末考过不了。许多同学也有这样的感受,但相信通过这次的实训大家应该有了更多的信心。这次实训还综合应用数据库、SQLServer2005、学生管理等知识。使我们所学知识得到延伸与拓展,也提高了我们的综合实践能力。

在这一周的实训当中,我们做了一个员工管理数据库系统,我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败。另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。虽然只是一个比较和我们有关的数据库,但是在这一周的实训过程中,做的也不是很顺利,其中也遇到了许多问题,通过反反复复的看书,并且向同学请教,把相关的知识复习了一遍,这也是一种很大的收获。至少我们在做的过程中学会了思考,就像在做这个数据库系统的时候,我们在做之前就要有一个方案,设计一个步骤,先开始进行需求分析,接着进行概念模型设计,其次进行逻辑结构设计,最后我们在创建数据库脚步文件。在创建的过程中,是我们问题最多的步骤,通过做题,我们发现了自己的不足,这也与我们平时上课有关,许多学过的知识,转眼就忘,而且也没有在空余时间去复习,并且对于一些重点的知识,我们也掌握的不好,许多的语法知识和基本语句都会出错。对于这种情况,我们就得好好反省自己,在以后的学习当中,我们就要补其不足,掌握更好的学习方法。

其实,不管我们做什么事情,我们都应该想清楚,首先干什么,其次干什么,有了一个合理的规划,我们做起来也就比较的有了方向,有了目标,再向目标去奋斗,这样我们才能更好的把握自己,使自己更好的发展。

- 12 -


实训项目3-员工管理数据库系统(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:信息系统和网站考核检查 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: