数据库原理与设计课程设计工厂管理系统.docx

上传人:b****1 文档编号:1798344 上传时间:2023-05-01 格式:DOCX 页数:23 大小:311.23KB
下载 相关 举报
数据库原理与设计课程设计工厂管理系统.docx_第1页
第1页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第2页
第2页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第3页
第3页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第4页
第4页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第5页
第5页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第6页
第6页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第7页
第7页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第8页
第8页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第9页
第9页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第10页
第10页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第11页
第11页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第12页
第12页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第13页
第13页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第14页
第14页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第15页
第15页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第16页
第16页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第17页
第17页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第18页
第18页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第19页
第19页 / 共23页
数据库原理与设计课程设计工厂管理系统.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理与设计课程设计工厂管理系统.docx

《数据库原理与设计课程设计工厂管理系统.docx》由会员分享,可在线阅读,更多相关《数据库原理与设计课程设计工厂管理系统.docx(23页珍藏版)》请在冰点文库上搜索。

数据库原理与设计课程设计工厂管理系统.docx

数据库原理与设计课程设计工厂管理系统

目录

一、课程设计内容基本要求2

1、工厂管理数据库2

2、开发环境2

3、基本要求3

4、文档格式3

二、需求分析4

1、功能需求4

2、数据字典4

3、数据流图6

三、概念结构设计9

1、实体9

2、局部的E-R图10

3、总体的E-R图12

四、逻辑模式设计12

1、将E-R图转化为关系模式12

2、数据模型的优化13

五、检验是否满足用户需求15

六、代码设计和界面设计17

七、总结20

一、课程设计内容基本要求

1、工厂管理数据库

工厂需建立一个管理数据库存储以下信息:

*工厂信息包括工厂代号,工厂名,厂长名及工厂运营开销。

*一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址,电话及每个月的车间运营开销。

*一个车间有多个工人,每个工人有职工号、姓名、年龄、性别,工种及月工资。

*一个车间生产多种产品,产品有产品号、产品名、规格,制造成本和销售价格。

*一个车间生产多个零件,一个零件也可能由多个车间制造。

零件有零件号、零件名,制造成本和销售价格。

*一个产品由多个零件组成,一个零件也可装配出多种产品。

*产品与零件均存入仓库中。

*厂内有多个仓库,仓库有仓库号,仓库主任姓名、电话及仓库的运营成本。

应完成的主要功能:

(1)各种各样的管理功能,如工厂信息的管理功能,包括录入、修改、查询、输出工厂的信息;车间信息的管理功能,包括录入、修改、查询、输出车间的信息;还有工人,零件,产品,仓库等的信息管理功能。

(2)工厂的利润统计,包括月利润和年利润统计。

(3)能输出各种各样的报表,如工人工资月报表,年报表;每个车间生产的产品和零件数量的月报表;仓库存储产品和零件数量的月报表;工厂运营开销和车间运营开销的月报表等。

2、开发环境

数据库选用微软的SQLSERVER。

开发环境可以选择:

(1)Delphi;

(2)VisualBasic;(3)C++builder;(4)VisualC++。

只选择其中的一种软件开发工具就可以。

3、基本要求

(1)完成问题陈述中所提到的所有需求功能

(2)要求撰写不少于2500个文字的文档。

(3)文档中至少要包括:

ER模型图、系统功能图、数据字典、表关系的详细说明。

(4)用户界面设计:

采用窗口式,色彩要柔和,界面要友好,操作要简单。

(5)用户手册,描述软件系统所具有的功能及基本的使用方法。

使用户能了解该软件的用途,并能确定在什么情况下、如何使用它。

(6)操作手册,为操作人员提供该软件每一个运行的具体过程和相关知识,包括操作方法的细节等。

4、文档格式

(1)概述

包括项目背景、编写目的、软件定义、开发环境等内容。

(2)需求分析

问题陈述、需完成的功能。

画出ER模型图

(3)数据库逻辑设计

把ER模型图转换为关系表。

描述每一个基本表关系。

要求所有关系达到BCNF范式。

定义视图、定义索引、主关键字、定义权限。

(4)软件功能设计

画出软件功能图。

描述每一个功能所完成的任务情况。

(5)界面设计

