0

ArangoDB で履歴データを操作する方法を説明できますか?

たとえば、5 つのコレクションがあります。

1. 学校 [Type = Documents] - 学校に関する情報を保管しています。私は2つの学校を持っています:
- ベストスクール
- NotveryBestSchool
2. クラス [Type = Documents] - クラスに関する情報を保持します。私は4つのクラスを持っています:
- ベストAクラス
- ベストBクラス
- NotveryBest A クラス
- NotveryBest B クラス
3. 生徒 [Type = Documents] - 生徒に関する情報を保持します。
- ティミ
- リサ
- カイル
- バート
4. ClassinSchool [Type = Edge] - 学校のクラスに関する情報を保持します。ここで、"parents" = "school" および "child" = Class:
_From: School/BestSchool _To: Class/Best A Class
_From: 学校/BestSchool _To: クラス/Best B クラス
_From: School/NotveryBestSchool: クラス/NotveryBest A クラス
_From: School/NotveryBestSchool: クラス/NotveryBest B クラス
そして最後に:
5. StudentsinClass [Type = Edge] - クラス内の学生に関する情報を保持します。ここで、「親」 = 「学生」および「子」 = クラス
_From: 生徒/Timmi _To: クラス/ベスト A クラス
_From: 生徒/Lisa _To: Class/Best B Class
_From: 学生/Kail: クラス/NotveryBest A クラス
_From: 学生/Bart: クラス/NotveryBest B クラス

そして、これがケースです。2017 バートはとてもよく勉強しました。年末に「ノットベリーベストBクラス」から新クラス「ノットベリーベストAクラス」に移籍。2018年、彼はさらによく勉強し、両親は彼を別の学校に転校させ、そこで彼の才能を伸ばすことに決めました. 彼は「NotveryBestSchool」から新しい学校「BestSchool」とクラス「Best B Class」に転校しました。

仮定: クラスと学校の間のバートの動きを追跡するために、端に日付を追加する必要があることを正しく理解していますか? このエッジの主なフィールドは、StartDates と EndDates にする必要がありますか? それとも、バートのパラメータに保存する必要がある彼の動きでしょうか? そして3番目のオプション - 別のコレクション「履歴」を作成し、そこにすべてを保存します。

どのオプションを選択しますか?

4

1 に答える 1