我设计了一个表
字段分别为
编号 栏目1 栏目2 栏目3 栏目4 文章标题 文章内容
等做出来系统后发现,这样在管理文章的时候,还得为栏目对应ID和名称,在程序里转换,不灵活,想加栏目的话还得改程序,网上说
要为每个级别栏目设计一个表
栏目1表 栏目2表 栏目3表 栏目4表 文章表这样应该很完美了,我很赞同,如果我想对每篇文章加评论,是不是增加评论表,还是整合到文章表呢?现在我想知道一个完美的数据库该如何设计,省得下次再改了。最好以网易新浪等大网站的数据库作例。
字段分别为
编号 栏目1 栏目2 栏目3 栏目4 文章标题 文章内容
等做出来系统后发现,这样在管理文章的时候,还得为栏目对应ID和名称,在程序里转换,不灵活,想加栏目的话还得改程序,网上说
要为每个级别栏目设计一个表
栏目1表 栏目2表 栏目3表 栏目4表 文章表这样应该很完美了,我很赞同,如果我想对每篇文章加评论,是不是增加评论表,还是整合到文章表呢?现在我想知道一个完美的数据库该如何设计,省得下次再改了。最好以网易新浪等大网站的数据库作例。
新闻模板表:[Sys_Module]
包含: [Module_ID]
,[Parent_ID]
,[Module_Name]
,[Module_Desc]
,[Layer_Code]
,[Creator]
,[Create_Date]
,[OrderBy] 新闻表:Sys_News 包含:
[News_ID]
,[News_Category_ID]
,[News_Title]
,[News_Summary]
,[News_Content]
,[News_Url]
,[Author]
,[Target]
,[Creator]
,[News_Date]
,[News_Partner]
,[Create_Date]
,[IsTransfer]
,[IsValid]
,[Mender]
,[Modify_Date]
,[News_Logo]
,[News_Logo2]
,[News_Channel]
,[News_Target]
,[News_level]
,[Re]
新闻类别表:Sys_News_Category
[News_Category_ID]
,[News_Category_Name]
,[News_Category_description]
,[News_Category_Priority]
,[News_Categoryl_Status]
,[Creator]
,[Create_Date]
,[Mendor]
,[Mender_Date]
Title nvarchar(max)
Context ntext
非常完美
首先,1对多的关系肯定要分表,一张表无法表达。因此你的系统至少要分栏目表、文章表、评论表三张。然后,栏目表的多级问题,你应该看到无论分多少级它们的本质是一样的,有同样的字段,因此一张表完全能够表达,至于它们的上下级对应关系,你应该给每个栏目一个父id字段,存放它的上级id,第一级栏目的id为空或者0
很强大,可以入选.net版雷人语录了。
up
http://topic.csdn.net/u/20100115/17/71b7189f-5706-400e-869f-420f181b5632.html