你能解释一下如何处理ArangoDB中的历史数据吗?
例如,我有5个集合:
1. School [Type = Documents] - I keep information about schools. I have 2 school: - BestSchool - NotveryBestSchool
2. Class [Type = Documents] - I keep information about class. I have 4 class: - Best A Class - Best B Class - NotveryBest A Class - NotveryBest B Class
3. Students [Type = Documents] - I keep information about Students: - Timmi - Lisa - Kail - Bart
4. ClassinSchool [Type = Edge] - I keep information about class in school, where "parents" = "school" and "child" = Class: _From: School/BestSchool _To: Class/Best A Class _From: School/BestSchool _To: Class/Best B Class _From: School/NotveryBestSchool: Class/NotveryBest A Class _From: School/NotveryBestSchool: Class/NotveryBest B Class
And, finally: 5. StudentsinClass [Type = Edge] - I keep information about Students in Class, where "parents" = "Students" and "Child" = Class _From: Students/Timmi _To: Class/Best A Class _From: Students/Lisa _To: Class/Best B Class _From: Students/Kail: Class/NotveryBest A Class _From: Students/Bart: Class/NotveryBest B Class
情况就是这样。 2017巴特学得很好。在年底,他从“NotveryBest B Class”转到了新的“NotveryBest A Class”课程。在2018年,他学习得更好,他的父母决定将他转到另一所学校,在那里他可以发展自己的才能。他从“NotveryBestSchool”转到了新学校“BestSchool”和“Best B Class”。
假设:我是否理解正确,为了跟踪巴特在班级和学校之间的运动,我必须添加日期到边缘?这边的主要字段应该是StartDates和EndDates?或许他的运动我需要存储在Bart的参数中?第三种选择 - 单独收集“历史”并将所有内容存储在那里。
选择哪个选项?
所以这就是我看到它的方式:
最后,这一切都取决于你正在建设什么,但我倾向于倾向于第三种选择,除非我有特定的理由不这样做。