《连锁餐饮的数据库后台系统.doc》由会员分享,可在线阅读,更多相关《连锁餐饮的数据库后台系统.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、连锁餐饮的数据库后台系统需求分析企业构造市场部1职能:主管公司市场开发工作。2所需数据:员工信息,会员信息,会员及之对应效劳人员信息表。3输出数据:员工信息操作后,会员信息操作后,会员及之对应效劳人员信息表操作后。员工信息会员信息市场部处理数据储存员工信息读取后会员信息操作后数据流会员与之对应效劳人员信息数据流4组织构造:市场部市场部经理经理助理职员预备职员5权限:仅允许对员工信息,会员信息进展读取,对会员及之对应效劳人员信息可进展读取删改。人事部1职能:主管公司人员调配及预备干部储藏。2所需数据:员工信息,员工考勤表。3输出信息:员工信息操作后,员工考勤表操作后。员工信息员工考勤人事部处理数
2、据储存员工信息操作后员工考勤操作后数据流数据流4组织构造:人事部人事部经理经理助理职员预备职员5权限:允许对员工信息与员工考勤信息进展读取删改。财务部1职能:主管公司财务工作,调度每日支出与收益。每月财务状况,由会计汇总成财务报表,上交董事会。2所需数据:菜单,订单。3输出信息:日收支,季度收支,年收支。订单财务部处理数据储存日收支季度收支年收支数据流数据流4组织构造:财务部会计5权限:对菜单,订单只能进展读取。前台(1) 职能:接待来客及 访客,向顾客传达餐厅内座位预订情况。(2) 所需数据:订单,菜单,座位预定表。(3) 输出信息:座位预定表操作后。座位预定表前台处理座位预定表操作后数据储
3、存数据流数据流4组织构造:前台前台接待员5权限:可对座位预定表进展删改,对订单只能读取。概念构造设计数据实体构造连锁餐饮的数据库后台系统构造系统分布构造一. 市场部管理子系统流程图二人事部管理子系统流程图三. 财务部管理子系统流程图代码实现建表局部:一. 员工信息表的建立1.代码:CREATE TABLE 员工信息Number int primary key,Name char(10),Sex char(10),Age int,R_and_P char(100),/*成就*/W_and_A char(10), /*工龄*/Position char(10), /*职位*/2.信息录入:1.代码
4、:CREATE TABLE 会员信息Number char(10)primary key,Name char(10),Sex char(10),Age int,M_and_R char(100),/*会员级别*/M_and_S char(10), /*会员积分*/CREATE TRIGGER T_INSERT_会员信息 /*查询会员积分的打折情况*/ON 会员信息FOR INSERTASBEGIN TRANSACTION-检查数据的合法性:是否存在该会员积分IF NOT EXISTS (SELECT M_and_SFROM 会员信息WHERE Number IN (SELECT Number
5、FROM INSERTED)BEGIN -返回错误提示RAISERROR(错误!该会员积分不存在,16,1); ROLLBACKRETURNENDIF EXISTS (SELECT M_and_SFROM 会员信息WHERE Number IN (SELECT Number FROM INSERTED) ANDM_and_S = 500 BEGIN-返回提示RAISERROR(会员为普通会员,折扣为9折,16,1);-回滚事务ROLLBACKRETURNENDIF EXISTS (SELECT M_and_SFROM 会员信息WHERE Number IN (SELECT Number FRO
6、M INSERTED) ANDM_and_S = 1500 BEGIN-返回提示RAISERROR(会员为白银会员,折扣为8.5折,16,1);-回滚事务ROLLBACKRETURNENDIF EXISTS (SELECT M_and_SFROM 会员信息WHERE Number IN (SELECT Number FROM INSERTED) ANDM_and_S =2500 BEGIN-返回提示RAISERROR(会员为白金会员,折扣为8折,16,1);-回滚事务ROLLBACKRETURNENDIF EXISTS (SELECT M_and_SFROM 会员信息WHERE Number
7、IN (SELECT Number FROM INSERTED) ANDM_and_S = 3500 BEGIN-返回提示RAISERROR(会员为钻石会员,折扣为7.5折,16,1);-回滚事务ROLLBACKRETURNEND; 2.信息录入:1.代码:create table 员工考勤表Date char(10),Number char(10) ,primary key(Date,Number),sign_in char(10),/*签到状态*/2.信息录入:四餐厅订座表1.代码:create table 餐厅订座表Number char(10), /*座位号*/Condition ch
8、ar(10), /*使用状态*/DAY DateTime, /*使用日期*/primary key(DAY,Number),S_N int, /*座位对应的效劳员*/foreign key(S_N) references 员工信息(Number)2.信息录入:五 订单1. 代码:Create table 订单Number char(10)Primary key, /*订单号*/D_N char(10), /*座位号*/Dishs char(10), /*菜号*/Day DateTime, /*点菜日期*/Much char(10), /*份数*/Foreign key(Dishs) refer
9、ences 菜单(Number)2. 信息录入:六 菜单1. 代码:Create table 菜单Number char(10)primary key,Cost int,2. 信息录入:七 会员及效劳人员对应表1.代码:Create table 会员及效劳人员对应表Number char(10),Name char(10),S_F char(10),Foreign key(S_F) reference 员工信息(Number)Foreign key(Number) reference会员信息(Number)3. 截图:视图局部:一人事部员工查询视图1.代码:Create view 人事部(Nu
10、mber,Name,Sex,Age,R_and_P char,W_and_A char,)ASSelect Number,Name,Sex,Age,R_and_P char,W_and_A charFrom 员工信息2.截图:二前台查询座位使用情况的视图Create view 前台查询(Number,Condition,DAY)ASSelect Number,Condition,DAY From 餐厅订座表2.截图:三市场部查询会员及之对应效劳人员信息视图1.代码:Create view 市场部查询(Number,Name,S_F)ASSelect Number,Name,S_FFrom 会员
11、及效劳人员对应表2截图:四 前台查询座位消费情况视图1.代码:Create view 座位消费(Number,D_N,Dishs,Day,Much,Cost )ASSelect 订单.Number,菜单.Number,D_N,Dishs,Day,Much,Cost,count(Cost)From 菜单,订单Where 订单.Number=菜单.Number and Day=时间Group by Number2.截图:五 经理查询座位及对应效劳生视图1.代码:Create view 座位及对应效劳生(Number,S_N,DAY)ASSelect Number,S_N,DAYFrom 餐厅订座表
12、2.截图:六 人事部查询员工考勤视图1.代码:Create view 员工考勤AS Select Date ,Number,sign_in /*签到状态*/From 员工考勤表2.截图:授予权限局部:一 授予市场部查询修改会员及对应效劳员工信息的权利Grant update(Number,Name,S_F),selectOn table 会员及效劳人员对应表To 市场部;二 授予人事部对员工信息及员工考勤表的全部权利Grant all privilegesOn table 员工信息,员工考勤表 To 人事部;三 授予前台查询修改座位预定表的权利Grant uptate(Condition,DA
13、Y),selectOn table 座位预定表To 前台;四 授予前台查询座位消费情况的权利Grant selectOn 订单To 前台数据库功能测试局部:一. 人事部员工查询员工是效劳员职位的人员1.代码:select Number,Namefrom 员工信息where Position=效劳员2.截图:二. 前台查询001号座位在2021-12-01 09:30:30时的使用情况1.代码:select Number,DAYfrom 餐厅订座表where DAY=2021-12-01 09:30:30.000and Number=0012.截图:三市场部查询编号为1号会员及之对应效劳人员信息1.代码:select S_Ffrom 会员及效劳人员对应表where Number=1;2.截图:四经理查询001号座位及对应效劳生1.代码:select S_Nfrom 餐厅订座表where Number=001and DAY=2021-12-01 09:30:30.000;2.截图:五人事部查询001号员工考勤1.代码:select count(sign_in)from 员工考勤表where Number=1;2.截图:第 17 页
限制150内