设计一个管理产品 出现的问题 数据库

设计一个管理产品 出现的问题 数据库,第1张

许多情况下,没有任何意义。

许多许多内置下表

客户信息表

产品信息表

3订单主表的顺序号的主键包含客户编号(外键)

4订单详细信息表的主键顺序号和产品编号。

给个思路:

把产品的公用属性放在一张表里,如:产品编号(主键),分类,价格等等

把配件的公用属性也放在一张表里,如:配件编号(主键),分类,价格等等

建立一张多对多的mapping表,就三个字段,产品编号,配件编号,数量

这样,就可以动态的配置某一个产品对应的哪些配件,以及各个配件所需的数量

仅供参考

硬件: 一台电脑(500G硬盘C盘需要50G以上的硬盘空间),micrsoft系统

软件: 数据库软件(SQL Server 或 MySql 或MS SqlServer或oracle)

设计: 新建数据库(库名,多大,放在哪,权限等等)

怎么设计表,表的字段有哪些,表与表之间有什么关联,表是否要建主键,外键,索引等等

还要看你的数据量有多大,安全性要求有多高,是否需要备份等等

要这样,这样你会有无数多的表,而且以后新的一个产品时候非常麻烦,如果要属于新的类别,而且还会因为避免数据库太复杂而使得许多不同类的产品归在一个类。而且你的程序很麻烦,要为每个类编写不同程序,因为数据表名不同。

应该用下面的办法,主要使用四个表存储所有类别的商品

第一、类别名称表,字段有

类别ID,类别名称

1 电脑

2 洗衣机

第二、类别属性表,字段有:

类别ID,属性ID,属性名称

1 1 CPU

1 2 内存

1 3 屏幕尺寸

2 1 容量

2 2 类型

第三、商品名称表,字段有:

商品ID,类别ID

1 1

2 1

3 2

4 2

第四、商品属性表,字段有:

商品ID,属性ID,属性值

1 1 P4

1 2 128M

1 3 CRT 14

2 1 P4

2 2 512M

2 3 LCD19

3 1 9公斤

3 2 滚筒

4 1 8公斤

4 2 波轮

上面定义了四个商品,商品ID为1~4,分别是128M、512M内存的电脑,和9公斤滚筒、8公斤的波轮洗衣机。

这样定义的数据库结构,可以包含任何商品,一般不会改变,那么程序也就无需改变,定义新的产品、或者修改现有商品只需要在程序界面有 *** 作员点点鼠标。

数据库原理及应用课程设计

一、课程设计的目的

《数据库原理及应用》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。本课程设计主要在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。

二、课程设计的任务与要求

要求学生根据自身对题目的理解情况,从给定的设计题目中选择一个,以MS SQL Server作为后台数据库平台,以PowerBuilder作为前台开发工具,完成一个小型数据库应用系统的系统的分析、设计和开发。

三、课程设计说明书

仓储管理系统

对于一个以生产或经营产品为主要业务的单位来说,仓库管理系统至关重要。高效方便的仓库管理系统,可以为生产经营提供坚强的后盾和有力的支持。效率低下甚至是混乱不堪的仓库管理系统,无疑会成为企业健康发展的拖累甚至是枷锁。使企业发展动力不足。本次数据库设计实现了仓库管理的高效化、电子化。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等 *** 作,使仓库管理井井有条。

1系统需求分析

11系统功能需求分析

仓库管理系统主要实现对库存商品的管理,对商品出库、入库的管理,和对仓库管理系统维护的功能。具体要实现的功能包括:

1)库存商品管理

查看数据库中商品的名称、编号、单价等信息。

2)商品出库、入库管理

入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。

3)商品的查询

输入商品的编号或者商品的名称查询信息

4)用户管理

用户可以修改登录密码

1 2数据需求分析

1员工(ID ,姓名,密码,权限)

2商品(商品名,商品编号,所属类,单价)

3出货表(商品名,商品编号,数量,总价,经手人)

4入货表(商品名,商品编号,数量,总价,经手人)

5查询(商品名,商品编号,数量,单价)

根据上面的关系我们需要的数据基本上就上面所列出的数据。

2 系统总体设计

1)库存商品管理

查看数据库中商品的名称、编号、单价等信息。

2)商品出库、入库管理

入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。

3)商品的查询

输入商品的编号或者商品的名称查询信息

4)用户管理

用户可以修改登录密码

21系统总体结构设计

221 E-R图

222 关系模式

1员工(ID ,姓名,密码,权限)

2商品(商品名,商品编号,所属类,单价)

3出货表(商品名,商品编号,数量,总价,经手人)

4入货表(商品名,商品编号,数量,总价,经手人)

5查询(商品名,商品编号,数量,单价)

223 数据表

“员工信息表”“商品信息表”“出货单”“进货单”的主键分别是:ID、商品编号、商品编号、商品编号。

员工信息表

商品信息表

出货单

进货单

3.系统实施

工作界面PB90,以下是我制作过程和运行中的一些截图:

首先建立PB与SQL的数据链接:如果链接不成功,返回对以话框“数据库连接错误,经检查后再试!”

然后点Preview选项会d出如下窗口:

一、 工作界面截图:

分别建有:workspace、application、windows、dw_、da_等。

工作时检测连接数据库是否正常的程序代码:

// Profile q

SQLCADBMS = "ODBC"

SQLCAAutoCommit = False

SQLCADBParm = "ConnectString='DSN=仓库;UID=;PWD='"

connect;

open(w_enter)

二、 运行结果的截图:

这个是我运行后的第一个用户界面,在界面中输入管理员ID和密码。我的管理员ID 和密码分别为 1,123点击确定进入menu下一界面。

