软件学院
课程设计报告书
课程名称 设计题目 专业班级 学 号姓
名指导教师 数据库原理及应用 企业资产管理系统
软件 10- 01
李建东
2012年 6月
目录
1 设计时间 .......................................................................................................................................................................................................................... 3
2 设计目的 .......................................................................................................................................................................................................................... 3
3 设计任务 .......................................................................................................................................................................................................................... 3
4 设计内容 .......................................................................................................................................................................................................................... 3
4.1 需求分析 .......................................................................................................................................................................................................... 3
4.1.1 系统功能要求 ....................................................................................................................................................................... 4
4.1.2 数据字典 ........................................................................................................................................................................................ 4
4.2 系统设计 .......................................................................................................................................................................................................... 5
4.2.1 概念结构设计 .................................................................................................................................................................... 5
4.2.2 逻辑结构设计 .................................................................................................................................................................... 6 4.2.3 物理结构设计 .................................................................................................................................................................... 7 4.3 系统实施 .......................................................................................................................................................................................................... 8
4.3.1 数据库实现 ................................................................................................................................................................................ 8
4.3.2 数据载入 ................................................................................................................................................................................ 12 4.4 运行与测试 ............................................................................................................................................................................................. 12
4.4.1 运行与测试 ........................................................................................................................................................................... 12
4.4.2 分析 .................................................................................................................................................................................................... 14
5 总结与展望 ............................................................................................................................................................................................................. 14
参考文献 ............................................................................................................................................................................................................................ 15
成绩评定 ............................................................................................................................................................................................................................ 15
2
1 设计时间
17 周(2012 年 6 月 4 日-2012 年 6 月 8 日)
2 设计目的
数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库
系统概论》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本
知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的
能力,最终实现对于给定的应用环境, 构造最优的数据库模式, 建立数据库及其应用系统,
使之能够有效地存储数据,满足各种用户的应用需求
(信息要求和处理要求 )。同时,此次
设计对于将来的毕业设计和具体工作实践将有重要的意义。
3 设计任务
企业资产管理
功能要求:
1) 企业资产购置:将企业资产信息插入企业资产数据文件。
2) 企业资产的领用:企业资产发放给相关部门使用,登记相关信息。 3) 企业资产的内部调拨:由一个部门调拨到另一个部门,登记相关信息。 4) 企业资产出租:本企业资产出租给其他企业,对租赁费用、时间等登记管理 5) 企业资产的报废:企业资产达到报废年限或其他原因报废,登记相关报废信息。对以上具体功能的查询、统计功能
数据要求:
资产数据:资产代码、资产名称、资产类型、规格型号、单位、制造厂家、购置日期、
原值(帐面价值)等
资产领用数据:资产代码、资产名称、领用部门、领用日期、经办人
资产调拨数据:资产代码、资产名称、调入部门、调出部门、调拨日期、经办人
资产出租数据:资产代码、资产名称、租用单位、出租日期、到期日期、租赁费用、
经办人
资产报废数据:资产代码、资产名称、资产残值、报废原因、报废日期、经办人
4 设计内容
4.1 需求分析
3
4.1.1 系统功能要求
1) 企业资产购置:将企业资产信息插入企业资产数据文件。
2) 企业资产的领用:企业资产发放给相关部门使用,登记相关信息。 3) 企业资产的内部调拨:由一个部门调拨到另一个部门,登记相关信息。 4) 企业资产出租:本企业资产出租给其他企业,对租赁费用、时间等登记管理 5) 企业资产的报废:企业资产达到报废年限或其他原因报废,登记相关报废信息。对以上具体功能的查询、统计功能
4.1.2 数据字典
表 4.1.1 数据字典
数据类型
int char char char char
数据项名 资产代码
名称 类型 规格型号
单位
字段大小
取值范围
描述
资产代码
20 20 10
30
资产名称
资产类型
规格型号
资产所属单
位
资产制造厂
家 购置日期
制造厂家
char
20
购置日期
原值
date float
2
帐面价值
部门 char
10
领用日期
date
资产领用日
期
调拨,领用 出租,报废
经办人 调拨日期
经办人
char
8
调拨日期 租用单位
date char
30
租用资产单
位
资产出租日
出租日期
date
期
4
到期日期
date fload fload char
出租资产到
期日期
2 2 200
租赁费用
租赁费用 资产残值 报废原因
资产残值
资产报废原
因
资产报废日
报废日期
date
期
4.2 系统设计
4.2.1 概念结构设计
概念结构设计是对现实世界的一种抽象,
即对实际的人、 物、事和概念进行人为处理,
抽取所关心的共同特性, 忽略非本质的细节, 并把这些特性用各种该你那精确地加以描述,
通过该过程形成 E-R 图。
局部 E-R 图:
资产代码
名称
企业资产
原值
购置日期
类型
规格型号 图 4.2.1.1
制造厂家
单位
资产及其属性联系
购置
部门
名称
资产代码 图 4.2.1.3
报废
购置日期
图 4.2.1.2
部门和单位及其属性联系
购置及其属性联系
资产代码
报废日期
经办人
资产残值
报废原因
图 4.2.1.3 资产报废及其属性联系
5
出租
租用单位
经办人
出租日期
到期日期
图 4.2.1.3
出租及其属性联系
租赁费用
n
领用
m
部门
企业资产
m
调拨
实体及联系图
n
图 4.2.1.3
综合 E-R 图:
单位 资产代码
n
企业资产
领用
m
原值
部门
名称
m
调拨 n
类型
报废
规格型号
资产代码
购置日期
经办人
报废原因
制造厂家
报废日期
资产残值
出租
租用单位
经办人
出租日期
到期日期
图 4.2.1.4 综合 E-R 图
租赁费用
4.2.2 逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的
E-R 图转换为与所用 DBMS产
品所支持的数据模型相符合的逻辑结构。
6
将 4.2.1 概念结构设计形成的 E-R 图转变为关系模型(符合 3NF)如下:
企业资产 ( 资产代码、资产名称、资产类型、规格型号、单位、制造厂家、购置日期、原
值)
资产领用 ( 资产代码、领用部门、领用日期、经办人
)
)
) )
资产调拨 ( 资产代码、调入部门、调出部门、调拨日期、经办人
资产出租 ( 资产代码、租用单位、出租日期、到期日期、租赁费用、经办人 资产报废 ( 资产代码、资产名称、资产残值、报废原因、报废日期、经办人
4.2.3 物理结构设计
物理结构设计是根据逻辑结构设计所转变成的关系模型,把关系模型以三线表的形式
展现出来,方便查询和更新。
表 4.2.3.1
数据类型
int varchar varchar varchar varchar
资产表物理结构设计
取值范围
中文名称 资产代码 资产名称 资产类型 规格型号
单位
字段大小
是否非空
Y Y Y Y N N
描述
资产号码
20 20 10
30
资产名称
资产类型
规格型号
资产所属单
位
家
制造厂家
varchar
20
资产制造厂
购置日期
原值
date fload
Y 购置日期
账面价值
表 4.2.3.2 资产领用物理结构设计
中文名称 资产代码 领用部门 领用日期
数据类型
int varchar date
字段大小
取值范围 是否非空
Y N Y
描述
资产号码
10
领用部门
资产所属单
位
经办人
char 8
Y
领用经办人
表 4.2.3.3 资产调拨表物理结构设计
中文名称 资产代码 调入部门 调出部门 调拨日期 经办人
数据类型
int varchar varchar date char
字段大小
取值范围 是否非空
Y Y Y Y Y
描述
资产号码
10 10
调入部门
调出部门
调拨日期
8
调拨经办人
7
表 4.2.3.4
中文名称 资产代码 租用单位 出租日期 到期日期 经办人
数据类型
int varchar date date char
资产出租表物理结构设计
取值范围
字段大小
是否非空
Y Y Y Y Y
描述 资产号码 租用单位 出租日期 到期日期 出租经办人
30
8
表 4.2.3.3
中文名称 资产代码 报废残值 报废原因 报废日期 经办人
数据类型
int float varchar date char
资产报废表物理结构设计
取值范围
字段大小
是否非空
Y Y Y Y Y
描述 资产号码 报废残值 报废原因 报废日期 报废经办人
50 8
4.3 系统实施
4.3.1 数据库实现
建立数据库:
CREATE DATABASE 企业资产管理 ;
建立数据表:
create table 资产
(资产代码 int not null,
资产名称 varchar(20) not null,
资产类型 varchar(20) not null,
规格型号 varchar(10) not null,
单位 varchar(30),
制造厂家 varchar(20),
购置日期 datetime,
原值 float,
constraint PK_资产 primary key (资产代码 )
);
create table 部门
(部门名称 varchar(20) not null,
constraint PK_部门 primary key (部门名称 )
8
);
create table 资产领用
(资产代码 int not null,
领用部门 varchar(20) not null,
领用日期 datetime,
经办人 char(8),
constraint PK_资产领用 primary key (资产代码 ,领用部门 ,领用日期 ), foreign key (资产代码 ) references 资产 (资产代码 ), foreign key (领用部门 ) references 部门 (部门名称 )
);
create table 资产调拨
(资产代码 int not null,
调入部门 varchar(20) not null,
调出部门 varchar(20) not null,
调拨日期 datetime,
经办人 char(8),
constraint PK_资产调拨 primary key (资产代码 ,调入部门 ,调出部门 ,调拨日期 ), foreign key (资产代码 ) references 资产 (资产代码 ),
foreign key (调入部门 ) references 部门 (部门名称 ), foreign key (调出部门 ) references 部门 (部门名称 )
);
create table 资产出租
(资产代码 int not null,
租用单位 varchar(30) not null,
出租日期 datetime,
到期日期 datetime,
租赁费用 float,
9
经办人 char(8),
constraint PK_资产出租 primary key (资产代码 ,租用单位 ,出租日期 ), foreign key (资产代码 ) references 资产 (资产代码 ),
);
create table 资产报废
(资产代码 int not null,
报废残值 float,
报废原因 char(50),
报废日期 datetime,
经办人 char(8),
constraint PK_资产报废 primary key (资产代码 ),
foreign key (资产代码 ) references 资产 (资产代码 ),
);
建立视图:
create view 调拨信息
as
select 资产调拨 .资产代码 ,资产 .资产名称 ,资产调拨 .调入部门 ,资产调拨 .调出部门 ,
资产调拨 .调拨日期 ,资产调拨 .经办人
from 资产 ,资产调拨 ,部门 ,部门 部门 _1
where 资产 .资产代码 = 资产调拨 .资产代码 AND 资产调拨 .调入部门 = 部门 .部门名
称 AND 资产调拨 .调出部门 =部门 _1.部门名称
create view 出租信息
as
select 资产出租 .资产代码 ,资产 .资产名称 ,资产出租 .租用单位 ,资产出租 .出租日期 ,
资产出租 .到期日期 ,资产出租 .租赁费用
from 资产 ,资产出租
where 资产 .资产代码 = 资产出租 .资产代码
10
create view 领用信息
as
select 资产领用 .资产代码 ,资产 .资产名称 ,资产领用 .领用部门 ,资产领用 .领用日期 ,
资产领用 .经办人
from 资产 ,资产领用
where 资产 .资产代码 = 资产领用 .资产代码
create view 报废信息
as
select 资产报废 .资产代码 ,资产 .资产名称 ,资产报废 .报废原因 ,资产报废 .报废残值 ,
资产报废 .报废日期
from 资产 ,资产报废
where 资产 .资产代码 = 资产报废 .资产代码
建立触发器:
create trigger B1
on 资产报废
after insert
as
delete from 资产调拨 where 资产调拨 .资产代码 =(select 资产代码
from inserted);
create trigger B2
on 资产报废
after insert
as
delete from 资产领用 where 资产领用 .资产代码 =(select 资产代码
from inserted);
create trigger B3
on 资产报废
after insert
as
delete from 资产出租 where 资产出租 .资产代码 =(select 资产代码
from inserted);
11
create trigger B4
on 资产报废
after insert
as
insert into 报废资产
select *
from 资产
4.3.2 数据载入
4.4 运行与测试
4.4.1 运行与测试
设计系统查询功能及要求,写出主要的查询
SQL语句,并给出运行结果。
1、购置资产
insert
into 资产
values (5,'PEPER','
办公用品 ','c1','A','toshiba',2012-04-10,200.00)
12
2、资产出租
3、资产调拨
4、资产领用
5、资产报废
13
4.4.2 分析
在创建数据库的的过成中,各表的属性列及表的外码约束的名称和数据类型很容易
出入错误。插入数据时,插入数据的数量要和定义的数量匹配,若多于定义的数据类则拒
绝插入。资产报废的相关操作通过建立触发器实现, 在录入一项报废资产, 同时删除出租、
调拨、领用表中该资产的数据,并将资产数据插入到报废资产表中。创建触发器时利用教
科书上“ as begin 触发体动作 end”语句,结果在录入一条报废资产时将所有资产信息都
删除了,后改为“ as 触发体动作”则达到预期效果。初步分析,由于版本问题本实验使用
的 SQL2000 中原来的触发语句,被默认为行级触发器,所以将数据都删除了,后改为语句级触发器则修正了这个问题。
本次创建的数据库还存在很多问题,比如各表的完整性约束条件都不完善,如一件
资产的报废日期必不能早于该资产的购置日期,还有某一资产若正处于出租期间,就不会
有调拨记录等,这些都是本数据库需要完善的地方。
5 总结与展望
企业资产管理是面向资产密集型企业的信息化,制造业信息化,企业信息化解决方案
的总称。它以提高资产可利用率、降低企业运行维护成本为目标,以优化企业维修资源为
核心,通过信息化手段,合理安排维修计划及相关资源与活动。通过提高设备可利用率得
以增加收益,通过优化安排维修资源得以降低成本,从而提高企业的经济效益和企业的市
场竞争力。
由于时间所限不能做实际的需求分析, 所以在概念结构设计和逻辑结构设计是遇到困
难,不能明确的抽取对象实体,比如在出租的时候,是否将出租单位抽为实体,后经讨论
认为一个企业中的数据库应该没必要存其他各单位的信息,所以在实际实现数据库的时
候,将出租单位抽象成出租这个实体的属性。对各个属性间的依赖分析出现分歧。要想建
立一个真正完整的数据库还需要做许多调查和努力。
14
参考文献
[1] 王珊 ,萨师煊 .数据库系统概论 .第 4 版 , 北京 :高等教育出版社 ,2006.5
成绩评定
成绩
教师签字
15
因篇幅问题不能全部显示,请点此查看更多更全内容