SQL 概要
SQL(Structured Query Language:構造化問い合わせ言語)は、リレーショナルデータベース管理システム(RDBMS)を管理するために使用されます。
SQLは一連のステートメントとコマンドを通じて、データ定義、データ検索、データ操作、データ制御などの機能を実行します。これには、データの挿入、検索、更新、削除、データベーススキーマの作成と変更、およびデータアクセス制御が含まれます。
SQLとは?
- SQLは構造化問い合わせ言語を指し、正式名称はStructured Query Languageです。
- SQLを使用すると、データベースにアクセスして処理できます。データの挿入、検索、更新、削除などが含まれます。
- SQL言語は英語のキーワードを使用しているため、読み書きが容易です。
- SQLは国際標準化機構(ISO)と米国規格協会(ANSI)によって標準化されています。
- SQLは、単純な検索から複雑なデータベース管理操作まで、データを操作するための豊富な機能を提供します。
SQLで何ができるのか?
- SQLはデータベースに対してクエリを実行します
- SQLはデータベースからデータを取得できます
- SQLはデータベースに新しいレコードを挿入できます
- SQLはデータベース内のデータを更新できます
- SQLはデータベースからレコードを削除できます
- SQLは新しいデータベースを作成できます
- SQLはデータベースに新しいテーブルを作成できます
- SQLはデータベースにストアドプロシージャを作成できます
- SQLはデータベースにビューを作成できます
- SQLはテーブル、ストアドプロシージャ、ビューの権限を設定できます
SQLは標準規格です - ただし...
SQLはANSI(American National Standards Institute、米国国家規格協会)標準のコンピューター言語ですが、それでもさまざまな異なるバージョンのSQL言語が存在します。
ただし、ANSI標準と互換性を持つために、これらは主要なコマンド(SELECT、UPDATE、DELETE、INSERT、WHEREなど)を似た方法で共通にサポートする必要があります。
| 注:SQL標準に加えて、ほとんどのSQLデータベースプログラムには独自の専用拡張機能があります! |
あなたのWebサイトでSQLを使用する
データベースのデータを表示するWebサイトを作成するには、以下が必要です:
- RDBMSデータベースプログラム(例:MS Access、SQL Server、MySQL)
- PHPやASPなどのサーバーサイドスクリプト言語を使用する
- SQLを使用して必要なデータを取得する
- HTML / CSSを使用する
RDBMS
RDBMSはリレーショナルデータベース管理システムを指し、正式名称はRelational Database Management Systemです。
RDBMSはSQLの基盤であり、MS SQL Server、IBM DB2、Oracle、MySQL、Microsoft Accessなど、すべての現代的なデータベースシステムの基盤でもあります。
RDBMSのデータは、テーブルと呼ばれるデータベースオブジェクトに格納されます。
テーブルは関連するデータ項目の集合であり、列と行で構成されています。
SQLの開発史
以下はSQL開発史の重要な節目です:
1970年代:起源と初期の発展
- 1970年:エドガー・F・コッド(Edgar F. Codd)が論文「A Relational Model of Data for Large Shared Data Banks」を発表し、リレーショナルデータベースの概念を提唱しました。これがSQLの発展の理論的基盤となりました。
- 1973年〜1974年:IBMの研究者ドナルド・D・チェンバリン(Donald D. Chamberlin)とレイモンド・F・ボイス(Raymond F. Boyce)は、コッドの理論に基づいて、IBMのSystem Rリレーショナルデータベースを操作・管理するためのSEQUEL(Structured English Query Language)と呼ばれる言語を開発しました。
- 1976年:SEQUELはSQL(Structured Query Language)に改名されました。
1980年代:標準化と商業化
- 1981年:IBMは商用リレーショナルデータベースシステムSQL/DS(Database System)とDB2(Database 2)を発表しました。
- 1986年:米国国家規格協会(ANSI)が最初のSQL標準であるANSI SQL-86(SQL-87)を公開しました。
- 1987年:国際標準化機構(ISO)もANSI SQL-86を国際標準として採用しました。
1990年代:拡張と改良
- 1992年:SQL-92(SQL2)標準が公開され、新しいデータ型、ネストされたクエリ、結合のサポートなど、SQL言語の機能が大幅に拡張されました。
- 1999年:SQL:1999(SQL3)標準が公開され、オブジェクト関係データベース(ORDBMS)の特性、再帰クエリ、トリガー、ユーザー定義関数が導入されました。
2000年代:継続的な進化と新機能
- 2003年:SQL:2003標準が公開され、XML関連機能とウィンドウ関数が導入されました。
- 2006年:SQL:2006標準が公開され、主にXMLサポートが強化されました。
- 2008年:SQL:2008標準が公開され、構文とパフォーマンス最適化がさらに改善されました。
2010年代:新機能とビッグデータ対応
- 2011年:SQL:2011標準が公開され、時間データ型と時間旅行(temporal data)のサポートが追加されました。
- 2016年:SQL:2016標準が公開され、JSONデータ型と関連する操作関数が導入され、NoSQLデータベースとビッグデータ処理のニーズに対応しました。
2020年代:近代化と標準の更新
- 2023年:最新のSQL標準は継続的に改善され、より近代的なデータベースのニーズと機能へのサポートが追加されています。
まとめ
SQLは、リレーショナルモデルに基づく問い合わせ言語から、現代のデータベース管理の中核言語へと発展し、その標準は絶えず進化・拡張しています。各データベース管理システム(MySQL、PostgreSQL、SQLite、SQL Server、Oracleなど)は、SQL標準に従いながら、独自の拡張と最適化を加えることで、SQLをデータ操作と管理のための強力なツールにしています。SQLの発展は、技術の進歩を反映するだけでなく、データ管理ニーズの変化と成長も反映しています。
その他の拡張