我正在为当地餐馆目录开发一个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而言,我不是最优秀的,因此我很好奇这种情况的最佳结构。
协会:餐厅可以有多个地点,美食和氛围
谢谢大家的帮助。
答案 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
标签类型可以是枚举,如果您有一些不会改变的类型,您可以删除类型表 我不确定你是否想要将一个餐厅分配给多个地点,即使它们可能是连锁店,但环境可能会有所不同,菜单可能会提供不同的菜肴