【问题标题】:In a logical model, how to handle a description of another attribute在逻辑模型中,如何处理另一个属性的描述
【发布时间】:2015-11-15 05:15:00
【问题描述】:

我有一个实体:Participantsparticipants 的属性之一是 Interest。有 4 个有效值(dbiahitother)。如果选择了“other”,我需要能够捕获该描述,但我似乎无法弄清楚最好的方法是什么?

我将有一个Participant Interest 的验证规则,它将具有上述 4 个值。尽管我知道大多数响应将是前三个响应之一,但我是否可以在实体中放置描述(见下文),还是应该创建一个单独的实体来捕获其他实体并与Participant 具有识别关系?

    Participant
    Participant ID
    Participant First Name
    Participant Last Name
    Participant Interest {db, ia, hit, other}
    Participant Other Interest Description


    Other
    Other Description

我正在寻找什么是允许的以及什么是最佳实践,因为我有几个具有相似格式的实体。

【问题讨论】:

    标签: database-design


    【解决方案1】:

    我在每个数据库设计中都发现了这种困境,根据我的经验,最好选择您的第一个选项并将所有内容放在同一张表中。它并不完美,因为您将有许多行的空值,但它会使您的查询更容易和更快(您不必进行连接),会降低复杂性(少一张表)并且不会影响存储空间(如果您将另一列定义为 varchar,则如果它为空,它将不会占用任何空间)。

    对于一些复杂的情况,我会创建一个额外的表来实现 1-0..1 关系,但对于这种简单的情况,我会说最好在主表中创建一个可为空的 OtherDescription 属性。

    类似的讨论:

    Normalization of an 1:1 or 1:0 relationship

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多