我有一个维护学生记录的数据库,但在以下情况下失败:1.如果特定“班级”不存在“部分”,那么该“班级”的组合不应该存在任何学生”和“节”。例如说,我只有两个“第二”类的“A”和“B”部分,那么“第二”类的所有学生都必须属于“A”或“B”部分,或者我们可以说他们可以不存在属于“第二”类和“C”类的任何学生。
我的数据库结构: StudentInfo 表保存学生的数据,其中有学生姓名、学生班级、学生科列。ClassnSec 是一个维护 Class 和 Section 之间关系的表。
我将“学生班”设为 FK,它指向“班级”,“学生节”指向“节”。
例如进入 ClassnSec
-------------------------------------
ClassID | SectionID
1 A
1 B
2 A
-------------------------------------
输入学生信息
-------------------------------------
Name | ClassID | Section ID
Mark 1 A
Joe 2 A
Gaurav 1 B
-------------------------------------
现在尝试在下面插入,它不应该被插入,因为没有'2'和'B'的行/条目,即不存在类2的任何部分B。所以插入学生数据一定是非法的。
-------------------------------------
Jon 2 B
-------------------------------------