课程设计(论文)任务书
学 院 业班
一、课程设计(论文) 题目 洗衣店管理系统 二、课程设计(论文) 工作自 2015 年 1 月 5 日起至 2015 年 1月 9 日止
三、课程设计(论文) 地点: 软件测试实验室 四、课程设计(论文) 内容要求: 1.本课程设计的目的
(1)巩固和加深对数据库基本知识的理解,提高综合运用课程知识的能力。 (2)使学生巩固所学的理论基础知识的理解,掌握数据库设计的全过程及技术与方法。 (3)培养学生编制软件文档及开发应用系统的能力,提高学生独立分析问题、解决问题的能力,锻炼和加强学生的动手能力。使学生掌握使用各种计算机资料和有关参考资料。 2.课程设计的任务及要求
(1)根据选题任务要求,收集并查询相关文献资料,明确系统需求;通过对系统的功能分析和数据分析进行系统的需求分析设计,完成数据流图(DFD 图)(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日
目录
一 绪论 . ..................................................................................................... 4 二 需求分析 . ............................................................................................. 4 三 概念结构设计 . ................................................................................... 16 四 逻辑结构设计 . ................................................................................... 19 五 数据库完整性设计 . ........................................................................... 21 六 物理结构设计 . ................................................................................... 23 七 数据库实施 . ....................................................................................... 25 小结 . ......................................................................................................... 32 参考文献 . ................................................................................................. 32
一 绪论
近几年来洗衣店行业的兴起,减轻了上班族的许多负担,然而洗衣店良好的服务质量却离不开良好的管理方法。为了迎合当今洗衣业的发展,制作出了洗衣店管理系统。此系统包括对会员的注册,收、取衣服的记录,收费记录等功能,还能对洗衣店的其他支出类消费进行记录,能方便的统计出一天内的营业额和支出额。针对一般洗衣店的管理流程,此系统可以完成大部分业务功能。
二 需求分析
2.1编写目的
更好的了解所制作的洗衣店管理系统以方便洗衣店员工使用。
2.2需求分析
2.2.1系统功能描述
此系统应用于小型洗衣店,给洗衣店提供日常的收取衣记录,会员管理,收支管理等功能,能方便洗衣店每日的工作。 (1)会员管理
为进店顾客提供注册会员的功能,建立会员表,记录会员信息,包括会员号,注册时间等个人信息。 (2)收、取衣管理
记录每次的收、取衣服信息,还包括对衣服信息的明细记录。 (3)权限管理
建立权限表记录洗衣店店长、店员和老板的登录信息。 (4)财务管理
建立收费表以记录收费信息 建立支出表以记录支出信息。
2.2.2系统功能图
图2.2.2.1 系统功能图
2.2.3系统流程图
图2.3.3.1系统流程图
2.2.4数据流图
图2.2.4.1 系统顶层数据流图
图2.4.4.2 系统第一层数据流图
图2.4.4.3会员注册 图2.4.4.4 记录收衣信息
2.2.5实体与数据
通过分析可知道次洗衣店系统中的实体包括:会员,收衣,取衣,收费,权限,支出。
(1)会员:会员号,注册日期,姓名,年龄,联系电话,家庭住址。
(2)收衣:收衣号,日期,数量,会员号,备注。
(3)明细:明细号,衣服编号,衣服种类,收衣号,描述。 (4)收费:收费号,收费金额,收费日期,收衣号。 (5)权限:权限号,权限名,权限密码。
(6)支出:支出号,支出类型,支出金额,支出日期。
2.2.6实体之间的联系有
(1)会员与收衣之间(1:N ) (2)收衣与明细之间(1:N )
2.2.7数据字典
数据字典包括数据项,数据结构,数据流,数据存储,处理过程5个部分。数据项是不可再分的数据单位,数据结构是反映数据之间的组合关系,数据流是在系统中传输的路径,数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一,处理过程的具体处理逻辑一般用判定表或判定树来描述。
(2)数据结构
1数据结构:会员 ○
含义说明:会员管理系统的主体数据结构,定义了会员的相关信息
组成:会员号,注册时间,姓名,年龄,联系电话,家庭住址。
2数据结构:收衣表 ○
含义说明:收取衣管理系统的主体数据结构,定义了收、取衣记录信息
组成:收衣号,日期,数量,会员号,备注。
3数据结构:明细表 ○
含义说明:收衣管理系统的子体数据结构,定义了收衣记录中衣服信息的说明信息。
组成:明细号,衣服编号,衣服种类,收衣号,描述。
4数据结构:收费表 ○
含义说明:收费管理系统的主体数据结构,定义了收费记录信息
组成:收费号,收费金额,收费日期,取衣号。
5数据结构:权限表 ○
含义说明:权限管理系统的主体数据结构,定义了权限记录信息
组成:权限号,权限名,权限密码。
6数据结构:支出表 ○
含义说明:消费管理系统的主体数据结构,定义了支出记录信息
组成:支出号,支出类型,支出金额,支出日期。
(3)数据流
1数据流:会员信息 ○
说明:会员注册时记录的信息 数据流来源:注册 数据流去向:会员表
组成:会员号,注册时间,姓名,年龄,联系电话,家庭住址。
○
2数据流:收衣信息 说明:收衣时记录的信息 数据流来源:收衣,取衣 数据流去向:收衣表
组成:收衣号,日期,数量,会员号,备注。
○
3数据流:明细信息 说明:收衣时记录的衣物信息 数据流来源:收衣 数据流去向:明细表
组成:明细号,衣服编号,衣服种类,收衣号,描述。○
4数据流:收费信息 说明:收费时记录的信息 数据流来源:收费 数据流去向:收费表
组成:收费号,收费金额,收费日期,收衣号。
○
5数据流:权限记录 说明:记录洗衣店的员工权限记录 数据流来源:员工输入 数据流去向:权限表
组成:权限号,权限名,权限密码。
○
6数据流:支出信息 说明:支出时记录的信息 数据流来源:支出 数据流去向:支出表
组成:支出号,支出类型,支出金额,支出日期。
三 概念结构设计
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地用某一DBMS 实现这些需求。
3.1实体图
将通过需求分析得到的实体图画出如下: (1)会员实体图
图3.1.1 会员实体图
(2)收衣实体图
图3.1.2收衣实体图
(3)明细实体图
图3.1.3 明细实体图
(4)收费实体图 图3.1.4 收费实体图
(5)权限实体图 图3.1.5 权限实体图
(6)支出实体图
图3.1.6 支出实体图
3.2总体ER 图
通过以上分ER 图,得到以下总体ER 图。
图3.2.1 总体ER 图
四 逻辑结构设计
本次设计的数据库在SQL Server 2008上实现,将概念结构设计中的E-R 图转换成SQL Sever 2008支持的关系数据模型。
4.1关系设计
关系设计包括实体转换和联系转换。
4.1.1实体转换
将每个单独的实体转换为一张单独的表
(1)会员:会员号,注册时间,姓名,年龄,联系电话,家庭住址。
(2)收衣:收衣号,日期,数量,会员号,备注。
(3)明细:明细号,衣服编号,衣服种类,收衣号,描述。 (4)收费:收费号,收费金额,收费日期,收衣号。 (5)权限:权限号,权限名,权限密码。
(6)支出:支出号,支出类型,支出金额,支出日期。
4.1.2联系转换
一个实体型转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系有以下几种不同的情况:
(1) 一对一的联系转化为一张单独的关系表
会员:会员号,注册时间,姓名,年龄,联系电话,家庭住址。 权限:权限号,权限名,权限密码。
支出:支出号,支出类型,支出金额,支出日期。 (2) 一对多的联系通过在多表中添加属性来实现 收衣:收衣号,日期,数量,会员号,备注。
明细:明细号,衣服编号,衣服种类,收衣号,描述。 收费:收费号,收费金额,收费日期,收衣号。 (3) 多对多一的联系转化为一张单独的关系表 此系统中不存在多对多关系
4.2关系优化
(1)会员表:
函数依赖集为F1={会员号,注册时间,姓名,年龄,联系电话,家庭住址}∈3NF 主属性:会员号
非主属性:注册时间,姓名,年龄,联系电话,家庭住址。 (2)收衣表:
函数依赖集为F2={收衣号,日期,数量,会员号,备注}∈3NF主属性:收衣号,会员号
非主属性:日期,数量,备注。 (3)明细表:
函数依赖集为F3={明细号,衣服编号,衣服种类,收衣号,描述} ∈3NF
主属性:明细号,收衣号
非主属性:衣服编号,衣服种类,描述。
(4)收费表:
函数依赖集为F4={收费号,收费金额,收费日期,收衣号}∈3NF
主属性:收费号,收衣号
非主属性:收费金额,收费日期。 (5)权限表:
函数依赖集为F5={权限号,权限名,权限密码}∈3NF 主属性:权限号
非主属性名:权限名,权限密码。 (6)支出表:
函数依赖集为F6={支出号,支出类型,支出金额,支出日期}∈3NF
主属性:支出号
非主属性:支出类型,支出金额,支出日期。
五 数据库完整性设计
5.1约束说明
根据参照完整性,表与表之间有主键、外键、用户自定义约束。 (1)会员号是会员表的主键,在8位以内,只能由数字组成。 (2)收衣表中数量限制在10以下。
(3)明细表中衣服编号只能是1到10的数字。 (4)收衣表中收衣号为主键 (5)明细表中明细号号为主键 (6)收费表中收费号为主键
(7)收衣表中会员号参照会员表中的会员号 (8)明细表中收衣号参照收衣表中的收衣号 (9)收费表中收衣号参照会员表中的收衣号
(10) 收衣表中的备注只能说明是收衣还是取衣。
5.2基本表
六 物理结构设计
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构
确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
1确定数据的存放位置 ○
为了提高系统性能,我们根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
把权限表作为数据稳定和存储频率较低部分,把会员表、收衣表、取衣表、收费表和支出表作为数据易变和经常存储部分,分开存放。
2确定系统配置 ○
在进行物理设计时,根据应用环境,将数据库的大小的参数值设置为:事务日志的分配空间为1.00MB ,文件按10百分比自动增长,并将文件增长限制为10.00MB ;数据文件的分配空间为2.00MB ,文件按10百分比自动增长,并将文件增长限制为10.00MB 。
(2)对物理结构进行评价
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定哪些存取方法,即建立哪些存取路径。常用的存取方法有三类。第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH 方法。
(1)索引存取方法的选择
①由于会员表的MemberID 经常在查询和连接操作的条件中出现,故在MemberID 上建立B+树索引。
②由于收衣表的GETNumber 经常在查询和连接操作的条件中出现,故在GETNumber 上建立B+树索引。 ③由于收费表的Charge 经常作为最大值、最小值以及求和等聚集函数的参数,故在这Charge 上建立B+树索引。 ④由于支出表PayMoney 的经常作为最大值、最小值以及求和等聚集函数的参数,故在这PayMoney 上建立B+树索引。 (2)聚簇存取方法的选择
①由于收衣表的GETNumber 经常要进行连接操作,为了提高GE TNumber 的查询速度,则对此关系建立一个聚簇索引。
②由于会员的MemberID 经常要进行连接操作,为了提高Membe rID 的查询速度,则对此关系建立一个聚簇索引。 ③由于收费表的ChargeNumber 经常要进行连接操作,为了提高ChargeNumber 的查询速度,则对此关系建立一个聚簇索引。 ④由于明细表的DetailNumber 经常要进行连接操作,为了提高DetailNumber 的查询速度,则对此关系建立一个聚簇索引。 ⑤由于支出表的PayNumber 经常要进行连接操作,为了提高Pa yNumber 的查询速度,则对此关系建立一个聚簇索引。
六 数据库实施
CREATE TABLE JURISDICTION( JurisdictionNumber int NOT NULL, JurisdictionNAME varchar(20) NOT NULL, JurisdictionPassword int NOT NULL )
图 6.1 权限表
CREATE TABLE Member( MemberID int NOT NULL, SignTIME date NOT NULL, NAME varchar(40) NOT NULL, AGE int NOT NULL, TEHEPHONE int NOT NULL, ADDRESS varchar(80) NOT NULL )
图 6.2 会员表
CREATE TABLE GetClothing( GetNumber int NOT NULL, GetDate date NOT NULL, GNumber int NOT NULL CHECK(GNumber>=1 GNumber
AND
图 6.3 收衣表
CREATE TABLE Detail(
DetialNumber int NOT NULL,
ClothingID int NOT NULL CHECK(ClothingID>=1 AND ClothingID
图6.4 明细表
CREATE TABLE CHARGE( ChargeNumber int NOT NULL, Charge int NOT NULL, ChargeDate date NOT NULL, GetNumber int NOT NULL )
图 6.5 收费表
CREATE TABLE PAY( PayNumber int NOT NULL, PayType varchar(40) NOT NULL, PayMoney int NOT NULL, PayDate date NULL )
图 6.6 支出表
Create VIEW 会员衣物查询 AS
select MemberID,GNumber,ClothingStyle,Bewrite,Remark from GetClothing,Detail
where GetClothing.GetNumber=Detail.GetNumber
图6.7 会员衣物查询到的视图
Create VIEW 会员收费查询 AS
select MemberID,sum(Charge)Charge,GNumber from GetClothing,CHARGE
where GetClothing.GetNumber=CHARGE.GetNumber GROUP BY MemberID,GNumber ;
图 6.8 会员收费视图
图 6.9 查询3号会员的消费情况
图 6.10 删除明细表中收衣号为6的记录
图 6.11 在支出表中增加一条记录
图6.12 将收费表中收衣号为6的记录中的收费改为40
28
小结
此次的实验内容较为基础且简单,但是很好的让我认识到了数据库在生活中的强大作用,并且接触了以前不曾接触的实用性软件SQL Server,完成课程设计不是任务,学习到了知识才是收获,感谢学校和老师给了我们这一次宝贵的实训机会,让我能亲手制作实用的系统。有了此次经验,我会更加全面的学习数据库并多动手实践,相信在今后的学习和工作中起到重要作用
参考文献
《数据库系统概论 第四版》 王珊 著
29