插入异常的特异性



我目前正在努力了解SQL中插入/删除/修改异常的细微差别。

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

ENROLLMENT
StudentID(PK)   StudentName   ClassID   ClassName
111             Joe           E1        English1
222             Bob           E1        English1
333             Mary          H1        History1

这个例子想让我回答的问题是:

以下哪项导致插入异常?

答案为

插入没有类的学生

插入没有学生的类

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

您需要考虑如何将数据自然地添加到系统中(即在现实世界中发生了一系列事件(。

在这种情况下,您将在注册之前创建一组类,然后在学生注册时创建并分配给他们。

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

一个班级可能只能容纳30名学生。你如何处理任何想要注册该班的额外学生?

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

为什么学生决定报名?[大概是因为提供的课程。]

您可以在时间表中创建尽可能多的类。实际注册的学生人数可能意味着一个班级被取消,但它必须首先存在。

总之,"插入没有班级的学生"更有可能导致插入异常。

最新更新