0

我在设计我的网站时遇到了一些麻烦。我正在尝试以我设计网站的方式使用 OOP 设计,并使用 MySQL 以 JSON 格式存储对象。

所以我在我的数据库中创建了一个 MySQL 表。该表将包含一个主键 (PK) 和我所说的页面类型(pageType,例如:homePage、aMessage、aTutorial 等)。这意味着我将拥有多个具有不同页面格式的不同页面(pageFormats,例如:headerArea、contentArea、footerArea 等)。因此,根据请求的 pageType 对象,查询将转到 pageFormat 表以检索所需的 div。

例如,我们有一个 AJAX 请求说 pageType 设置为 homePage。然后该请求将转到 pageFormat 表并查看允许主页的哪些 div,然后返回它们。然后我当然会将它们写入文档并继续加载具有所需内容的页面等等。

我只是在从我的 UML / 文档到实际开发这个想法时遇到了麻烦。因此,如果有人可以帮助我,将不胜感激。我最难理解的问题是,在 MySQL 数据库中,我正在为 pageType 和 pageFormat 设置表。

返回的类型将采用 JSON 格式,因此我页面的脚本将能够正确格式化它们。所以这引出了我的第二个问题,即在将成为 div 的 MySQL 表中存储 JSON 对象的最佳方式是什么?会是 TINYTEXT 吗?因为我不打算在里面放大量文字?

那么我的最后一个问题是,最好的桌子类型是什么?我也很难选择这个。

尽管我仍然不确定,但我已经参考了http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html表类型来尝试帮助我。

我也一直在阅读http://www.agiledata.org/essays/mappingObjects.html#BasicConcepts以了解如何实现关系数据库并将对象映射到它们。还有其他值得我研究的好书吗?

感谢您的任何帮助/指导。

4

1 回答 1

0

如果您想将数据作为 JSON 文档来处理,我建议您使用像MongoDBCouchDB这样的 NoSQL 数据库而不是 MySQL,因为它们允许您直接使用 JSON 来存储数据。

对于 MySQL,最常见的方法是使用ORM层来避免关系数据库管理系统和面向对象语言之间的阻抗。通过在 RDMS 中存储类似 JSON 的对象,您正在强制您的动态模式文档适合标量值,在我看来这根本不是最好的解决方案。

于 2013-03-25T21:55:19.443 回答