【发布时间】:2011-07-11 19:45:00
【问题描述】:
我有两张表,它们通过一对多的关系相互连接。 问题是被引用的表也有第二个表的外键!
我知道这很令人困惑,所以我将向您展示我的数据库的简单设计:
作者
AuthorId Name DefaultBookId (FK)
-------- ------- -------------
1 John 1
2 Mike 3
3 Mig 5
书籍
BookId Title AuthorId (FK)
-------- ------- -------------
1 TitleInfo1 1
2 TitleInfo2 3
3 TitleInfo3 2
4 TitleInfo4 1
5 TitleInfo5 3
6 TitleInfo6 3
7 TitleInfo7 1
当然,我必须将 books 表中的 AuthorId 设为外键,这是正常情况,但现在我需要为每个作者设置默认图书,因此我将在新列上定义外键(DefaultBookId) 为每个作者指定默认书籍。
现在,两个表相互依赖,所以我不能删除任何项目,除非我删除它们之间的关系并且感觉这样做不正确!
关于这个设计是否有缺陷以及我能做些什么的任何想法?
【问题讨论】: