回答編集履歴

5

告知の修正

2024/03/10 03:10

投稿

ikedas
ikedas

スコア4365

test CHANGED
@@ -1,4 +1,4 @@
1
- **本回答は質問で求められた課題を解決しません。現在ベストアンサー付与されていますが、解除をお願いしております。他の回答をご覧ください。** (2024-03-08 19:00 JST)
1
+ **本回答は質問で求められた課題を解決しません。**
2
2
 
3
3
  ___
4
4
  ご質問で試された方法というのは、かなりの人が一度は考えたことのある**アンチパターン**だと思います。

4

Typo

2024/03/08 10:06

投稿

ikedas
ikedas

スコア4365

test CHANGED
@@ -1,4 +1,4 @@
1
- **本回答は質問で求められた課題を解決しません。現在ベストアンサー付与されていますが、解除をお願いしておりますおります。他の回答をご覧ください。** (2024-03-08 19:00 JST)
1
+ **本回答は質問で求められた課題を解決しません。現在ベストアンサー付与されていますが、解除をお願いしております。他の回答をご覧ください。** (2024-03-08 19:00 JST)
2
2
 
3
3
  ___
4
4
  ご質問で試された方法というのは、かなりの人が一度は考えたことのある**アンチパターン**だと思います。

3

ベストアンサー解除依頼中の告知

2024/03/08 10:05

投稿

ikedas
ikedas

スコア4365

test CHANGED
@@ -1,3 +1,6 @@
1
+ **本回答は質問で求められた課題を解決しません。現在ベストアンサー付与されていますが、解除をお願いしておりますおります。他の回答をご覧ください。** (2024-03-08 19:00 JST)
2
+
3
+ ___
1
4
  ご質問で試された方法というのは、かなりの人が一度は考えたことのある**アンチパターン**だと思います。
2
5
 
3
6
  一般にSQLデータベースはサイズの大きいデータをあまり効率的に扱えません。ですから、ひとつの列を多数の重複しない要素の集合を格納するのに使うことはSQLデータベースではするべきではありません (「集合型」のようなデータ型を持つSQLデータベースもありますが、要素数が数十個以下の集合しか扱えません。余談ですが、SQLデータベースと異なる種類のデータベースシステムの中には、多数の要素の集合を扱えるようなデータ型を持つものもあります)。

2

微修正

2024/03/07 13:30

投稿

ikedas
ikedas

スコア4365

test CHANGED
@@ -32,7 +32,7 @@
32
32
  5. **あるグループ自身を削除しようとした** (グループ解散) **場合**
33
33
  そのグループのレコードすべてをテーブルから削除する。
34
34
  6. **その他のケース**
35
- ユーザのグループ間の移動は 新グループへ追加 + 旧グループから削除 で一応は実現できるでしょう。
35
+ ユーザのグループ間の移動は 新グループへ追加 (1.) + 旧グループから削除 (3.) で一応は実現できるでしょう。
36
36
 
37
37
  上記の各々の処理の中で行なっている「特定の複数のユーザが属しているグループがすでに存在しているかどうか」の検査は、SQLで実行できるでしょう。
38
38
  しかし、その検査の結果に基づいて行う処理については、データベースの構成だけでどうにかなるものではないと思います。

1

微加筆

2024/03/07 10:02

投稿

ikedas
ikedas

スコア4365

test CHANGED
@@ -28,9 +28,11 @@
28
28
  (b) あれば、削除して、なんらかの基準でどちらかのグループだけに対し5.と同じ処理をして消滅させる。
29
29
  (c) なければ、単に削除する。
30
30
  4. **あるユーザ自身を削除しようとした** (ユーザ退会) **場合**
31
- そのユーザが属しているグループ全てに対し、各々3. と同じ処理をする。
31
+ そのユーザが属しているグループ全てに対し、各々3. と同じ処理をする (※各々のグループを処理する順番によって結果が異なり得ることに注意)
32
32
  5. **あるグループ自身を削除しようとした** (グループ解散) **場合**
33
33
  そのグループのレコードすべてをテーブルから削除する。
34
+ 6. **その他のケース**
35
+ ユーザのグループ間の移動は 新グループへ追加 + 旧グループから削除 で一応は実現できるでしょう。
34
36
 
35
37
  上記の各々の処理の中で行なっている「特定の複数のユーザが属しているグループがすでに存在しているかどうか」の検査は、SQLで実行できるでしょう。
36
38
  しかし、その検査の結果に基づいて行う処理については、データベースの構成だけでどうにかなるものではないと思います。