数据库毕业课程设计 学校食堂管理系统 精品 2014最新

(此文档为word格式,下载后您可任意编辑修改!)

摘要

当人们收集了大量的数据后,应该把它们保存起来做进一步的处理和信息的抽取。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术来科学地保存大量的数据,以便能更好的利用这些数据资源。

我选择食堂管理系统的原因是我们学校有4个食堂,但人数众多,每天的消费量都很大,从学生的角度来讲,在高峰期存在某些食堂找不到座位的现象比比皆是,从管理员的角度来讲,他们需要知道某些菜的量,这样才能合理分配菜量,同学们也可以对食堂的饭菜及服务打分,这样同学们才能更好地进行就餐,食堂管理员才能更好地管理食堂及员工。本课题的目的是为了巩固《数据库原理与应用》课程中所学的知识,体现理论指导实践的原则,为食堂管理系统设计后台数据库,通过需求分析,概念设计,逻辑设计,物理设计及数据库的实施和运行等阶段,体现数据库设计的全过程,并把所学知识应用到实际中,培养自己的思维能力。

关键词:SQL SERVER;数据库设计;食堂管理系统

目录

第一章绪论 (1)

1.1课题简介 (1)

1.2设计目的 (1)

1.3设计内容 (1)

第二章需求分析 (3)

2.1 需求分析的任务 (3)

2.2 需求分析的过程 (3)

2.3数据字典与流程图 (4)

第三章概念结构设计 (8)

3.1 概念结构设计的方法与步骤 (8)

3.2 数据抽象与局部视图设计 (8)

3.3视图的集成 (11)

第四章逻辑结构设计 (12)

4.1 E-R图向关系模型的转换 (12)

4.2 数据库关系图 (12)

第五章数据库的实现 (16)

5.1数据库的建立 (16)

5.2 数据库基本结构的建立 (16)

5.3安全性的实现 (22)

5.4完整性的实现 (23)

5.5恢复技术的实现 (25)

第六章运行与结果 (26)

6.1简单查询和连接查询 (26)

6.2嵌套查询 (28)

6.3组合查询和统计查询 (32)

第一章绪论

1.1课题简介

数据库技术已成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是20世纪60年代后期产生和发展起来的一项计算机数据管理技术,它的出现使计算机应用渗透到人类社会的各个领域。目前数据库的建设规模和性能、数据库信息的大小和使用频度已成为衡量一个国家信息化程度的重要标志,数据库技术也成为计算机科学技术的一个重要分支。

我的专业是计算机。经过大学三年的学习,我们对计算机方面的知识有了很大的提升,不但掌握了基本的编程方法,工具和软件,还能进行简单的小程序开发。在C语言和JA V A 课程设计中,我认真编写程序,均取得了很好的成绩。在这次数据库课程设计中,我本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助和自己的资料查找下,历经两周时间,我通过数据库设计阶段的需求分析,概念模型设计,逻辑结构设计等步骤,自行设计一套学校食堂管理系统,在下面的各章中,我将以这套学校食堂管理系统为例,谈谈其开发过程和所涉及到的问题。

第二章需求分析

2.1 需求分析的任务

需求分析阶段的任务是对系统的整个应用情况做全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。

首先,我做的是调查食堂管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析各个功能所需要的数据及处理流程。处理要求、数据的安全性与完整性要求。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

2.2 需求分析的过程

1、分析用户活动,产生用户活动图。

2、确定系统范围,产生系统范围图。

3、分析用户活动所涉及的数据,产生数据流图。

4、分析系统数据,产生数据字典。

通过我对学校食堂的调查分析,我得出了食堂以下几点特点:

每个食堂都会有若干个窗口,每个窗口有若干工作人员。工作人员分为食堂管理员,窗口管理员和一般员工,一般员工负责送餐。

每位同学都有唯一的学号并被分配到指定的宿舍楼和指定的宿舍,有姓名,年龄,性别和联系方式。

学生在学校食堂就餐,有菜名和就餐时间。

每个员工都有唯一的员工号,还有姓名,性别,年龄,联系方式和职位

每个食堂都有编号,负责人的员工号,营业状况,如果正在营业则会有客流量,同时还会有学生对其的评价。

每个窗口都有编号和所属食堂编号,并对在此窗口出售的菜进行编号,另外还有此窗口的营业状况,以及学生对其的评价。

每道菜有编号,菜名和价钱,所属食堂的编号和窗口编号,同时有此时的销售状况,以及学生对其的评价。

每个学生可以对食堂,窗口和菜评价打分,同时每个学生对其评价时都会自动生成一

个编号。

每个外卖都有订单号以及订此外卖的学生的学号。