界面设计要合理。

(6)结束语

写出完成本课程设计的心得,领会数据库理论与软件开发实践的关系。

有哪些收获。

软件还需要哪些改进。

二、需求分析

1、功能需求

本课题任务是开发一个小型的工厂管理系统,一个小型的工厂管理系统是实现对工厂基本信息(工厂、车间、工人、产品等数据)进行管理。

主要功能:

(1)各种各样的管理功能,如工厂信息的管理功能,包括录入、修改、查询、输出工厂的信息;车间信息的管理功能,包括录入、修改、查询、输出车间的信息;还有工人,零件,产品,仓库等的信息管理功能。

(2)工厂的利润统计,包括月利润和年利润统计。

(3)能输出各种各样的报表,如工人工资月报表,年报表;每个车间生产的产品和零件数量的月报表;仓库存储产品和零件数量的月报表;工厂运营开销和车间运营开销的月报表等。

工厂需建立一个管理数据库存储以下信息:

*工厂信息包括工厂代号,工厂名,厂长名及工厂运营开销。

*一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址,电话及每个月的车间运营开销。

*一个车间有多个工人,每个工人有职工号、姓名、年龄、性别,工种及月工资。

*一个车间生产多种产品,产品有产品号、产品名、规格,制造成本和销售价格。

*一个车间生产多个零件,一个零件也可能由多个车间制造。

零件有零件号、零件名,制造成本和销售价格。

*一个产品由多个零件组成,一个零件也可装配出多种产品。

*产品与零件均存入仓库中。

*厂内有多个仓库,仓库有仓库号,仓库主任姓名、电话及仓库的运营成本。

2、数据字典

数据项

表1.1

数据项名含义说明数据类型长度

厂名工厂相关信息char()20

厂长名工厂相关信息char()6

车间号车间相关信息int()10

车间主任车间相关信息char()6

地址车间相关信息char()20

电话车间相关信息int()11

员工号员工相关信息int()10

职位编号员工相关信息char()20

姓名员工相关信息char()6

年龄员工相关信息int()2

性别员工相关信息char()2

工种员工相关信息char()20

地址员工相关信息char()20

电话员工相关信息int()11

产品号产品相关信息int()10

价格产品相关信息int()10

产品名称产品相关信息char()20

车间号产品相关信息int()10

零件号零件相关信息int()10

重量零件相关信息int()10

价格零件相关信息int()10

仓库保管员编号仓库相关信息int()10

姓名仓库相关信息char()6

电话仓库相关信息int()11

数据结构

表1.2

数据结构名含义说明组成

工厂表定义了工厂的相关信息厂名,厂长

车间表定义了车间的相关信息车间编号,车间名称,车间主任编号,备注

员工表定义了员工表的相关信息员工号,姓名,工种,职位编号,年龄,

性别,电话,地址

产品表定义了产品的相关信息编号,产品名称,价格,车间编号,备注

零件表定义了零件的相关信息零件号,重量,价格

车间-零件表定义了车间与零件的相关信息车间编号,零件号

产品-零件表定义了产品与零件的相关信息产品编号,零件号

仓库表定义仓库的相关信息编号,管理员姓名,电话

零件-仓库表定义了零件与仓库的相关信息仓库编号(主键),零件编号

产品-仓库表定义了产品与仓库的相关信息仓库编号(主键),产品编号

3、数据流图

数据流1是管理员登陆输入工厂的订单信息,以及生产的细节产品的规格等等

数据流2是工厂生产好的产品后的产品信息以及存入工厂

图2.1第0层数据流图

图1.2第1层数据流图

图1.31第3层数据流

图1.32第3层数据流

图1.33第3层数据流

数据流

数据存储

数据存储名含义说明组成

车间信息储存了车间的相关信息车间地址,车间名称,车间主任

员工信息储存了员工的相关信息姓名性别职位号,年龄,电话地址

产品信息储存了产品的相关信息产品号,价格,生产地

零件信息定义了零件的相关信息零件号,价格

仓库信息定义仓库的相关信息仓库号,电话

处理过程

表1.5

处理过程名含义说明输入输出

生产过程查找所要生产的零件信息零件信息零件

生产过程查找所要生产的产品信息产品信息产品

