【发布时间】:2011-04-30 01:03:03
【问题描述】:
我想知道您是否有一个网站,其中包含需要不同字段的十几种不同类型的列表(商店、餐厅、俱乐部、酒店、活动),创建具有这样定义的列的表是否有好处
示例商店:
shop_id | name | X | Y | city | district | area | metro | station | address | phone | email | website | opening_hours
或者类似这样的更抽象的方法:
object_id | name
---------------
1 | Messy Joe's
2 | Bate's Motel
type_id | name
---------------
1 | hotel
2 | restaurant
object_id | type_id
---------------
1 | 2
2 | 1
field_id | name | field_type
---------------
1 | address | text
2 | opening_hours | date
3 | speciality | text
type_id | field_id
---------------
1 | 1
1 | 2
2 | 1
2 | 3
object_id | field_id | value
1 | 1 | 1st street....
1 | 3 | English Cuisine
当然,如果值是预定义的,它可以更抽象(例如:专业可以有自己的列表)
如果我采用抽象方法,它可能会非常灵活,但查询会更复杂,有很多连接。 但我不知道这是否会影响性能,执行这些“更复杂”的查询。
我很想知道这两种方法的优缺点是什么。我可以自己想象,但我没有经验来证实这一点。
【问题讨论】:
-
谢谢。你可能也对这个question/answer感兴趣。
标签: sql mysql database database-design data-modeling