Rethinkdb 数据库数据结构
我不熟悉DB和NoSql 1:我学到的是文档库db是数据驱动的,无论什么样的数据,只要把它放到db中就可以了。这是它的主要好处。您不需要构建数据的模式或结构,数据可以创建自己的结构 e、 g初始数据如下所示Rethinkdb 数据库数据结构,rethinkdb,nosql,Rethinkdb,Nosql,我不熟悉DB和NoSql 1:我学到的是文档库db是数据驱动的,无论什么样的数据,只要把它放到db中就可以了。这是它的主要好处。您不需要构建数据的模式或结构,数据可以创建自己的结构 e、 g初始数据如下所示 { name: address: phone: } 后来 这两个数据都在文档中,您必须调整应用程序以适应它 我理解正确吗。这种方法正确吗 2:我在申请医院管理。我想知道我可以创建多深的文档 e、 g 每次就诊时,患者姓名、年龄将保持不变,但每次就诊时,患者的实验室检查、处方、药物
{
name:
address:
phone:
}
后来
这两个数据都在文档中,您必须调整应用程序以适应它
我理解正确吗。这种方法正确吗
2:我在申请医院管理。我想知道我可以创建多深的文档
e、 g
每次就诊时,患者姓名、年龄将保持不变,但每次就诊时,患者的实验室检查、处方、药物、手术等活动可能会有多个
所以我的问题是,我可以深入到多深的层次,以及何时将数据分解为多个文档
谢谢据我所知,ReQL的嵌套深度限制为20层。概述了各种型号及其优缺点: 有两种方法可以建模数据库中文档之间的关系:
- 通过使用嵌入式阵列
- 通过链接存储在多个表中的文档(类似于传统的关系数据库系统)
@这要看情况而定。例如,当您尝试按嵌套字段过滤表时,if将降低性能。对changefeeds上的订阅也是如此。我建议保持嵌套级别<8-10。例如,您可以将一些字段移动到不同的表中,并按id绑定数据(如SQL数据库中的外键)。
{
name:
{
firstname:
lastname:
}
address:
{
address1:
address2:
}
phone:
{
phone1:
phone2:
}
}
{
id:
patient name:
age:
patient_activity:
{
lab:
[
{
test_name:
test_results:
}
....
....
]
xray:
[
{
xray:
comments:
}
....
....
]
....
....
}