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

开发技术 作者: 2024-07-04 11:20:01
我有一个我正在设计的新闻系统,起初看起来很简单,但是当我推进我计划好的架构时,我遇到了问题……很明显我没想过.有人可以帮忙吗? 系统要求从数据库中获取最新的20篇新闻文章.这样就像博客一样.每篇文章都可以包含可以从父文章访问的子文章(通常大约3个).只有在父文章可见时才能看到子文章 – 它们不会在其他地方使用. 客户需要能够隐藏/显示新闻文章(简单),但如果他们愿意(更难),也需要改变他们的订单.
我有一个我正在设计的新闻系统,起初看起来很简单,但是当我推进我计划好的架构时,我遇到了问题……很明显我没想过.有人可以帮忙吗?

系统要求从数据库中获取最新的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约束(因此在同一父项下不能模糊地排序两篇文章).

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_38411.html
php 新闻 系统 数据库 模式