Mysql 用于存储本体模型/灵活层次结构的数据库

Mysql 用于存储本体模型/灵活层次结构的数据库,mysql,database,oracle,nosql,relational-database,Mysql,Database,Oracle,Nosql,Relational Database,我正在为一个科学协作网站设计一个系统。基本上,不同的研究主题有许多不同的数据模型。列、字段类型、列数、映射和结构不同。每个现有的数据模型也可以被其他人重用 场景示例: 一位科学家进来设计了一个a型实验,然后创建了数据模型,他开始填充数据。然后保存实验类型A的数据模型,可以重复使用,其他人可以选择此模型A并填写数据,而无需重新设计。同样,科学家可以设计他们喜欢的任何数据模型 例如: 实验类型A我们有以下结构: -Hypothesis(String target1,String target2, i

我正在为一个科学协作网站设计一个系统。基本上,不同的研究主题有许多不同的数据模型。列、字段类型、列数、映射和结构不同。每个现有的数据模型也可以被其他人重用

场景示例: 一位科学家进来设计了一个a型实验,然后创建了数据模型,他开始填充数据。然后保存实验类型A的数据模型,可以重复使用,其他人可以选择此模型A并填写数据,而无需重新设计。同样,科学家可以设计他们喜欢的任何数据模型

例如:

实验类型A我们有以下结构:

-Hypothesis(String target1,String target2, int number1,int number2)
  -existingwork(String target1,string target2) //(maps to Hypothesis table) 
-Cohorts (int number1,int number2)
  -male //(maps to Cohorts table) 
  -female //(maps to Cohorts table) 
-Results (String result1,String result2)
-Hypothesis(BigInt bigint,String name,String target)
  -feedback(String feedback) //(maps to Hypothesis table) 
  -comments(String comment,Date date) //(maps to Hypothesis table) 
-ExperimentTarget (int number1,int number2,int number3)
  -Healthy //(maps to Cohorts table) 
  -Unhealthy //(maps to Cohorts table) 
-Impact (int impackFactor)
-Conclusion(String conclusion,Date date)
实验类型B我们有以下结构:

-Hypothesis(String target1,String target2, int number1,int number2)
  -existingwork(String target1,string target2) //(maps to Hypothesis table) 
-Cohorts (int number1,int number2)
  -male //(maps to Cohorts table) 
  -female //(maps to Cohorts table) 
-Results (String result1,String result2)
-Hypothesis(BigInt bigint,String name,String target)
  -feedback(String feedback) //(maps to Hypothesis table) 
  -comments(String comment,Date date) //(maps to Hypothesis table) 
-ExperimentTarget (int number1,int number2,int number3)
  -Healthy //(maps to Cohorts table) 
  -Unhealthy //(maps to Cohorts table) 
-Impact (int impackFactor)
-Conclusion(String conclusion,Date date)
实现这一点的最佳方法是什么?如果我们为每种实验类型创建一个模式,我认为它会太重,不是吗

我曾考虑过Nosql方法,但映射部分似乎很难(例如,将“现有工作”映射到类型A中的“假设”)

一些图形数据库怎么样,比如说,这个能做这项工作吗


伙计们,请给我建议!谢谢

你能考虑XML吗?每项调查都可以有自己的XML模式,并且有很多好的基础设施软件来处理和显示它。当您着手处理大量的XML数据时,您会发现相当多的DBMS解决方案都能很好地完成工作。@Ollie Jones For XML,很难搜索和操作,不是吗:?XML很容易通过一种精心设计的搜索语言XQuery进行搜索,该语言基于一种称为XPath的文档匹配方案。它的语法有点晦涩难懂,但它可以工作。这种语言有很多实现,包括商业实现和开源实现。