储存过程查找出零件储存的仓库号仓库信息零件

储存过程查找出产品储存的仓库号仓库信息产品

三、概念结构设计

1、实体

通过对上面的系统总体分析,可以得到大概的实体-关系模型(E-R模型),如下:

员工:

{姓名,性别,年龄,住址,电话,职位号}

车间:

{车间名称,车间地址,车间主任}

产品:

{产品号,价格,生成地}

零件:

{零件号,价格}

仓库:

{仓库电话,管理员,仓库号}

则对应的E-R如下:

2、局部的E-R图

事务规则:

一个车间可以容纳多名员工(1:

n)

事物规则:

一个车间能生产多种零件(1:

n)

事物规则:

一个仓库能保管多种零件(1:

n)

事物规则:

一个零件能够组装多个产品(M:

N)

一个产品可以由多个零件构成(N:

M)

3、总体的E-R图

四、逻辑模式设计

1、将E-R图转化为关系模式

逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。

关系模型(第1数据项为主键):

工厂(厂名,厂长名)

车间(车间号,车间主任,地址,电话,备注)

员工(职工号,姓名,工种,职位编号,年龄,性别,电话,地址)

产品(产品号,产品名称,价格,车间编号,备注)

零件(零件号,重量,价格)

仓库(仓库号,仓库保管员,姓名,电话)

车间-零件(车间号,零件号)

产品-零件(产品号,零件号)

零件-仓库(仓库号,零件号)

产品-仓库(仓库号,产品号)

2、数据模型的优化

将转化的关系模式进行优化,最终达到第三范式。

优化后的关系模式如下:

工厂(厂名,厂长名)

车间(车间号,车间主任,地址,电话)

员工(职工号,姓名,工种,职位编号,年龄,性别,电话,地址)

产品(产品号,产品名称,价格,车间编号,备注)

零件(零件号,重量,价格)

仓库(仓库号,仓库保管员号,姓名,电话)

车间-零件(车间号,零件号)

产品-零件(产品号,零件号)

零件-仓库(仓库号,零件号)

产品-仓库(仓库号,产品号)

表3.1工厂信息表(gc)

字段名称数据类型长度约束属性

厂名char()20NOTNULL主码

厂长名char()6NOTNULL非主属性

表3.2车间信息表(cj)

字段名称数据类型长度约束属性

车间号int()10NOTNULL主码

车间主任char()6NOTNULL非主属性

地址char()20NOTNULL非主属性

电话int()11NOTNULL非主属性

备注char()20NOTNULL非主属性

表3.3员工信息表(yg)

字段名称数据类型长度约束属性

职工号int()10NOTNULL主码

姓名char()6NOTNULL非主属性

工种char()20NOTNULL非主属性

职位编号char()20NOTNULL非主属性

年龄int()2NOTNULL非主属性

性别char()2NOTNULL非主属性

地址char()20NOTNULL非主属性

电话int()11NOTNULL非主属性

表3.4产品信息表(cp)

字段名称数据类型长度约束属性

产品号int()10NOTNULL主码

产品名称char()20NOTNULL非主属性

价格int()10NOTNULL非主属性

车间编号int()10NOTNULL非主属性

备注char()20NOTNULL非主属性

表3.5零件信息表(lj)

字段名称数据类型长度约束属性

零件号int()10NOTNULL主码

重量int()10NOTNULL非主属性

价格int()10NOTNULL非主属性

表3.6仓库信息表(ck)

字段名称数据类型长度约束属性

仓库号int()10NOTNULL主码

仓库保管员号int()10NOTNULL非主属性

姓名char()6NOTNULL非主属性

电话int()11NOTNULL非主属性

表3.7车间-零件生产关系表(cjlj)

字段名称数据类型长度约束属性

车间号int()10NOTNULL外码

零件号int()10NOTNULL外码

表3.8产品-零件组成关系表(cplj)

字段名称数据类型长度约束属性

产品号int()10NOTNULL外码

零件号int()10NOTNULL外码

表3.9零件-仓库存储关系表(ljck)

字段名称数据类型长度约束属性

零件号int()10NOTNULL非属性

仓库号int()10NOTNULL外码

表3.10产品-仓库存储关系表(cpck)

