![]() |
1
1
这里有一个在不破坏很多代码的情况下解决问题的方法。创建一个可更新的学生,并用来自其他表和标志字段的数据填充,以指示全日制或兼职。然后创建具有全职学生和兼职学生表名称的视图。这意味着所有的select仍然可以正常工作,您所要做的就是修复插入和更新代码以转到新表。
|
![]() |
2
5
根据评论修改。 我不同意任何答案。 使用“更多”表没有什么好害怕的,这是关系数据库的本质;特别是如果您想要关系的强大功能,并且允许用户访问数据库而不必通过您的应用程序。 我假设有两件事:
好的,(1)不正确。正如没有将公共列规范化为一个表是错误的一样,拥有一个包含不适用列(可为空列)的表也是错误的。他们应该做的是实施 三张桌子 ;不是一个;也不是两个,在普通的子类型超类型集群中。
所以你要来,你需要实现(2)。对于所有相关的人来说,生活是很容易的,因为数据库是标准化的:你可以添加你所需要的,而不必改变现有的表格结构,或者颠覆现有的代码。
所以你要来,你需要实现(2)。在寻找“互斥”列时,您已经确定了一个正常化错误(在您这边)。您需要的n::n关联表实际上是有学生的类;事实上,他们可能是全职或兼职的,这是在您确认基本需求后需要担心的一个过程。当然,在你考虑了这一需求之后,你必须实施一些措施来处理这两类学生。
我们所要求的,是让你在你这边正常化,因此避免妨碍你这边的分贝的力量。
请迁移现有的密钥,它们非常合适,它们已经有了意义,不要创建新的身份密钥。 |
![]() |
3
0
在MySQL中使用触发器强制执行业务规则之前已经出现过: |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |