admin 管理员组文章数量: 1087139
2024年4月14日发(作者:reader是什么意思)
课程设计任务书
学生姓名
:
专业班级:
指导教师:
唐祖锴
题目:资产数据库设计
初始条件:
工作单位:
计算机学院
一个公司希望为管理它的每批资产(如PC机、打印机、汽车、桌子、椅子
等)建立一个数据库。资产被分为几类,如计算机和设备。一个资产被分配给一
个员工。财务人员要检查每批资产的现有市场价值,并记录下日期和现有价值。
公司也许会决定卖掉现有资产。同样,每批资产都要进行维护。
要求完成的主要任务:
1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个资产数据
库,DBMS可选Ms SQL Server、Access、VFP等。
2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求
分析,概念设计,逻辑设计,物理实现等。
3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计
语言(工具)任选。这一项是选作,不作硬性要求。
时间安排:
本学期第18周:
1. 消化资料、系统调查
2. 系统分析
3. 总体设计,实施计划
4. 撰写报告
1天
1天
2天
1天
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
一.背景及意义 :
传统人工的方式固定资产管理,这种管理方式存在着许多缺点,如:效率低、保密
性差,另外时间一长,将给固定资产的更新和维护都带来了不少的困难,而且容易
丢失。因此,开发一个代替手工操作的新型的计算机管理的固定资产管理系统是
刻不容缓的。随着计算机技术的飞速发展,计算机在公司企业管理中应用的普及,
利用计算机实现公司员工信息的管理势在必行。对于大中型企业来说,利用计算
机支持企业高效率完成固定资产信息管理,是适应现代企业制度要求、推动固定
资产管理走向科学化、规范化的必要条件;计算机进行管理工作,不仅能够保证
准确无误、快速输出,而且还可以利用计算机对有关固定资产的各种信息进行统
计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可
靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高固
定资产管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
二.需求分析:
1.资产管理流程图
资产检查
登陆
是否登陆
.资产信息
资产维护
资产变卖
资产增加
2.功能结构:
资产管理系统主要是对资产有关信息进行管理,它的主要功能如下:
1)进行资产信息的添加,变卖。
2)添加资产的维修记录。
3)添加资产的检测记录,并修改资产当前价值。
4)员工信息的添加修改删除。
三.概念设计:
概念结构设计就是将需求分析阶段得到的用户需求抽象为数据库的概念结构。本
论文使用E-R图来描述系统的概念结构,即使用RE图表示需求分析的结果。实
际设计过程中,首先分析系统中以实体为基本单位的局部ER图,然后分析两两
实体之间的联系,画出两两实体之间的局部ER图,再讲两两实体之间联系的
ER图作为基本单位,画出他们之间的ER图,以此类推,最后将各局部ER图拼
合成全局ER图。
通过需求分析可知,资产管理系统的研究对象主要有资产,员工,维修记录,检
查记录四个部分。
1.资产
资产编号 资产名称
资产类别
所属人编号
购买时间
资产
当前价值
初始价值
最近检时间
2.员工
编号
员工
姓名
3.维修记录
编号
资产编号
维修记录
维修时间
维修费用
4.检查记录
编号
资产编号
检查记录
检查时间
当时价值
四.逻辑设计
1.数据库设计:
fund 资产信息表
字段
id
name
belong
type
state
buyvalue
buydate
类型
int
varchar(30)
int
tinyint
tinyint
decimal(10,2)
date
其他
PRIMARY, AUTO_INCREMENT
备注
资产ID
资产名
拥有者ID
资产类型
状态
购买时价值
购买时间
注:状态有1和0两种,1为一般状态,0为已卖出状态。
staff 员工信息表
字段
id
name
类型
int
varchar(30)
其他
PRIMARY, AUTO_INCREMENT
备注
员工ID
员工姓名
repair 维修记录表
字段
id
fundid
date
pay
类型
int
int
date
decimal(7,2)
其他
PRIMARY, AUTO_INCREMENT
备注
记录ID
资产ID
维修时间
维修费用
finance 价值检查记录表
字段
id
fundid
类型
int
int
其他
PRIMARY, AUTO_INCREMENT
备注
记录ID
资产ID
date
value
date
decimal(7,2)
检查时间
当时价值
外键约束:
→
→
→
2.数据库实现
1)建立staff表
CREATE TABLE staff
(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL
)
AUTO_INCREMENT=100
2)建立fund表
CREATE TABLE fund
(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
belong INT NOT NULL ,
type INT NOT NULL ,
state TINYINT NOT NULL DEFAULT 1 ,
buyvalue decimal(10,2) NOT NULL,
buydate DATE NOT NULL,
value decimal(10,2) NOT NULL,
checkdate DATE NOT NULL,
FOREIGN KEY(belong) REFERENCES staff(id) ON DELETE CASCADE
ON UPDATE CASCADE
)
AUTO_INCREMENT=100
3)建立repair表
CREATE TABLE repair
(
id INT NOT NULL AUTO_INCREMENT,
fundid INT NOT NULL,
date DATE NOT NULL,
pay decimal(7,2) NOT NULL,
FOREIGN KEY(fundid) REFERENCES fund(id) ON DELETE CASCADE
ON UPDATE CASCADE
)
AUTO_INCREMENT=100
4)建立finance表
CREATE TABLE finance
(
id INT NOT NULL AUTO_INCREMENT,
fundid INT NOT NULL,
date DATE NOT NULL,
value decimal(10,2) NOT NULL,
FOREIGN KEY(fundid) REFERENCES fund(id) ON DELETE CASCADE
ON UPDATE CASCADE
)
AUTO_INCREMENT=100
五.物理实现:
1.开发平台:
操作系统:windows XP
工具:Mysql, Apache, Notepad++, dreamweaver CS5
语言:PHP
2.相关技术:
1)PHP
PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种
HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,
语言的风格有类似于C语言,被广泛地运用。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以比 CGI
或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相
比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标
记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代
码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP
都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可
以用C、C++进行程序的扩展!
2)Apache
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码
的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被
广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单
的API扩展,将Perl/Python等解释器编译到服务器中。
Apache http server是世界使用排名第一的Web服务器软件。它可以运行
在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web
服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的
服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修
改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器
来使用。
3)Javascript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同
时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动
态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan
Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
实现流程:
安装mysql,apache,php,并正确配置。
使用dreamweaver编写html代码。
创建数据库。
编写php代码。
测试
3.系统截图:
资产列表
添加资产
员工列表
添加维修记录
维修记录
检查
检查记录
资产列表按人
4.代码:
1)添加资产:
$new_name = $_POST['name'];
$new_belong = $_POST['belong'];
$new_type = $_POST['type'];
$new_date = $_POST['date'];
if(array_key_exists('value', $_POST)&&isset($_POST['value'])){
$new_value = $_POST['value'];
}else{
$new_value = 0;
}
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("INSERT INTO fund(name, belong, type, buyvalue, buydate)
VALUES ('$new_name', '$new_belong', '$new_type', '$new_value', '$new_date')");
2)变卖资产:
$id = $_GET['id'];
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("UPDATE fund
SET state='0'
WHERE id='$id'
");
header("location:");
3)显示资产:
资产编号 | 资产名称 | 所属人 | 添加日期 | 类别 | 初始价值 | 当前价值 | 操作 |
---|---|---|---|---|---|---|---|
$id | $name | href="?id=$belongid">$belong | $date | $type | $value | $now_value | 变卖检查维修修改 |
4)检查:
$fund = $_POST['id'];
$value = $_POST['value'];
$date = $_POST['date'];
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("INSERT INTO finance(fundid, value, date)
VALUE('$fund','$value','$date')
");
$add = mysql_query("UPDATE fund
SET VALUE=$value
WHERE id='$fund'
");
header("location:");
5)维修:
$fund = $_POST['id'];
$pay = $_POST['pay'];
$date = $_POST['date'];
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("INSERT INTO repair(fundid, pay, date)
VALUE('$fund','$pay','$date')
");
header("location:");
6)删除员工:
$id = $_GET['id'];
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("DELETE FROM staff
WHERE id='$id'
");
header("location:");
7)修改员工:
$name = $_POST['name'];
$id= $_POST['id'];
$con = mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("UPDATE staff
SET name='$name'
WHERE id='$id'
");
header("location:");
8)修改资产:
$id = $_POST['id'];
$name = $_POST['name'];
$belong = $_POST['belong'];
$type = $_POST['type'];
$date = $_POST['date'];
if(array_key_exists('value', $_POST)&&isset($_POST['value'])){
$value = $_POST['value'];
}else{
$value = 0;
}
$con = @mysql_connect('localhost','root','836522634');
mysql_query("set names 'utf8'");
$db_select = mysql_select_db('company',$con);
$result = mysql_query("UPDATE fund
SET name='$name',belong='$belong',type='$type',buyvalue='$value',buydate='$date'
WHERE id='$id'
");
9)维修记录:
记录编号 | 资产名称 | 资产名称 | 维修时间 | 维修费用 |
---|---|---|---|---|
$id | $fundid | $name | $date | $pay |
版权声明:本文标题:资产数据库设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713077727a618764.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论