《数据库原理及应用课程设计》作品

目  录

1 绪论

1.1 研究背景

1.2 实训目的

1.2.1 知识目标

1.2.2 能力目标

1.2.3 素质目标

1.3 实训内容

1.4 实训要求

2 需求分析

2.1 需求分析描述

2.2 功能图

2.3 数据流图

2.4 数据字典

2.5 实体分析

2.6 实体之间的关系

3 数据库设计

3.1 数据库概念设计

3.2 数据库逻辑设计

3.3 物理设计——数据表设计

4 库表管理

4.1 创建数据库

4.2 创建数据表

4.3 数据更新

4.3.1 添加数据

4.3.2 修改数据

4.3.3 删除数据

5 数据查询与优化

5.1 数据查询

5.1.1 单表查询

5.1.2 单表多条件查询

5.1.3 多表连接查询

5.1.4 嵌套查询

5.1.5 查询统计

5.2 数据库优化

5.2.1 创建视图

5.2.2 创建索引

6 数据库编程

6.1 创建存储过程

6.2 创建触发器

7 数据库安全与维护

7.1 数据库登录管理

7.2 数据库用户管理

7.3 数据库角色管理

8 总结

1 绪论

1.1 研究背景

在餐饮行业中,顾客体验和服务效率是饭店成功的关键。针对这些核心需求,饭店考虑引入点餐系统来优化运营流程。在分析饭店的基本情况时,我们发现其面临着高峰时段顾客等待时间长、菜品更新频繁、员工管理复杂等挑战。

为了实现快速、准确、便捷的点餐体验,点餐系统需要具备菜品展示、订单处理、支付集成、厨房管理等功能。同时,系统还需支持多平台操作,以满足不同顾客群体的需求。在数据分析方面,我们首先进行了市场调研,发现顾客对于便捷的点餐方式有着强烈的需求,尤其是年轻一代。此外,我们还分析了饭店的营业数据,发现通过引入点餐系统,可以显著提高服务效率,减少顾客等待时间,从而增加顾客满意度和回头率。技术可行性方面,我们评估了当前市场上成熟的点餐系统解决方案,发现它们已经具备了高度的稳定性和易用性,且能够快速部署和集成到饭店现有的运营体系中。

综上所述,饭店点餐系统的引入不仅符合餐饮行业的发展趋势,也符合饭店的实际需求。通过引入该系统,饭店将能够提升顾客体验,提高服务效率,从而在竞争激烈的市场中脱颖而出。

1.2 实训目的

本次课程设计采用微软SQL Server 2012作为平台,围绕一个“点餐系统”的数据库设计案例来展开实训,内容包括SQL Server 2012安装、数据库设计、库表创建、数据的查询以及更新、数据库优化、安全管理等。

1.2.1 知识目标

(1)能够安装和配置SQL Server2012;

(2)掌握数据库设计方法

(3)熟练掌握使用SSMS和SQL语句创建与管理数据库表;

(4)掌握SELECT语句结构及WHERE子句、ORDER BY 、GROUP BY、COMPUTE子句的应用;

(5)理解视图和索引的概念和作用;

(6)理解和掌握两种数据库登录模式

(7)掌握基于SQL Server的简单Java项目开发的流程。

1.2.2 能力目标

(1)通过实验实训,巩固关系数据库的基本原理,培养学生数据库设计与库表创建能力、数据增删改查的操作能力、数据库安全管理能力。

(2)使学生掌握数据库设计与开发的生命周期,学会按照数据库系统的开发过程来设计数据库。

(3)培养学生撰写规范的数据库设计文档的能力。

1.2.3 素质目标

整体规划设计一个数据库管理信息系统,让学生掌握从事系统后台数据库开发与维护以及其它IT就业岗位所必需的数据库知识与技能。

1.3 实训内容

(1)安装和配置SQL Server以及数据库设计;

(2)使用SSMS和SQL语句创建与管理数据库表;

(3)使用INSERT、UPDATE、DELETE语句对数据表中的内容进行插入、更新、删除等操作;

(4)使用select语句实现精准查询、模糊查询、连接查询、子查询等内容;

