校园外卖系统数据库设计

更新时间:2023-04-17 20:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

校园外卖系统数据库

组长:兰双艳

组员:李嘉琼

徐齐徽

周莎

柳梅

张玉华

时间:2014年5月20日

校园外卖系统数据库设计

一需求分析

随着时间的推移,人类对餐饮的需求越来越大,餐饮业也因此发展的越来越快。各式各样的餐厅如雨后春笋般的发展起来。自2000年以后,科学技术越来越发达,人与人之间的交流也越来越方便快捷,人们则会选择更方便的餐饮方式。由此,外卖行业应运而生,校园外卖则更加受欢迎,相比于出去吃饭,更多学生倾向于叫外卖,我们做的这个数据库就是有关校园外卖系统的。

众所周知的是,校园外卖必然包含提供外卖的餐厅、送外卖人员以及订购外卖的人员。而餐厅主要负责提供餐厅名字、所在具体位置以及该餐厅的联系方式,除此之外,餐厅还需要列出菜单以及各种菜品的价目,好让订购人员有更好的选择。而订购外卖的人员(主要是学生)则需要提供他们自身的联系方式,以及所在的宿舍地址,这样送外卖的人员更方便的就能送到买家的手上。

我们希望通过我们做的这个校园外卖数据库系统,更多人能够了解外卖服务方式。

二、流程图

三、各表格作用

1、餐厅:根据客户要求,完成菜肴;

2、菜单:供客户选择的材料;

3、顾客:享受餐厅食物的客人;

4、订单:反映餐厅与顾客之间的交易情况。

四、数据定义

表一:餐厅

表二:餐单

表三:顾客

表四:订单

五、建立E-R图

六、表的创建

创建餐厅信息表RESTAURANT

CREATE TABLE RESTAURANT

(RNO INT NOT NULL UNIQUE,

RNAME CHAR(50),

ADDRESS CHAR(50),

PHONE char(15),

SHIJIAN CHAR(20));

创建菜品信息表food

CREATE TABLE FOOD

(FNO INT NOT NULL UNIQUE,

FNAME CHAR(60),

PRICE CHAR(20));

创建订餐者信息表GUEST

CREATE TABLE GUEST

(GNO int,

GNAME CHAR(45)NOT NULL UNIQUE,

ADDRESS CHAR(20),

PHONE CHAR(30));

创建餐厅,菜品及订餐人之间联系的表RFG CREATE TABLE RFG

(RNO int,

FNO INT,

GNO INT,

QTY INT);

七、插入餐厅信息

insert

INTO RESTAURANT

VALUES(01,'xiaocanmao','xiaozuqiuchang','666789','9:00-21 :00');

insert

INTO RESTAURANT

VALUES(02,'xuejiecanting','xiaozuqiuchang','61111','10:00 -21:00');

insert

INTO RESTAURANT

VALUES(03,'laoyouji','badongkou','670000','10:00-22:00');

insert

INTO RESTAURANT

VALUES(04,'caigenxiang','yangguangduimian','616616','9:00 -22:00');

插入菜品信息

insert

INTO FOOD

VALUES(01,'yuxianrousi','8');

insert

INTO FOOD

VALUES(02,'shousibaocai','7');

insert

INTO FOOD

VALUES(03,'youlinqiezi','8');

insert

INTO FOOD

VALUES(04,'ganguotudou','10');

insert

INTO FOOD

VALUES(05,'zicaitang','6');

插入订餐人信息

insert

INTO GUEST

VALUES(01,'liumei','14-415','674471');

inserT

INTO GUEST

VALUES(02 ,'lanshuangyan', '14-415','673617');

insert

INTO GUEST

VALUES(03,'zhangyuhua','14-418','673619');

insert

INTO GUEST

VALUES(04,'zhousha','14-415','693916');

插入订餐之间的信息

insert

INTO RFG

VALUES(01,03,01,01);

insert

INTO RFG

VALUES(01,04, 02,01);

insert

INTO RFG

VALUES(04,01,03,01);

insert

INTO RFG

VALUES(03,02,04,01);

八、信息查询

查询关于餐厅的所有信息select*

from RESTAURANT;

查询食物及其价格SELECT FNAME,PRICE FROM FOOD;

查询顾客的姓名,订餐地址,电话SELECT GNAME,ADDRESS,PHONE FROM GUEST;

查询14-415订餐的所有人

SELECT GNAME

FROM GUEST

WHERE ADDRESS='14-415';

查询价格在8——10块之间的所有食物

SELECT FNAME

FROM FOOD

WHERE PRICE BETWEEN 8 AND 10;

查询订餐数为1的所有信息

SELECT*

FROM RFG

WHERE QTY=01;

查询餐厅地址在小足球场的所有店SELECT*

FROM RESTAURANT

WHERE ADDRESS='xiaozuqiuchang';

查询在01号店订餐的信息

SELECT*

FROM RFG

WHERE RNO=01;

查询短号为67。。。。的顾客

SELECT*

FROM GUEST

WHERE PHONE LIKE'67____';

查询订餐地址为-415且电话为67。。。。的顾客SELECT GNAME

FROM GUEST

WHERE ADDRESS='14-415'AND PHONE LIKE'67____';

插入新的订餐人信息

INSERT

INTO GUEST

VALUES(05,'lijiaqiong','14-418','673622');

删除顾客姓名为李嘉琼的所有信息

delete

FROM GUEST

WHERE GNAME='lijiaqiong';

SELECT*

FROM GUEST;

查询有顾客订餐的餐厅信息及订餐数量

SELECT RESTAURANT.RNAME,ADDRESS,PHONE,RFG.QTY FROM RESTAURANT,RFG

WHERE RESTAURANT.RNO=RFG.RNO;

带IN嵌套查询

SELECT GNAME,ADDRESS,PHONE

FROM GUEST

WHERE ADDRESS IN

(SELECT ADDRESS

FROM GUEST

WHERE GNAME='LANSHUANGYAN');

带UNION操作的集合查询

SELECT*

FROM GUEST

WHERE ADDRESS='14-415'

UNION

SELECT*

FROM GUEST

WHERE PHONE LIKE'673____';

数据更新

UPDATE GUEST

SET PHONE='673520'

WHERE GNAME='LANSHUANGYAN';

建立餐厅和餐厅地址的视图

CREATE VIEW ADDRESS_RESTAURANT AS

SELECT RNO,RNAME,PHONE

FROM RESTAURANT

WHERE ADDRESS='xiaozuqiuchang'; 建立顾客及订餐人地址的视图

CREATE VIEW ADDRESS_GUEST

AS

SELECT GNAME,PHONE

FROM GUEST

WHERE ADDRESS='14-415';

视图查询

SELECT GNAME

FROM ADDRESS_GUEST

WHERE PHONE LIKE'67____';

视图数据更新

UPDATE ADDRESS_RESTAURANT

SET PHONE='666666'

WHERE RNO=01;

删除视图

DROP VIEW ADDRESS_RESTAURANT;

小结

通过这次课题,我们了解了如何建立一个数据库以及一些数据库建立中常出现的问题,本来我们对课本知识并不是特别了解,但是通过多次实验,我们最终完成了这次数据库的大作业,也更加了解课本知识,不管怎么说,我们还是受益匪浅的。

本文来源:https://www.bwwdw.com/article/nwlq.html

Top