DBデータベーススペシャリスト試験 午前Ⅱ
平成25年度春期 データベーススペシャリスト 午前Ⅱ 問7
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア基底表を定義するには,ドメインの定義が必須である。
- イドメインの定義にはCREATE文,削除にはDROP文を用いる。
- ウドメインの定義は,それを参照する基底表内に複製される。
- エドメイン名は,データベースの中で一意である必要はない。
解き方のヒントを見る
ドメイン制約と表操作の確認
関係データベースの表を定義・削除する場面では、各列に入れられる値の範囲と、表同士の依存関係を分けて整理し、操作が他の構造へ及ぼす影響を確認する視点を身につけましょう。
この問題で問われていること
この問題では、ドメイン制約が表のどの単位に関わる考え方かを軸に、表の定義と削除を別々の操作として捉え、実行前後に保たれる条件と変化する範囲を比較してみましょう。
視点
列ごとに許容される値の性質を捉える観点と、表を扱う操作がデータ構造や関連に及ぼす影響を捉える観点を混同せず、用語・対象・影響範囲を対応づけて整理します。
確認ポイント
- 制約が対象とする単位を確認する
- 操作の対象と影響範囲を分けて整理する
- 実行前後で保たれる条件を比較する
正解と解説を見る
正解
イ
解説
SQLのドメインは、列で利用するデータ型や値の範囲などを定義する独立したスキーマオブジェクトです。定義と削除には専用のDDL文を用いる。
理由
ドメインは、複数の列で共通して利用できるデータ型や制約を定義するための独立したオブジェクトです。定義にはCREATE DOMAIN文、削除にはDROP DOMAIN文を用いる。
比較
基底表を定義する際にドメインの利用は必須ではなく、通常のデータ型を直接指定することもできる。また、ドメイン定義は参照先の基底表へ複製されず、データベース内で管理される名前も一意性が必要です。
選択肢ア
これは不正解だよ。基底表の列は、定義済みのドメインを使わなくても、データ型を直接指定して定義できる。したがって、基底表の定義にドメインの定義が必須であるという説明は誤りである。
選択肢イ(正解)
これは正解だよ。ドメインはSQLで定義される独立したスキーマオブジェクトであり、定義にはCREATE DOMAIN文を、削除にはDROP DOMAIN文を用いる。この記述はドメインの操作方法を正しく示している。
選択肢ウ
これは不正解だよ。ドメインは、それを参照する基底表の内部へ定義内容が複製されるものではない。ドメイン自体が独立して管理され、表の列はそのドメインを参照して利用する。
選択肢エ
これは不正解だよ。ドメインはデータベース内で管理される名前付きの定義対象であるため、他のドメインと区別できる名前が必要になる。「一意である必要はない」という説明は誤りである。
学習のポイント
ドメインを基底表や列そのものと混同せず、定義・参照・名前の扱いを整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成25年度春期 データベーススペシャリスト試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針