データベースとSQLの関係と基本用語です。
目次
| サンプル | データベースとSQLの関係と用語 |
| 主なデータベースの製品の種類 |
データベースとSQLの関係と用語
データベースの中にテーブルがあり、テーブルにはデータが保存してあります。
SQLはデータベースを操作したりテーブルからデータを取得する言語です。
以下は、テーブルのデータのイメージです。
社員テーブル(syain)にid,name,romajiの列を持ち、データとして3行あります。
| id | name | romaji |
|---|---|---|
| 1 | 鈴木 | suzuki |
| 2 | 田中 | tanaka |
| 3 | 佐藤 | sato |
テーブルの用語
| 列(row)(属性) | id,name,romaji |
| 属性名 | id |
| 属性値 | idの1 |
| 定義域(ドメイン) | 属性値の集まり(idの1,2,3) |
| 行(Column)(タプル,組) | 「1 鈴木 suzuki」 |
SQLのselect文の使用
「select * from syain where id = '2';」とした場合、「2 田中 tanaka」を取得できます。
アスタリスク(*)は全ての列を指定していることになります。
| 選択 | 上記のように特定の行を取り出すこと |
| 射影 | 特定の列(romaji)のみ抽出すること 例:select romaji from syain |
SQLの種類
SQLは、DML,DDL,DCLの3種類があります。
| DML | Data Manipulation Language (データ操作言語) データを操作します。 例:SELECT(データを取得する)、INSERT(データを追加する)、 UPDATE(データを更新する)、DELETE(データを削除する) |
| DDL | Data Definition Language (データ定義言語) データを定義します。 例:CREATE、DROP、ALTER テーブル定義を作成する、テーブル定義を変更する |
| DCL | Data Control Language(データ制御言語) データを制御します。 例:GRANT、REVOKE、COMMIT、ROLLBACK |
主なデータベースの製品の種類
SQLは、ISO(国際規格)、JIS(国内規格)によって制定された標準SQLがあります。
各データーベース(DB)のSQLは、標準SQLに加えてベンダが各DBごとにSQLを制定しているのでそれぞれ細かい違いがあります。
| データベース名 | 分類 | 備考 |
|---|---|---|
| Oracle | RDB | オラクルの製品 |
| SQLServer | RDB | マイクロソフトの製品 |
| MySQL | RDB | オープンソース |
| Postgresql | RDB | オープンソース |
| Access | RDB | マイクロソフトの製品 |
| SQLite | RDB | パブリックドメインで軽量 |
| DB2 | RDB | IBMの製品 |
| MongoDB | NoSQL | MongoDB Inc. |
| BigTable | NoSQL | |
| DynamoDB | NoSQL | Amazon |
RDBとNoSQL
| RDB | リレーショナルデータベース 表の形式でデータを管理し表どうしを関連づけることができます。 |
| NoSQL | リレーショナルDBのようなデータ同士の関連づけは行いません。 大量のデータを扱うのに向いています。 |
関連の記事
SQL INSERT文でテーブルの行を追加するサンプル
SQL UPDATE文でテーブルの行を更新するサンプル
SQL DELETE文/Truncate文でテーブルの行を削除する
