![]() |
| DATABASE |
| データモデリング(工事中) |
| Oracle(工事中) |
| 第2章 RDBMSの基礎(工事中) |
| 2.1.RDBMSの定義 |
|
現在、最も普及しているのがデータを2次元の表で表現する関係データベース(Relational DataBase)です。
RDBはIBMの研究員であったE.M.Coddが1970年にA Relational Model of Data for Large Shared Data Banks
という論文で発表したのが始まりと言われるモデルで、 (1)全てのデータを2次元のテーブルで表現する (2)テーブルとテーブルは互いに関連を持ち、一つの集合として表現される (3)SQLを用いてデータベースの定義、操作を行う といった特徴を持ちます。 Coddはその後、更にDBMSがRDBMS足る基準を明確にすべく「コッドの12の規則」を提唱しましたが、 この規則は大変厳格なもので、全てを満たすRDBMSは現在存在しないといっても過言ではありません。 よって、RDBMSとは前述の3つの要件を満たすものと考えて差し支えないでしょう。
|
| 2.2.SQL |
|
本項では、「SQLとは何か」「SQLはどのようにしてDBに理解されるのか」などを中心に
実例を交えながら、SQLについて解説していきたいと思います。
実は規格化されているSQL |
|
皆さんはSQLがそもそもどのように策定されているかご存知でしょうか?実は、ISO(国際標準化機構)
及び ANSI(アメリカ国家規格協会)で制定されます。現在最も普及している仕様は1992年に制定された
SQL92(別名:SQL2)で、過去のバージョンも含めると実に多くの規格が策定されています。 SQL92をはじめとする主要バージョンの規格概要は以下の通りです。 図:主なSQL規格(概要)
|
| NO | 制定年 | 通称 | 制定概要 |
|---|---|---|---|
| 1 | 1986年 | SQL87 | 既に発表されていた多くのベンダの商用リレーショナル型データベースに実装されていた SQL の中でも、共通の基本部分だけに限定された最小限の規格。 |
| 2 | 1989年 | SQL89 | 外部キーリレーションシップを適用するメカニズムのサポートが追加された。 |
| 3 | 1992年 | SQL92 | 埋め込み SQL や動的 SQL などをはじめとする多様な機能が追加された。 |
| 4 | 1999年 | SQL99 | オブジェクト指向のアプローチによる統合や、プログラミングの拡張といった機能が盛り込まれている。 |
|
尚、各バージョンの詳細はこちらです さて、これらISOの規定している標準のSQL仕様(以下、標準SQLと呼びます)を理解している事は非常に大切です。 なぜなら、「製品に左右されない根本的なデータベーススキルを習得できるから」です。標準SQL(特にSQL92)は 多くの商用、オープンソースのデータベースに(実装方法こそ違えど)実装されています。つまり「SQL92対応」と 記載があるだけで、標準SQLの知識があれば「これとこれは出来る/出来ない」という判断が出来るのです。SQLは データベースの操作・定義言語ですから、「SQLに出来ること=RDBMSに出来ること」といっても過言ではありません。 よって、本項では標準SQLにターゲットを絞ってSQLとは何かを解説して行きたいと思います(製品依存のSQLはまた 別掲載いたします)。
|
SQLは3つに分類される |
|
SQLはその文法の性質上、大きく3つに分類できます。 (1)データ定義言語(DDL:Data Definition Language)
|
|