在准备关系模型的过程中,我陷入了类型约束{XOR}的转换。
这是一个例子: 我有一个相当于申请人(用户)信用的文件 它也由验证者(另一个用户)验证 但是有一个排除限制,申请人可能不是同一文件夹的验证者。
我怎样才能在我的桌子上翻译它?
Dossier_Equi (num_dosier, # applicant # validator ......)
答案 0 :(得分:1)
首先,请注意它不是类型约束(即两个分类器之间的约束),而是关联约束。然后,请注意 the xor constraint specifies that objects of a class may participate in, at most, one of the associations at a time。
约束:
申请人不得是验证人。
SQL等价物是:
CHECK (validator IS NULL OR applicant<>validator)
(作为表约束,因为它适用于不同的列)。
但是,MySQL不支持SQL检查约束。在另一个问题中,为此目的有a suggerence for using BEFORE INSERT/UPDATE
triggers。