0

我有 3 个表格,Chapters、SubChapters 和 Divisions。这些表中的每一个都有额外的记录,我想将它们存储在一个名为“Sections”的表中。它们都是 1:many 关系。
我的问题是在这里建立交叉引用的最佳方法是什么?这是我目前拥有的:

Chapter table:
     chapterID int
     partID int
     chapterNumber varchar
     chapterName varchar
SubChapter table:
     subChapterID int
     chapterID int
     subChapterNumber varchar
     subChapterName varchar
Division Table:
     divisionID int
     subChapterID int
     divisionNumber varchar
     divisionName varchar

Section Table:
     sectionID int
     parentID int
     parentType int (1 = chapter; 2 = subchapter; 3 = division)
     sectionNumber varchar
     sectionName varchar

我在这里遇到的问题是 FK 限制。我应该取消外键吗?如果我这样做了,我能做些什么来提高效率,或者这甚至会成为一个问题?

对于那些想知道的人,我的要求是在数据库中访问州和联邦行政代码的某些方面,以填充 Intranet 网页上的下拉菜单。

4

1 回答 1

0

就个人而言,我会为每个父类型创建一个节表,然后你的外键就会正常工作。然后,我将创建一个视图来连接所有连接,以减轻连接这六个表的重复性。

我当然可以欣赏您现在拥有的设计,但是拥有 FK 可以很好地防止孤立数据。另一种选择是向章节、子章节和分区添加删除触发器,以在存在相应的章节记录时避免删除。

于 2013-02-05T23:52:17.167 回答