1.やさしい
既存のテーブルに新しい列を追加する文はどれですか?
- ACREATE COLUMN
- BINSERT COLUMN
- CALTER TABLE
- DUPDATE TABLE
2.やさしい
すでに存在する行の値を変更する SQL 文はどれですか?
- AUPDATE
- BREPLACE COLUMN
- CINSERT
- DMODIFY
3.やさしい
WHERE country IN ('NL', 'BE', 'DE') は何をしますか?
- Acountry がリストにない行を残す
- Bリストの順に行を並べ替える
- Ccountry がリスト内のいずれかの値に等しい行を残す
- Dcountry の値が 3 つのコードすべてを同時に含む行を残す
4.ふつう
関係代数で、選択演算子(σ)はどの SQL の句に対応しますか?
- AGROUP BY
- BORDER BY
- CWHERE
- DSELECT リスト
5.ふつう
ACID の "A" は何を表しますか?
- A集約(Aggregation)
- B可用性(Availability)
- C正確性(Accuracy)
- D原子性(Atomicity)
6.ふつう
学生は多くの科目を履修でき、科目には多くの学生がいます。これはテーブルでどのようにモデル化しますか?
- A学生と科目を 1 つのテーブルにまとめて
- B1 つの列に科目 id のリストを保存して
- C学生と科目の両方への外部キーを持つ中間テーブルで
- Dstudents テーブルに courses を指す外部キー列 course_id を置いて
7.むずかしい
ボイス・コッド正規形(BCNF)では、すべての非自明な関数従属 X → Y について何が求められますか?
- AY が原子的であること
- BX が NULL を含むこと
- CY が主キーであること
- DX がスーパーキーであること
8.むずかしい
テーブルに 100 万行あり、ブール型の列 is_active はそのうち 95% で TRUE です。WHERE is_active = TRUE について、オプティマイザが is_active のインデックスを無視することがあるのはなぜですか?
- Aブール型の列にはインデックスを作れないから
- Bオプティマイザは WHERE 句でインデックスを決して使わないから
- Cほとんどの行が一致するので、多数のインデックス検索より全表スキャンのほうが安いから
- Dインデックスでは TRUE が NULL として扱われるから
解答
- 1. C · ALTER TABLE
- 2. A · UPDATE
- 3. C · country がリスト内のいずれかの値に等しい行を残す
- 4. C · WHERE
- 5. D · 原子性(Atomicity)
- 6. C · 学生と科目の両方への外部キーを持つ中間テーブルで
- 7. D · X がスーパーキーであること
- 8. C · ほとんどの行が一致するので、多数のインデックス検索より全表スキャンのほうが安いから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。