mysql - 具有多对一关系的插入异常
问题描述
假设我有一个名为“student”的表,其中有一列“name”。我想存储第二个名为“组”的属性。"group" 将是根据名称计算的值,不同的名称可以在同一个组中。所以每个名字都有一个组,一个组可以有很多名字。这可以通过创建第二个名为“group”的表并将 fk 列添加到指向“group”的“student”来轻松地在规范化模式中建模。但是,现在假设我只能在学生注册后的一段时间内计算他们的组。所以我需要能够在不知道他们的组的情况下输入一个学生。使用此架构,我要么必须使用 null fk,要么不添加学生。
抱歉,如果我遗漏了明显的内容,我对规范化有些陌生。我考虑的是使用一个关联表,其中一个 fk 代表组,一个 fk 代表学生。这将允许我在不知道他们的组的情况下输入学生,然后在稍后阶段通过关联表将他们链接到他们的组。但是从我在关联表上阅读的内容来看,您应该使用它们来解构多对多关系。这是一对多的关系。所以我很困惑。是否有标准化这种多对一关系的标准方法,该值只能在以后计算?
解决方案
解决此问题的一种非常常见的方法是在组表中添加“无组”记录。所有学生开始都映射到该记录,然后在将他们分配到组时更新外键。
推荐阅读
- groovy -
预期,在 Groovy 中为变量赋值得到“=” - amazon-web-services - AWS CLI:解析参数'--item'时出错:预期:'=',收到:'"' 用于输入:
- javascript - 在视图中显示来自控制器的信息时出现问题
- shopify - Zipify 替代品(免费或更便宜)
- javascript - 为什么添加 .eslintrc 文件会导致错误:保留关键字“import”
- asp.net - 将 CSV 文件导入到 gridview 时如何删除它?
- android-studio - 启动模拟器时出现模拟器错误?
- qt - QSpinbox editingFinished 上/下箭头上的信号
- c++ - 为什么 c++11 不允许使用 auto 进行直接列表初始化
- yii2 - 如何将参数从控制器传递到视图内的另一个视图(表单)