数据库学校饭堂消费管理系统的设计说明书Word格式.docx
- 文档编号:17238414
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:34
- 大小:106.90KB
数据库学校饭堂消费管理系统的设计说明书Word格式.docx
《数据库学校饭堂消费管理系统的设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《数据库学校饭堂消费管理系统的设计说明书Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
6、本课程设计只要求大家完成一个基本的数据库软件的开发工作,系统开发不要求大而全数据库软件的开发,只要完成数据的增、删、改、查等基本功能,并设计一个较友好系统操作界面(最好是图形界面)。
7、系统开发平台不做统一要求。
四、进度安排
依照教学计划,课程设计时间为:
2周。
本设计要求按照软件工程的基本过程完成设计。
建议将时间分为四个阶段:
第一阶段,根据题目要求,确定系统的总体设计方案(概要设计):
即系统包括哪些功能模块,每个模块的实现方法,同时编写相应的设计文档;
第二阶段,完成系统的详细设计工作;
第三阶段,完成数据库设计和编写程序代码并调试,再将调试通过的各个子模块进行集成调试;
第四阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。
三个阶段时间分配的大概比例是:
25:
25:
40:
10。
具体安排如下:
1月5日-1月6日:
资料查找、系统分析,数据流程分析,概要设计。
1月7日-1月8日:
系统详细设计、功能设计。
1月9日-1月14日:
算法实现、编程调试。
1月15日-1月16日:
功能演示、资料整理、课程设计说明书编写。
五、完成后应上交的材料
本课程设计要求按照学校有关规范的要求完成,在课程设计完成后需要提交的成果和有关文档资料包括课程设计的说明书,课程设计有关源程序及可运行程序(含运行环境),其内容不能过于简单,必须包括的内容有:
1.课程设计的基本思想,系统的总功能和各子模块的功能说明;
2.数据库设计中有关数据流图和E-R图,并对重要的操作画出有关算法流程图;
3.源程序中核心代码的说明;
4.本课程设计的个人总结,主要包括以下内容:
1 课程设计中遇到的主要问题和解决方法;
2 你的创新和得意之处;
3 设计中存在的不足及改进的设想;
4 本次课程设计的感想和心得体会。
5.源代码要求在关键的位置有注释,增加程序的可读性。
程序结构和变量等命名必须符合有关软件开发的技术规范(参见有关文献)。
六、总评成绩
指导教师签名日期年月日
系主任审核日期年月日
一.设计任务分析…………………………………………………………5
1.1系统总功能分析…………………………………………………5
1.2系统总框架………………………………………………………5
1.3设计思想简述……………………………………………………5
二.总体设计思路…………………………………………………………6
三.需求分析………………………………………………………………6
3.1数据字典…………………………………………………………7
3.1.1数据库用到的表…………………………………………7
3.1.2各表的说明………………………………………………7
四.概念结构设计…………………………………………………………8
4.1消除不必要的冗余,设计基本的E-R图………………………8
4.2合并分E-R图,生成总的E-R图………………………………9
五.逻辑结构设计…………………………………………………………10
5.1数据模型的优化…………………………………………………10
5.2由E-R图得到的关系模式………………………………………10
六.物理结构设计…………………………………………………………10
6.1为关系模式选择存取方法………………………………………10
6.2选择存取路径……………………………………………………10
6.3创建基本表………………………………………………………11
6.4建立索引…………………………………………………………14
6.5建立触发器………………………………………………………17
6.6建立视图…………………………………………………………18
7.数据库的实施…………………………………………………………19
7.1数据的载入………………………………………………………19
8.数据库的试运行………………………………………………………22
8.1视图中的数据……………………………………………………22
8.2视图的查询………………………………………………………23
九.数据库运行和维护……………………………………………………23
9.1系统开发工具的介绍………………………………………………23
9.2VB6.0与SQLsever的连接……………………………………24
9.3VB实现学校餐厅的管理…………………………………………27
9.3.1登录界面……………………………………………………27
9.3.2管理员功能…………………………………………………30
9.3.3学生功能……………………………………………………57
十.课程设计的总结报告…………………………………………………60
一.设计任务分析
1.1系统总功能分析
通过对学生在学校饭堂或餐厅的消费流程进行分析,完成具有食品管理、消费管理、帐户管理、餐厅管理等相关功能的小型数据库管理应用系统。
根据任务要求完成有关表的设计(表的设计需要遵循3NF)。
同时还要完成进人员、餐厅、食品价目表的维护,完成消费表的生成,并计算消费折扣。
以及按人员、时间段、餐厅统计计算消费总额,按食品类别、时间段、餐厅统计计算消费总额,最后完成用户管理功能,完成数据备份与恢复功能。
1.2系统总框架
密码错误
密码正确
1.3设计思想简述
这个系统我建立了管理员、员工、学生、餐厅、食品和餐厅营业表六张基本表,为了提高查找速度,我为前五个基本表以主键建立了唯一索引,为营业表建立了以餐厅编号、学生学号、食品编号和消费时间一起的唯一索引。
为了简化操作,更清晰地表达查询,我为学生、餐厅、食品和餐厅营业表建立了视图。
二.总体设计思路
三.需求分析
通过我对学校餐厅的调查分析,我得出了餐厅以下几点特点:
工作人员分为管理员,一般员工。
管理员都有唯一的工号,姓名,密码,其中初始密码为工号。
而一般员工都有唯一的工号、姓名、职位和所属餐厅。
其中只有管理员可以登录系统,对餐厅、学生、一般员工、食品进行管理,对餐厅营业表进行查询消费总额。
每位同学都有唯一的学号、姓名、密码、专业和学生卡内余额,其中初始密码为学号后5位,学生可以利用学号和初始密码登录系统进行修改密码,查看自己的基本信息以及查询自己卡内的余额。
餐厅分为两个,每个餐厅都有唯一的编号和姓名。
食品的类别分为素菜和肉菜,每个食品都有唯一的编号,食品名称,素菜的单价为2元,肉菜的单价为4元。
学生在学校餐厅就餐,就有所就餐的餐厅编号、该学生的学号、所食用的食品编号、食品数量、该食品的类别,付款方式(现金或者刷卡)和就餐时间。
消费表就是建立的视图,包括学生学号、餐厅号、食品号、食品单价、食品数量、折扣后价格。
以上就是我对学校餐厅管理系统的需求分析,要求系统能有效、快速、安全、可靠和无误的完成上述操作,服务器程序利于维护。
3.1数据字典:
数据库表名
关系模式名称
manager
管理员信息表
student
学生信息表
restaurant
餐厅信息表
food
食品价格表
operation
餐厅营业表
worker
员工信息表
pf_operation
消费表(视图)
3.1.2各表的说明
表一管理员信息表
元素
变量名
数据类型
备注
工号
mno
Char(9)
主键(非空)
姓名
mname
Char(20)
非空
密码
mpsw
Char(18)
表二学生信息表
学号
sno
sname
spsw
专业
sdept
余额
sbalance
Int
表三餐厅信息表
编号
rno
名称
rname
表四食品价格表
食品编号
fno
食品名称
fname
食品单价
fprice
食品类别
fbelong
表五餐厅营业表
餐厅编号
Restaurant的外键
Student的外键
Food的外键
食品数量
fnum
Char(10)
消费时间
ctime
Datetime
允许空值
付款方式
way
表六员工信息表
wno
wname
职位
wpost
所属餐厅
4.
概念结构设计
4.1消除不必要的冗余,设计基本的E-R图
由需求分析的结果可知,本系统设计的实体包括:
(1)员工基本信息:
员工工号、员工姓名、员工职位、所属餐厅。
(2)管理员基本信息:
管理员工号、管理员姓名、管理员密码。
(3)学生基本信息:
学生学号、学生姓名、学生密码、专业、卡内余额。
(4)餐厅基本信息:
餐厅编号、餐厅名称。
(5)食品基本信息:
食品编号、食品名称、食品单价、食品类别。
由于餐厅的营业表学生、餐厅、食品三者之间的多对多联系转换出来的表,是其基本属性,不必画在E-R图上。
这些实体间的联系包括:
(1)每位学生可以在多个餐厅里消费,每个餐厅也可以供给多个学生的饭菜。
(2)每个学生可以点多种食物,每个食物也可以被多个学生点。
(3)每个餐厅可以有多名员工,而每个员工只能在一个食堂工作。
4.2合并分E-R图,生成总的E-R图
五.逻辑结构设计
5.1数据模型的优化
数据库逻辑设计的结果不是唯一的。
为了进一步提高数据库应用系统的性能,还应该根据应用需求适当地修改、调整数据模型的结构,这就是数据模型的优化。
方法为:
1)确定数据依赖;
2)对于各个关系模式之间的数据依赖进行极小化的处理,消除冗余的联系;
3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数、传递依赖、多值依赖等,确定各关系模式分别处于第几范式。
由于并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了,所以对于本系统,按照要求,达到第三范式。
4)按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对模式进行合并或分解。
本系统中的管理员皆是餐厅的员工,但是只要管理员拥有密码可以对餐厅进行管理,所以我把他们分为管理员表和员工表。
5)对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。
5.2由E-R图得到的关系模式
数据结构名
组成
管理员信息
工号,姓名,密码
学生信息
学号,姓名,密码,专业,卡内余额
餐厅信息
编号,名称
食品号,食品名,食品价,食品类别
营业表
餐厅编号,学号,食品号,食品数量,消费时间,付款方式,食品类别
员工信息
工号,姓名,职位,所属餐厅
(下划线标注的属性为主码)
六.物理结构设计
6.1为关系模式选择存取方法
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。
这个系统我选择使用索引,为前五个基本表以主键建立了唯一索引,为营业表建立了以餐厅编号、学生学号、食品编号和消费时间一起的唯一索引。
6.2选择存取路径
createdatabase学校餐厅
on(name=学校餐厅_data,
filename='
d:
\slslsl\学校餐厅_data.mdf'
)
logon(name=学校餐厅_log,
filename='
\slslsl\学校餐厅_log.ldf'
6.3创建基本表
1)创建管理员表
CREATETABLEmanager
(mnoCHAR(9)PRIMARYKEY,
mnameCHAR(20)NOTNULL,
mpswCHAR(18)NOTNULL
);
2)创建学生表
CREATETABLEstudent
(snoCHAR(9)PRIMARYKEY,
snameCHAR(20)NOTNULL,
spswCHAR(18)NOTNULL,
sdeptCHAR(20)NOTNULL,
sbalanceINTCHECK(sbalance>
=0)
3)创建餐厅表
CREATETABLErestaurant
(rnoCHAR(9)PRIMARYKEY,
rnameCHAR(20)NOTNULL
4)创建食品表
CREATETABLEfood
(fnoCHAR(9)PRIMARYKEY,
fnameCHAR(20)NOTNULL,
fpriceINTNOTNULL,
fbelongCHAR(20)NOTNULL
5)创建餐厅营业表
CREATETABLEoperation
(rnoCHAR(9)NOTNULL,
snoCHAR(9)NOTNULL,
fnoCHAR(9)NOTNULL,
fnumCHAR(10)NOTNULL,
ctimeDATETIMEDEFAULTGETDATE(),
wayCHAR(10)NOTNULL,
fbelongCHAR(20)NOTNULL,
FOREIGNKEY(rno)REFERENCESrestaurant(rno),
FOREIGNKEY(sno)REFERENCESstudent(sno),
FOREIGNKEY(fno)REFERENCESfood(fno)
);
6)创建员工表
CREATETABLEworker
(wnoCHAR(9)PRIMARYKEY,
wnameCHAR(20)NOTNULL,
wpostCHAR(18)NOTNULL,
rnoCHAR(9)NOTNULL,
FOREIGNKEY(rno)REFERENCESrestaurant(rno)
6.4建立索引
CREATEUNIQUEINDEXworker_wnoONworker(wno);
CREATEUNIQUEINDEXmanager_mnoONmanager(mno);
CREATEUNIQUEINDEXstudent_snoONstudent(sno);
CREATEUNIQUEINDEXrestaurant_rnoONrestaurant(rno);
CREATEUNIQUEINDEXfood_fnoONfood(fno);
CREATEUNIQUEINDEXoperation_rsftONoperation(rnoASC,snoASC,fnoASC,ctimeASC);
6.5创建触发器
CREATETRIGGERstudent_balanceONoperation
AFTERINSERT
ASBEGIN
DECLARE@cardchar(10)定义变量
DECLARE@timedatetime
select@card=way,@time=ctimefrominserted
if@card='
card'
begin
UPDATEstudent
SETstudent.sbalance=student.sbalance-food.fprice*operation.fnum*1
FROMstudent,operation,food
WHEREstudent.sno=operation.snoandoperation.fno=food.fno
andctime=@time
end
END
学生卡内余额=原余额-食品单价X数量X折扣。
只有当学生的付款方式为刷卡时才计算,支付现金不计算。
6.6创建视图
CREATEVIEWpf_operation
AS
SELECTstudent.sno,restaurant.rno,food.fno,fprice,fnum,fnum*fprice*1price,food.fbelong,ctime
FROMoperation,restaurant,student,food
WHEREoperation.sno=student.snoANDoperation.rno=restaurant.rnoANDoperation.fno=food.fno
七.数据库的实施
7.1数据的载入
1)向管理员表中插入数据
INSERTINTOmanager(mno,mname,mpsw)VALUES('
30481'
'
王红'
30482'
李明'
2)向学生表中插入数据
由于建立了触发器会自动修改学生卡内余额,截图是在所有消费记录输入过以后的,所以插入数据时的余额跟截图的余额会有不同。
3)向餐厅表中插入数据
INSERTINTOrestaurant(rno,rname)VALUES('
01'
清风楼'
02'
映月阁'
4)向食品表中插入数据
INSERTINTOfood(fno,fname,fprice,fbelong)VALUES('
红烧鱼块'
4'
carn'
炸鸡腿'
03'
清炒西洋菜'
2'
veg'
04'
苦瓜炒蛋'
05'
酸辣土豆丝'
06'
家常豆腐'
5)向餐厅营业表中插入数据(插入了两天的营业记录,时间自动为系统时间)
6)向员工表中插入数据
INSERTINTOworker(wno,wname,wpost,rno)VALUES('
40481'
张兰'
经理'
40482'
马燕'
厨师'
40483'
周扬'
40484'
王刚'
8.数据库的试运行
8.1视图中的数据
8.2视图的查询
经计算,结果正确
九.数据库运行和维护
9.1系统开发工具的介绍
微软公司的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
利用VISUALBASIC程序设计语言,可以很方便地设计出在WINDOWS环境下运行的应用程序。
故而,实现本系统VB是一个相对较好的选择。
ADO对象能够存取到数据库的内容,首先要求数据库的驱动程序(ODBC驱动程序与OLEDB驱动程序)必须安装上,否则,ADO对象是无法存取数据库中内容,其原理示意图如下图所示:
9.2VB6.0与SQLsever的连接
如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 学校 饭堂 消费 管理 系统 设计 说明书