数据库餐厅点菜管理系统内容摘要:
int Not null 数字 是否占用 独立 表 Member 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 memberNo Char( 7) Not null 字符 M加 6个数字 顾客编号 主键 memberLevel Char( 5) Not null 字符 顾客等级 独立 memberCount int Not null 数字, 0到10000 顾客积分 独立 memberName Char( 20) Not null 字符 顾客名字 独立 memberSex Char( 1) Not null 字符 顾客性别 独立 memberBirth datetime null 日期 顾客生日 独立 表 科学套餐表 Smeal 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 16 smealNo Char( 7) Not null 以字母 S开头加六位数字 套餐编号 主键 sPrice numeric( 7,2) Not null 数字 套餐价格 由菜品价格计算得来,参照表 Dishes dishesNo Char( 7) Not null G 字符加 6个数字 菜品编号 dishesNO benefit varChar(20) Not null 字符 套餐功能 独立 表 菜单表 Menu 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 menuNo Char( 12) Not null 以字母 C开头加 11位数字 菜单编号 主键 menuDate datetime Not null 数字 时间 独立 tableNo Char( 4) Not null R 字符加 3个数字 桌台编号 外键,参照Table 表 menuSum int Not null 数字 菜单总价 由明细表中的菜品价格和菜品数量计算得出 表 MenuDetail 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 menuNo Char( 12) Not null 以字母 C开头加 11位数字 菜单编号 主键、外键,参照 Menu 表 dishesNo Char( 7) Not null G 字符加 6个数字 菜品编号 主键、外键,参照 Dishes表 Price numeric( 7,2) Not 数字 菜品价格 与菜品对应 qty Int Not null 数字 菜品数量 独立 表 科学套餐明细表 SmealDetail 17 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 smealNo Char( 12) Not null 有系统自动按时间提供 科学套餐编号 主键、外键,参照 Menu 表 dishesNO Char( 7) Not null G 字符加 6个数字 菜品编号 主键、外键,参照 Dishes表 Price numeric( 7,2) Not 数字 菜品价格 与菜品对应 表 评价表 Evaluate 数据项名与别名 类型 (长度 ) 是否为空 数据约束 数据项含义说明 与其他数据项的联系 tableNo Char( 4) Not null R 字符加 3个数字 桌台编号 主键、外键,参照 Room 表 dishesNO Char( 7) Not null G 字符加 6个数字 菜品编号 主键、外键,参照 Dishes表 Score Int Not null 数字, 0到10 分数 独立 函数依赖关系: 1) 菜品表 函数依赖集为 F1={菜品编号→(菜 品名称,菜品价格,菜品类型,热量,蛋白质含量,糖分) } ∈ 3NF。 2) 桌台表 函数依赖集为 F2={桌台编号→(容纳人数,桌台等级,是否占用) } ∈3NF。 3) 顾客表 函数依赖集为 F3={顾客编号→(顾客等级,顾客积分,顾客姓名,顾客性别,顾客生日) } ∈ 3NF。 4) 科学套餐表 函数依赖集为 F4={套餐编号→(套餐价格,菜品编号,套餐功能) } ∈3NF。 5) 科学套餐表明细表 函数依赖集为 F5={套餐编号→(菜品编号) } ∈ 3NF。 6) 菜单表 函数依赖集为 F6={菜单编号→(时间) } ∈ 3NF。 7) 菜单明细表 18 函数依赖集为 F7={菜单编号→(菜品编号,菜品价格,实际菜品价格,菜品数量) } ∈ 3NF。 8) 评价表 函数依赖集为 F10={桌台编号→(菜品编号,分数) } ∈ 3NF。 4 数据库应用设计 数据库应用的设计,包括数据库的脚本和安全性设计、数据库的完整性设计和数据库的存储过程设计。 数据库脚本及数据库安全性设计 1) 数据库安全性设计 创建三个用户分别为管理员‘ user01’、前台服务人员‘ qiantai’ 以及顾客‘ customer’,然后根据不同表的功能,赋予他们不同的权限,创建用户代码如下: /* add my user*/ exec sp_adduser user01,user01 exec sp_addlogin 39。 qiantai39。 ,39。 12345639。 ,39。 MenuDB139。 exec sp_adduser 39。 qiantai39。 ,39。 qiantai39。 exec sp_addlogin 39。 customer39。 ,39。 12345639。 ,39。 MenuDB139。 exec sp_adduser 39。 customer39。 ,39。 customer39。 2) 数据库脚本 创建各个用户相关的表,并设计好各表间的主外键联系,规定好个用户的权限,管理员有所有的权限,前台人员对于菜单表只有查看的权限,而顾客对于菜单表有添加修改的作用,代码如下: print39。 creat table Dishes39。 go CREATE TABLE Dishes( dishesNo char(7) not null /*菜品编号 */ check(dishesNo like 39。 [G][09][09][09][09][09][09]39。 ), dishesName varchar(10) not null, /*菜品编号 */ price numeric(7,2) not null, /*菜品价格 */ caloric numeric(7,2) not null, /*热量 */ sugers numeric(7,2) not null, /*糖分 */ protein numeric(7,2) not null, /*蛋白质 */ constraint DishesPK primary key (dishesNo) ) go grant all on Dishes to user01 go print 39。 create Member39。 19 go create table Member( memberNo char(7) not null, /*顾客号 */ check(memberNo like 39。 [C][09][09][09][09][09][09][09][09]39。 ), memberName varchar(40) not null, /*顾客姓名 */ sex char(1) not null, /*性别 */ memberLevel varchar(12) not null, /*顾客等级 */ memberCount int not null, /*顾客积分 */ birthday datetime null, /*顾客生日 */ constraint MemberPK primary key (memberNo) ) go grant all on Member to user01 go print 39。 create table Menu39。 go create table Menu( menuNo char(12) not null , /*菜单编号 */ tableNo char(4) not null, /*桌台编号 */ memberNo char(7) not null, /*顾客号 */ check(memberNo like 39。 [C][09][09][09][09][09][09][09][09]39。 ), meandate datetime not null, /*时间 */ meanSum numeric(7,2) not null, /*菜单总价 */ constraint MenuPK primary key (menuNo), constraint MenuFK1 foreign key(tableNo) references Table1(tableNo), constraint MenuFK2 foreign key(memberNo) references Member(memberNo) ) go grant all on Table1 to user01 go print 39。 create table Table139。 go create table Table1( tableNo char(4) not null , /*桌台编号 */ place int not null, /*容纳人数 */ tableLevel char(10) not null, /*桌台级别 */ constraint Table1PK primary key (tableNo) ) go grant all on Table1 to user01 go print 39。 create table Smeal39。 go create table Smeal( 20 smealNo char(4) not null , /*套餐编号 */ sprice numeric(7,2) not null, /*套餐价格 */ constraint SmealPK primary key (SmealNo) ) go grant all on Smeal to user01 go print 39。 create SmealDetail39。 go create table SmealDetail( smealNo char(4) not null , /*套餐编号 */ dishesNo char(7) not null /*菜品编号 */ check(dishesNo like 39。 [G][09][09][09][09][09][09]39。 ), price numeric(7,2) not null, /*菜品价格 */ constraint SmealDetailPK primary key clustered(smealNo,dishesNo), constraint SmealDetailFK1 foreign key(smealNo) references Smeal(smealNo), constraint SmealDetailFK2 foreign key(dishesNo ) r。数据库餐厅点菜管理系统
相关推荐
t_reader()。 Init_book()。 } void Init_reader() /*初始化读者信息 */ { RD *p0。 int i。 printf(\n 读者初始化开始 ,请输入读者信息 ..\n 包括图书证号 .姓名 ..\n)。 p0=(RD*)malloc(sizeof(RD))。 h_reader=p0。 printf(\n请输入读者的信息 :\n)。
qnext=p。 snext=q。 p=q。 q=pnext。 } flag=1。 } } 排序算法流程图如图 5 所示: 显 示 排 序 菜 单链 表 是 否 为空选 择 操 作对 工 作 日期 排 序对 出 生 日期 排 序退 出 排序 系 统对 性 别排 序无 职 工信 息是否选 0选 1选 2选 3选 除 上 述 操 作 的 任 意 操 作 图 5 排 序算法程序流程图职工管理系统
*/ while(!feof(fp)) {fscanf(fp,%ld\t\t%s\t%s\t%d\t%s\t%s\t%s\t\t%ld\t%ld\t\t\n,amp。 p1no,p1name,p1sex,amp。 p1age,p1xibie,p1zhuanye,p1mianmao,amp。 p1num,amp。 p1bianhao)。 k=k+1。
xit Sub End If If = Then 华东交通大学理工学院通用工资管理系统课程设计报告 16 第 页 rr = MsgBox(请输入密码。 , , 应付帐管理 ) Exit Sub End If Dim As New Dim rs As New Provider=。 Integrated Security=SSPI。 Persist Security Info=False。
用户登录 输入计算机 系统管理员信息管理员 主控台 9 系统用户管理业务流程图: 输出 权 限 图 27系统用户管理业务流程 汽车销售汇总管理业务流程图: 输出 权 限 图 28汽车销售汇总管理业务流程 数据流程分析 由于本系统的数据模块较多,下面仅以职工信息管理模块为例来进行编制。 汽车销售理系统 0 层数据流程图: 用户登录 输入计算机 系统管理员 主控 台 用户登录 输入计算机
archar(20) not null, 上级图书编号 int )。 create table cardtype ( 借阅证类型编号 varchar(10) primary key, 借阅证类型名称 varchar(20) , 借阅证有效期限 smallint , 最大借阅量 smallint , 最大借阅时间 smallint )。 create table borrowinfo ( 图书