84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
想知道大家在做非关系型数据库的项目时是如何进行设计的,以学生选课为例,每个学生可以选择多个课程,每个课程可以让多个学生选择,这种多对多关系要如何设计,如果我要删除一个课程,如何保证数据库的一致性?
MongoDB は、ドキュメントとテーブルという 2 つの基本モードを考慮します。
ドキュメント モードは、学生のコース選択を例として、学生が選択したすべてのコースをドキュメントに記録します。分割テーブル モードは、学生とコースが分離されるリレーショナル データベースのようなものです。を別の表に分割し、学生とコース(コース選択)の対応表を作成します。
ドキュメントの主な利点は読み取り効率が高いことです。MongoDB がテーブルに分割されている場合、各クエリには複数のテーブルが含まれ、複数のクエリが必要になります。このドキュメントの主な欠点は、メンテナンスが不便であることです。たとえば、コースの情報を変更する場合、そのコースを含むすべての学生ドキュメントを検索し、1 つずつ変更する必要があります。さらに、ドキュメントのサイズには制限があり、データを無制限に追加することはできません。 joint
joint
MongoDB は、ドキュメントとテーブルという 2 つの基本モードを考慮します。
ドキュメント モードは、学生のコース選択を例として、学生が選択したすべてのコースをドキュメントに記録します。分割テーブル モードは、学生とコースが分離されるリレーショナル データベースのようなものです。を別の表に分割し、学生とコース(コース選択)の対応表を作成します。
ドキュメントの主な利点は読み取り効率が高いことです。MongoDB がテーブルに分割されている場合、各クエリには複数のテーブルが含まれ、複数のクエリが必要になります。このドキュメントの主な欠点は、メンテナンスが不便であることです。たとえば、コースの情報を変更する場合、そのコースを含むすべての学生ドキュメントを検索し、1 つずつ変更する必要があります。さらに、ドキュメントのサイズには制限があり、データを無制限に追加することはできません。
サブテーブルの長所と短所はドキュメント型とは逆になります。joint