リレーショナルデータベース上に下表のような各学生の成績を管理しているテーブルがある。次のうち、このテーブルのプライマリキーとなる属性として、適切なものはどれか。なお同名の講義はないものとしてよい。
          
           ┌────┬──────┬───┐
           │学生番号│講義名   │成績 │
           ├────┼──────┼───┤
           │  1  │人工知能  │ S │
           ├────┼──────┼───┤
           │  1  │統計学   │ A │
           ├────┼──────┼───┤
           │  2  │人工知能  │ C │
           ├────┼──────┼───┤
           │  2  │統計学   │ A │
           ├────┼──────┼───┤
           │  2  │データベース│ A │
           ├────┼──────┼───┤
           │  3  │統計学   │ S │
           └────┴──────┴───┘
@ 学生番号
A 講義名
B 成績
C 学生番号と講義名の複合
D 学生番号と成績の複合
C
@ 学生番号が一意に決まっても講義名が分からないため、成績が管理できない。
A 講義名が一意に決まっても学生番号が分からないため、成績が管理できない。
B 成績が一意に決まることはない。
C 正しい。プライマリキー (主キー) は、レコードを一意に識別するための項目である。
D 学生番号と成績では、レコードを一意に識別できない。
            例えば、学生番号が2で、成績がAのレコードは2つある。
ちなみに、問題に“同名の講義はないものとしてよい”と記載があるので、少なくとも講義名は、プライマリーキーになる属性であることが判る。
| V−4 | 目次 | V−6 |