数据库设计:设计论坛表的最佳实践

lau*_*kok 5 php mysql sql database-design

我想知道在设计论坛时是否有任何练习.我想设计一些论坛.是的,至少有两种不同类型的论坛.一个是选择性成员,另一个是对任何公共成员开放.

在论坛中,成员可以发起一个线程,然后其他成员可以响应它.

所以我对这类论坛的结构有这个粗略的想法.

我将论坛表命名为'strings'表.这是我能想到的结构,

str_id        for the auto increment id
str_tilte     for title of the thread
str_content   for content/ text of the thread
str_follow    for you to choose whether you want to follow this thread or not
str_approved  for the admin to approve or reject the thread
parent_id*1     
mem_id        member id who initiates the thread or who responds to the op
cat_id*2
str_created   
str_updated
Run Code Online (Sandbox Code Playgroud)

*1例如.如果数据注入是一个操作线程,那么父id本身,如果注入是对op的响应,则其父id是op的str_id.

*2此列用于存储当前数据注入的类别ID.如果注射是一个选择性论坛,那么它是1,如果注射是公共论坛那么它是2.

不确定我是否处于最佳状态,但如果您有任何更好的想法,请告诉我.

谢谢.

编辑:

感谢您使用phpbb的一些回复和建议.

刚看了一眼,下载了phpbb.101%肯定我不会去追求它.它是一个完整的程序,如Wordpress或任何其他PHP框架(如Zend).我有一个独立的框架运行这个网站,所以我不想运行另一个程序/框架来搞乱网站的后端结构等.

如果我的网站只是一个纯粹的论坛网站,那么也许我会考虑phpbb.但论坛只是我当前项目中整体网站的子功能.

谢谢.

:)

Mik*_*nOz 9

不要从表开始,从基础实体,论坛,线程,回复,成员,关键字,类别等的概念ER图开始,并首先表达关系.然后进入逻辑设计模式并定义所需的表实现功能.正如所建议的那样,可以看到phpBB表的组织方式.

我喜欢在印刷白板或纸上做我的第一张图,然后转到用于逻辑设计的图表工具.

我认为仍然有一个"更好"论坛的空间,祝你好运.


Fáb*_*nes 5

问候.

正如我之前在评论中建议的那样.

我强烈建议您在机器中设置其他开源数据库驱动论坛的本地安装,以便您在开发此类论坛应用程序时有一个强大的想法和其他开发人员所做的基础,而不仅仅是查看数据库表而且还有论坛的代码,组织和设计.我认为这证明了自己非常有用的睁开眼睛看你自己的论坛申请的可能性

数据库驱动论坛的几个例子:

我通常说最好的学习方法是试错,但我也要指出.即使是这个论坛应用程序,您的创建,它只是为您的网站小型和私人使用.

您应该考虑有一天您的论坛应用程序可能会变得流行,并且您可能希望像之前提到的那样将其公开,或者您只是想添加一些新功能.

在这种情况下,我建议您很好地规划您的代码和数据库架构,为未来的升级做好计划.

你也应该采取MikeAinOz的意见非常重视他的回答,并开始

基础实体,论坛,线程,回复,成员,关键字,类别等的概念ER图,并首先表达关系.然后进入逻辑设计模式并定义实现功能所需的表

这是我见过的这类问题的最佳答案.

问候和祝你好运.