我对关系型数据库不熟悉,而且我很难绕过它们的某些方面。令我困惑的事情之一可能非常简单,但它是下拉菜单的前景。 (上下文:对酒店网站数据库进行逆向工程)
如果某个网站列出了城市'在下拉菜单中,这是否意味着'城市'是一个实体?我曾经问过同学,他们相信是的,是的,并且每个城市也应该被分配一个城市ID'然而,我很困惑,因为我认为它是一个属性,因为它可以&# 39;在这种背景下进一步分解。
我是否误解了实体和属性的工作原理?如果是这样,有人可以向我解释一下吗?
答案 0 :(得分:0)
Cities
很可能是一个实体集。如果您只关心名称,它可以实现为值集(用于属性),但我们经常希望保留有关城市的其他事实 - 他们所在的国家/地区,郊区,本地化名称等等。此外,名称可以更改,不一定是唯一的或紧凑的。
在需求变化或变得清晰时,数据库设计和维护中的常见做法是将值集提升为实体集(这也意味着属性成为关系)。相反的情况也会发生,但不那么频繁。
何时设置值集:
何时设置实体:
这些只是指针,而非硬规则。