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