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

2019-03-06 08:08

陕西国防工业职业技术学院

SQL Server 2005实训报告

项目名称: 员工管理数据库系统 班 级: 网络3101 姓 名: 刘泽国 学 号: 23 指导老师: 李老师 宫老师 实训时间: 2011.06.27-----2011.07.1 实训地点: 8-507 成 绩:

计算机教研室制

SQL实训

1.创建数据库

创建一个名称为factory的数据库,脚本文件名:0100.sql,此脚本文件可用SSMS方式生成。

(1)将主数据库文件factory_Data.MDF放置在D:\\DBF文件夹中,其文件大小自动增长为按5MB增长。

(2)将事务日志文件factory_Log.MDF放置在D:\\DBF文件夹中,其文件大小自动增长为按1MB增长。

------------------------------------脚本文件0100.sql-------------- ------------------------------

CREATE DATABASE factory ON

(NAME='D:\\dbf\\factory_data',

FILENAME='D:\\dbf\\factory.mdf', FILEGROWTH=5)

LOG ON

(NAME='D:\\dbf\\factory_log', ) go

USE factory Go

FILENAME='D:\\dbf\\factory.ldf', FILEGROWTH=1

------------------------------------------------------------------------------------------------------- 2.创建和使用表

脚本文件名:0200.sql,此脚本文件可用SSMS方式。 (1)建立职工表worker,其结构为:职工号:int,姓名:char(8),性别:char(2),出生日期:datetime,党员否:bit,参加工作:datetime,部门号:int。其中“职工号”为主键。在worker表中输入如下记录: 职工号 姓名 性别 出生日期 党员否 参加工作 部门号 3 陈明 男 05/08/45 否 01/01/65 2 10 陈涛 男 02/10/58 是 07/12/84 2 7 程西 女 06/10/80 否 07/10/02 1 12 李涵 男 04/19/65 是 07/10/89 3 4 李华 男 08/07/56 否 07/20/83 3 14 李艺 女 02/10/63 否 07/20/90 3 9 刘夫文 男 01/11/42 否 08/10/60 2 11 刘欣 男 10/08/52 否 01/07/70 1 6 欧阳少兵 男 12/09/71 是 07/20/92 3 1 孙华 男 0l/03/52 是 10/10/70 1 2 孙天奇 女 03/10/65 是 07/10/87 2 13 王小燕 女 02/10/64 否 07/10/89 1 15 魏君 女 01/10/70 否 07/10/93 3 5 余慧 男 12/04/80 否 07/10/02 3 8 张旗 男 11/10/80 否 07/10/02 2 (2)建立部门表depart,其结构为:部门号:int,部门名:char(10)。其中,“部

- 1 -

SQL实训

门号”为主键。在depart表中输入如下记录: 部门号 部门名 1 财务处 2 人事处 3 市场部 (3)建立职工工资表salary,其结构为:职工号:int,姓名:char(8),日期:datetime,工资:decimal(6,1)。其中,“职工号”和“日期”为主键。在salary表中输入如下记录

职工号 姓名 日期 工资 3 陈明 01/04/04 1350.6 3 陈明 02/03/04 1355.6 10 陈涛 01/04/04 1245.8 10 陈涛 02/03/04 1250.8 7 程西 01/04/04 750.8 7 程西 02/03/04 755.8 12 李涵 01/04/04 1345.0 12 李涵 02/03/04 1350.0 4 李华 01/04/04 1500.5 4 李华 02/03/04 1505.5 14 李艺 01/04/04 1000.6 14 李艺 02/03/04 1005.6 9 刘夫文 01/04/04 2006.8 9 刘夫文 02/03/04 2011.8 11 刘欣 01/04/04 1250.0 11 刘欣 02/03/04 1255.0 6 欧阳少兵 01/04/04 1085.0 6 欧阳少兵 02/03/04 1085.0 1 孙华 01/04/04 1201.5 1 孙华 02/03/04 1206.5 2 孙天奇 01/04/04 900.0 2 孙天奇 02/03/04 905.0 13 王小燕 01/04/04 1200.0 13 王小燕 02/03/04 1205.0 15 魏君 01/04/04 1100.0 15 魏君 02/03/04 1105.0 5 余慧 01/04/04 725.0 5 余慧 02/03/04 730.0 8 张旗 01/04/04 728.0 8 张旗 02/03/04 733.0 (4)建立worker、depart和salary3个表之间的关系。 注意:

