微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 新闻系统的数据库模式

我有一个我正在设计的新闻系统,起初看起来很简单,但是当我推进我计划好的架构时,我遇到了问题……很明显我没想过.有人可以帮忙吗?

系统要求从数据库获取最新的20篇新闻文章.这样就像博客一样.每篇文章都可以包含可以从父文章访问的子文章(通常大约3个).只有在父文章可见时才能看到子文章 – 它们不会在其他地方使用.

客户需要能够隐藏/显示新闻文章(简单),但如果他们愿意(更难),也需要改变他们的订单.

我最初将子文章存储在一个单独的表中,但后来我意识到这些字段基本相同:标题,复制,图像.那么为什么不把它们全部放在一张大桌子上呢?

现在我在订购时遇到了其他问题.这是星期五晚上,我的头疼!

有人可以提供建议吗?

谢谢.

更新:人们要求查看我的“现有”架构:

articleID *   
headline  
copy
imageURL
visible
pageOrder

subArticleID *
articleID 
headline
copy
imageURL
visible
pageNumber
pageOrder

这会有用吗?我如何让用户更改订单?这对我来说似乎是错误的方式,所以我把它扔掉了.

解决方法

I initially stored the sub-articles in a separate table,but then I realised that the fields were essentially the same: Headline,copy,Image. So why not just put them all in one big table?

因为参照完整性不一样.

当然,如果你想将树限制在2个级别.如果您想要更通用的数据模型(即使这意味着稍后在应用程序级别限制它),那么继续创建一般树.

这可能看起来像这样:

请注意PARENT_ARTICLE_ID和ORDER是否都是NULL(因此您可以表示根)以及两者如何组成上图中由U1表示的UNIQUE约束(因此在同一父项下不能模糊地排序两篇文章).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