0

我有两个 erd 向我展示了从表中访问数据的最佳方法,即

表一是类别,表二是文章

TWO Tables ERD

 Table Category 

(CategoryId
CategoryName
CategoryDescription );

Table Articles 


(ArticlesId
 ArticlesTitle
 ArticlesBody
 ArticlesCreatedby
 CategoryId (`forigen Key`FK));

我没有发布图片的声誉,但这里是图解 ERD 图片的链接。

http://i341.photobucket.com/albums/o377/pakistanihaider/relation1_zps06c6e6ec.png

或者

表一是Category,表二是Articles,第三个是Category & Articles

Three Tables ERD

Table Category

(CategoryId
CategoryName
CategoryDescription );


Table  Articles

(ArticlesId
 ArticlesTitle
 ArticlesBody
 ArticlesCreatedby
    );

Table Category & Articles

(Category_id
Articles_id);

第二个代码的图解 ERD:

http://i341.photobucket.com/albums/o377/pakistanihaider/relation_zpsea5d55a9.png

4

1 回答 1

0

这取决于您的数据。如果每篇文章只需要一个类别,那么选项一将起作用。但是,如果您将来可能需要每篇文章不止一个类别,那么您的第二个选项会更好。您缺少的一件事是第二个选项,Category & Articles 表应该将​​两个字段都作为外键。

上面第二个选项中的第三个表是一个连接表。它的明确目的是提供其他两个表之间的链接。这允许多对多关系(一个类别可以有很多文章,一篇文章可以有很多类别),而第一个选项只提供一对多关系(每篇文章只能有一个类别)。

文章表中的两个字段都应该是外键的原因是因为它们总是与其他表中的记录相关。通过将它们设置为外键,您可以保护您的数据输入(如果您尝试输入并且 ID 不正确,则会出错),并且您正在帮助数据库优化您加入数据的任何查询。

于 2013-01-28T09:55:35.863 回答