字段名称数据类型长度约束属性

产品号int()10NOTNULL非属性

仓库号int()10NOTNULL外码

五、检验是否满足用户需求

◆例行事务需求

1:

要在车间表中添加新的数据,基本格式为

Insertinto<基本表名>[(〈列名1〉,<列名2),…,<列名n>)]

VALUES(<列值1>,<列值2>,…,<列值3>)

2:

要修改职位表的数据,则要使用UPDATE语句,基本格式为

UPDATE<基本表名>

SET<列名>=<表达式>[,<列名>=<表达式>]...

[WHERE<条件>]

3:

删除操作

DROPVIEW〈视图名〉

◆查询事务需求

因为该课程设计要求是能实现查询各车间,生产的产品和零件信息,查询各仓库中产品和零件信息,所以重点在此。

先说说明查询的基本格式:

SELECET[ALL|DISTINCT]<列名或表达式>[别名1][,<列名或表达式>[别名2]]…

FROM<表名或视图名>[表别名1][,<表明或视图名>[表别名2]]…

[WHERE<条件表达式>]

[GROUPBY<列名>][HAVING<条件表达式>]

[ORDERBY〈列名2〉][ASC|DESE]

例:

select*

fromcp,lj

wherecpbhin(selectcpbhfromljcj),

andljnoin(selectljnofromljcj);

select*

fromcp,lj

wherecpbhin(selectcpbhfromcplj),

andljbhin(selectljbhfromcplj);

六、代码设计和界面设计

下面是主要的界面:

主要的源代码:

<%@pagecontentType="text/html;charset=gb2312"language="java"

import="java.sql.*"errorPage=""%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitionl//EN"

"http:

//www.w3.org/TR/html12/loose.dtd">

登陆

useBeanid="login"scope="session"class="reg.dbconn"/>

<%

StringUserName=request.getParameter("username");

StringPassword=requset.geTParmeter("password");

StringError=newString();

ResultSetrs;

rs=login.executeQuery("selectpasswordfromuser_infowhereusername="+UserName"");

Password2=rs.getString("password");

if(Password.equal(Password2))

{

%>

 

 

 

 

 

 

 

 

 

<%

}

else

{

Error+="登陆错误:

没有次用户
";

Error=(String)session.getAttribute("ERROR");

%>

forwardpage="error.jsp"/>

<%

}

%>

下面是连接数据库的一部分的代码:

importjava.sql.*;

publicclassdbconn

{

StringsDBDriver="sun.jdbc.odbc.JbdcodbcDriver";

StringsConnStr="jsbc:

odbc:

reg";

Connectionconn=null;

ResultSetrs=null;

publicdbconn()

{

try

{

Class.forName(sDBriver);

}

catch(java.lang.ClassNotFoundExceptione)

{

System.err.println("classdbconnectnotfound!

"+e.getMessage());

}

}

publicResultSetesecuteQuery(Stringsql)

{

rs=null;

try

{

conn=DrivetrrManager.getConnection(sConnStr);

Statementstmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}

catch(SQLExceptionex)

{

System.out.println(ex.getMessage());

}

returnrs;

}

publicResultSetexecuteUpdate(Stringsql)

{

rs=null;

try

{

conn=DriverManager.getConnection(sConnStr);

Statementstmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}

catch(SQLExceptionex)

{

System.err.println(ex.getMessage());

}

returnrs;

}

}

七、课程设计总结

通过这次课程设计,我深深的认识到,如果仅仅只是运用理论知识,是远远不够的。

我们必须理论联系实际,才能很好的将《数据库》这门课程学好,并用于实际案例中。

同时,经过这次课程设计,我发觉自己的动手操作能力变强了,并在解决遇到的各种问题的过程中,学到了很多新的知识,也为自己对以后的工作充满信息和希望打下了良好的基础。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。

由于我的知识浅薄,经验不足及阅历颇浅,在设计的过程中遇到问题,可以说得是困难重重,遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,在功能方面,各功能都只是实现了简单的部分,功能还需完善。

在代码方面,由于时间仓促,代码未经锤炼,测试不是很充分。

对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在通过专业人士的帮助和运用丰富的网络资源,终于游逆而解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2