若ID和密码分别输入1,1234,则跳出以下界面:

确定按钮所对应的代码如下:

//定义两个变量

string password,userid

password=sle_2text

//检索用户名和密码记录

SELECT "员工信息表" "ID",

"员工信息表""密码"

INTO :userid,

:password

FROM "员工信息表"

WHERE "员工信息表""ID" =:sle_1text and "员工信息表""密码" =:sle_2text;

//判断用户输入的用户名是否正确

if sqlcasqlcode<>0 then

messagebox("错误!","ID或密码错误,请重新输入!",exclamation!,ok!,2)

else

messagebox("通过验证!","ID和密码正确,欢迎您使用本系统!",Information!,ok!,2)

open(w_main)

close(w_enter)

end if

取消按钮所对应的代码如下:

close(parent)

//关闭登录窗口

三、 menu界面的截图:

在本界面中我们通过点击菜单栏上的不同管理按钮来实现管理和 *** 作的功能。

进货—进货单

出货—出货单

库存—蔬菜类

—水产类

—肉类

系统维护—修改密码

查询

四、 进货的截图如下:

在本界面中, *** 作员可以输入进货信息

五、 进货的截图如下:

在本界面中, *** 作员可以输入出货信息

六、本界面是实现用户更改自己的密码的界面

用户在登陆后根据上面的提示可以更改自己的密码。

程序代码如下:

string oldid

string oldp

string newp1

string newp2

oldid=trim(sle_1text)

oldp=trim(sle_2text)

newp1=trim(sle_3text)

newp2=trim(sle_4text)

if len(oldp)=0 or isnull(oldp) then

oldp=space(10)

end if

if len(newp1)=0 or isnull(newp1) then

newp1=space(10)

end if

if len(newp2)=0 or isnull(newp2) then

newp2=space(10)

end if

select "operator""password"

into :oldp

from "operator"

where "operator""password"=:oldp;

if sqlcasqlcode<>0 then

messagebox("提示","原密码不正确!")

sle_2text=""

sle_2setfocus()

return

end if

if newp1<>newp2 then

messagebox("提示","两次新密码输入不同!")

sle_4text=""

sle_4setfocus()

return

end if

Update "operator"

set "password"=:newp1

where "operator""operator_id"=:oldid;

if sqlcasqlcode<>0 then

rollback;

messagebox("提示","密码更正错误! 请重设!")

return

end if

gs_password=newp1

commit;

messagebox("提示","密码修改成功!")

七、本 *** 作可以看仓库里的商品并可对其进行插入和删除

八、从仓库查询所需要的商品

4 系统评价

系统的功能基本上已经实现,但是还是不够完善。但是在使用的时候还是能给用户带来一定的方便的。仓库的进货和出货在本系统中能直观的以表格形式反映出来,便于 *** 作员的使用和决策者的管理。

41 系统特色

本系统要求用户进行验证之后才能进入相应的界面。有利于保护数据库的安全,不被非法登陆使用。对于仓库内货物的进出管理要求严格,即进出货时必须填写相应的进出货单据。便于企业管理查看账目,保障了企业的稳定运行。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等 *** 作,使仓库管理井井有条。在查看数据库时可以方便的删除数据库中冗余的信息和添加新的信息。

42 系统不足及改进

这个系统基本上实现了一些简单的对系统所涉及表的更新、增加和删除的功能。也实现对用户登陆的安全上有了一定的限制,只有在正确输入ID和密码的时候才能进入系统。远没有达到大型公司的仓储物资管理的要求,所创建的数据库框架比较简单,各表之间的联系也过于简单,没有添加外键相互约束,用POWER BUILDER做出来的系统过于简单、单调,需要进一步深入的调整优化,将各表之间的关系紧密联系起来,相互制约,保证数据库中数据的添加、删除、更新,安全有序。 *** 作窗口还需要进一步的进行美化,使用户在使用中更赏心悦目。

5 课程设计心得

这次课程设计的主要目的是掌握数据库应用系统分析设计的基本方法,基本掌握PowerBuilder,进一步提高分析解决问题的综合能力。通过这次课程设计,我基本掌握了以上要求。但只有两周的课程设计时间,时间比较仓促,所以开发的系统不是很完善,有一些功能未实现,但是仓库管理的基本功能均已实现。以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:对表内一些字段的约束,关系等的运用已经比较熟练。这个课程设计使我巩固了数据库的知识。

对于PowerBuilder也有了一定的了解,由于用的不多,所以运用的不是很熟练。刚开始的时候,对于PowerBuilder的语法,用法等一系列知识都不熟悉。当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。经过对这个系统的开发,在开发过程中遇到但也解决了很多问题,所以说我们不能惧怕有困难而不去接触认识它,我们要知难而上,只有这样我们才能成长,才能有所发展。

这认为最难的一部分是用户查看数据库时通过插入删除按钮对数据库的更改,因为我们在文本框中输入的数字是被默认为字符型的,我在其中使用了integer(string)这个函数把字符型的进行了转换,但是在使用的过程中并不能像我所想像的那样有用。因为时间有限,所以这个问题还没有完全的解决。

通过这次数据库课程设计加深我对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使我综合运用所学知识和增强实际动手能力的目的。

我会继续学习数据库的知识,学习PowerBuilder的知识,只有通过不断的学习充实自己,才能让自己有所得。只有了知识的积淀,才能为自己的发展铺平道路!

可以参考一下啊,最终还是要自己做的吧。。仅供参考。

以上就是关于设计一个管理产品 出现的问题 数据库全部的内容,包括:设计一个管理产品 出现的问题 数据库、假如有很多配件,不同的配件能组合一样产品,数据库该怎么设计、如何建立产品配置器数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9341669.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存