(5)使用SSMS和SQL语句创建视图和索引;

(6)使用SQL语句创建存储过程和触发器;

(7)使用T-SQL语句对数据库进行权限管理。

1.4 实训要求

本系统名为“点餐系统”,设计本系统时,要展示实体和实体之间的联系,要全面考虑各实体之间的关系。

建立数据库时要考虑数据模型的三要素:数据结构、数据操作、完整性约束。数据库设计过程中,为使数据库满足现实需要及数据库稳定,要严格按照数据库设计步骤,一步一步,不得跨越。

2 需求分析

2.1 需求分析描述

1 数据需求

在饭店点餐系统的开发中,数据需求是确保系统正常运行的关键。从下订单、点菜、结账到员工和顾客管理,每个阶段都需要特定的数据支持。

下订单阶段:顾客通过系统选择餐桌并下单,系统需要记录顾客编号、订单编号、消费时间以及所选餐桌的编号、可容人数和使用状态。同时,为了追踪订单处理过程,还需要记录处理该订单的员工工号。

点菜阶段:顾客在订单中选择菜品,系统需记录菜品编号、名称和数量,并与订单编号关联,确保订单内容的准确性。

结账阶段:结账时,系统需再次验证订单编号和顾客编号,确保订单归属正确。同时,记录菜品编号、名称和数量,以便计算消费金额。此外,员工工号和折扣信息也是结账阶段的重要数据,用于记录服务人员和折扣详情。

员工与顾客管理:员工档案需包括工号、姓名、性别和工资等信息,便于管理和支付工资。顾客档案则包括编号、姓名、性别等基本信息,用于识别和管理顾客。

消费记录管理:消费信息详细记录了每笔订单的消费金额、折扣后金额和结账时间,为饭店提供了重要的财务数据。

(2)事务需求

事务需求涉及数据的录入、更新/删除和查询。

数据录入:系统需支持顾客、餐桌、员工和菜品信息的录入,确保数据的完整性和准确性。

数据更新/删除:随着饭店运营的变化,系统应支持对这些信息的更新和删除操作,以保持数据的时效性。

数据查询:系统需提供灵活的查询功能,包括可用餐桌、在售菜品、订单、顾客点菜、员工和消费信息的查询,便于饭店管理和顾客服务。

2.2 功能图

图2.1 饭店点餐系统的系统功能结构

2.3 数据流图

图2.2 点餐系统的数据流图

2.4 数据字典

(1)数据结构: 下订单信息

含义:定义了顾客下单信息

组成:顾客编号,订单编号,消费时间餐桌标号,员工编号

(2)数据结构:点菜阶段信息

含义:主要定义了顾客点菜相关信息

组成:订单编号,菜品编号菜品类别菜品价格,菜品名称

(3)数据结构:结账信息管理

含义:定义了顾客结账情况

组成:餐桌号,订单编号,顾客编号,员工工号,消费金额,折扣后金额

(4)数据结构:员工信息

含义:定义了饭店员工的基础信息

组成:号,姓名,性别,入职日期,年龄,工资,电话

(5)数据结构:顾客信息

含义:定义了顾客用餐的基础信息

组成:顾客编号,姓名性别联系方式,餐桌好,订单编号

6)数据结构:消费记录信息

含义:定义客户消费相关信息

组成:订单号,消费金额折扣后金额,结账时间

2.5 实体分析

点餐系统数据库包含的实体有:

顾客实体:包括顾客编号姓名、年龄、性别、联系方式

餐桌实体:包括餐桌号、使用状态、桌位数。

菜谱实体:包括菜品编号、菜品名称、菜品类别、菜品价格

实体:包括员工编号、姓名、性别、入职日期、年龄、工资、电话。

订单实体:包括订单消费时间、联系电话服务员编号

消费记录:包括账单时间、折扣后金额、消费金额。

折扣规则:包括折扣编号、消费金额。

2.6 实体之间的关系

需要考虑它们是如何在餐厅的业务流程中相互关联的。以下是这些实体之间可能存在的关系:

1顾客与订单关系

关系名称:下单

