資格
大学生・専門学校生・社会人
解決済み

どうしてイなのでしょうか?
主キーがよくわかりません。

【5】 ある会員制の動画共有サービスでは、会員が投稿 タベースを利用し、管理している。 次の各問いに答えなさい。 処理の流れ ①新規の会員登録希望者が登録の手続きを行うと、会員表に会員データが作成される。 レーショナル型デー ② 動画表は、会員が動画を投稿するごとに動画IDが付与され, 1レコードが作成される。 収録時間の単位 は秒である。 視聴履歴表は、会員が動画を視聴するごとにレコードが作成される。 なお、会員は同時に複数の動画を視 聴することはできない。 視聴時間の単位は秒である。 会員表 「会員番号 会員名 生年月日 メールアドレス 1986/01/01 manabu12 @XXXXX.jp 状態番号 入会日 2010/10/01 1000001 山田 ○○ 1000002 村上 ○○ 2 2 1035917 斎藤 ○○○ 1035918 井上 ○○ 2 1990/10/22 murakato @XXXXXXXX.com ? 2010/10/01 4 31 X 1991/03/11 saito,XXX@XXXXXX.jp 2021/05/26 1986/01/04 ihideki. XXX. 0104@XXX.jp 2021/05/26 1035919 田中 〇〇 1985/05/10 tanaka_XXX@XXX.jp 2021/05/26 1035920 佐藤 ○○ 2 動画表 1992/11/25 sato1125XXX@XXXXXXXX.com 2021/05/26 2 ? 動画ID タイトル 収録時間 投稿日時 会員番号 2 【PNG07983 Javaプログラミング入門 1539 2025/08/29 10:10:55 1013450 【DYQ59984 5分でできる簡単ストレッチ 328 2025/08/29 10:13:50 1026462 [PNG07984 VBA超入門 2320 2025/08/29 10:22:42 1027392 【CKP22895 料理の基本: だしの取り方 4479 2025/08/29 10:24:03 1004778 |HOI 15301 歴史解説: 戦国時代 811 2025/08/29 10:30:15 1012192 [DYQ59985 ダンスレッスン初級 4923 2025/08/29 10:35:26 1012670 GCX61854 ギター講座 初心者向け 1831 2025/08/29 10:41:09 1017337 【DYQ59986 ヨガ入門 体の柔軟性 906 2025/08/29 10:55:40 2 1019556 | 2 視聴履歴表 状態表 会員番号 視聴開始日時 動画ID 視聴時間 状態番号 状態名 2 2 1 無料会員 1022022 1002323 2025/08/31 23:10:05 GCX61854 2025/08/31 23:10:43PNG07983 1010301 2025/08/31 23:10:58 PVS40821 1024056 2025/08/31 23:11:230PS52161 1010301 2025/08/31 23:12:44 ABC12345 1015489 2025/08/31 23:13:26 XYZ98765 1004574 1012268 1002323 2025/08/31 23:16:22 JKL13579 339 2 試用会員 261 3 有料会員 32 4 退会者 5045 1250 483 2025/08/31 23:15:13 DEF67890 2025/08/31 23:15:53 GHI24680 2112 965 3628 1029837 2025/08/31 23:18:54 MN086420 2 2 1123 問1. 視聴履歴表の主キーとして適切なものを選び, 記号で答えなさい。 ただし, 主キーは、必要最低限かつ 十分な条件を満たしていること。 ア. 会員番号 イ. 会員番号と視聴開始日時 ウ. 会員番号と視聴開始日時と動画ID
情報処理

回答

✨ ベストアンサー ✨

簡単に まとめてみました。

■主キーとは?

主キーというのは、レコード(行)を『必ず 1 つに』特定できる情報(列の組)のことです。

例えば、会員表の場合、『会員番号』は主キーになれます。

なぜなら、会員番号が決まれば、レコード(会員)が 1 つに決まるからです。言い換えると、同じ会員番号をもつ複数のレコード(会員)は存在しないから。

一方で、『会員名』や『生年月日』などは主キーには なれません。なぜなら、同姓同名や同じ生年月日の人が いるかもしれないからです。

■ア. 主キーになれない

では、視聴履歴表の『会員番号』は主キーになれるでしょうか?

なれませんよね。だって、同じ会員が複数の動画を視聴することは普通にありえるからです。

実際、会員 1002323 が動画 GCX61854 と JKL13579 を視聴してます。会員番号が 1 つに決まっても、レコードが 1 つに決まるとは限りません。

■イ. 主キーになれる

では、『会員番号』と『視聴開始日時』の組だったら どうでしょうか?

一見、主キーになれないように感じるかもしれません。同じ会員が同じ日時に、複数の動画を見ることが できるかもしれないから。

ところが、『処理の流れ ③』を見ると、「会員は同時に複数の動画を視聴することはできない」と書かれてます。

ということは、『会員番号』と『視聴開始日時』が決まれば、レコードを 1 つに特定できますよね。だから、主キーになれます。

■ウ. 主キーになれる

イの列の組に『動画 ID』が追加されたものが、ウです。

『会員番号』と『視聴開始日時』だけで主キーになれるので、それに他の列が追加されたものも、実は主キーになれます。

ちょっと分かりにくいかもしれないので説明すると、

レコードを 1 つに特定できる情報に他の列を付け加えても、レコードを 1 つに特定できることに変わりはないんです。

例えば、会員表で『会員番号』と『生年月日』の組でも、レコードを 1 つに特定できますよね。『生年月日』の情報は不要ですが、主キーには なれるんです。(無駄なので実際には やりませんが)

■まとめ

選択肢のうち主キーになれるのは、イとウです。

ところが、問 1 の問題文で「必要最低限」という条件がついてますよね。ということは、無駄な情報(動画 ID)がついているウは除外されます。

結果、答えはイということになります。

不明な点があればコメントください。
分かる範囲で答えますので。

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