数据的录入可使用导入的方法,可先建立数据表结构,然后将此数据复制到excel,最后将其导入到数据库中,注意此数据中的日期格式。

- 2 -

SQL实训

3个表之间的关系主要指主外键关系。

--------------------------------------脚本文件0200.sql------------ ------------------------------

USE [factory]

CREATE TABLE [dbo].[worker](

[职工号] [int] NOT NULL,

[姓名] [char](8) COLLATE Chinese_PRC_CI_AS NULL, [出生日期] [datetime] NULL, [党员] [bit] NULL,

[参加工作] [datetime] NULL,

[姓别] [char](2) COLLATE Chinese_PRC_CI_AS NULL,

[部门号] [int] NULL,

CONSTRAINT [PK_worker] PRIMARY KEY CLUSTERED ([职工号] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO

SET ANSI_PADDING OFF USE [factory] GO

CREATE TABLE [dbo].[depart](

[部门号] [int] NOT NULL,

[部门名] [char](10) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_depart] PRIMARY KEY CLUSTERED ([部门号] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO

SET ANSI_PADDING OFF USE [factory] GO

CREATE TABLE [dbo].[salary]( [职工号] [int] NOT NULL,

[姓名] [char](8) COLLATE Chinese_PRC_CI_AS NULL, [工资] [datetime] NULL, [日期] [datetime] NOT NULL,

constraint pk_d_o_id primary key(职工号, 日期) ) GO

SET ANSI_PADDING OFF

------------------------------------------------------------------------------------------------------- 3.数据库完整性

脚本文件名:0300.sql,此脚本文件可利用企业管理器自动生成。 (1)实施worker表的“性别”字段默认值为“男”的约束。 (2)实施salary表的“工资”字段值限定在0~9999的约束。

- 3 -

SQL实训

------------------------------------脚本文件0300.sql-------------- ------------------------------

CREATE TABLE [dbo].[worker](

[职工号] [int] NOT NULL,

[姓名] [char](8) COLLATE Chinese_PRC_CI_AS NULL,

[性别] [char](2) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [出生日期] [datetime] NULL,

[党员] [char](2) COLLATE Chinese_PRC_CI_AS NULL, [参加工作] [datetime] NULL,

[DF_worker_性别] DEFAULT ('男'),

[部门号] [int] NULL,

CONSTRAINT [PK_worker] PRIMARY KEY CLUSTERED

ALTER TABLE [dbo].[salary] WITH CHECK ADD CONSTRAINT [CK_salary] CHECK (([工资]>=(0) AND [工资]<=(9999)))

------------------------------------------------------------------------------------------------------- 4.查询数据

(1).查询所有男性职工的职工号、姓名。脚本文件名:0401.sql。

------------------------------------脚本文件0401.sql-------------- ------------------------------

select 职工号,姓名 from worker where 性别='男'

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

(2).查询所有2000年以前工作的职工姓名、参加工作时间。脚本文件名:0402.sql。

------------------------------------脚本文件0402.sql-------------- ------------------------------

select 姓名,参加工作 from worker

where 参加工作<='2000'

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

(3).查询所有市场部的职工姓名、性别、职工号、是否党员。脚本文件名:0403.sql。

------------------------------------脚本文件0403.sql-------------- ------------------------------

select 姓名,性别,职工号,党员否 from worker join depart

on worker.部门号=depart.部门号 where worker.部门号='3'

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

(4).查询所有职工2004年2月的职工工资,显示字段包括职工号、职工姓名、性别、部门名称、工资,并按工资从大到小排序。脚本文件名:0404.sql。

------------------------------------脚本文件0404.sql-------------- ------------------------------

select worker.职工号,worker.姓名,worker.性别,worker.部门号,salary.工资 from worker join salary

on worker.职工号=salary.职工号

- 4 -


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

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

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

马上注册会员

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