我的一个朋友和我刚刚开始一个自己的项目,以了解最新和最相关的Web技术:我们决定构建自己的面向对象的内容管理系统,该系统具有增强的功能,例如该站点上的社区点功能。
使用PHP作为开发语言并将MySQL作为数据库(这似乎是Internet上所有内容的标准数据库解决方案),我们很快就遇到了将对象(尤其是对象之间的引用)保存到数据库中的麻烦。作为第一个解决方案,我们使用表格-众所周知,该表格被称为"关节"。
但是后来我开始研究如何解决这个问题。这是我发现的:
对于关系数据库,还有针对MySQL和PHP的面向对象的映射解决方案
有一个专门用于解决此特定问题的数据库模型:面向对象的数据库
对象关系数据库,一种混合??模型,基本上是一个具有特殊处理以节省对象的关系数据库
由于我不想再开始一个最佳数据库模型辩论,因此,这是我的具体问题:
我已经提到并且从其他地方知道的所有解决方案中的一种,得到了足够而又不太昂贵的Web存储提供程序的良好支持,并且对于"基本"面向对象的功能也足够好,因此是实现面向对象的好选择内容管理系统? (再次,到目前为止,我们所经历的最痛苦的事情是缺少引用数据库中的其他对象。)
强烈欢迎您提出有关特定数据库类型的建议!
您可以尝试任何" NoSQL"数据库,它们不是关系数据库。 例如,MongoDB。 Mongo以BSON格式存储数据,例如JSON,而在PHP中,您可以轻松处理JSON数据。 您可以在http://nosql-database.org/上找到有关NoSQL数据库的信息,并了解一下MongoDB以及http://en.wikipedia.org/wiki/MongoDB
"对象"将等同于NoSQL的"文档"。
感谢您的帮助,但是对于像MySQL这样的内容管理系统来说,似乎没有其他数据库能真正得到足够好的支持,而在各种服务器上的每个人都可以使用MySQL。