目次
▼ 集合演算 (和、差、積、直積)
※ 和、差、積 については、下記「
7. 集合」の集合演算と同じ。
[応用情報技術] [基礎] [1] 覚書き : 離散数学 >「
7. 集合」
直積 は、2つのテーブルA、Bの 全組合わせ を表す。
| X | Y |
|---|---|
| 1 | a |
| 2 | b |
| 3 | c |
| \(\ \times\ \) |
| X | Z |
|---|---|
| 1 | d |
| 2 | e |
| 3 | f |
| \(\ =\ \) |
| A.X | A.Y | B.X | B.Z |
|---|---|---|---|
| 1 | a | 1 | d |
| 1 | a | 2 | e |
| 1 | a | 3 | f |
| 2 | b | 1 | d |
| 2 | b | 2 | e |
| 2 | b | 3 | f |
| 3 | c | 1 | d |
| 3 | c | 2 | e |
| 3 | c | 3 | f |
▼ 関係演算 (選択、射影、結合、商)
選択は、レコードを抽出する 操作(演算)。
射影は、フィールドを抽出する 操作(演算)。
結合は、直積 に 選択 と 射影 を組合わせた操作(演算)で、双方に共通するレコードを抽出する 内部結合(自然結合) と片方のレコードに存在する行のみを抽出する 外部結合 がある。
商は、演算をテーブル \(A\ \div\ B\) とした場合、テーブル \(A\) から テーブル \(B\) のレコードに一致するレコードを抽出し、\(B\) のフィールドと重複レコードを削除する操作(演算)。
▼ CREATE文
データ定義の作成 を実行する命令文。
※ テーブル定義を新規作成する CREATE TABLE など。
以下、CREATE TABLE に指定できる主な制約。
構文
意味
PRIMARY KEY 主キー制約 NOT NULL 非ナル制約(NOT NULL制約) REFERENCES 参照制約(外部キー制約) UNIQUE 一意性制約
▼ ALTER文
データ定義の変更 を実行する命令文。
※ テーブル定義を変更する ALTER TABLE など。
▼ DROP文
データ定義の削除 を実行する命令文。
※ テーブル定義を削除する DROP TABLE など。
▼ TRUNCATE文
データの全削除 を実行する命令文。
※ テーブルデータを全削除する TRUNCATE TABLE など。
▼ SELECT文 (検索)
レコードの検索(抽出) を実行する命令文。
以下、SELECT文 に指定できる抽出オプション。
| 構文 | 意味 |
|---|---|
| FROM | 対象テーブルの指定 |
| INNER JOIN | 親テーブル(FROM)と内部結合(※) |
| OUTER JOIN | 親テーブル(FROM)と外部結合(※) |
| WHERE | 検索条件の指定 |
| GROUP BY | グループ化(特定条件で集計)の指定 |
| HAVING | グループ化後の検索条件の指定 |
| ORDER BY | 並び順の指定 |
| DISTINCT | 抽出結果から重複除く指定 |
▼ INSERT文 (新規登録)
レコードの挿入(新規登録) を実行する命令文。
INSERT INTO の後に 対象テーブル名 と フィールド名 を指定し、末尾に 設定値 を指定する。
設定値 に関しては、値を直接指定する VALUES と抽出結果を設定する SELECT がある。
▼ UPDATE文 (更新)
レコードの更新 を実行する命令文。
UPDATE の後に 対象テーブル名 を指定し、SET に更新する フィールド名 と 設定値 を指定する。
末尾に WHERE で更新対象の条件を記述し、対象範囲を指定する。
▼ DELETE文 (削除)
レコードの削除 を実行する命令文。
DELETE の後に 対象テーブル名 を指定し、末尾に WHERE で削除対象の条件を記述し、対象範囲を指定する。
▼ 副問合せ (サブクエリ)
SQLステートメント内部に入れ子で入っているSQL文を指す。
※ SELECT文で使用されるケースがほとんど
また、共通テーブルを用いて、本体のSQLと入れ子にしているSQLを紐付けたSQLを 相関副問合せ という。
▼ GRANT文
アクセス権限の付与 を実行する命令文。
データベース利用者に対して、テーブルやオブジェクトなどの操作権限を付与する。
▼ REVOKE文
アクセス権限の取消 を実行する命令文。
※ GRANT文 で付与した権限を取消す。
▼ COMMIT文
トランザクションの確定 を実行する命令文。
トランザクション内で発生したデータ更新を確定する。
▼ ROLLBACK文
トランザクションの破棄 を実行する命令文。
トランザクション内で発生したデータ更新を破棄し、無かったことにする。
▼ 集計関数
上記、GROUP BY(グループ化) の集計条件となる関数で以下の種類がある。
| 構文 | 意味 |
|---|---|
| SUM | 合計 |
| AVG | 平均 |
| MAX | 最大 |
| MIN | 最小 |
| COUNT | レコード数 |
▼ 比較演算子
条件に指定する比較演算子で、以下の種類がある。
| 演算子 | 意味 |
|---|---|
| < | 小なり |
| > | 大なり |
| <= | 小なりイコール |
| >= | 大なりイコール |
| <> | ノットイコール |
| IN(値1, 値2, 値3 …) | 値1 or 値2 or 値3 …(複数or条件) |
| BETWEEN 値1 TO 値2 | 値1~値2の間 |
| LIKE | 前方後方部分一致 |
| EXISTS | レコードの存在有無 |
▼ 集合演算
SELECT結果の和集合演算となる UNION がある。
| 構文 | 意味 |
|---|---|
| UNION | 双方のSELECT結果から同一レコードを集約して統合する。 |
| UNION ALL | 双方のSELECT結果から同一レコードを集約せず統合する。 |
▼ カーソル
SELECT結果に対して、1レコードずつ順に読み出す仕組み。
SELECT の前に CURSOR FOR を指定し、結果を DECLARE で任意の変数に格納する。
OPEN でカーソルを開き、FETCH で1レコードずつ読込み、CLOSE でカーソルを閉じる。
▼ ビュー (VIEW)
複数テーブルの特定項目を参照用として1テーブルで表現したもので、導出表 とも呼ばれる。
ビューは、主に参照用として利用されるが、下記の条件下で変更することも可能。
・複数のテーブルを結合していないこと。
・集計関数、DISTINCT、GROUP BYなどで複数レコードを 集約していない こと。
▼ ストアドプロシージャ
データベース操作を一連の処理にまとめ、DBMS(データベース管理システム)に登録したものを指し、プロシージャ名で呼び出して使用する。