资源描述
课程设计报告
课程: 数据库系统原理
学号:
姓名:
班级:
教师:
徐州师范大学科文学院
- 15 -
目录
干洗店管理系统设计与实现 - 1 -
一、绪论 - 1 -
二、需求分析 - 1 -
2.1信息要求 - 1 -
2.2处理要求 - 1 -
2.3安全性和完整性要求 - 2 -
三、系统分析 - 2 -
四、系统设计 - 2 -
4.1功能模块设计 - 2 -
4.2数据库设计 - 3 -
五、系统实现 - 5 -
5.1创建数据库及创建表 - 6 -
5.2 创建应用库及应用对象 - 7 -
5.3菜单设计 - 8 -
5.4创建数据窗口 - 9 -
五、总结 - 15 -
干洗店管理系统设计与实现
一、绪论
本系统是针对小型干洗店的基本管理而设计的。随着计算机技术的迅速发展,各种软件的不断推陈出新,作为一种用计算机作为工具来进行各种工作的工作形式,不论是对我们传统的工作、生活,还是对我们情感的表达都带来了极其深远的意义和影响。
随着人们生活水平与消费档次的提高,我们生活当中出现了形形色色的衣服来装扮我们,为了对那些高档次的衣物的清洗以及那些因学习繁忙而没有时间进行衣物清洗的同学提供方便的清洗条件,个个高校都有很多小型的个人经营的干洗店,每个小型干洗店都有很多的衣物及财务的数据需要管理,手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化的电脑管理,是一个管理规范、运作高效的个人单位的必然要求。所以我们设计了校园干洗店管理系统,来基本解决各个干洗店的要求。如果用传统的方法进行管理,既容易出错,透明度也不高,容易使消费者心理产生阴影,造成不良的影响。本系统是针对一般小型干洗店出现的问题进行设计的,解决了干洗店日常的衣物与财务的管理。
目前洗衣业管理状况要满足快速增长的洗衣量,是远远不够的,因为当前干洗店采用手工或半手工处理洗衣店业务流程,多用人工方式在前台接送衣物,洗衣管理,员工管理,营业额统计等,另外除了接送货物外,还有不少业务面上用户,客户查看衣物状况等,以上这些干洗店内部业务如果用计算机来进行管理,能大大节约大型干洗店工作人员和管理人的时间,提高工作效率。
二、需求分析
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础。
2.1信息要求
随着人门生活水平与消费档次的提高,我门生活当中出现了形形色色的衣服来装扮,为了对那些非常高档次的衣物的和那些工作繁忙没有时间做家务人们的衣物能够方便的清洗,个个街道都有很多小型的个人经营的干洗店,每个小型干洗店都有很多的衣物及财务的数据需要管理,所以我们设计了干洗店数据库管理系统,来基本解决各个干洗店的要求。
2.2处理要求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
2.3安全性和完整性要求
对于干洗店来说,数据的安全性最为重要。要保护数据库以防止不合法的使用所造成的数据泄漏、更改和破坏,同时要保证数据的正确性和相容性,防止不合语义的数据进入数据库。
三、系统分析
干洗店信息管理工作是干洗店管理工作的重要组成部分,现在相当一部分干洗店信息管理工作仍沿用手工方式。随着社会发展、在干洗店洗衣服的人数增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发干洗店信息管理系统已成为干洗店的迫切需要。
干洗店信息管理系统主要包括以下功能:
1. 完成数据的录入和修改,并提交数据库保存。其中的数据包括:客户信息、衣物信息、洗衣时间信息以及操作员信息等;
2.实现信息查询。主要包括:客户信息、衣物信息查询和洗衣查询等;
3.具备一定的安全性管理功能。包括操作员的权限设置、密码设置和修改密码等功能。
四、系统设计
4.1功能模块设计
本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用VB作为开发工具;服务器端则用于提供数据服务,采用SQL Server2000作为数据库管理系统。
本系统按照功能划分为以下四个模块:客户管理(包括客户信息录入和客户信息查询)、衣物管理(包括衣物信息添加和衣物信息查询)、洗衣管理(包括洗衣信息录入和洗衣信息查询)和系统管理(包括密码修改和退出系统等)。系统的功能模块图如图1所示:
干洗店管理系统
客户管理
衣物管理
洗衣管理
系统管理
图1 系统的功能模块图
4.2数据库设计
4.2.1数据库概念结构设计
本系统主要有客户和洗衣两个实体集,一个客户包含若干信息,,两个实体集之间是多对多联系,联系上有收取费用。为保证系统的安全性,设置了操作员这一实体集,用来存放合法用户的编号、姓名、密码和权限。本系统的E-R图如图2所示:
n
顾客
洗衣
衣物
衣物单价
衣物颜色
衣物品牌
衣物名称
衣物编号
送衣时间
取衣时间
收取费用
联系地址
联系电话
身份证号
性别
姓名
顾客编号
m
操作员
操作员编号
操作员姓名名
密码
权限
图2 系统的E-R图
4.2.2数据库逻辑结构设计
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计干洗店数据库,包括顾客、衣物、员工四个关系,其关系模式中对每个实体定义的属性如下:
顾客(customer):顾客编号、姓名、性别、身份证号、联系电话、联系地址
衣物(clothes): 衣物编号、衣物名称、衣物颜色、衣物品牌、衣物单价
洗衣(washing):顾客编号、衣物编号、衣物名称、衣物品牌、送衣时间、取衣时间、收取费用
操作员(操作员编号,操作员姓名,密码,权限)
1、顾客表(customer)
字段名
字段类型
字段长度
字段限制
注释
cuno
varchar
20
Primary key
顾客编号
cuname
varchar
40
Not null
姓名
cusex
char
4
Not null
性别
id
varchar
20
Not null
身份证号
tel
varchar
20
Not null
联系电话
address
varchar
100
Not null
联系地址
2、衣物表(clothes)
字段名
字段类型
字段长度
字段限制
注释
clno
varchar
40
Primary key
衣物编号
clname
varchar
40
衣物名称
brand
varchar
40
衣物品牌
color
varchar
20
Not null
衣物颜色
price
money
Not null
衣物单价
3、洗衣表(washing)
字段名
字段类型
字段长度
字段限制
注释
cuno
varchar
20
Primary key
顾客编号
clno
varchar
40
Primary key
衣物编号
sendtime
datetime
Not null
送衣时间
taketime
datetime
Not null
取衣时间
price
money
Not null
收取费用
4、操作员(operator)
字段名
字段类型
字段长度
子段限制
注释
opeartorno
varchar
20
Primary key
操作员编号
operatorname
varchar
40
Not null
操作员姓名
password
varchar
6
Not null
密码
permission
varchar
Not null
权限
五、系统实现
结合PowerBuilder进行数据库应用开发的特点,设计过程可按如下步骤进行:
l 创建数据库及创建表;
l 创建应用库及应用对象;
l 创建菜单;
l 创建数据窗口;
l 创建窗口并在窗口中放置所需控件。
5.1创建数据库及创建表
在SQL 2000 查询分析器中创建数据库XYD_DB,在数据库中创建顾客表(customer),衣物表(clothes),洗衣表(washing),操作员(operator)。
对应代码入下:
1、创建数据库zqy:
Create database zqy
2、创建数据表
顾客基本情况数据表
customer(cuno,cuname,cusex,id,tel,address)的创建语句:
create table customer (
cuno varchar(20) primary key,
cuname varchar(40) not null,
cusex char(4) not null,
id varchar(20) not null unique,
tel varchar(20) not null,
address varchar(100) not null
)
衣物基本情况数据表
clothes(clno,clname,brand,color,price)的创建语句:
create table clothes(
clno varchar(40) primary key(clno),
clname varchar(40) ,
brand varchar(40) ,
color varchar(20) not null,
price money not null,
)
洗衣基本情况数据表
washing(cuno,clno,sendtime,taketime,price)的创建语句:
create table washing(
cuno varchar(20),
clno varchar(40) ,
sendtime datetime not null,
taketime datetime not null,
price money not null,
primary key(cuno,clno),
foreign key(cuno) references customer(cuno),
foreign key(clno) references clothes(clno)
)
操作员数据表
operator(opeartorno,opeatorname,password)的创建语句:
create table operator (
operatorno varchar(20) primary key,
operatorname varchar(40) not null,
password varchar (6) not null,
5.2 创建应用库及应用对象
在VB中新建工程,命名为干洗店管理系统,对数据库的操作设计一个可被各模块调用的函数放入公共模块。在工程中添加公共模块,在工程引用中添加 【Microsofit ActiveX Data Objects 2.8 Library】。
公共模块代码如下:
Public Function ExecuteSQL(ByValSQL As String, Msgstring As String) As ADODB.Recordset
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strConnection As String
Dim strArray() As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
On Error GoTo ErrHandler:
strConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=127.0.0.1"
strArray = Split(sql)
cn.Open strConnection
If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then
rs.Open Trim$(sql), cn, adOpenKeyset, adLockOptimistic
Set ExeSQL = rs
Else
cn.Execute sql
End If
ExeSQL_Exit:
Set rs = Nothing
Set cn = Nothing
Exit Function
ErrHandler:
' 显示错误信息
MsgBox "错误号:" & Err.Number & " 错误信息:" & Err.Description, vbExclamation
Resume ExeSQl_Exit
End Function
Public Sub changeformXYD_DB(frmain As MDIForm, frm As Form)
Dim Top As Integer
Top = (frmMain.ScaleHeight - frm.Height) / 2 - 600
If Top > 0 Then
frm.Top = Top
Else
frm.Top = 0
End If
frm.Left = (frmMain.ScaleWidth - frm.Width) / 2
End Sub
Sub Main()
frmLogin.Show
End Sub
5.3菜单设计
1.在工程中添加【添加MDI窗口】
2.打开此窗口属性设置
3.在菜单编辑器中添加菜单,设置菜单层次
菜单如图:
图 3 系统菜单窗口
5.4创建数据窗口
1.在工程中添加登录窗口,添加各控件并设置各控件属性。如图
图4 登陆窗口
确定键命令代码:
Private Sub cmdOk_Click()
Dim sql As String
Dim rs As ADODB.Recordset
Dim UserName As String
Dim UserKey As Integer
On Error GoTo ErrHandler:
If Trim(UserName.Text = "") Then
MsgBox "请输入用户名称!", vbExclamation
UserName.SetFocus
Else
sql = "select * from operator where opname = '" & UserName.Text & "'"
Set rs = ExeSQL(sql)
If rs.EOF = True Then
MsgBox "没有此用户,请重新输入用户名!", vbExclamation
UserName.SetFocus
Else
If Trim(rs! Password) = Trim(UserKey.Text) Then
Intopno = rs!opno
rs.Close
Me.Hide
frmMain.Show
Unload Me
Else
MsgBox "密码不正确,请重新输入密码!", vbExclamation
UserKey.SetFocus
UserKey.Text = ""
End If
End If
End If
Exit Sub
ErrHandler:
MsgBox "错误号:" & Err.Number & "错误描述:" & Err.Description
End Sub
衣物信息添加窗口
图 5 衣物信息添加窗口
保存键代码:
Private Sub Command1_Click()
Dim i As Integer
Dim sql As String
Dim monPrice As Currency
If Trim(clno(i) = "" Then
MsgBox "此项不允许为空!", vbExclamation
txtProductInfo(i).SetFocus
Exit Sub
End If
Next i
If IsNumeric(txtProductInfo(0).Text) = False Then
MsgBox "编号应为数字量!", vbExclamation
txtProductInfo(0).SetFocus
Exit Sub
End If
If IsNumeric(txtProductInfo(2).Text) = False Then
MsgBox "应为数字量!", vbExclamation
txtProductInfo(2).SetFocus
Exit Sub
Else
monPrice = txtProductInfo(2).Text
End If
End If
sql = "insert Products(ProductID,ProductName,UnitPrice,Unit,Remark) " & _
"values(" & txtProductInfo(0).Text & ",'" & _
txtProductInfo(1).Text & "'," & monPrice & ",'"
sql = sql & cboUnit.Text & "','" & txtProductInfo(4).Text & "')"
ExeSQL (sql)
sql = "insert ProductIn values(" & txtProductInfo(0).Text & "," & _
txtProductInfo(3).Text & ",'" & dtpInDate.Value & "')"
ExeSQL (sql)
MsgBox "数据添加成功!", vbExclamation
InitControl
End Sub
2.用客户信息查询窗口如图
图6 客户信息查询窗口
查找客户信息窗口 查找键代码:
Private Sub Command1_Click()
Dim strQuery As String
On Error GoTo ErrHandler:
If Option1.Value = True Then
If Trim(Text1.Text) = "" Then
strQuery = "select * from Customer"
Else
strQuery = "select * from Customer where cuno = '" & Text1 & "'"
End If
End If
If Option2.Value = True Then
If Trim(Text2.Text) = "" Then
strQuery = "select * from Customser"
Else
strQuery = "select * from Customer where cuname like '%" & Text2.Text & "%'"
End If
End If
ErrHandler:
MsgBox "错误号:" & Err.Number & " 错误信息:" & Err.Description, vbExclamatio
End Sub
添加用户信息窗口,衣物信息查找窗口,洗衣信息添加窗口,洗衣信息查找窗口和管理员密码修改窗口分别如下:
图7 添加客户窗口
图8 衣物查找窗口
图9洗衣添加窗口
图10洗衣信息查找信息
图11管理员密码修改窗口
五、总结
1、明确系统设计的目的。第一次做这种课程设计,目的不明确,开始时,思路混乱无从下手,主要是对应用程序做可视化窗口没接触过,从图书管借了关于VB的书籍,边学边做,对代码的意思不能够理解,没能将应用程序窗口的功能与数据库数据连接。所以很失败!
2.随着干洗店业务的不段发展,干洗店数据库管理系统是发展趋势,好的数据库管理系统能大大提高工作效率,同时能保证数据的安全性。不论是对于客户的管理,还是对衣物或账务管理都优于手工的操作和管理。
展开阅读全文