Database design 为所有列设计具有多个值的数据库对象
下面的表格模型是实际表格的设计,我们将给患者填写表格以存储 他们将在初次考试时提供的信息。我被要求设计/建模数据库对象 以存储此信息。我确定这张图片最左边的区域 (如“主要投诉”、“后发投诉”等)将成为属性,并将成为表中的列。支票 框是这些表的实际值。所有列都可以有多个值(表示每列 可以选中多个复选框) 我基本上想出了两种方法(请记住 有更多的列,然后我已经显示了上面,我只决定显示我试图整个表的一部分 设计为仅显示一个示例): 1) 设计一个表,每个属性的每个可能值都有一列 利与弊(在我看来):Database design 为所有列设计具有多个值的数据库对象,database-design,Database Design,下面的表格模型是实际表格的设计,我们将给患者填写表格以存储 他们将在初次考试时提供的信息。我被要求设计/建模数据库对象 以存储此信息。我确定这张图片最左边的区域 (如“主要投诉”、“后发投诉”等)将成为属性,并将成为表中的列。支票 框是这些表的实际值。所有列都可以有多个值(表示每列 可以选中多个复选框) 我基本上想出了两种方法(请记住 有更多的列,然后我已经显示了上面,我只决定显示我试图整个表的一部分 设计为仅显示一个示例): 1) 设计一个表,每个属性的每个可能值都有一列 利与弊(在我看来):
- 它将使我们设计的屏幕从该表中选择和保存数据变得简单和容易
- 该表将是一个非常宽的表(其中包含近200列)
如果我理解您的问题,您希望构建一个属性表来保存属性的所有可能值 可以这样设计属性表
Attribute
---------
Attribute
Value
主(集群)键是(属性、值)。您将对该属性执行SQL选择,并返回所有值行
您的行将如下所示
Attribute Value
---------------- -----------------
posterior class1
posterior class11
posterior crowded
posterior rotated
anterior overbite
...
没有必要重新发明轮子,你需要的是:首先,我在这个论坛上看到有人问了一些非常基本的问题,我的问题经过深思熟虑,我不仅仅是在找人做我的工作,我提出了两个选择,我希望一些比我更有经验的人帮助我选择一个更好的选择,但仍有人否决了我的问题,我不知道为什么????从我身上夺走的不是那么多。我希望他们能解释为什么投票否决我的问题。@JUR:我没有投票否决你的问题。我编辑了你的问题。我不知道你的问题为什么被否决了。我知道你的问题让我很难理解。如果你对我的答案有疑问,请随意评论。现在就评论吉伯特的答案。是的,你是对的,我将创建一个属性表来存储所有属性的值,然后与此表连接以实际获取每个属性的值,但我的问题更多的是关于我是否应该创建一个非规范化的表,其中每个可能的属性的每个值都有一列,或者创建属性表,然后为每个列的值创建一个相关表,如果我这样做,我将连接18个表以获得完整的图片。该采取哪种方法?为什么?@JUR:我不明白为什么我的单属性表不能完全解决你的问题。我不明白你为什么需要任何其他属性表。我试图粘贴我试图设计的屏幕截图,这引发了我提出的问题:如何在该屏幕截图中存储数据,但不幸的是,我没有被允许粘贴屏幕截图,因为我没有声誉点数,这就是为什么我的问题会引起一些混乱,因为没有屏幕截图,如果你对我的问题感到困惑,或者如果你问为什么你的答案不是一个完整的解决方案,我不会责怪你。我会尝试编辑我的问题,如果我能够粘贴屏幕截图,你就会知道我的意思。
Attribute Value
---------------- -----------------
posterior class1
posterior class11
posterior crowded
posterior rotated
anterior overbite
...