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など)を似た方法で共通にサポートする必要があります。

lamp 注: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年代:起源と初期の発展

  1. 1970年:エドガー・F・コッド(Edgar F. Codd)が論文「A Relational Model of Data for Large Shared Data Banks」を発表し、リレーショナルデータベースの概念を提唱しました。これがSQLの発展の理論的基盤となりました。
  2. 1973年〜1974年:IBMの研究者ドナルド・D・チェンバリン(Donald D. Chamberlin)とレイモンド・F・ボイス(Raymond F. Boyce)は、コッドの理論に基づいて、IBMのSystem Rリレーショナルデータベースを操作・管理するためのSEQUEL(Structured English Query Language)と呼ばれる言語を開発しました。
  3. 1976年:SEQUELはSQL(Structured Query Language)に改名されました。

1980年代:標準化と商業化

  1. 1981年:IBMは商用リレーショナルデータベースシステムSQL/DS(Database System)とDB2(Database 2)を発表しました。
  2. 1986年:米国国家規格協会(ANSI)が最初のSQL標準であるANSI SQL-86(SQL-87)を公開しました。
  3. 1987年:国際標準化機構(ISO)もANSI SQL-86を国際標準として採用しました。

1990年代:拡張と改良

  1. 1992年:SQL-92(SQL2)標準が公開され、新しいデータ型、ネストされたクエリ、結合のサポートなど、SQL言語の機能が大幅に拡張されました。
  2. 1999年:SQL:1999(SQL3)標準が公開され、オブジェクト関係データベース(ORDBMS)の特性、再帰クエリ、トリガー、ユーザー定義関数が導入されました。

2000年代:継続的な進化と新機能

  1. 2003年:SQL:2003標準が公開され、XML関連機能とウィンドウ関数が導入されました。
  2. 2006年:SQL:2006標準が公開され、主にXMLサポートが強化されました。
  3. 2008年:SQL:2008標準が公開され、構文とパフォーマンス最適化がさらに改善されました。

2010年代:新機能とビッグデータ対応

  1. 2011年:SQL:2011標準が公開され、時間データ型と時間旅行(temporal data)のサポートが追加されました。
  2. 2016年:SQL:2016標準が公開され、JSONデータ型と関連する操作関数が導入され、NoSQLデータベースとビッグデータ処理のニーズに対応しました。

2020年代:近代化と標準の更新

  1. 2023年:最新のSQL標準は継続的に改善され、より近代的なデータベースのニーズと機能へのサポートが追加されています。

まとめ

SQLは、リレーショナルモデルに基づく問い合わせ言語から、現代のデータベース管理の中核言語へと発展し、その標準は絶えず進化・拡張しています。各データベース管理システム(MySQL、PostgreSQL、SQLite、SQL Server、Oracleなど)は、SQL標準に従いながら、独自の拡張と最適化を加えることで、SQLをデータ操作と管理のための強力なツールにしています。SQLの発展は、技術の進歩を反映するだけでなく、データ管理ニーズの変化と成長も反映しています。

その他の拡張