第一回講座-Eラーニング
SQLの概要に関する講座・・・SQLとは何の事?
SQLとは
- SQL・・・RDBの定義や、表の操作を行う言語
- RDB(Relational Database)・・・Dataを二次元(列と行)の形式でManagementしたDatabase 一次元:住所や名前などを全てまとめてしまう三次元:X,Y,Zとあり、コアな分野(細胞など)で使用される
- DBMS(Database Management System)・・・DatabaseのManagement を行うSystemで、さまざまな機能を持ち合わせたSoftwareの総称
- Oracle:Optimizer(最適化を行うもの)に指示が可能
- DB2:日本IBMがOracleと仲がよく、日本では流行っていない
- SQL-Server:Microsoft社のRDBMS(当社では使用頻度が大きい)
- MySQL:フリーソフト
- PostgreSQL:MySQLより大規模な構築をする時に使用する
- MS-Access:Microsoft社のDBMS(Microsoft Officeの中に含まれていることもある)
- RDBMS(Relational Database Management System)・・・厳密に言うと、「DBMSにRelationalな機能を持ち合わせたものがRDBMS」という意味だが、DBMSにRelationalな機能は当たり前なので、DBMS=RDBMSとして捉えられている。
SQLの変遷
- ANSI(American National Standards Institute)とISO(International Organization for standardization)が共同で制定
- SQL92(SQL2)→SQL99(SQL3)
- 最新バージョンのDBMSは、ほぼ全てSQL3に準拠
- DBMSによって実際のSQLは異なる
DDL(データ定義言語)とDML(データ操作言語)
- DDL : 既存のテーブルから新たにテーブルを作る。種類がDMLより多い。
- CREATE TABLE : 表の定義
- CREATE VIEW : ビューの定義
- GRANT : アクセス権の設定
- DML : テーブルの中を操作することが出来る。
- SELECT : データの抽出
- INSERT : データの挿入
- UPDATE : データの更新
- DELETE : データの削除
SQL実行の仕組み
- 構文解析
- 実行プラン作成、最適化
<最適化とは?>
WHERE文で、ありそうなデータを順番に記述すると実行が早い(DBMSはデータを見ないため)なるべく早い方法を自分で見つける必要がある統計情報が古いままではなく、なるべく1日に一回、最新バージョンを取得する必要があるだが、どんどん進化していくと、人によって余計な動作まで追加されてしまうので賛否両論 Optimizerで機能を変えることができるものもある(Oracleなど)



