在准备我的关系模型期间,我陷入了类型约束 {XOR} 的转换。
这是一个示例:我有一个文件,该文件由申请人(用户)获得同等信用,并且还由验证者(另一个用户)验证,但存在排除约束,申请人可能不是同一文件夹的验证者。
我如何在我的餐桌上翻译它?
Dossier_Equi (num_dosier, # applicant # validator ......)
在准备我的关系模型期间,我陷入了类型约束 {XOR} 的转换。
这是一个示例:我有一个文件,该文件由申请人(用户)获得同等信用,并且还由验证者(另一个用户)验证,但存在排除约束,申请人可能不是同一文件夹的验证者。
我如何在我的餐桌上翻译它?
Dossier_Equi (num_dosier, # applicant # validator ......)
首先,注意它不是类型约束(即两个分类器之间的约束),而是关联约束。然后,请注意xor 约束指定类的对象一次最多可以参与其中一个关联。
约束:
申请人不得是验证人。
SQL 等价物是:
CHECK (validator IS NULL OR applicant<>validator)
(作为表约束,因为它适用于不同的列)。
但是,MySQL 不支持 SQL 检查约束。在另一个问题中,建议为此目的使用BEFORE INSERT/UPDATE
触发器。