外卖是由食堂的一般工作人员负责送的,有员工编号,订餐编号和状态。若已送,则会有送餐时间。

每道菜又有对应的销售总量以及总价

总结了以上食堂的基本特点以后,我再说明一下食堂的业务流程:

1..学生根据食堂的营业状况,好评度和客流量,选择理想的食堂就餐。

2.学生到某个食堂的某个窗口去点餐,员工会点击学生点的某些菜,系统会统计此菜的编号,从数据库调出其价格,同时统计出点餐的合计金额,同时记录并更改菜的销售数量。

3..食堂管理员可以根据数据库中订餐表查看同学们订的餐以及相关信息。

4.学生可以查看食堂现状的基本信息。学生可以查看所有食堂的人流量,某些食堂某些窗口某些菜是否在出售。

5.工作人员可根据订外卖的单的住址等信息去送外卖;同时更改每个外卖的状态和时间。

以上就是我对食堂管理系统的需求分析,要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

2.3数据字典与流程图

1.业务流程分析

经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出学生和食堂工作人员对食堂相关信息的具体需求。

图2.1 学校食堂管理流程图

⑴调查用户需求

①学生对食堂的需求

●功能:学生首先查看食堂的基本信息,比如是否营业,客流量,好评度,哪些

窗口和出售的菜名等,然后选择合适的食堂进行就餐。在选择窗口和菜时,可以根据自己的喜好来选择,也可以根据好评度来选择。

●同学可以通过外卖系统来订外卖,订完时,系统会生成订餐信息。

●同学们也可以对食堂,窗口和菜的质量来进行打分。

●统计功能:

◆按菜编号统计食堂所拥有的菜,以及销售情况。

◆可以按照好评度降序排列来选择食堂,窗口和菜。

②食堂工作人员需求:

●查询功能:食堂的工作人员能查询自己工作的食堂和窗口的相关信息,包括食

堂拥有的窗口,该窗口所有菜的信息,正在出售的菜的信息,该窗口的外卖单的信息,销售状况,好评度等,有利于对食堂和窗口更好地进行管理,对好评度低的食堂,窗口和菜等进行整改。

●更改功能:当窗口的菜单的信息发生变化时,工作人员能对其进行修改。比如,

某些菜销售完毕,在销售状况总就应该改成F(空);或者某些菜的价格改变,记录中价格的信息也要作相应的修改等。

●当有学生在该窗口点餐,工作人员可以去统计销售额,合计总额;

●当有同学订外卖,可以及时生成订单的详细信息,确保准确无误地送到指定地

点。

③就餐信息需求

●基本功能:

记录学生在食堂的就餐情况

●统计功能:

◆统计食用某道菜的人数

◆统计食用某道菜的时间

◆统计某人食用的菜名

●查询功能:

◆上食堂就餐的同学信息查询:

就餐同学姓名

就餐同学住址

就餐同学学号

就餐同学性别

就餐同学年龄

就餐同学联系方式

④外卖信息需求

●查询功能:

◆外卖号

◆订外卖的同学相关信息

◆送餐的员工的相关信息

◆是否送餐以及送餐时间

2.系统模块分析

在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。

图2.2食堂管理系统总框架图

3.数据字典

将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。

数据字典提供了对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述,如描述性的数据定义等,并且为DBA提供有关的报告。

经分析之后,本系统要用到11个基本表:食堂信息表,窗口信息表,菜单信息表,学生信息表,员工信息表,就餐信息表,送餐信息表,收入信息表,外卖信息表,送餐信息表,评价信息表。数据结构定义如表2.1所示。

表2.1 数据结构定义

第三章概念结构设计

3.1 概念结构设计的方法与步骤

数据库概念结构设计阶段的任务是将需求分析得到的用户需求抽象为信息结构。概念结构设计是整个数据库设计的关键阶段,其主要任务是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模式。

概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

3.2 数据抽象与局部视图设计

按照图2.2食堂管理系统总框架图,设计局部E-R图。

图3.1食堂和窗口信息局部E-R图

图3.2窗口和菜信息局部E-R图

图3.3销售收入和菜信息局部E-R图

图3.4员工和食堂信息局部E-R图

图3.5员工和窗口信息局部E-R图

图3.6学生就餐信息局部E-R图

图3.7学生订餐信息局部E-R图

图3.8员工送餐信息局部E-R图

图3.9学生评价信息局部E-R图

3.3视图的集成

经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.10总体概念结构E-R图。

图3.10系统总体结构E-R图

第四章逻辑结构设计

4.1 E-R图向关系模型的转换

将图3.10总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。

食堂信息表(食堂编号,营业状况,好评度,客流量,员工编号)

窗口信息表(窗口编号,营业状况,好评度,食堂编号,员工编号)

