我正在做一个样本微服务项目。我有教师服务、学生服务、学习服务和体育服务。我使用了每个服务模式的数据库。
老师有很多学生,学生有很多学习数据和体育数据,老师可以为学生修改。
老师想看看他的学生的学习和体育数据。
我试着把学生的身份证储存在教师服务中。
|---------------------|------------------|
| teacher_id | student_id |
|---------------------|------------------|
| 12 | 34 |
|---------------------|------------------|
但是在学习服务和体育服务方面,我只存储student_id。
获取教师的学生学习和体育数据。我把老师的所有学生证从教师服务部门转到学习服务和体育服务部门.
我用休息的方法把学生的身份证递给我,它越来越长了。
=====>更新
将teacher_id和student_id存储在所有数据库(重复数据具有一致性)或使用第三数据库(切分数据库)如何?
发布于 2019-07-26 00:48:56
我认为问题在于,您还没有充分探索这个领域,而是急于想出如何创建数据库关系。现在,不要关注数据库键的存储位置,因为这不再是第三种正常形式的数据库设计。
从有界上下文的角度来思考。教师的背景可能很小--除了技能之外,老师没有“拥有”任何东西。一门学科有许多课/课,每个课室都有一个老师和学生。一项运动将有教练和学生。
这样想会帮助您了解哪些服务需要包含对其上下文之外的资源的引用。
https://stackoverflow.com/questions/57195175
复制相似问题