SQLServer实训报告专业:班级:姓名:学号:指导老师:实训时间:实训地点:成绩:-----------------------------------------------------------------------------一、实训目标掌握SQLServer数据库创建方法,掌握数据表、数据库完整性约束、基本查询语句的使用、数据更新方法、视图索引的建立、常用数据库对象的创建及使用、SQL编程序等多方面的综合练习,旨在强化训练,真正做到熟练掌握甚至精通,为以后数据库维护、网络管理、编程打好基础。二、实训要求完成实训题目,并将最终结果保存在自己的FTP上(在自己的FTP帐号上建立”WL3091XXSQL实训”文件夹,将所有实训结果、脚本文件、数据库、实训报告均保存在此文件夹下,XX代表自己的学号),所有操作尽量使用查询分析器完成。填写如下实训报告,将脚本文件复制到相应的短线之间,复制时匹配目标格式。实训最低要求:查询数据和数据更新要求必须用查询分析器完成,其他可在SSMS中完成,但要求能够生成脚本文件,并能读懂其中所有代码,并可进行简单修改模仿。三、考核标准(1)平时实习纪律考勤占10%(2)实训报告占40%(3)代码文件及数据库文件占40%(4)实习总结占10%1.创建数据库创建一个名称为factory的数据库,脚本文件名:0100.sql,此脚本文件可利用企业管理器自动生成。(1)将主数据库文件factory_Data.MDF放置在文件夹中,其文件大小自动增长为按5MB增长。(2)将事务日志文件factory_Log.MDF放置在D:\DATA文件夹中,其文件大小自动增长为按1MB增长。------------------------------------脚本文件0100.sql--------------------------------------------USE[master]GO/******对象:Database[factory]脚本日期:11/05/201009:41:33******/CREATEDATABASE[factory]ONPRIMARY(NAME=N'factory',FILENAME=N'D:\data\factory.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=5120KB)LOGON(NAME=N'factory_log',FILENAME=N'D:\data\factory_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=1024KB)COLLATEChinese_PRC_CI_AS-------------------------------------------------------------------------------------------------------2.创建和使用表脚本文件名:0200.sql,此脚本文件可利用企业管理器自动生成。(1)建立职工表worker,其结构为:职工号:int,姓名:char(8),性别:char(2),出生日期:datetime,党员否:bit,参加工作:datetime,部门号:int。其中“职工号”为主键。在worker表中输入如下记录:职工号姓名性别出生日期党员否参加工作部门号3陈明男05/08/45否01/01/65210陈涛男02/10/58是07/12/8427程西女06/10/80否07/10/02112李涵男04/19/65是07/10/8934李华男08/07/56否07/20/83314李艺女02/10/63否07/20/9039刘夫文男01/11/42否08/10/60211刘欣男10/08/52否01/07/7016欧阳少兵男12/09/71是07/20/9231孙华男0l/03/52是10/10/7012孙天奇女03/10/65是07/10/87213王小燕女02/10/64否07/10/89115魏君女01/10/70否07/10/9335余慧男12/04/80否07/10/0238张旗男11/10/80否07/10/022(2)建立部门表depart,其结构为:部门号:int,部门名:char(10)。其中,“部门号”为主键。在depart表中输入如下记录:部门号部门名1财务处2人事处3市场部(3)建立职工工资表salary,其结构为:职工号:int,姓名:char(8),日期:datetime,工资:decimal(6,1)。其中,“职工号”和“日期”为主键。在salary表中输入如下记录职工号姓名日期工资3陈明01/04/041350.63陈明02/03/041355.610陈涛01/04/041245.810陈涛02/03/041250.87程西01/04/04750.87程西02/03/04755.812李涵01/04/041345.012李涵02/03/041350.04李华01/04/041500.54李华02/03/041505.514李艺01/04/041000.614李艺02/03/041005.69刘夫文01/04/042006.89刘夫文02/03/042011.811刘欣01/04/041250.011刘欣02/03/041255.06欧阳少兵01/04/041085.06欧阳少兵02/03/041085.01孙华01/04/041201.51孙华02/03/041206.52孙天奇01/04/04900.02孙天奇02/03/04905.013王小燕01/04/041200.013王小燕02/03/041205.015魏君01/04/041100.015魏君02/03/041105.05余慧01/04/04725.05余慧02/03/04730.08张旗01/04/04728.08张旗02/03/04733.0(4)建立worker、depart和salary3个表之间的关系。注意:数据的录入可使用导入的方法,可先建立数据表结构,然后将此数据复制到excel,最后将其导入到数据库中,注意此数据中的日期格式。3个表之间的关系主要指主外键关系。--------------------------------------脚本文件0200.sql------------------------------------------CREATETABLE[dbo].[worker]([职工号][int]NOTNULL,[姓名][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,[性别][char](2)COLLATEChinese_PRC_CI_ASNOTNULL,[出生日期][datetime]NOTNULL,[党员否][bit]NOTNULL,[参加工作][datetime]NOTNULL,[部门号][int]NOTNULL,CONSTRAINT[PK_worker]PRIMARYKEYCLUSTERED([职工号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]CREATETABLE[dbo].[depart]([部门号][int]NOTNULL,[部门名][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,CONSTRAINT[PK_depart]PRIMARYKEYCLUSTERED([部门号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]CREATETABLE[dbo].[salary]([职工号][int]NOTNULL,[姓名][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,[日期][datetime]NOTNULL,[工资][decimal](6,1)NOTNULL,CONSTRAINT[PK_salary]PRIMARYKEYCLUSTERED([职工号]ASC,[日期]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]-------------------------------------------------------------------------------------------------------3.数据库完整性脚本文件名:0300.sql,此脚本文件可利用企业管理器自动生成。(1)实施worker表的“性别”字段默认值为“男”的约束。(2)实施salary表的“工资”字段值限定在0~9999的约束。------------------------------------脚本文件0300.sql--------------------------------------------altertableworkeraddconstraintdf_性别default'男'for性别altertablesalaryaddconstraintch_gzcheck((工资)=0and(工资)=9999)-------------------------------------------------------------------------------------------------------4.查询数据(1).查询所有男性职工的职工号、姓名。脚本文件名:0401.sql。------------------------------------脚本文件0401.sql--------------------------------------------select职工号,姓名fromworkerwhere性别='男'-------------------------------------------------------------------------------------------------------(2).查询所有2000年以前工作的职工姓名、参加工作时间。脚本文件名:0402.sql。------------------------------------脚本文件0402.sql--------------------------------------------select姓名,参加工作fromworkerwhereyear(参加工作)=2000-------------------------------------------------------------------------------------------------------(3).查询所有市场部的职工姓名、性别、职工号、是否党员。脚本文件名:0403.sql。------------------------------------脚本文件0403.sql--------------------------------------------select职工号,姓名,性别,党员否fromworkerwhere部门号in(select部门号fromdepartwhere部门名='市场部')-------------------------------------------------------------------------------------------------------(4).查询所有职工2004年2月的职工工资,显示字段包括职工号、职工姓名、性别、部门名称、工资,并按工资从大到小排序。脚本文件名:0404.sql。------------------------------------脚本文件0404.sql--------------------------------------------selectworker.职工号,wo