我需要为我的C ++应用程序提供具有关系功能的无模式数据库。
我已经在项目中使用PostgreSQL和Mysql。
我想在文档中关联存储数据,并且需要使用SQL进行CRUD。
答案 0 :(得分:0)
“关系”和“无模式”是互斥的。
答案 1 :(得分:0)
现代DBMS支持多种数据模型。例如,SQL Server支持关系,面向文档(XML和JSON)和图(网络)数据模型。您可以在同一数据库中结合使用不同的模型。一个典型的示例是,文档表包含与最重要的属性(包括键)相对应的几列,以及存储XML的一列。
但是,关系数据模型默认情况下结构良好,因此很难实现无模式的关系数据库。可以使用仅使用某些“变量”数据类型的Excel工作表或表格进行模拟,但是这种解决方案似乎很脆弱并且存在性能问题。
另一种方法是在关系数据库中使用EAV扩展。
您可以查看“ Programming with databases”这本书,其中包含一些使用Yes / NoSQL的示例。
答案 2 :(得分:0)
请查看AgensGraph数据库。 AgensGraph是唯一支持关系数据库和图数据库(免费模式)的真正多模型数据库。它也支持键值和文档模型。也基于C语言。
答案 3 :(得分:0)