餐厅菜单的数据库设计

时间:2017-08-09 12:07:27

标签: php html css mysql sql

我正在尝试为咖啡店开发管理面板。 我想以系统的方式显示菜单。 咖啡浓缩咖啡,拿铁咖啡等的例子。 三明治 - 北极光,孟买三明治和soo .. 我想给管理员添加新类别说Burgers的权利,以及可用的汉堡类型。 我正在努力为这个系统找到正确的解决方案。 现在我在桌子上

Menu
CategoryId int(50),
ParentId int(50),
Name varchar(100)

我可以像我想要的那样在前端显示菜单

like this

但我无法找到一种方法让管理员在不中断数据库设计的情况下添加新类别

4 个答案:

答案 0 :(得分:1)

2个表格,fk验证方便。

Create table m_category (id int, 
                         cat_name varchar(30), 
                         constraint pk_catid primary key (id) );

create table m_item (id int, 
                     cat_id int, 
                     item_name varchar(30), 
                     constraint fk_catid 
                         foreign key (cat_id)
                         references m_category(id));

答案 1 :(得分:0)

你只需要两张桌子。

1 - 表类别

CategoryId int(50),
CategoryName varchar(100)

这将有以下数据

1 - 咖啡

2 - 沙拉

3 - 双方

2 - 表子类别

SubcategoryId int(50),
CategoryId int(50),
SubCategoryName varchar(100)

这将有这样的数据

1 - 1 - ESPRESSO

2 - 1 - AMERICANO

3 - 2 - Super Human

4 - 3 - 绿巨人

答案 2 :(得分:0)

您的回答是here

您需要两个表格用于主题,另一个表格用于项目。您应该将subject_id的每个项目与其父项相关联!虽然很简单。

答案 3 :(得分:0)

你只需要一张桌子, 您可以在其中存储菜单和子菜单以及子子菜单的所有数据, 您需要在categoryId和parentId的表格基础上存储数据。 类别编号, 的ParentId, 名称

所有菜单在parentId中都为0 I.e Coffee- Espresso有1个categoryId,Coffee-Espresso有两个子菜单A,B然后是A,B有1个为ParentId。