Php 教程网站的数据库结构

Php 教程网站的数据库结构,php,html,mysql,Php,Html,Mysql,我需要有关数据库结构的帮助。 我试着解释一下 每个用户都可以创建一个教程 每个教程都有步骤(步骤1,步骤2,…) 现在我创建了一个名为Tutorial database的数据库,数据库中有一个名为Tutorial的表。表教程具有以下属性 tutorial\u id=每个教程的id 教程\标题=每个教程的标题 tutorial\u iamge=可以在每个教程的开头添加图像 tutorial\u description=您可以解释教程 tutorial\u steps=教程有多少个步骤 每个

我需要有关数据库结构的帮助。 我试着解释一下

  • 每个用户都可以创建一个教程
  • 每个教程都有步骤(步骤1,步骤2,…)
现在我创建了一个名为Tutorial database的数据库,数据库中有一个名为Tutorial的表。表教程具有以下属性

  • tutorial\u id=每个教程的id
  • 教程\标题=每个教程的标题
  • tutorial\u iamge=可以在每个教程的开头添加图像
  • tutorial\u description=您可以解释教程
  • tutorial\u steps=教程有多少个步骤
每个教程都分为几个步骤

我的问题:我不知道如何保存步骤,这里我创建了一个小模型:


我是否应该将所有教程的所有步骤保存在一个表中?或者我应该创建10(10步)表。一步一桌

您想要完成的是创建一个。您可以通过创建一个或两个以上的表(基于您的偏好)来创建该关联来实现这一点

您可以创建表步骤,其中包含类似
id(int)、name(text)…
的内容,并且您可以通过名为。该表的名称可能类似于,TutorialStepsXref,并且可能类似于以下字段
tutorial\u id(int)、step\u id(int)
使用以下命令
Tutorial
table->包含教程名称、说明等详细信息

Tutorial\u步骤
table->将Tutorial的主键作为外键包含在Tutorial\u步骤表中。像


Tutorial\u steps:id,Tutorial\u id,step\u number,您在此处的自定义字段
。希望你能拿到。

简单。一张桌子。嗯,两张桌子。一个用于教程的表格和一个用于步骤的表格。全部在一个表格中,带有链接到
`Tutorial`.`Tutorial\u id`
的列以及哪个步骤<代码>教程步骤可能是多余的/不必要的,因为您可以随时计算步骤表中的行数。然后我创建了一个名为tutorial\u steps的表,并将每个步骤都放在表中?非常感谢!因为我创建了10个表。。。但我会删除它们,并为所有步骤创建一个,谢谢@欢迎光临。想想看,如果你的1教程有10个步骤,一个有4个,一个有6个,那么你将如何管理10个表的代码??假设一个教程包含20个步骤,您是否会手动创建另外10个表?:),如果它解决了您的问题,您可以进行投票并接受答案,谢谢。步骤id将不合适,因为对于每个教程,步骤编号2将不同,因此,这里不需要步骤id。相反,您应该在
TutorialStepsXref
表中使用步骤编号列。您有两个ID列都是外键确定步骤ID来自某些表
步骤
。现在,步骤表将具有id、步骤名称、步骤描述等结构。对的但是请看,只有在存在多对多关系的情况下,才可以拥有表(带有2个外键)。但这是一对多的关系。表示1个教程->多个步骤。它不是一个步骤属于许多教程,所以它只有一种方式,一对多的关系。所以不需要包含2个外键的表。获得?根据定义,我的建议并不强迫任何东西拥有所有权。。事实恰恰相反。您可以在任何数量的教程中重复使用任何步骤。TutorialStepsXref将任何步骤映射到任何教程。如果有教程1和教程2。。为了便于演示,您可以将相同的10个步骤映射到这两个步骤。我不知道你为什么投了反对票,或者你为什么要争论这个。