我有一个comments
表,评论或者参考答案或为外键的问题:如何设计这两个表来防止损坏的数据?
id primary key not null,
question_id references questions(id),
answer_id references answers(id),
要么answer_id
或question_id
将被填充和其他将是空的。
现在其他表是notifications
,只要创建一个评论,我创建了一个通知:
id primary key not null,
comment_id references comments(id),
question_id references questions(id),
answer_id references answers(id),
无论question_id
或answer_id
将被填充,但我想,以确保它与什么填充它一致comment
记录。
如何确保通知将引用由评论本身引用的相同资源?换句话说,如果我有一个引用问题的评论,然后我想为该评论创建一个通知,但是让它引用一个答案,那么数据库不应该允许这样做。我如何施加这样的限制?
我想你可能能够解决问题,使用继承和有三种不同类型的通知表。 –
您目前的设计似乎没有正常化。 –
@TimBiegeleisen你能提出一种方法来标准化评论表吗? –