假设我的数据库跟踪鸟类观察(注意:我真的在刮桶底部的例子)。
这些字段是:
sighting_id | common_name | park_name | location | time | etc....
虽然我假设公园总是在同一个位置,但该网站就像一个电子表格。用户输入park_name
和location
为每个条目。另请注意,我的实际模式还有其他依赖于类似“公园名称”的字段(例如状态)。
我没有办法让用户预定义公园,所以我无法提前知道它们。我是否应该尝试动态规范化这些数据?例如,我的程序是否应该自动填充一个parks
表,将观鸟表中的 park_name 和 location 列替换为park_id
?
我主要担心性能。列出每个目击事件需要一个连接来填充公园和位置。此外,动态管理这几乎肯定需要比它节省的更多资源。我可能需要一个 Cron 工作来消除孤儿公园,因为它们可能会在多次目击中被引用。