描述:一个顾客可以下多个订单,一个订单只能由一个顾客下。

关系类型:一对多(1:N)

外键:订单实体中的顾客编号引用顾客实体中的顾客编号。

2顾客与消费记录关系

关系名称:消费

描述:一个顾客可以有多个消费记录,一个消费记录只能对应一个顾客。

关系类型:一对多(1:N)

外键:消费记录实体中可能不直接包含顾客编号,但可以通过订单号与订单实体关联,进而找到对应的顾客。

3餐桌与订单关系

关系名称:占用

描述:一个订单通常占用一个餐桌,一个餐桌在同一时间只能被一个订单占用(但在不同的时间段可以被不同的订单占用)。

关系类型:一对一(1:1,但在时间维度上可能是一对多)

外键:订单实体中可能包含餐桌号字段,指向餐桌实体中的餐桌号。

4菜谱与订单关系

关系名称:点餐

描述:一个订单包含多个菜品(来自菜谱),一个菜品可以被多个订单包含。

关系类型:多对多(M:N)

通常通过一个中间表(如订单详情表)来实现这种关系,该表包含订单号、菜品编号和数量等字段。

5员工与订单关系

关系名称:服务

描述:一个员工可以服务多个订单,一个订单只能由一个员工服务。

关系类型:一对多(1:N)

外键:订单实体中的服务员编号引用员工实体中的员工编号。

6订单与消费记录关系

关系名称:结算

描述:一个订单对应一个消费记录,用于记录该订单的最终消费情况。

关系类型:一对一(1:1)

外键:消费记录实体中可能包含订单号字段,与订单实体中的订单号相对应。

7折扣规则与消费记录关系

关系名称:应用

描述:一个消费记录可能应用了一个折扣规则,一个折扣规则可以被个消费记录应用。

关系类型:多对多(1:1

通常通过一个中间表(如折扣应用表)来实现这种关系,该表包含消费记录ID、折扣ID和具体折扣金额等字段。

3 数据库设计

3.1 数据库概念设计

3.1.1 局部ER图概念设计

(1)顾客与订单关系

图3.1 顾客与订单之间的ER关系图

(2)顾客与消费记录的关系

图3.2 顾客与消费记录之间的ER关系图

(3)餐桌与订单的关系

图3.3 餐桌与订单之间的ER关系图

(4)菜谱与订单的关系

图3.4 菜谱与订单之间的ER关系图

(5)员工与订单的关系

图3.5 员工与订单之间的ER关系图

(6)订单与消费关系

图3.6 订单与消费之间的ER关系图

(7)折扣规则与消费记录关系

图3.7 折扣规则与消费记录之间的ER关系图

3.1.2 全局ER图概念设计

全局ER图设计如下:

图3.6 全局ER关系图

3.2 数据库逻辑设计

由电脑销售系统的ER图,根据转化规则,将其转化为关系模型如下所示:

(1)顾客:顾客编号姓名、年龄、性别、联系方式、订单号

PK:顾客编号

FK:订单号

(2)订单:订单消费时间、联系电话菜谱编号、账单时间

PK:订单

FK:账单时间、菜谱编号

(3)消费记录账单时间、折扣后金额、消费金额、折扣编号

PK: 账单时间

FK: 折扣编号

(4)菜谱菜品编号、菜品名称、菜品类别、菜品价格、订单号、服务员编号

PK:菜品编号

FK: 订单号、服务员编号

(5)点餐菜谱号订单号、点餐人数、菜品数

PK: 菜谱号、订单号

(6)员工员工编号、姓名、性别、入职日期、年龄、工资、电话)

PK:员工编号

7折扣规则折扣编号、消费金额

PK:折扣编号

3.3 物理设计——数据表设计

表3.1 顾客表(Tomer)

字段号

说明

类型

长度

备注

T_ID

顾客编号

Int

6

主键

T_Name

姓名

Varchar

225

不为空

T_Age

年龄

Int

12

不为空

T_Sex

性别

Varchar

10

不为空

T_phone

联系方式

VARCHAR(20)

20

不为空

O_id

订单号

Int

10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值