数据库洗衣店管理系统课程设计.docx
- 文档编号:4095073
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:28
- 大小:517.49KB
数据库洗衣店管理系统课程设计.docx
《数据库洗衣店管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库洗衣店管理系统课程设计.docx(28页珍藏版)》请在冰豆网上搜索。
数据库洗衣店管理系统课程设计
数据库洗衣店管理系统课程设计(总32页)
课程设计(论文)任务书
软件学院学院软件工程测试方向专业软测2班班
一、课程设计(论文)题目洗衣店管理系统
二、课程设计(论文)工作自2015年1月5日起至2015年1月9日止
三、课程设计(论文)地点:
软件测试实验室
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)巩固和加深对数据库基本知识的理解,提高综合运用课程知识的能力。
(2)使学生巩固所学的理论基础知识的理解,掌握数据库设计的全过程及技术与方法。
(3)培养学生编制软件文档及开发应用系统的能力,提高学生独立分析问题、解决问题的能力,锻炼和加强学生的动手能力。
使学生掌握使用各种计算机资料和有关参考资料。
2.课程设计的任务及要求
(1)根据选题任务要求,收集并查询相关文献资料,明确系统需求;通过对系统的功能分析和数据分析进行系统的需求分析设计,完成数据流图(DFD图)及数据字典(DD)的阶段性成果;
(2)数据库的概念结构设计,完成基本全局E-R图的设计并体现设计过程;
(3)数据库的逻辑结构设计,完成数据库关系模式的设计及优化;
(4)数据库的物理结构设计,完成数据库实施的所有sql脚本的编写及索引文件的创建;完成安全性控制及完整性约束;
(5)数据库的实施;
(6)特别要求自己独立完成;
2)创新要求:
在基本要求达到后,可进行创新设计,如完善的功能、友好的人机界面。
3)课程设计论文编写要求
(1)要按照书稿的规格打印与写课程设计报告书;
(2)报告包括目录、绪论、正文、小结、参考文献、附录等;
(3)课程设计报告装订按学校的统一要求完成;
4)课程设计进度安排
内容天数地点
构思及收集资料1图书馆
数据库设计3实验室
撰写报告1图书馆、实验室
学生签名:
2015年1月5日
课程设计(论文)评审意见
(1)考勤(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计内容(40分):
优( )、良( )、中( )、一般( )、差( );
(3)答辩 (25分):
优( )、良( )、中( )、一般( )、差( );
(4)文档格式规范整齐(15分)优( )、良( )、中( )、一般( )、差( );
(5)任何抄袭成绩一律归零;
评阅人:
职称:
讲师
2015年1月12日
一绪论
近几年来洗衣店行业的兴起,减轻了上班族的许多负担,然而洗衣店良好的服务质量却离不开良好的管理方法。
为了迎合当今洗衣业的发展,制作出了洗衣店管理系统。
此系统包括对会员的注册,收、取衣服的记录,收费记录等功能,还能对洗衣店的其他支出类消费进行记录,能方便的统计出一天内的营业额和支出额。
针对一般洗衣店的管理流程,此系统可以完成大部分业务功能。
二需求分析
编写目的
更好的了解所制作的洗衣店管理系统以方便洗衣店员工使用。
需求分析
系统功能描述
此系统应用于小型洗衣店,给洗衣店提供日常的收取衣记录,会员管理,收支管理等功能,能方便洗衣店每日的工作。
(1)会员管理
为进店顾客提供注册会员的功能,建立会员表,记录会员信息,包括会员号,注册时间等个人信息。
(2)收、取衣管理
记录每次的收、取衣服信息,还包括对衣服信息的明细记录。
(3)权限管理
建立权限表记录洗衣店店长、店员和老板的登录信息。
(4)财务管理
建立收费表以记录收费信息
建立支出表以记录支出信息。
系统功能图
图系统功能图
系统流程图
图系统流程图
数据流图
图系统顶层数据流图
图系统第一层数据流图
图会员注册
图记录收衣信息
实体与数据
通过分析可知道次洗衣店系统中的实体包括:
会员,收衣,取衣,收费,权限,支出。
(1)会员:
会员号,注册日期,姓名,年龄,联系电话,家庭住址。
(2)收衣:
收衣号,日期,数量,会员号,备注。
(3)明细:
明细号,衣服编号,衣服种类,收衣号,描述。
(4)收费:
收费号,收费金额,收费日期,收衣号。
(5)权限:
权限号,权限名,权限密码。
(6)支出:
支出号,支出类型,支出金额,支出日期。
实体之间的联系有
(1)会员与收衣之间(1:
N)
(2)收衣与明细之间(1:
N)
数据字典
数据字典包括数据项,数据结构,数据流,数据存储,处理过程5个部分。
数据项是不可再分的数据单位,数据结构是反映数据之间的组合关系,数据流是在系统中传输的路径,数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一,处理过程的具体处理逻辑一般用判定表或判定树来描述。
(1)数据项
数据项
数据类型
别名
含义说明
取值范围
MemberID
int
会员号
唯一标识每一个会员
00000001~
SignDate
DATE
注册时间
2000-01-01~2015-01-09
NAME
varchar
姓名
文字说明
AGE
int
年龄
15~80
TELEPHONE
int
联系电话
ADDRESS
varchar
家庭住址
文字说明
GetNumber
int
收衣号
唯一标识每一次收、取衣记录
00000001~
GetDate
DATE
日期
2000-01-01~2015-01-09
GetNumber
int
数量
1~10
Remark
varchar
备注
说明收衣还是取衣
DetailNumber
int
明细号
唯一标识每一次明细记录
00000001~
ClothingID
int
衣服编号
1~10
ClothingStyle
varchar
衣服种类
文字说明
Bewrite
varchar
描述
文字说明
ChargeNumber
int
收费号
唯一标识每一次收费记录
00000001~
Charge
int
收费金额
ChargeDate
DATE
收费日期
2000-01-01~2015-01-09
JurisdictionNumber
int
权限号
唯一标识每一个权限
0001~0003
JurisdictionName
varchar
权限名
文字说明
JurisdictionPassword
int
权限密码
由数字组成
PayNumber
int
支出号
唯一标识每一次支出记录
00000001~
PayType
varchar
支出类型
文字说明
PayMoney
int
支出金额
1~9999
PayDate
DATE
支出日期
2000-01-01~2015-01-09
(2)数据结构
数据结构:
会员
含义说明:
会员管理系统的主体数据结构,定义了会员的相关信息
组成:
会员号,注册时间,姓名,年龄,联系电话,家庭住址。
数据结构:
收衣表
含义说明:
收取衣管理系统的主体数据结构,定义了收、取衣记录信息
组成:
收衣号,日期,数量,会员号,备注。
数据结构:
明细表
含义说明:
收衣管理系统的子体数据结构,定义了收衣记录中衣服信息的说明信息。
组成:
明细号,衣服编号,衣服种类,收衣号,描述。
数据结构:
收费表
含义说明:
收费管理系统的主体数据结构,定义了收费记录信息
组成:
收费号,收费金额,收费日期,取衣号。
数据结构:
权限表
含义说明:
权限管理系统的主体数据结构,定义了权限记录信息
组成:
权限号,权限名,权限密码。
数据结构:
支出表
含义说明:
消费管理系统的主体数据结构,定义了支出记录信息
组成:
支出号,支出类型,支出金额,支出日期。
(3)数据流
数据流:
会员信息
说明:
会员注册时记录的信息
数据流来源:
注册
数据流去向:
会员表
组成:
会员号,注册时间,姓名,年龄,联系电话,家庭住址。
数据流:
收衣信息
说明:
收衣时记录的信息
数据流来源:
收衣,取衣
数据流去向:
收衣表
组成:
收衣号,日期,数量,会员号,备注。
数据流:
明细信息
说明:
收衣时记录的衣物信息
数据流来源:
收衣
数据流去向:
明细表
组成:
明细号,衣服编号,衣服种类,收衣号,描述。
数据流:
收费信息
说明:
收费时记录的信息
数据流来源:
收费
数据流去向:
收费表
组成:
收费号,收费金额,收费日期,收衣号。
数据流:
权限记录
说明:
记录洗衣店的员工权限记录
数据流来源:
员工输入
数据流去向:
权限表
组成:
权限号,权限名,权限密码。
数据流:
支出信息
说明:
支出时记录的信息
数据流来源:
支出
数据流去向:
支出表
组成:
支出号,支出类型,支出金额,支出日期。
(4)(5)数据存储、处理过程
数据存储名
功能
处理说明
insert-cust
添加新注册的会员信息
注册成功后在会员表中添加该会员信息
select-cust
查询会员信息
店长登录系统后可以查询会员的个人信息
update-cust
修改会员信息
店长登录系统后可以修改会员的个人信息
delete-cust
删除会员信息
店长登录系统后可以删除会员的个人信息
insert-get
添加收衣信息
店员或店长登录系统后可以对收衣信息进行添加
select-get
查询收衣信息
店员或店长登录系统后可以对收衣信息进行查询
update-get
修改收衣信息
店员或店长登录系统后可以对收衣信息进行修改
delete-get
删除收衣信息
店员或店长登录系统后可以对收衣信息进行删除
insert-take
添加取衣信息
店员或店长登录系统后可以对取衣信息进行添加
select-take
查询取衣信息
店员或店长登录系统后可以对取衣信息进行查询
update-take
修改取衣信息
店员或店长登录系统后可以对取衣信息进行修改
delete-take
删除取衣信息
店员或店长登录系统后可以对取衣信息进行删除
insert-detail
添加衣服明细信息
店员或店长登录系统后可以对衣服明细信息进行添加
select-detail
查询衣服明细信息
店员或店长登录系统后可以对衣服明细信息进行查询
update-detail
修改衣服明细信息
店员或店长登录系统后可以对衣服明细信息进行修改
delete-detail
删除衣服明细信息
店员或店长登录系统后可以对衣服明细信息进行删除
insert-charge
添加收费信息
店员或店长登录系统后可以对收费信息进行添加
select-charge
查询收费信息
店员或店长登录系统后可以对收费信息进行查询
update-charge
修改收费信息
店员或店长登录系统后可以对收费信息进行修改
delete-charge
删除收费信息
店员或店长登录系统后可以对收费信息进行删除
insert-pay
添加支出信息
店长登录系统后可以对本店支出信息进行添加
select-pay
查询支出信息
店长登录系统后可以对本店支出信息进行查询
update-pay
修改支出信息
店长登录系统后可以对本店支出信息进行修改
delete-pay
删除支出信息
店长登录系统后可以对本店支出信息进行删除
select-all
查询所有信息
老板登录系统后可以查询本店的所有信息
三概念结构设计
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地用某一DBMS实现这些需求。
实体图
将通过需求分析得到的实体图画出如下:
(1)会员实体图
图会员实体图
(2)收衣实体图
图收衣实体图
(3)明细实体图
图明细实体图
(4)收费实体图
图收费实体图
(5)权限实体图
图权限实体图
(6)支出实体图
图支出实体图
总体ER图
通过以上分ER图,得到以下总体ER图。
图总体ER图
四逻辑结构设计
本次设计的数据库在SQLServer2008上实现,将概念结构设计中的E-R图转换成SQLSever2008支持的关系数据模型。
关系设计
关系设计包括实体转换和联系转换。
实体转换
将每个单独的实体转换为一张单独的表
(1)会员:
会员号,注册时间,姓名,年龄,联系电话,家庭住址。
(2)收衣:
收衣号,日期,数量,会员号,备注。
(3)明细:
明细号,衣服编号,衣服种类,收衣号,描述。
(4)收费:
收费号,收费金额,收费日期,收衣号。
(5)权限:
权限号,权限名,权限密码。
(6)支出:
支出号,支出类型,支出金额,支出日期。
联系转换
一个实体型转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系有以下几种不同的情况:
(1)一对一的联系转化为一张单独的关系表
会员:
会员号,注册时间,姓名,年龄,联系电话,家庭住址。
权限:
权限号,权限名,权限密码。
支出:
支出号,支出类型,支出金额,支出日期。
(2)一对多的联系通过在多表中添加属性来实现
收衣:
收衣号,日期,数量,会员号,备注。
明细:
明细号,衣服编号,衣服种类,收衣号,描述。
收费:
收费号,收费金额,收费日期,收衣号。
(3)多对多一的联系转化为一张单独的关系表
此系统中不存在多对多关系
关系优化
(1)会员表:
函数依赖集为F1={会员号,注册时间,姓名,年龄,联系电话,家庭住址}∈3NF
主属性:
会员号
非主属性:
注册时间,姓名,年龄,联系电话,家庭住址。
(2)收衣表:
函数依赖集为F2={收衣号,日期,数量,会员号,备注}∈3NF主属性:
收衣号,会员号
非主属性:
日期,数量,备注。
(3)明细表:
函数依赖集为F3={明细号,衣服编号,衣服种类,收衣号,描述}∈3NF
主属性:
明细号,收衣号
非主属性:
衣服编号,衣服种类,描述。
(4)收费表:
函数依赖集为F4={收费号,收费金额,收费日期,收衣号}∈3NF
主属性:
收费号,收衣号
非主属性:
收费金额,收费日期。
(5)权限表:
函数依赖集为F5={权限号,权限名,权限密码}∈3NF
主属性:
权限号
非主属性名:
权限名,权限密码。
(6)支出表:
函数依赖集为F6={支出号,支出类型,支出金额,支出日期}∈3NF
主属性:
支出号
非主属性:
支出类型,支出金额,支出日期。
五数据库完整性设计
约束说明
根据参照完整性,表与表之间有主键、外键、用户自定义约束。
(1)会员号是会员表的主键,在8位以内,只能由数字组成。
(2)收衣表中数量限制在10以下。
(3)明细表中衣服编号只能是1到10的数字。
(4)收衣表中收衣号为主键
(5)明细表中明细号号为主键
(6)收费表中收费号为主键
(7)收衣表中会员号参照会员表中的会员号
(8)明细表中收衣号参照收衣表中的收衣号
(9)收费表中收衣号参照会员表中的收衣号
(10)收衣表中的备注只能说明是收衣还是取衣。
基本表
(1)会员表
属性名
数据类型
是否为空
含义
是否为主键
MemberID
int
Notnull
会员号
Primarykey
SignTIME
DATE
Notnull
注册时间
NAME
varchar
Notnull
姓名
AGE
int
Notnull
年龄
TELEPHONE
int
Notnull
联系电话
ADDRESS
varchar
Notnull
家庭住址
(2)收衣表
属性名
数据类型
是否为空
含义
是否为主键
GetNumber
int
Notnull
收衣号
Primarykey
GetDate
DATE
Notnull
日期
GNumber
int
Notnull
数量
MemberID
int
Notnull
会员号
Primarykey
GRemark
varchar
Notnull
备注
(3)明细表
属性名
数据类型
是否为空
含义
是否为主键
DetailNumber
int
Notnull
明细号
Primarykey
ClothingID
int
Notnull
衣服编号
ClothingStyle
varchar
Notnull
衣服种类
GetNumber
int
Notnull
收衣号
Primarykey
Bewrite
varchar
描述
(4)收费表
属性名
数据类型
是否为空
含义
是否为主键
ChargeNumber
int
Notnull
收费号
Primarykey
Charge
int
Notnull
收费金额
ChargeDate
DATE
Notnull
收费日期
GetNumber
int
Notnull
收衣号
Primarykey
(5)权限表
属性名
数据类型
是否为空
含义
是否为主键
JurisdictionNumber
int
Notnull
权限号
Primarykey
JurisdictionName
varchar
Notnull
权限名
JurisdictionPassword
int
Notnull
权限密码
(6)支出表
属性名
数据类型
是否为空
含义
是否为主键
PayNumber
int
Notnull
支出号
Primarykey
PayType
varchar
Notnull
支出类型
PayMoney
int
Notnull
支出金额
PayDate
DATE
Notnull
支出日期
六物理结构设计
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构
确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:
确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
确定数据的存放位置
为了提高系统性能,我们根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
把权限表作为数据稳定和存储频率较低部分,把会员表、收衣表、取衣表、收费表和支出表作为数据易变和经常存储部分,分开存放。
确定系统配置
在进行物理设计时,根据应用环境,将数据库的大小的参数值设置为:
事务日志的分配空间为,文件按10百分比自动增长,并将文件增长限制为;数据文件的分配空间为,文件按10百分比自动增长,并将文件增长限制为。
(2)对物理结构进行评价
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。
物理设计的任务之一就是要确定哪些存取方法,即建立哪些存取路径。
常用的存取方法有三类。
第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。
(1)索引存取方法的选择
①由于会员表的MemberID经常在查询和连接操作的条件中出现,故在MemberID上建立B+树索引。
②由于收衣表的GETNumber经常在查询和连接操作的条件中出现,故在GETNumber上建立B+树索引。
③由于收费表的Charge经常作为最大值、最小值以及求和等聚集函数的参数,故在这Charge上建立B+树索引。
④由于支出表PayMoney的经常作为最大值、最小值以及求和等聚集函数的参数,故在这PayMoney上建立B+树索引。
(2)聚簇存取方法的选择
①由于收衣表的GETNumber经常要进行连接操作,为了提高GETNumber的查询速度,则对此关系建立一个聚簇索引。
②由于会员的MemberID经常要进行连接操作,为了提高MemberID的查询速度,则对此关系建立一个聚簇索引。
③由于收费表的ChargeNumber经常要进行连接操作,为了提高ChargeNumber的查询速度,则对此关系建立一个聚簇索引。
④由于明细表的DetailNumber经常要进行连接操作,为了提高DetailNumber的查询速度,则对此关系建立一个聚簇索引。
⑤由于支出表的PayNumber经常要进行连接操作,为了提高PayNumber的查询速度,则对此关系建立一个聚簇索引。
六数据库实施
CREATETABLEJURISDICTION(
JurisdictionNumberintNOTNULL,
JurisdictionNAMEvarchar(20)NOTNULL,
JurisdictionPasswordintNOTNULL
)
图权限表
CREATETABLEMember(
MemberIDintNOTNULL,
SignTIMEdateNOTNULL,
NAMEvarchar(40)NOTNULL,
AGEintNOTNULL,
TEHEPHONEintNOTNULL,
ADDRESSvarchar(80)NOTNULL
)
图会员表
CREATETABLEGetClothing(
GetNumberintNOTNULL,
GetDatedateNOTNULL,
GNumberintNOTNULLCHECK(GNumber>=1ANDGNumber<=10)
MemberIDintNOTNULL,
Remarkvarchar(20)CHECK(RemarkIN('收','取'))
)
图收衣表
CREATETABLEDetail(
DetialNumberintNOTNULL,
ClothingIDintNOTNULLCHECK(ClothingID>=1ANDClothingID<=10)
ClothingStylevarchar(50)NOTNULL,
GetNumberintNOTNULL,
Bewritevarchar(50)NULL
)
图明细表
CREATETABLECHARGE(
ChargeNumberintNOTNULL,
ChargeintNOTNULL,
ChargeDatedateNOTNULL,
GetNumbe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 洗衣店 管理 系统 课程设计