相关疑难解决方法(0)

多对多弱实体

我有一个没有被另一个实体定义就不能存在的实体,我希望这个实体参与多对多关系。

例子:一个艺人有一张专辑(没有艺人就不能存在专辑),专辑也有很多曲目,但同一曲目可以存在于多个专辑中。

所以我们在专辑和曲目之间有一个多对多的关系。

如果专辑是弱实体,则其主键是引用艺术家的外键,因此它不能是表示多对多关系的另一个表的外键。

问题是:SQL中是否可以有这种关系,如果可以,我该如何表达?

foreign-key database-design referential-integrity

17
推荐指数
1
解决办法
2万
查看次数

处理有关调查、问题和响应的数据库中冗余外键的最佳数据建模方法

我正在寻找有关存储调查、问题和响应的最佳关系建模方法的建议。

我正在寻找以下两种方法中的哪一种看起来最好,或者另一种方法。

我至少有这些实体:

  • 民意调查

至少有这些关系:

  • 每个调查有 1 个或多个问题。
  • 每个问题可用于 0 个或多个调查。
  • 每个人可以参加 0 个或多个调查。

这就是我遇到麻烦的地方:如何对一个人对调查问题的回答进行建模。

这是我考虑过的两种方法,对我来说似乎都不是很好。此处的图表已大大简化以说明问题。

方法一: 方法一

我不喜欢这种方法的地方:

  • survey_person_question_response表有两个不同的列引用调查:survey_question_survey_idsurvey_person_survey_id
    • survey_id在这两列的一行中引用不同的是错误的。survey_question 必须与该人在survey_person 中进行的调查来自同一个调查。我看不出有什么好的方法来强制执行此操作。
  • 似乎我在这里所做的是在两种关系之间建立关系。出于某种原因,这对我来说是错误的。

方法二:

尽量避免方法 1 中的两个 FK 应该引用相同的值...... 在此处输入图片说明

我不喜欢这种方法的地方:

  • 没有强制规定question_idsurvey_idFK 来自有效的survey_question
  • 没有强制规定survey_idperson_idFK 来自有效的survey_person

任何建议:

  • 这些方法之一是否是典型方法
  • 其中一种方法相对于另一种方法的优缺点
  • 完全安排这些数据的更好方法

将不胜感激!

erd database-design

13
推荐指数
1
解决办法
2042
查看次数

约束关系

我有以下设计。每个用户都有它自己的联系人,它自己的主机并将它们分配给一个只属于他的

我想确保您分配给主机属于该分配给的用户

这是我必须在我的应用程序逻辑中确保的东西吗?

如果我设置domains.user_id foreign key为参考host.user_iduser_id.id它会消除我的问题吗?

在此处输入图片说明

顺便说一句,谁能建议我为我的架构设计更好的设计?

mysql schema database-design constraint

3
推荐指数
1
解决办法
218
查看次数

如何用 UNIQUE 索引和外键表示它?

“组”是一群学生。“话题”是课程的话题。

每个组对应一个主题。(因此每个主题可能有多个组。)

一个学生对应多个组,但每个主题最多一个组。

如何根据 MySQL 中的 UNIQUE 索引和外键实现这一点?

foreign-key database-design

0
推荐指数
1
解决办法
337
查看次数