• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2次元配列のある設計)

2次元配列の鬼ごっこ参加テーブル設計

このQ&Aのポイント
  • 鬼ごっこのデータベースを設計する上で、鬼ごっをする地域と鬼によって鬼ごっこをするかしないかのデータを持たせる必要があります。
  • 参加テーブルには、会場とリーダーを主キーにして参加者を配列で設定する方法と、会場とリーダーを1セットにして参加者ぶんほどレコードを入れる方法の2つが考えられます。
  • どちらの方法がよいかは、鬼ごっこのルールや参加者の関係性によりますが、効率的なデータアクセスを考慮すると、参加テーブルを1セットにして参加者ぶんほどレコードを入れる方法が適している場合があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

下に一票。 上は検索性に問題がありそうです。 会場, リーダー, 参加者でユニーク設定しておくと よいでしょう。 場合によっては会場, リーダーの組み合わせをセットに してIDを振った会場リーダーテーブルを設定しても よいかもしれません

cuiromt
質問者

お礼

> 会場, リーダー, 参加者でユニーク設定 そうですね。ありがとうございます。 > 会場, リーダーの組み合わせ 後者の[参加テーブル]を [参加テーブル]+[会場&リーダーにIDを付けるテーブル] に分割しました。 リレーショナルな感じになりました。 2つになっただけ遅くなるような気もしますが、メンテナンスはしやすくなりそうです。 リレーショナルにするのは処理速度よりメンテナンス重視の場合ですか? [会場&リーダーにIDを付けるテーブル] (会&リid, 会場, リーダー) pm001, p001, m001 pm002, p001, m002 pm003, p001, m003 pm004, p002, m001 pm005, p002, m002 pm006, p002, m003 ・・・ [参加テーブル] (会場とリーダーを1セットにして参加者ぶんほどレコードを入れる) (会&リid, 参加者) pm001は上のテーブルの外部キー pm001, m002 pm001, m003 pm002, m001 pm003, m001 pm003, m002 pm004, m002 pm004, m003 pm005, m001 pm005, m003 pm006, m002 ・・・ フィールドが1つ少なくなりましたがレコード数は同じですね。

関連するQ&A