我有一个案例,其中1条记录可以是主表的多行。
例如:
sports master table
Cycling
Rafting
Shooting
Football
Cricket现在我有了person表
Person
id
first_name
last_name我是否可以在Person表中将运动id作为外键作为竖线分隔字段,或者我是否可以创建单独的表作为映射表
例如:
sports_persons_mapping
id
person_id
sports_id从两个选项中进行选择。
person表或映射表sports_persons_mapping中的竖线分隔字段?
在搜索中,哪个更有效,哪个更有效,为什么?
发布于 2011-09-20 18:16:36
使用您所调用的映射表。避免使用带有逗号分隔值或竖线分隔值的列,因为这与良好的数据库设计实践背道而驰,当您必须开始查找数据、插入新数据等时,这将使您的生活变得不可能。您的查询变得过于复杂,难以编写,并且您的查询性能肯定不会达到最佳。
https://stackoverflow.com/questions/7483503
复制相似问题