Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 插入异常的特异性_Sql_Database_Insertion_Anomaly Detection - Fatal编程技术网

Sql 插入异常的特异性

Sql 插入异常的特异性,sql,database,insertion,anomaly-detection,Sql,Database,Insertion,Anomaly Detection,我目前正试图理解SQL中插入/删除/修改异常的细微差别 目前,我试图理解的示例如下: ENROLLMENT StudentID(PK) StudentName ClassID ClassName 111 Joe E1 English1 222 Bob E1 English1 333 Mary H1 History1

我目前正试图理解SQL中插入/删除/修改异常的细微差别

目前,我试图理解的示例如下:

ENROLLMENT
StudentID(PK)   StudentName   ClassID   ClassName
111             Joe           E1        English1
222             Bob           E1        English1
333             Mary          H1        History1
该示例希望我回答的问题是:

以下哪项会导致插入异常

答案是

插入未上课的学生

插入没有学生的类


我真的不明白为什么这些答案中的一个比另一个更正确,为什么,或者如何。在我看来,两者都可以接受。提前感谢。

您需要考虑如何自然地将数据添加到系统中(即,真实世界中发生的一系列事件)

在本例中,您将在注册之前创建一组类,然后在学生注册时创建并分配给他们

您不太可能创建一组学生,然后为每个学生创建并分配课程

一个班级可能只能容纳30名学生。你如何处理那些想注册该课程的额外学生

如果你注册了100名学生,然后决定创建课程,你会创建哪些科目

为什么学生们决定参加注册?[大概是因为提供的课程。]

您可以创建尽可能多的课程,以适应您的时间表。实际注册的学生人数可能意味着课程取消,但首先必须存在


总之,“插入一个没有上课的学生”更有可能导致插入异常。

这个问题似乎没有足够的信息来回答。“插入异常”听起来像是一个教授编造的书呆子术语。@RobertHarvey是的。可能是Codd。你可以在这里读到更多:我觉得这两个都像是插入异常。