数据库课程设计 院 系: 专 业: 姓 名: 学 号: 指导教师: 欧阳柏成 教师职称: 副教授 填写日期: 2015年 5月 21日 |
一、需求分析
1.1现状分析
现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。
客对菜品的预定及支付方式;
即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
系统运行应该快速、稳定、高效和可靠;
在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
1.6可行性分析
随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。特别在公司,企业
内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
1.7总体设计原则
①.开放性、可扩充性、可靠性原则
二、概念设计
2.1 系统E-R图
2.2数据流图
2.3数据字典
2.3.1 数据项
数据项名/编号 | 含义说明 | 数据类型 | 长度 |
c_id/p1 | 用户唯一性说明 | varchar | 9 |
c_name/p2 | 用户昵称 | varchar | 20 |
c_tel/p3 | 用户 | varchar | 11 |
c_key/p4 | 用户登陆密码 | varchar | 20 |
d_id/p5 | 菜的唯一性说明 | int | |
d_name/p6 | 菜的名称 | varchar | 30 |
d_remain/p7 | 菜的剩余量 | int | |
d_discount/p8 | 打折 | float | 2 |
d_price/p9 | 菜的单价 | float | 2 |
d_pid/p10 | 提供商编号 | int | |
p_id/p11 | 商店唯一性说明 | varchar | 9 |
p_add/p12 | 商店地址 | varchar | 30 |
p_name/p13 | 商店名称 | varchar | 20 |
p_key/p14 | 商家登陆密码 | varchar | 20 |
p_tel/p15 | 商店 | varchar | 11 |
p_lev/p16 | 商家信誉 | int | |
p_state/p17 | 商家状态 | varchar | 15 |
m_id/p18 | 管理员唯一性说明 | varchar | 4 |
m_name/p19 | 管理员姓名 | varchar | 20 |
m_key/p20 | 管理员密码 | varchar | 20 |
o_id/p21 | 订单标号 | int | |
o_cid/p22 | 订单中客户标识 | int | |
o_did/p23 | 订单中菜标识 | int | |
o_pid /p24 | 订单中商店标识 | int | |
o_time /p25 | 订餐时间 | smalldatetime | |
o_num/26 | 数量 | int | |
o_cadd/27 | 客户地址 | varchar | 50 |
o_state/28 | 订餐状态 | varchar | 15 |
m_c_mid /p29 | 管理员编号 | int | |
m_c_cid/p30 | 客户编号 | int | |
m_c_time/p31 | 时间 | smalldatetime | |
m_c_operation/p32 | 操作类别 | varchar | 15 |
m_p_mid/p33 | 管理员编号 | int | |
m_p_pid/p34 | 商店编号 | int | |
m_p_time/p35 | 操作类别 | smalldatetime | |
m_c_operation /p36 | 时间 | varchar | 15 |
2.3.2 数据结构
数据结构名称 | 含义说明 | 组成 |
客户 | 客户信息 | p1-p4 |
菜品 | 菜品信息 | p5-p10 |
商店 | 商店信息 | p11-p17 |
管理员 | 管理员信息 | p18-p20 |
订单 | 订单信息 | p21-p28 |
管理用户 | 管理用户信息 | P29-p32 |
管理商家 | 管理商家信息 | P33-p36 |
2.3.3 处理过程
处理过程名 | 说明 | 输入 | 输出 | 处理 |
注册 | 所有用户 | 用户详细信息 | 注册结果 | 跳转登陆/重新注册 |
登陆 | 所有用户 | 编号与密码 | 登陆成功/失败 | 登陆首页/重新登陆 |
修改用户信息 | 已登录用户 | 相关修改信息 东风雪铁龙 | 修改成功/失败 | 修改存储信息 |
订餐 | 已登录用户 | 菜品、数量 | 订餐成功/失败 | 加入购物车/重新选择 |
修改订餐 | 已订餐用户 | 菜品、数量的修改 | 修改成功/失败 | 加入购物车/重新选择 |
下订单 | 已订餐用户 | 生成订单 | ||
查询与确认订单 | 已订餐用户 | |||
提交订单 | 已订餐用户 | |||
接受订单 | 商店 | 交付相关工作人员 | ||
送餐 | 送餐员 | 送餐确认 | ||
菜单修改 | 商店 | 新的菜品、菜品价格修改 | 更新菜谱 | |
管理 | 管理员 | 添加或删减用户 | 更新用户信息库 | |
信息更新 | 管理员 | 需要更新的信息 | 信息更新 | |
三、逻辑结构设计
3.1 E—R图向关系的初步转换
客户(编号,昵称,密码,,状态)
管理员(编号,姓名,密码)
商家(编号,名称,密码,商家地址,,信誉,状态,剩余量,总量)
菜(编号,名称,价格,折扣,提供商编号,最后修改时间,状态)
订单(客户编号,菜编号,提供商编号,订单时间,数量,客户地址,状态)
管理客户(管理员编号,客户编号,时间,操作类别)
管理商家(管理员编号,商家编号,时间,操作类别)
3.2 E-R具体转换代码
①客户表:
create table client
(c_id varchar(9) primary key not null check(c_id like 'c%'),
c_name varchar(20) not null,
c_key varchar(20) not null,
c_tel varchar(11) not null check(c_tel like '1%') unique
)
②管理员表:
create table manager
(
m_id varchar(4) primary key not null check(m_id like 'm%'),
m_name varchar(20) not null,
m_key varchar(20) not null
)
③商家表:
create table provider
(p_id varchar(9) primary key not null check(p_id like 'p%'),
p_name varchar(20) not null,
p_key varchar(20) not null,
p_tel varchar(11) not null unique check(p_tel like '1%'),
p_add varchar(30) not null unique,
p_lev int,
p_state varchar(15) check (p_state in ('营业中','打烊','歇业'))
)
④菜谱:
create table dish
(d_id int identity(1378001,1) primary key not null,
d_name varchar(30) not null,
d_price float(2) not null,
d_discount float(2),
d_pid varchar(9) not null ,
foreign key (d_pid) references provider(p_id),
d_remain int not null check (d_remain>=0),
d_total int not null,
)
⑤订单:
create table ord
(o_id int identity(10000001,1) primary key not null,
o_cid varchar(9),
foreign key (o_cid) references client (c_id),
o_did int,
foreign key (o_did) references dish (d_id),
o_pid varchar(9),
foreign key (o_pid) references provider (p_id),
o_time smalldatetime,
o_num int not null check (o_num>0),
o_cadd varchar(50) not null,
o_state varchar(15) check (o_state in('正常','取消'))
)
⑥管理客户:
create table manager_client
(m_c_mid varchar(4),
foreign key (m_c_mid) references manager (m_id),
m_c_cid varchar(9),
发布评论