数据库一篇文章用两张表的好处?(多个内容模型如软件,图片,文章模型等等)

时间:2021-07-06 20:25:21
最近写Cms,研究比如dedecms。我发现他得数据库中,一篇文章是用两张表两实现的。求这样做的好处。他两张表,一张是记录基本属性表的。一张是放文章主体内容表的。基本属性表记录了几乎所有内容模型的基本属性(如发表时间,发表人,关键词等所有内容模型都有的公用字段),软件,图片,文章的基本属性是放在同一张表的,请问这样做有什么好处呢?

8 个解决方案

#1


查询基本属性的时候只需要查询一次  记录的时候可以减少很多冗余。

#2


好像是为了通用性吧.
其实没什么太大的差别,如果文章用的是nvarchar(max)类型的话,应该不会造成冗余.

#3


就这点好处好像也不值得分开表啊,这样添加一篇文章就要操作两次数据库。好像有点得不偿失啊?个人看法,望指正。

#4


 这是面向对象的设计方法,通用很好

#5


减少冗余好像减少不了吧,因为毕竟无论基本属性放哪张表,都得记录进去的。

#6


这么快沉了不甘心

#7


引用 5 楼 kissmikey 的回复:
减少冗余好像减少不了吧,因为毕竟无论基本属性放哪张表,都得记录进去的。


不是这样用的,用一个表记录用到的属性如

文章ID, 属性 内容
文章ID,发表人,Roy
文章ID,关健字 XXX

每一个对象都有不同的属性,你不可以所以对象都去建个表。

#8


引用楼主 kissmikey 的回复:
最近写Cms,研究比如dedecms。我发现他得数据库中,一篇文章是用两张表两实现的。求这样做的好处。他两张表,一张是记录基本属性表的。一张是放文章主体内容表的。基本属性表记录了几乎所有内容模型的基本属性(如发表时间,发表人,关键词等所有内容模型都有的公用字段),软件,图片,文章的基本属性是放在同一张表的,请问这样做有什么好处呢?
你看看这里,也许对你有帮助.
范式
http://topic.csdn.net/u/20111029/18/850d3232-5389-42bb-bbdb-855653b06126.html

#1


查询基本属性的时候只需要查询一次  记录的时候可以减少很多冗余。

#2


好像是为了通用性吧.
其实没什么太大的差别,如果文章用的是nvarchar(max)类型的话,应该不会造成冗余.

#3


就这点好处好像也不值得分开表啊,这样添加一篇文章就要操作两次数据库。好像有点得不偿失啊?个人看法,望指正。

#4


 这是面向对象的设计方法,通用很好

#5


减少冗余好像减少不了吧,因为毕竟无论基本属性放哪张表,都得记录进去的。

#6


这么快沉了不甘心

#7


引用 5 楼 kissmikey 的回复:
减少冗余好像减少不了吧,因为毕竟无论基本属性放哪张表,都得记录进去的。


不是这样用的,用一个表记录用到的属性如

文章ID, 属性 内容
文章ID,发表人,Roy
文章ID,关健字 XXX

每一个对象都有不同的属性,你不可以所以对象都去建个表。

#8


引用楼主 kissmikey 的回复:
最近写Cms,研究比如dedecms。我发现他得数据库中,一篇文章是用两张表两实现的。求这样做的好处。他两张表,一张是记录基本属性表的。一张是放文章主体内容表的。基本属性表记录了几乎所有内容模型的基本属性(如发表时间,发表人,关键词等所有内容模型都有的公用字段),软件,图片,文章的基本属性是放在同一张表的,请问这样做有什么好处呢?
你看看这里,也许对你有帮助.
范式
http://topic.csdn.net/u/20111029/18/850d3232-5389-42bb-bbdb-855653b06126.html