【问题标题】:Why are relational sets important?为什么关系集很重要?
【发布时间】:2012-10-21 20:33:49
【问题描述】:

一位朋友正在开发一个网站,并且必须使用 SQL 制作一个数据库。他问为什么需要“has-a”或“is-a”关系,因为您可以获取一个实体集的主键并将其放置在另一个适当的实体集中(反之亦然)以查找关系。

我无法回答这个问题,因为我刚刚被告知关系集就是数据库的工作方式。

编辑:我不想进行标准化。他指出,信息在关系集中被复制。

【问题讨论】:

    标签: database database-design relational-database


    【解决方案1】:

    您的问题将两个不同的抽象级别混合在一起,即概念级别和逻辑级别。

    在概念层面,人们对描述所提议数据库的信息需求感兴趣。在不将描述偏向一种或另一种解决方案的情况下,这样做很有用。对此有用的一个模型是实体关系 (ER) 模型。在此模型中,主题被分解为实体(主题)和这些实体之间的关系。所有数据都被视为描述某一实体或某一关系的某些方面。

    “Is-a”和“has-a”关系在这个抽象级别是相关的。在此级别,关系已确定,但未实施。

    在创建数据库的概念模型之后,但在创建数据库本身之前,通过逻辑设计阶段是有用的,从而产生数据库的逻辑模型。如果数据库是关系型的,那么将逻辑模型设为关系型是很有用的。关系模型是下一层抽象。

    这就是主键和外键的来源。这些键实现了在概念阶段确定的关系。这就是关系模型实现关系的方式。在这个阶段,您将涉及连接表、表组合和规范化等设计问题。

    除了概念层面和逻辑层面,还有物理层面和脚本层面。但这些超出了您的问题范围。

    这两种关系是待解决问题的特征。对主键的外键引用是建议解决方案的特点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多