MySQL,对象和超类

时间:2013-03-25 21:35:55

标签: mysql oop

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

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

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

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

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

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

我已经引用http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html表格类型试图帮助我,虽然我仍然不确定。

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

感谢您提供任何帮助/指导。

1 个答案:

答案 0 :(得分:0)

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

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