连锁餐饮的数据库后台系统.docx
《连锁餐饮的数据库后台系统.docx》由会员分享,可在线阅读,更多相关《连锁餐饮的数据库后台系统.docx(24页珍藏版)》请在冰豆网上搜索。
![连锁餐饮的数据库后台系统.docx](https://file1.bdocx.com/fileroot1/2023-5/20/0f4f3d87-c2d7-42a3-8ad2-d307eabcc193/0f4f3d87-c2d7-42a3-8ad2-d307eabcc1931.gif)
连锁餐饮的数据库后台系统
连
锁
餐
饮
的
数
据
库
后
台
系
统
需求分析
企业结构
市场部
(1)职能:
主管公司市场开发工作。
(2)所需数据:
员工信息,会员信息,会员与之对应服务人员信息表。
(3)输出数据:
员工信息(操作后),会员信息(操作后),会员与之对应服务人员信息表(操作后)。
(4)组织结构:
(5)权限:
仅允许对员工信息,会员信息进行读取,对会员与之对应服务人员信息可进行读取删改。
人事部
(1)职能:
主管公司人员调配及预备干部储备。
(2)所需数据:
员工信息,员工考勤表。
(3)输出信息:
员工信息(操作后),员工考勤表(操作后)。
(4)组织结构:
(5)权限:
允许对员工信息和员工考勤信息进行读取删改。
财务部
(1)职能:
主管公司财务工作,调度每日支出和收益。
每月财务状况,由会计汇总成财务报表,上交董事会。
(2)所需数据:
菜单,订单。
(3)输出信息:
日收支,季度收支,年收支。
(4)组织结构:
(5)权限:
对菜单,订单只能进行读取。
前台
(1)职能:
接待来客及电话访客,向顾客传达餐厅内座位预订情况。
(2)所需数据:
订单,菜单,座位预定表。
(3)输出信息:
座位预定表(操作后)。
(4)组织结构:
前台
前台接待员
(5)权限:
可对座位预定表进行删改,对订单只能读取。
概念结构设计
数据实体结构
1.员工实体描述
2.会员实体描述
3.座位实体描述
4.菜单实体描述
连锁餐饮的数据库后台系统结构
系统分布结构
一.市场部管理子系统流程图
二.人事部管理子系统流程图
三.财务部管理子系统流程图
四.前台管理子系统流程图
代码实现
建表部分:
一.员工信息表的建立
1.代码:
CREATETABLE员工信息
(
Numberintprimarykey,
Namechar(10),
Sexchar(10),
Ageint,
R_and_Pchar(100),/*成就*/
W_and_Achar(10),/*工龄*/
Positionchar(10),/*职位*/
);
2.信息录入:
二.会员信息表的建立
1.代码:
CREATETABLE会员信息
(
Numberchar(10)primarykey,
Namechar(10),
Sexchar(10),
Ageint,
M_and_Rchar(100),/*会员级别*/
M_and_Schar(10),/*会员积分*/
)
CREATETRIGGERT_INSERT_会员信息/*查询会员积分的打折情况*/
ON会员信息
FORINSERT
AS
BEGINTRANSACTION
--检查数据的合法性:
是否存在该会员积分
IFNOTEXISTS(
SELECTM_and_S
FROM会员信息
WHERENumberIN(SELECTNumberFROMINSERTED)
)
BEGIN--返回错误提示
RAISERROR('错误!
该会员积分不存在',16,1);
ROLLBACK
RETURN
END
IFEXISTS(
SELECTM_and_S
FROM会员信息
WHERENumberIN(SELECTNumberFROMINSERTED)AND
M_and_S>=500
)
BEGIN
--返回提示
RAISERROR('会员为普通会员,折扣为9折',16,1);
--回滚事务
ROLLBACK
RETURN
END
IFEXISTS(
SELECTM_and_S
FROM会员信息
WHERENumberIN(SELECTNumberFROMINSERTED)AND
M_and_S>=1500
)
BEGIN
--返回提示
RAISERROR('会员为白银会员,折扣为8.5折',16,1);
--回滚事务
ROLLBACK
RETURN
END
IFEXISTS(
SELECTM_and_S
FROM会员信息
WHERENumberIN(SELECTNumberFROMINSERTED)AND
M_and_S>=2500
)
BEGIN
--返回提示
RAISERROR('会员为白金会员,折扣为8折',16,1);
--回滚事务
ROLLBACK
RETURN
END
IFEXISTS(
SELECTM_and_S
FROM会员信息
WHERENumberIN(SELECTNumberFROMINSERTED)AND
M_and_S>=3500
)
BEGIN
--返回提示
RAISERROR('会员为钻石会员,折扣为7.5折',16,1);
--回滚事务
ROLLBACK
RETURN
END;
2.信息录入:
三.员工考勤表的建立
1.代码:
createtable员工考勤表
(
Datechar(10),
Numberchar(10),
primarykey(Date,Number),
sign_inchar(10),/*签到状态*/
)
2.信息录入:
四.餐厅订座表
1.代码:
createtable餐厅订座表
(
Numberchar(10),/*座位号*/
Conditionchar(10),/*使用状态*/
DAYDateTime,/*使用日期*/
primarykey(DAY,Number),
S_Nint,/*座位对应的服务员*/
foreignkey(S_N)references员工信息(Number)
)
2.信息录入:
5.订单
1.代码:
Createtable订单
(
Numberchar(10)Primarykey,/*订单号*/
D_Nchar(10),/*座位号*/
Dishschar(10),/*菜号*/
DayDateTime,/*点菜日期*/
Muchchar(10),/*份数*/
Foreignkey(Dishs)references菜单(Number)
)
2.信息录入:
6.菜单
1.代码:
Createtable菜单
(
Numberchar(10)primarykey,
Costint,
)
2.信息录入:
7.会员与服务人员对应表
1.代码:
Createtable会员与服务人员对应表
(
Numberchar(10),
Namechar(10),
S_Fchar(10),
Foreignkey(S_F)reference员工信息(Number)
Foreignkey(Number)reference会员信息(Number)
)
3.截图:
视图部分:
一.人事部员工查询视图
1.代码:
Createview人事部(Number,Name,Sex,Age,R_and_Pchar,W_and_Achar,)
AS
SelectNumber,Name,Sex,Age,R_and_Pchar,W_and_Achar
From员工信息
2.截图:
二.前台查询座位使用情况的视图
Createview前台查询(Number,Condition,DAY)
AS
SelectNumber,Condition,DAY
From餐厅订座表
2.截图:
三.市场部查询会员与之对应服务人员信息视图
1.代码:
Createview市场部查询(Number,Name,S_F)
AS
SelectNumber,Name,S_F
From会员与服务人员对应表
2截图:
4.前台查询座位消费情况视图
1.代码:
Createview座位消费(Number,D_N,Dishs,Day,Much,Cost)
AS
Select订单.Number,菜单.Number,D_N,Dishs,Day,Much,Cost,count(Cost)
From菜单,订单
Where订单.Number=菜单.NumberandDay='时间'
GroupbyNumber
2.截图:
5.经理查询座位与对应服务生视图
1.代码:
Createview座位与对应服务生(Number,S_N,DAY)
AS
SelectNumber,S_N,DAY
From餐厅订座表
2.截图:
6.人事部查询员工考勤视图
1.代码:
Createview员工考勤
AS
SelectDate,Number,sign_in/*签到状态*/
From员工考勤表
2.截图:
授予权限部分:
1.授予市场部查询修改会员与对应服务员工信息的权利
Grantupdate(Number,Name,S_F),select
Ontable会员与服务人员对应表
To市场部;
2.授予人事部对员工信息与员工考勤表的全部权利
Grantallprivileges
Ontable员工信息,员工考勤表
To人事部;
3.授予前台查询修改座位预定表的权利
Grantuptate(Condition,DAY),select
Ontable座位预定表
To前台;
4.授予前台查询座位消费情况的权利
Grantselect
On订单
To前台
数据库功能测试部分:
一.人事部员工查询员工是服务员职位的人员
1.代码:
selectNumber,Name
from员工信息
wherePosition='服务员'
2.截图:
二.前台查询001号座位在2012-12-0109:
30:
30时的使用情况
1.代码:
selectNumber,DAY
from餐厅订座表
whereDAY='2012-12-0109:
30:
30.000'andNumber='001'
2.截图:
三.市场部查询编号为1号会员与之对应服务人员信息
1.代码:
selectS_F
from会员与服务人员对应表
whereNumber='1';
2.截图:
四.经理查询001号座位与对应服务生
1.代码:
selectS_N
from餐厅订座表
whereNumber='001'andDAY='2012-12-0109:
30:
30.000';
2.截图:
五.人事部查询001号员工考勤
1.代码:
selectcount(sign_in)
from员工考勤表
whereNumber='1';
2.截图: