1

这个问题是关于数据库设计以及如何在实体用于多个目的时最好地拆分它们。

我的数据库模式为世界各地的体育赛事建模。什么类型的赛事和运动,何时何地进行,参与者是什么,获胜者等等。模式中的实体之一是 Country,它跟踪体育赛事发生在世界上的哪个国家/地区。

这很好用,但是我还需要向 Country 模型添加辅助数据,这与体育赛事模型本身无关,但需要在网页上很好地呈现数据。

该数据的示例是精灵图像中的国家国旗精灵偏移、国家的详细描述、国家的形容词(中国 - 中文等)、国家页面上的访问者数量以及国家在从 1 到 5 分(评级为 5 的国家/地区的事件显示在首页上)。

我可以轻松地将所有这些属性放在 Country 对象本身上,但这似乎是错误的,并且污染了我干净的体育赛事模式。我不认为数据的结构应该与如何很好地呈现它这样的细节混合在一起......所以问题是我应该如何组织它?

4

1 回答 1

3

我会将这些数据保存在“国家”表中,并为您的运动数据创建一个 FK。这将允许您轻松维护每个国家/地区的属性,因为您只需在一个地方更新它们,并且更改将在所有引用它的地方生效。我认为这不会污染您的数据,因为这些信息与您的应用程序相关。此外,如果您确实尝试分离这些数据,只会使您的架构更加复杂,维护更加困难。

于 2011-05-16T22:23:01.907 回答