thumbnail 一問一答の一歩

問題1

特定のキーを主キーに設定するSQL文

PLIMARY KEY (列名)が正解です

PLIMARYは「一番最初の、主要な」という意味を、 KEY(キ-)は「鍵」という意味をそれぞれ持つ英単語です。
デ-タベ-スにおいて、キ-は行の中身を識別するためのセルの値を指すため、PLIMARY KEYは行の中身を識別するために一番使用されているセルの値のことを指します。
FOREIGN KEY (列名)は特定のキーを外部キーに設定するSQL文です。

問題2

表中の特定の列の値をユニークカラムに設定するSQL

UNIQUE(列名)が正解です

ユニークキーを作成するときには
ALTER TABLE 表名 ADD CONSTRAINT UNIQUE(列名);
の形で作成されます。
また、SQLの中のMySQLではユニークキーがないことでエラーが起こりうるので、その対処として上記のコードでユニークキーを作成することがあります。
また、PLIMARY KEY (列名)は主キーに設定するSQL文で,FOREIGN KEY (列名)は外部キーに関係します。

問題3

SELECT文で検索した列が存在したら偽を返す関数

NOT EXISTSが正解です

EXISTS句はWHERE文の条件としてSELECT文を使用する場合に使用されます。
なお、NOT EXISTSだけでは終わらず、NOT EXISTS(SELECT文)の形で書かれることが多いです。
また、EXCEPTIONはSQLのうちのPL/SQL中の条件判断の識別子の一つです。
より具体的には、PL/SQLでEXCEPTION命令が書かれていたらその後ろにはUTL_FILE が定義した異常が発生したときに行う処理が必ず書かれます。

問題4

必要なデータを導出表から親プログラムに引き渡す動作

CURSORが正解です

CURSOR(カ-ソル)は「対象の位置を指し示す目印」という意味を持ちます。
これはプログラムが指定したデ-タを読み込むときに使用されます。
他の選択肢の一つのANALIZEはデータベース内の統計情報を取得する際に利用されて、以下のコードの形で使用されます。


ANALIZE TABLE テーブル名 SATTIFICS

問題5

データを消す際に、参照元のデータも一緒に削除すること

CASCADEが正解です

CASCADE(カスケイド)は「小さい滝」という意味を示した英単語であり、滝のように連続したや連鎖的にというような意味でも使用されています。
エクセルなどの表計算ソフトでイメージすると、関数による計算をするセルを削除した場合、自動的に使用する必要ががなくなった計算対象のセルも自動的に消してくれる機能のようなものです。
他の選択肢のRESTRICTは参照を損なう更新の禁止、SET NULLはデータを消す際に、参照元のデータの値をNULLにするをそれぞれさしています。

問題6

参照制約を損なう更新の禁止をする設定はどれか

RESTRICTが正解です

RESTRICT(リストリクト)は「制限」という意味を持つ英単語です。
SQL文においてはデ-タの更新を行う時に、対象デ-タ以外の他のデ-タにも影響が出るときにはデ-タの更新を制限する設定として使われます。
CASCADEはデータを消す際に、参照元のデータも一緒に削除すること、SET DEFAULTはデータを消す際に、参照元のデータの値を既定値に変えることです。

問題7

データを消す際に、参照元のデータの値を既定値に変える設定

SET DEFAULTが正解です

SET DEFAULTの「 DEFAULT」はプログラムのswich関数と呼ばれる条件判断の関数でで指定された値に当てはまったら対応する処理を行い、どの指定された値にもあてはまらなかったときの処理をDEFAULTとして実行することから来ています。これが転じて、使用者が値を自分で決めなかったときに機械(というかソフト製作者)が勝手につける規定値になります。
CASCADEはデータを消す際に、参照元のデータも一緒に削除する設定です。SET NULLの「NILL」は何もないということをさしており、このことからデータを消す際に、参照元のデータの値をNULL(値が何も入っていない状態)にする

問題8

SQLにおけるトリガーの条件に出来ないものはどれか

SELECTが正解です

SQLのトリガーとはデ-タに何らかの変更を加えた時に、変更と同時に行いたい命令をまとめた関数のことを言います。トリガーを上手く用いるとデ-タの操作をスムーズに行うことができます。
例:行を作成したらとりあえず表の値を0で埋める。(何もしないとNULLで埋められることが多い)
SQL文におけるSELECTはあくまでデ-タの検索であり、デ-タの変更は一切行わないのでトリガーの条件としては不適切です。

問題9

SQLで記載された2つの値の間にあるものを絞り込む関数はどれか

Betweenが正解です

Between(ビトウィーン)は「○○と△△の間の」という意味を持つ英単語です。
SQL文においても英語での記載の仕方と似ており、

  • Between ○○ and △△
といった書かれ方をするので、穴埋め問題などで列名が2つ並んでいたらBetweenの可能性が浮かぶようにしておきましょう。