资产管理系统
以一个资产管理系统为实例,简单介绍资产借阅管理系统的数据库设计过程,请自行对内容进行充实。
1. 需求分析
固定资产管理系统主要是完成对企业资产类别管理、资产信息管理、员工信息管理、资产领用管理、资产归还管理和资产报废管理。
系统管理员首先完成对资产类别管理,资产信息的查询、增加、删除、修改等操作,以及员工信息的查询、增加、删除、修改等。然后登记员工对资产的领用和归还,或者对资产进行报废处理。能对资产领用、归还和报废情况进行查询。
系统处理的主要数据对象是资产和员工。和资产相关的信息有:资产的基本信息、资产的分类信息;和员工相关的信息有:员工的基本信息;和二者相关的信息有:员工借资产、归还资产的信息。
涉及的数据:
资产类别表:类别编号、资产大类、资产小类
资产表:资产编号、资产名称、所属类型、资产型号、资产价格、购买日期、其他
员工表:员工编号、姓名、性别、部门、职位、其他
2.概念设计
在设计资产借阅管理系统的数据库时,依据对系统做出的数据和功能的需求分析,确定要存储的有关对象的信息和各个对象的基本属性信息,还需要确定这些对象之间的相互关系。这一步设计称作数据库的概念设计,设计结果为数据库概念模型。
资产管理系统的概念模型如图1所示。
图1 资产管理系统的概念模型(E-R模型)
3.逻辑结构设计
逻辑结构设计是根据设计完成的概念模型,按照“实体和联系可以转换成关系”的转换规则,转换生成关系数据库管理系统支持的数据库表的数据结构。然后根据关系数据理论,对关系模式进行优化(请自行优化,达到BCNF)。根据以上设计的资产管理系统的概念模型和实际应用中的需要,为系统设计出的各数据表的数据结构和完整性约束条件如表所示。
表1
表2
表3
表4
给出实际判断、分解过程,使其达到BCNF.
4.物理结构设计
为了提高对数据表中数据的查速度,在实现表的设计时,应该考虑建立适当的索引。资产管理数据库中建立的索引情况如下表所示。
表5
由于经常进行批量资产数据的插入,建立存储过程,提高效率。
5.数据库的创建
根据以上对数据库的概念设计、逻辑设计和物理设计,得出了数据库中各表的数据结构。根据以上得出的各表设计结果,完成对各个数据表的数据结构创建。
CREATE DATABASE Assets ;
USE Assets;
CREA TE TABLE Assets (
AssetsID int NULL,
Name nvarchar (20) NOT NULL,
TypeID nvarchar (10) NULL,
Model nvarchar (30) NULL,
Price nvarchar (20) NULL,
BuyDate nvarchar (50) NULL,
Status nvarchar (10) NULL,
Other nvarchar (50) NULL
) ;
CREA TE TABLE AssetsTrjn (
JourNo int NULL,
FromAcc nvarchar (20) NULL,
AssetsID int NULL,
RegDate nvarchar (20) NULL,
PersonID int NULL,
Useornot nvarchar (50) NULL,
Other nvarchar (50) NULL
) ;
CREA TE TABLE AssetsType (
TY peID int NULL,
B_Type nvarchar (20) NULL,
S_Type nvarchar (20) NULL
) ;
CREA TE TABLE Person (
PersonID int NULL,
Name nvarchar (20) NULL,
Sex nvarchar (4) NULL,
Dept nvarchar (20) NULL,
Job nvarchar (20) NULL,
Other nvarchar (20) NULL
) ;
--建存储过程proc_ insAsset':增加资产基于mysql
drop procedure if exists proc_insAsset;
delimiter $$
create procedure proc_insAsset
( AssetsID int ,
Name nvarchar (20) ,
TypeID nvarchar (10) ,
Model nvarchar (30) ,
Price nvarchar (20) ,
BuyDate nvarchar (50) ,
Status nvarchar (10) ,
capacity()Other nvarchar (50) )
begin
insert into Assets values(AssetsID,Name,TypeID,Model,Price,BuyDate,Status,Other); end$$
香港云服务器delimiter ;
--建存储过程proc_delAsset:删除资产基于mysql
drop procedure if exists proc_delAsset;
delimiter $$
create procedure proc_delAsset
( Aid int)
begin
delete from Assets
where AssetsID= Aid;
end $$
delimiter ;
insert into assets(AssetsID,Name,TypeID,Model,Price,BuyDate,Status,Other) values (6,'联想笔记本','1','089991','9000','2016-1-1','在库',''),
java如何遍历map(7,'hp打印机','2','09002','3000','2016-2-2','在库',''),
(3,'惠普','3','B5','6000','2010-10-03','在库',''),黄页免费接口
(4,'摇床','8','S-03','5000','2010-10-11','借出','统一采购'),
mysql是什么系统>java类型有哪些创建方式(5,'光谱仪','7','G-05','30000','2010-10-20','借出','统一采购');
insert into assetstrjn(JourNo,FromAcc,AssetsID,RegDate,PersonID,Useornot,Other) values (1,'设备借用',3,'2010-10-21 23:52:54',1,NULL,'办公'),
(2,'设备借用',5,'2010-10-21 23:53:03',4,NULL,'实验'),
(3,'设备借用',4,'2010-10-21 23:53:29',2,NULL,'实验'),
(4,'设备归还',1,'2010-10-21 23:54:22',1,NULL,'使用完毕'),
(5,'设备报废',2,'2010-10-21 23:55:33',1,NULL,'不能使用'),
(6,'设备归还',3,'2017-5-3 11:10:49',1,'','');
insert into assetstype(TY peID,B_Type,S_Type)
values (1,'办公用品','计算机'),
(2,'办公用品','打印机'),
(3,'办公用品','扫描仪'),
(4,'办公用品','服务器'),
(5,'耗材','硒鼓'),
(6,'耗材','墨盒'),
(7,'实验用品','光谱仪'),
(8,'实验用品','显微镜');
/*Data for the table person */
insert into person(PersonID,Name,Sex,Dept,Job,Other)
values (1,'李娜','女','资产处','科长','2009年入职'),
(2,'刘冰','男','采购部','科员',''),
(3,'谢婷','女','网络部','科员',''),
(4,'张林','男','办公室','副主任',''),
(5,'王林','男','行政部','主任','');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论