菜单信息表(菜编号,窗口编号,食堂编号,菜名,状况,价钱,好评度)

同学评价信息单(打分编号,食堂编号,食堂分数,窗口编号,窗口分数,菜编号,菜分数,学号,时间)

菜收入信息表(销售编号,菜编号,收入)

员工信息表(员工编号,姓名,性别,年龄,职位,联系方式)

学生信息表(学号,姓名,性别,年龄,住址,联系方式)

就餐信息表(学号,菜编号,时间)

外卖信息表(学号,订餐号)

订餐信息表(订餐号,食堂号,窗口号,菜编号,数量,总价)

送餐信息表(订餐号,员工号,状况,送餐时间)

4.2 基本表结构

根据各个实体以及实体之间的联系,再根据总体结构图设计各表的结构,其相应表的定义如下:

表4-1食堂信息表的结构

表4-2 窗口信息表的结构

表4-3 菜单信息表的结构

表4-4学生评价表的结构

表4.5 菜收入信息表的结构

表4.6 员工数据信息表的结构

表4.7 学生信息表的结构

表4.8 学生就餐信息表的结构

表4.9 外卖信息表的结构

表4.10 订餐信息表的结构

表4.11 送餐信息表的结构

第五章数据库的实现

5.1数据库的建立

Create database食堂管理系统

on primary

(name=食堂管理系统,

Filename='E:\program files\LSL\食堂管理系统_data.mdf', Size=4MB,

Maxsize=10MB,

Filegrowth=1MB

)

Log on

(name=食堂管理系统_log,

Filename='E:\program files\LSL\食堂管理系统_log.ldf', Size=1MB,

Maxsize=6MB,

Filegrowth=1%

)

5.2 数据库基本结构的建立

1、基本表的建立

学生信息表的创建

Create table student

(Sno varchar(20)primary key,

Sname varchar(20) not null,

Sadd varchar(20),

Sphone varchar(20),

Sex char(2),

Age smallint);

员工信息表的创建

Create table Employee

(Eno varchar(10)primary key,

Ename varchar(20) not null,

Epos varchar(20),

Ephone varchar(20),

Sex char(2),

Age smallint);

食堂表创建

Create table cafeteria

(Cno varchar(10)primary key,

Ccondition char(1),

Cevaluation smallint,

Ccustomer smallint,

Eno varchar(10) not null,

Foreign key(Eno)references Employee(Eno)); 窗口表的创建

Create table chuangkou

(Wno varchar(10)primary key,

Wcondition char(1),

Eno varchar(10) not null,

Cno varchar(10) not null,

Wevaluation smallint

Foreign key(Cno)references cafeteria(Cno) Foreign key(Eno)references Employee(Eno) );

菜单信息表的创建

Create table cai

(Dno varchar(10)primary key,

Wno varchar(10) not null,

Cno varchar(10) not null,

Dname char(30) not null,

Dcondition char(1),

Price float,

Devaluation smallint

Foreign key(Cno)references cafeteria(Cno) Foreign key(Wno)references cafeteria(Wno)); 同学评价表的创建

Create table pingjia

(Pno varchar(10)primary key,

Cno varchar(10),

Cpoint varchar(10),

Wno varchar(10),

Wpoint varchar(10),

Dno varchar(10),

Dpoint varchar(10),

Sno varchar(20)

Foreign key(Cno)references cafeteria(Cno) Foreign key(Wno)references window(Wno) Foreign key(Sno)references student(Sno) Foreign key(Dno)references dish(Dno));

收入表的创建

Create table Income

(Ino varchar(10)primary key,

Dno varchar(10) not null,

Income float

Foreign key(Dno)references dish(Dno));

订餐信息表的创建

Create table dingcan

(Tno varchar(10)primary key,

Cno varchar(10),

Wno varchar(10),

Dno varchar(10),

Tcount int,

Sum float,

Foreign key(Dno)references dish(Dno), Foreign key(Cno)references cafeteria(Cno), Foreign key(Wno)references window(Wno)

);

外卖信息表的创建

Create table waimai

(Tno varchar(10),

Sno varchar(10),

Wdate datetime,

primary key(Tno,Sno));

学生就餐信息表的创建

Create table jiucan

(Sno varchar(20),

Dno varchar(10),

Sdate datetime,

Primary key(Sno,Dno),

Foreign key(Sno)references student(Sno), Foreign key(Dno)references dish(Dno),

);

送餐信息表的创建

Create table songcan

(Tno varchar(10),

Eno varchar(10),

Tcondition char(1) not null,

Primary key(Tno,Eno),

Foreign key(Tno)references dingcan(Tno), Foreign key(Eno)references Employee(Eno));

2、添加数据

insert into student

相关文档
最新文档