在服务器上存储信息的最佳方式

时间:2014-05-15 22:33:54

标签: sql xml

我正在制作一个有趣的网络应用程序。有'用户',每个用户都有不相交的数据。

每个用户都有许多“例程”。 (这些对每个用户来说都是完全唯一的。)

每个'例程'都有许多'步骤'(完全独特的例程),每个'步骤'都有许多'子步骤'(同样,步骤完全独特)。

我目前正在将这些信息存储在直接的SQL表中。因此,有一个Users表,一个Routines表,一个Steps表和一个Substeps表。这很好,因为当我点击一个步骤时,只加载与该步骤相关的子步骤(和缓存)。

但是,开始有大量不同的php文件,因为每个表都有独特的属性。我应该将它以XML格式存储在SQL表中吗?你会做什么?

2 个答案:

答案 0 :(得分:1)

在面向对象的方法中,我可能有一个PHP文件代表对象模型中的每个类 - User.php,Routine.php,Step.php,Substep.php - 并将它们导入到PHP类,代表您的主要Web应用程序控制器。您还可以将这些对象与数据库的持久性分解为一个附加文件,或者每个对象类型一个文件 - 这不是面向对象程序中压倒性的文件数量,并且最好将每个对象放入一个大文件。

答案 1 :(得分:0)

考虑使用自引用表 - 包含父步骤('例程')的单个表,然后是每个子步骤。例如:

tbl_routine
ID | ParentID | Title
1  | <null>   | Wash the Car
2  | 1        | ..Fill the bucket
3  | 2        | ....Add 1oz Soap
4  | 2        | ....Add 4ltr Water
5  | 1        | ..Put the nozzel on the hose
...

然后使用CTE /递归查询来提取例程及其所有步骤&amp;分步出去。