続きなので、その1も見てくだしゃい。
午後の問題を少しずつ解説していく連載です。
・赤字は「私ならここに線を引くなぁ」という場所。
・青字は私が考えたことや注釈などです。
皆さんも一緒に問題を読みながら、解答の方法をトレ
ースしてみていただけたら、幸いです。
問3
設問2
次の記述中の( )に入れる正しい答えを、解答群の
中から選べ。
D中学校では、転入生を受け入れる場合、転出元の中
学校から受領した定期健康診断の結果の情報をデータ
ベースに登録する。健診結果表には、受診者IDと年
度に( d )制約を設定し、受診者IDに受診者情
報表の受診者IDへの( e )制約を設定している。
この制約に従うと、転入生の定期健康診断の結果の情
報の健診結果表への登録は、受診者情報表に転入生の
情報を登録した後に行う必要がある。
設問3
次の記述中の( )に入れる正しい答えを、解答群の
中から選べ。
図2に示す身長階級表を作成し、これに対応させて、
2019年度の男子生徒の定期健康診断データを基に、
図3に示す身長度数分布表を作成したところ、「人数
が相違している」との指摘があった。
図3に示す身長度数分布表の作成は、次の(1)~
(3)の手順で行った。
(1)
図2に示す身長階級表をデータベースに作成した。
(2)
新たなSQL文を作成した。
(3)で作成したSQL文の実行結果を用いて、図3
に示す身長度数分布表を作成した。
調査の結果、(2)で作成したSQL文に誤りがある
ことが分かった。(2)で作成したSQL文は、次の
とおりである。このSQL文は、対象とした全生徒を
必ずいずれかの身長区分に分類して集計するために、
身長階級表からは全レコードを、測定結果ビューから
はON句に指定した結合条件に一致するレコードを抽
出している。
図1を見ると、2019年度は男子全学年での最大身
長が180.1cmであり、190cm以上の生徒は
存在しないが、図3の身長度数分布表では、190c
m以上の人数が1となっている。この原因は、(2)
で作成したSQL文では( f )とすべき箇所をC
OUNT(*)としていることにある。その結果、測
定結果ビューと身長階級表を結合した結果において、
NULLとなっているレコードもカウントしているか
らである。
設問1
d
こんな風に書いてあるので、主キーでしょう。エ。
e
赤字にさせてもらいましたが、このような制約を
参照制約と言います。なのでウです。
f
ようするに、全部数えてしまってるので空行もカ
ウントしてしまうわけです。全部数えないように
するには、身長を直接カウントするしかありません。
正解はアです。
(次回に続く!)