データベース言語SQL(補充

Download Report

Transcript データベース言語SQL(補充

Database/ DBMS
Chapter 5 - Supplement -
第5章 データベース言語SQL
- 追加 –
小泉 修: データベースのすべて,日本実業出版,1999
041030
1
データベース言語 SQL
SQLはRDBに対応する規格化されたDB言語
 表の定義や操作を行う際にRDBMSに指示を
する単なる会話形式の命令
 表を頭に描ければ,さしてむづかしくない。
 SQLの言語体系を覚える⇒数多くの商用
RDBMSを扱うことが可能
 定義や操作をする⇒ DBの理解を深める

2
SQL発展の歴史
RDBの概念の提唱者
IBM San Jose研究所の E. F. Codd
 RDBの研究用プロトタイプ: System R
DB言語: SEQUEL
(Structured English Query Language)
↓
SEQUEL2
↓
SQL

3
SQL発展の歴史 (図5-1)
4
SQL規格の流れ
5
SQLの機能
(1)
SQLは,ユーザとRDBMSの間の橋渡しをする
ユーザインタフェース
 DBMSに対する制御機能

6
SQLの機能

(2)
DBMS制御の構成
7
親言語とSQL( SQLの呼び出し法)
・アプリケーション経由
モジュール呼び出し
埋め込みSQL
静的SQL
(親言語に
埋め込む)
動的SQL
(親言語実行
時に作成)
・直接呼び出し
静的SQL
動的SQL
8
直接呼び出し (1)

PCから直接SQLをRDBMSに発行する方法
9
直接呼び出し (2)
RDBMS に付属するコマンドラインツールを用い
る。
 コマンドラインツール:テキストエディタに似たウ
インドウが開き、ウインドウ内にSQLを入力する。
 コマンドラインツールの機能
SQLを解析,翻訳し,RDBMSに渡す。
RDBMSは,DB操作,結果の通知をする。
 画面を見ながら,対話的に操作できる。
 SQLを学ぶ際の最適ツール

10
最低限覚えるべきSQLの構文規則




SQLは規格化されている。しかし,RDBMS間で完全互
換ではない。 最低限の構文規則は覚えよう。
Keyword(予約語):命令部分(接続詞や固有名詞もある)
句(phrase) = 最小命令 (例) “SELECT 商品コード,商品名“
文(statement) = Σ句
11
文の記
述方法
12
データベースの作成
13
データベースの接続
14
表とキーの設計 (1)
15
表とキーの設計 (2)
16
表とキーの設計 (3)
17
データ型
18
表の定義

整合性
制約

表の削除
19
行の登録・修正・削除
行の登録
全行の登録
20
行の修正処理
21
COMMIT文 と ROLLBACK文
トランザクションの管理と制御に用いる。
 COMMIT文
登録・修正・削除をDBに反映させる
 ROLLBACK文
トランザクションが開始されて以降に発行し
たSQL文をすべて無効にする。

22
問合せ処理 (query)
表の取り出し
SELECT/条件つき参照
 行の並べ替え(sort) ORDER BY
全列表示→sort して参照

23
副問合せ処理 (sub query) (1)
得意先は,受注表上の得意先番号で問合せ可
 得意先名での問合せだと,もっと楽だ → 得意
先表も利用しよう
 問合せ処理: 得意先名を問合せ →(得意先
表)→ 得意先コード
 副問合せ処理: 得意先コード vs. 得意先番号
→ 受注表内の対応行を問合せ

24
副問合せ処理 (sub query) (2)
25
ビュー表の作成
副問合せ → 表示されるだけ
 副問合せまでを含めた問合せを一時的に表
にまとめる → ビュー表
 ビュー表





シェープアップされた表
独立した表
アプリから視覚的に参照できる一時的な表
仮想表
26
ビュー表
27
表結合

使いやすい表


副問合せ
一つの表に結合
28
相関名の利用
別表に同じ列名があるときは,列名だけでな
く,表名 + 列名で記述すると,混乱が減る。
 列名を表名つきで定義する。
 相関名の利用


列名と表名を“ . ”で結びつけることによって,列
名を一意とする。
29
集合関数
列に関する計算
ができる
30
グループ化
同列内の値
の中で,同
じ値を持つ
データごと
に集合化す
ること。
31
SQL文一覧
32