我正在构建一个需要业务模型的应用。该模型如下:
Company: {
id (primary index)
name
description
humans: [id_human1, id_human2, id_human3],
jobs: [id_job1, id_job2, id_job3]
}
Human: {
id (primary index)
company: id
job: id
name
age
}
Job: {
id (primary index)
job_name
humans: [id_human1, id_human2, id_human3]
companies: [id_company1, id_company2, id_company3]
}
我希望能够执行以下查询: - 获取所有job_id = 1的公司。 - 让所有为company_id = 2工作的人类。 - 获取company_id = 1的所有工作 要么 - 获取所有具有job_id = 1和company_id = 2的人。
我应该如何在tarantool中建模上述信息并保持数据之间的关系,同时保持查询的快速?
答案 0 :(得分:0)
如果您对元组集进行规范化,那么公司/工作和工作/公司查询将非常简单。而不是公司中的一系列作业,添加一个名为Company_Job {companyID,jobID}的新元组。
然后对Company_Job_Human执行相同操作并构建二级索引。