如何存储嵌套的编号段落(1,1.1,1.1.1)?

时间:2012-10-04 20:14:54

标签: mysql ios django database-design data-representation

例如:

  

面板控制指南

     

1:确保面板已关闭。

     

2:关闭后,打开另一个面板。

     

2.1:做到这一点......

您还可以在我的要求中包含某些文字样式等。

我目前正在使用Django和Jquery / Bootstrap与MySQL数据库。将来,iOS本机应用程序需要显示相同的信息。因此,如果某事被设置为“1.2.3”。在网络应用中,它需要在iOS应用中显示相同。

所以我的问题(而且非常一般)是:我如何存储这些东西?

例如,如果我要将食谱存储在数据库中。然后,我如何在一个风格独特的段落中呈现成分,然后是配方中的步骤等等。

如果你看看Inkling,他们会做这样的事情。我不觉得他们将每个章节存储在XML文件中然后渲染它。这不会产生太多开销吗?

1 个答案:

答案 0 :(得分:1)

这是一个普遍的问题,所以答案必然是一般性的。您所描述的是分层数据结构:有序的步骤序列,每个步骤可以是一系列子步骤的父级。在MySQL中处理此问题的两种标准方法是使用邻接列表或嵌套集结构。这两种结构都在网上的许多地方进行了描述。一个很好的文章就是Mike Hillyer

这不涉及格式问题,但更多的是关于您将在层次结构中的每个节点存储的数据类型,并且与如何表示层次结构本身无关。