纠正MySQL数据库结构

时间:2011-04-10 02:46:35

标签: mysql codeigniter sysadmin db-structure

我正在为当地餐馆目录开发一个Web管理面板。他们的旧系统非常笨重,如果不修改一堆代码就无法扩展。

当前的DB结构如下:

table: Restaurants
cols: id, restname, preferred, image, phone, address, website, vip_special

就列而言,此表是静态的。

table: Locations
cols: id, restname, downtown, bluffton, tybee, pooler, etc...

table: Cuisines
cols: id, restname, american, chinese, seafood, bar_tavern, etc...

table: Ambiances
cols: id, restname, outdoor_dining, fine_dining, waterfront, rooftop, romantic, etc...

后3个表格要求开发人员进入并为每个新位置,美食或氛围添加新列,并更改代码以反映这些新列。

对于DBA而言,我不是最优秀的,因此我很好奇这种情况的最佳结构。

协会:餐厅可以有多个地点,美食和氛围

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

这是一个开始

restaurant
restaurant_id | restaurant_nm | everything that a restaurant has exactly one of

tag_restaurant_rel
restaurant_id | tag_id

tag
tag_id | tag_type(_id) | tag_nm

tag_type
tag_type_id | tag_nm

标签类型可以是枚举,如果您有一些不会改变的类型,您可以删除类型表 我不确定你是否想要将一个餐厅分配给多个地点,即使它们可能是连锁店,但环境可能会有所不同,菜单可能会提供不同的菜肴