出題範囲
- Relational database concepts
- Display data from multiple tables (joins)
- Manage data in different time zones
- Manage constraints
- Manage views
- Use subqueries to solve queries
- Manage data using DML statements
- Manage schema objects with data dictionary views
- Retrieve data using SELECT statement
- Report aggregated data using group functions
- Single-row functions
- Manage tables using DDL statements
- Use set operators
- Control user access
- Conversion functions and conditional expressions
- Restricting and sorting data
例題に挑戦
スキルサートのAIが生成した演習問題のサンプルです。アプリでは毎週新しい問題が追加されます。
例題1
表 EMPLOYEES を作成する際に、HIRE_DATE 列のデフォルト値として現在のシステム日付を設定したいと考えています。CREATE TABLE 文の中で使用する正しい列定義の記述はどれですか。
- HIRE_DATE DATE(SYSDATE)
- HIRE_DATE DATE SET DEFAULT SYSDATE
- HIRE_DATE DATE AS SYSDATE
- HIRE_DATE DATE DEFAULT (SELECT SYSDATE FROM DUAL)
- HIRE_DATE DATE DEFAULT SYSDATE
解答と解説を見る
正解: HIRE_DATE DATE DEFAULT SYSDATE
正解は「HIRE_DATE DATE DEFAULT SYSDATE」です。CREATE TABLE 文や ALTER TABLE 文で列にデフォルト値を設定する場合、列名、データ型の後に DEFAULT キーワードを記述し、その後にリテラル値や関数を指定します。SYSDATE はシステム日付を返す関数であり、デフォルト値として直接指定可能です。SET DEFAULT や AS は Oracle SQL の列定義におけるデフォルト指定の構文としては正しくありません。また、サブクエリを DEFAULT 句に直接含めることはできません。
例題2
ALTER TABLE 文を使用して表の構造を変更する場合、その操作として誤っているものはどれですか。
- 表に含まれるすべての列を一度の操作で削除する。
- 新しく列を追加し、そのデフォルト値を指定する。
- 列を UNUSED に設定して論理的に削除する。
- 既存の列のデータ型を変更する。
- 既存の列の名前を RENAME COLUMN 句で変更する。
解答と解説を見る
正解: 表に含まれるすべての列を一度の操作で削除する。
正解は「表に含まれるすべての列を一度の操作で削除する。」です。Oracle Database では、表には少なくとも 1 つの列が存在しなければなりません。そのため、ALTER TABLE DROP COLUMN 文などを使用して表内のすべての列を一度に削除しようとすると、エラーが発生します。その他の選択肢である、データ型の変更、列の名前変更、UNUSED への設定、および新しい列の追加はいずれも ALTER TABLE 文で実行可能な標準的な操作です。
重要用語
- RDBMS (リレーショナルデータベース管理システム)
- データをテーブル形式で管理し、複数のテーブル間を関連付けて操作するシステムです。データの整合性を維持し、SQLを使用してデータの定義、操作、制御を行います。Oracle Databaseはこの代表例であり、試験ではリレーショナルモデルの基本原則やACID特性などの概念を理解していることが重要です。
- テーブル (Table)
- リレーショナルデータベースにおいてデータを格納する基本単位です。行(レコード)と列(カラム)で構成される格子状の構造を持ち、特定のエンティティ(顧客や注文など)の情報を保持します。各列にはデータ型が定義され、各行は一意のデータインスタンスを表します。試験ではテーブル間の関係性の理解が不可欠です。
- 主キー (Primary Key)
- テーブル内の各行を一意に識別するための列または列の組み合わせです。主キーには重複した値を格納できず、NULL値も許容されません(一意性と非NULL性)。これにより、データベース内の特定のデータを確実に特定することが可能になります。試験では、エンティティ整合性を保証するための最も重要な制約として扱われます。
- 外部キー (Foreign Key)
- 他のテーブルの主キーを参照する列または列の組み合わせです。テーブル間の関連性(リレーションシップ)を定義し、参照整合性を保つために使用されます。外部キーにより、存在しない親データを参照する不整合なデータの登録を防ぎます。親子関係にあるテーブル間でデータの整合性を維持するための重要な仕組みです。
- 正規化 (Normalization)
- データの重複を排除し、不整合を防ぐためにテーブルを最適に分割するプロセスです。第1正規形から第3正規形までの手順が一般的で、更新異常を防ぎデータの信頼性を高める効果があります。試験では、リレーショナルモデルの設計原則として、冗長性の排除とデータ整合性の向上の観点から出題されることがあります。
- 制約 (Constraint)
- テーブルの列に適用されるルールで、格納されるデータの正確性と信頼性を保証します。主な制約にはPRIMARY KEY、FOREIGN KEY、UNIQUE、NOT NULL、CHECKがあります。これらを設定することで、ビジネスルールに反する不適切なデータが登録されるのを防ぎ、データベース全体のデータ整合性を強制します。
- NULL (ヌル)
- 値が「未知」であるか、または「適用不能」であることを示す特殊な状態です。数値の0や空文字とは明確に区別されます。SQLの演算においてNULLが含まれると結果もNULLになるという特性があり、試験ではIS NULL演算子を使用した検索や、NULLが算術演算や比較演算に与える影響についての理解が問われます。
- 参照整合性 (Referential Integrity)
- 外部キーと主キーの関係において、データが常に正しい参照関係を維持している状態を指します。例えば、子テーブルの外部キーの値は必ず親テーブルの主キーに存在しなければなりません。これにより、親データの削除時に子データがある場合の処理(削除拒否や連動削除)を適切に管理し、データの矛盾を防止します。
Oracle Database SQL (1Z0-071)の対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。