RDBMSとSQLについて

 RDBMSとは、「リレーショナル・データベース・マネジメント・システム」の略でリレーショナルデータベースを管理するためのソフトウェアのことです。「リレーショナルデータベース(RDB)」とは、データベースのうち、データを表に似た構造で管理するものを指します。
下図はリレーショナルデータベースで扱うデータのイメージ図です。関連のある属性を列(カラム)とする表(テーブル)の形でデータを格納し、行単位でデータを操作するデータベースのことです。

 リレーショナルデータベースは、在庫の管理、eコマーストランザクションの処理、大量の重要な顧客情報の管理などに利用されています。


データベース管理システムは、ユーザーやアプリケーションがRDBMSに指示を与え、データを利用するための言語(データベース言語)を提供します。RDBMSのデータベース言語は「SQL」です。


データベース言語は以下の3要素から成っています。

1.DML(データ操作言語)
データの検索、新規登録、更新、削除を行うための言語です。SQLのSELECT、INSERT、UPDATE、DELETE等を指します。

DML文はテーブルに格納されたレコードに対して操作を行いますが、実際の運用では条件を指定した特定のレコード抽出や、複数のテーブル結合、特定レコード集計など、応用した操作が必要になります。DML文の基本構文に、下記のようなSQL記述を組み合わせて操作を行います。

2.DDL(データ定義言語)
データの構造、格納場所等を定義するための言語です。テーブルやインデックスを作成するCREATE、変更・削除するALTER、DROP等を指します。

3.DCL(データ制御言語)
データへのアクセス制御を行ったり、データの管理をして信頼性を保証するための言語です。
データベース利用者に特定の権限を与えるGRANT、権限を剥奪するREVOKE、トランザクション管理のためのCOMMIT、ROLLBACK等を指します。

商用のRDBMSとして主なものは以下になります。

・Oracle Database(Oracle)
・Microsoft SQL Server(Microsoft)
・IBM DB2(IBM)

一方、代表的なオープンソースのRDBMSは以下です。

・MySQL
・Postgre SQL
・SQLite

 SQL(Structured Query Language)は上述したリレーショナルデータベース(RDB)のデータを操作する言語です。さまざまなRDBがこのSQLを標準のデータ操作用言語として採用しており、SQLによりデータベースの定義からDBテーブル上のデータ操作を行うことができます。また、SQLは国際標準化されているため、さまざまなデータベースで利用できます。

なお、SQLは厳密にはプログラミング言語ではありません。あくまでもデータベースを操作するための言語(データベース言語)です。

 SQLとプログラミング言語は似ていますが、それぞれが持つ役割は大きく異なります。大きな違いとして、SQLはデータベース操作に特化した言語なので、プログラムを動かすことはできないという点が挙げられます。

 データベース言語(SQL)は、用途の限られた簡潔な言語となっており「対話型」と「埋め込み型」があります。

<対話型>
ユーザーがプログラムのコマンドラインなどでSQLのコマンドを打ち込み、直接操作する方法で、対話型と呼ばれています。この場合は、処理の結果が表示されるのを待って次の命令を送ります。

<埋め込み型>
Javaなどほかのプログラミング言語で記述したソースコードに直接SQL文を埋め込み、動的に操作する方法です。ほかのプログラムに埋め込むことで、SQLをシステムの一部として使用します。
命令文をネスト構造(入れ子)にして、命令1の結果に応じて「~ならば命令2、そうでなければ命令3」などの処理を行うことで最終的な結果を得ることができます。これをサブクエリといいます。


クリックありがとうございます。
-------------------------------------
にほんブログ村 経営ブログへ

にほんブログ村 士業ブログへ



-------------------------------------