洗衣店管理系统数据库设计.docx
《洗衣店管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《洗衣店管理系统数据库设计.docx(19页珍藏版)》请在冰豆网上搜索。
![洗衣店管理系统数据库设计.docx](https://file1.bdocx.com/fileroot1/2023-2/25/0a2acd7c-cbfa-49ed-be3b-1b565d1cd6dd/0a2acd7c-cbfa-49ed-be3b-1b565d1cd6dd1.gif)
洗衣店管理系统数据库设计
课程设计报告
课程:
数据库系统原理
学号:
姓名:
班级:
教师:
华东交通大学
干洗店管理系统设计与实现.-0-
一、绪论.-0-
二、需求分析.-0-
2.1信息要求-0-
2.2处理要求-0-
2.3安全性和完整性要求-1-
三、系统分析.-1-
四、系统设计.-1-
4.1功能模块设计-1-
4.2数据库设计-2-
五、系统实现.-4-
5.1创建数据库及创建表-5-
5.2创建应用库及应用对象.-6-
5.3菜单设计-7-
5.4创建数据窗口-8-
五、总结.-14-
干洗店管理系统设计与实现
一、绪论
本系统是针对小型干洗店的基本管理而设计的。
随着计算机技术的迅速发展,各种软件的不断推陈出新,作为一种用计算机作为工具来进行各种工作的工作形式,不论是对我们传统的工作、生活,还是对我们情感的表达都带来了极其深远的意义和影响。
随着人们生活水平与消费档次的提高,我们生活当中出现了形形色色的衣服来装扮我们,为了对那些高档次的衣物的清洗以及那些因学习繁忙而没有时间进行衣物清洗的同学提供方便的清洗条件,个个高校都有很多小型的个人经营的干洗店,每个小型干洗店都有很多的衣物及财务的数据需要管理,手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化的电脑管理,是一个管理规范、运作高效的个人单位的必然要求。
所以我们设计了校园干洗店管理系统,来基本解决各个干洗店的要求。
如果用传统的方法进行管理,既容易出错,透明度也不高,容易使消费者心理产生阴影,造成不良的影响。
本系统是针对一般小型干洗店出现的问题进行设计的,解决了干洗店日常的衣物与财务的管理。
目前洗衣业管理状况要满足快速增长的洗衣量,是远远不够的,因为当前干洗店采用手工或半手工处理洗衣店业务流程,多用人工方式在前台接送衣物,洗衣管理,员工管理,营业额统计等,另外除了接送货物外,还有不少业务面上用户,客户查看衣物状况等,以上这些干洗店内部业务如果用计算机来进行管理,能大大节约大型干洗店工作人员和管理人的时间,提高工作效率。
二、需求分析
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础。
2.1信息要求
随着人门生活水平与消费档次的提高,我门生活当中出现了形形色色的衣服来装扮,为了对那些非常高档次的衣物的和那些工作繁忙没有时间做家务人们的衣物能够方便的清洗,个个街道都有很多小型的个人经营的干洗店,每个小型干洗店都有很多的衣物及财务的数据需要管理,所以我们设计了干洗店数据库管理系统,来基本解决各个干洗店的要求?
2.2处理要求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处
理的相应时间要短。
2.3安全性和完整性要求
对于干洗店来说,数据的安全性最为重要。
要保护数据库以防止不合法的使用所造成的数据泄漏、更改和破坏,同时要保证数据的正确性和相容性,防止不合语义的数据进入数据库。
三、系统分析
干洗店信息管理工作是干洗店管理工作的重要组成部分,现在相当一部分干洗店信息管理工作仍沿用手工方式。
随着社会发展、在干洗店洗衣服的人数增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发干洗店信息管理系统已成为干洗店的迫切需要。
干洗店信息管理系统主要包括以下功能:
1.完成数据的录入和修改,并提交数据库保存。
其中的数据包括:
客户信息、衣物信息、洗衣时间信息以及操作员信息等;
2.实现信息查询。
主要包括:
客户信息、衣物信息查询和洗衣查询等;
3.具备一定的安全性管理功能。
包括操作员的权限设置、密码设置和修改密码等功能。
四、系统设计
4.1功能模块设计
本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用VB作为开发工具;服务器端则用于提供数据服务,采用SQLServer2000作为数据
库管理系统。
本系统按照功能划分为以下四个模块:
客户管理(包括客户信息录入和客户信息查询)、衣物管理(包括衣物信息添加和衣物信息查询)、洗衣管理(包括洗衣信息录入和洗衣信息查询)和系统管理(包括密码修改和退出系统等)。
系统的功能模块图如图1所示:
图1系统的功能模块图
4.2数据库设计
4.2.1数据库概念结构设计
本系统主要有客户和洗衣两个实体集,一个客户包含若干信息,,两个实体集之间是多
对多联系,联系上有收取费用。
为保证系统的安全性,设置了操作员这一实体集,用来存放
合法用户的编号、姓名、密码和权限。
本系统的E-R图如图2所示:
422数据库逻辑结构设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBM所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化
为关系模式,如何确定这些关系模式的属性和码。
设计干洗店数据库,包括顾客、衣物、员工四个关系,其关系模式中对每个实体定义的属性如下:
顾客(customer):
顾客编号、姓名、性别、身份证号、联系电话、联系地址
衣物(clothes):
衣物编号、衣物名称、衣物颜色、衣物品牌、衣物单价洗衣(washing):
顾客编号、衣物编号、衣物名称、衣物品牌、送衣时间、取衣时间、收取费用
操作员(操作员编号,操作员姓名,密码,权限)
1、顾客表(customer)
字段名
字段类型
字段长度
字段限制
注释
cuno
varchar
20
Primarykey
顾客编号
cuname
varchar
40
Notnull
姓名
cusex
char
4
Notnull
性别
id
varchar
20
Notnull
身份证号
tel
varchar
20
Notnull
联系电话
address
varchar
100
Notnull
联系地址
2、衣物表(clothes)
字段名
字段类型
字段长度
字段限制
注释
clno
varchar
40
Primarykey
衣物编号
clname
varchar
40
衣物名称
brand
varchar
40
衣物品牌
color
varchar
20
Notnull
衣物颜色
price
money
Notnull
衣物单价
3、洗衣表(washing)
字段名
字段类型
字段长度
字段限制
注释
cuno
varchar
20
Primarykey
顾客编号
clno
varchar
40
Primarykey
衣物编号
sendtime
datetime
Notnull
送衣时间
taketime
datetime
Notnull
取衣时间
price
money
Notnull
收取费用
4、操作员(operator)
字段名
字段类型
字段长度
子段限制
注释
opeartorno
varchar
20
Primarykey
操作员编号
operatorname
varchar
40
Notnull
操作员姓名
password
varchar
6
Notnull
密码
permission
varchar
Notnull
权限
五、系统实现
结合PowerBuilder进行数据库应用开发的特点,设计过程可按如下步骤进行:
创建数据库及创建表;
创建应用库及应用对象;
创建菜单;
创建数据窗口;
创建窗口并在窗口中放置所需控件。
5.1创建数据库及创建表
在SQL2000查询分析器中创建数据库XYD_DB在数据库中创建顾客表(customer),
衣物表(clothes),洗衣表(washing),操作员(operator)。
对应代码入下:
1、创建数据库zqy:
Createdatabasezqy
2、创建数据表顾客基本情况数据表customer(cuno,cuname,cusex,id,tel,address)createtablecustomer(
cunovarchar(20)
cunamevarchar(40)
cusexchar(4)
key(cuno)references
key(clno)references
)
操作员数据表
operator(opeartorno,opeatorname,password)的创建语句:
primarykey,
notnull,
notnull,
createtableoperator(operatornovarchar(20)operatornamevarchar(40)passwordvarchar(6)
5.2创建应用库及应用对象
在VB中新建工程,命名为干洗店管理系统,对数据库的操作设计一个可被各模块调用
的函数放入公共模块。
在工程中添加公共模块,在工程引用中添加【MicrosofitActiveX
DataObjects2.8Library】。
公共模块代码如下:
As
PublicFunctionExecuteSQL(ByValSQLAsString,MsgstringAsString)ADODB.Recordset
DimcnAsADODB.Connection
DimrsAsADODB.Recordset
DimstrConnectionAsString
DimstrArray()AsString
Setcn=NewADODB.Connection
Setrs=NewADODB.Recordset
OnErrorGoToErrHandler:
strConnection="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=pos;DataSource=127.0.0.1"
strArray=Split(sql)
cn.OpenstrConnection
IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0Then
rs.OpenTrim$(sql),cn,adOpenKeyset,adLockOptimistic
SetExeSQL=rs
Else
cn.Executesql
EndIf
ExeSQL_Exit:
Setrs=Nothing
Setcn=Nothing
ExitFunction
ErrHandler:
'显示错误信息
&Err.Description,
MsgBox"错误号:
"&Err.Number&"错误信息:
"vbExclamation
ResumeExeSQl_Exit
EndFunction
PublicSubchangeformXYD_DB(frmainAsMDIForm,frmAsForm)
DimTopAsInteger
Top=(frmMain.ScaleHeight-frm.Height)/2-600
IfTop>0Thenfrm.Top=Top
Else
frm.Top=0
EndIf
frm.Left=(frmMain.ScaleWidth-frm.Width)/2
EndSub
SubMain()frmLogin.Show
EndSub
5.3菜单设计
1.在工程中添加【添加MDI窗口】
2.打开此窗口属性设置
3.在菜单编辑器中添加菜单,设置菜单层次菜单如图:
图3系统菜单窗口
5.4创建数据窗口
1.在工程中添加登录窗口,添加各控件并设置各控件属性。
如图
图4登陆窗口
确定键命令代码:
PrivateSubcmdOk_Click()
DimsqlAsString
DimrsAsADODB.Recordset
DimUserNameAsString
DimUserKeyAsInteger
OnErrorGoToErrHandler:
IfTrim(UserName.Text="")Then
MsgBox"请输入用户名称!
",vbExclamation
UserName.SetFocus
Else
sql="select*fromoperatorwhereopname='"&UserName.Text&""'
Setrs=ExeSQL(sql)
Ifrs.EOF=TrueThen
MsgBox"没有此用户,请重新输入用户名!
",vbExclamation
UserName.SetFocus
Else
IfTrim(rs!
Password)=Trim(UserKey.Text)Then
Intopno=rs!
opno
rs.Close
Me.Hide
frmMain.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入密码!
",vbExclamation
UserKey.SetFocus
UserKey.Text=""
EndIf
EndIf
EndIf
ExitSub
ErrHandler:
MsgBox"错误号:
”&Err.Number&”错误描述:
”&Err.Description
EndSub
衣物信息添加窗口
图5衣物信息添加窗口
保存键代码:
PrivateSubCommand1_Click()
DimiAsInteger
DimsqlAsString
DimmonPriceAsCurrency
IfTrim(clno(i)=""Then
MsgBox"此项不允许为空!
",vbExclamationtxtProductInfo(i).SetFocus
ExitSub
EndIf
Nexti
IfIsNumeric(txtProductInfo(0).Text)=FalseThen
MsgBox"编号应为数字量!
",vbExclamationtxtProductInfo(0).SetFocus
ExitSub
EndIf
IfIsNumeric(txtProductInfo
(2).Text)=FalseThen
MsgBox"应为数字量!
",vbExclamationtxtProductInfo
(2).SetFocus
ExitSub
Else
monPrice=txtProductInfo
(2).Text
EndIf
EndIf
sql="insertProducts(ProductID,ProductName,UnitPrice,Unit,Remark)"&_"values("&txtProductInfo(0).Text&",'"&_txtProductInfo
(1).Text&"',"&monPrice&",'"
sql=sql&cboUnit.Text&"','"&txtProductInfo(4).Text&"')"
ExeSQL(sql)
sql="insertProductInvalues("&txtProductInfo(0).Text&","&_txtProductInfo(3).Text&",'"&dtpInDate.Value&"')"
ExeSQL(sql)
MsgBox"数据添加成功!
",vbExclamation
InitControl
EndSub
2.用客户信息查询窗口如图
图6客户信息查询窗口查找客户信息窗口查找键代码:
PrivateSubCommand1_Click()DimstrQueryAsStringOnErrorGoToErrHandler:
IfOption1.Value=TrueThen
IfTrim(Text1.Text)=""Then
strQuery="select*fromCustomer"
Else
strQuery="select*fromCustomerwherecuno='"&Textl&""'
EndIf
EndIf
IfOption2.Value=TrueThen
IfTrim(Text2.Text)=""Then
strQuery="select*fromCustomser"
Else
strQuery="select*fromCustomerwherecunamelike'%"&Text2.Text
&"%'"
EndIf
EndIf
ErrHandler:
MsgBox"错误号:
"&Err.Number&"错误信息:
"&Err.Description,vbExclamatio
EndSub
添加用户信息窗口,衣物信息查找窗口,洗衣信息添加窗口,洗衣信息查找窗口和管理员密
码修改窗口分别如下:
图7添加客户窗口
图8衣物查找窗口
图9洗衣添加窗口
图10洗衣信息查找信息
图11管理员密码修改窗口
五、总结
1、明确系统设计的目的。
第一次做这种课程设计,目的不明确,开始时,思路混乱无从下手,主要是对应用程序做可视化窗口没接触过,从图书管借了关于VB的书籍,边学边做,对代码的意思不能够理解,没能将应用程序窗口的功能与数据库数据连接。
所以很失败!
2.随着干洗店业务的不段发展,干洗店数据库管理系统是发展趋势,好的数据库管理系统能大大提高工作效率,同时能保证数据的安全性。
不论是对于客户的管理,还是对衣物或账务管理都优于手工的操作和管理。