【DB】DBの種類による共通点と違い

【1】DBの共通点

1)RDBMSとしての各種機能

* データ管理
* ユーザ管理
* バックアップ
* レプリケーション
 => レプリケーション の詳細は、以下の関連記事を参照のこと

【DB】 レプリケーション
https://dk521123.hatenablog.com/entry/2014/03/09/000100

2)SQLANSI/ISOで標準化してある文)

 => ただし、文法上の微妙な違いがあるので、注意すること

【2】DBの違い

1)商用 or 無償

 * 商用:Oracle, SQL Server etc
 * 無償:MySQL, Postgre SQL(ぽすとぐれすきゅーえる) etc
  => MySQL      : GPLと商用のデュアルライセンス
  => PostgreSQL : BSDに基づくライセンス

2)各機能の使い方

 * コマンドの違い など

3)SQLの方言

データ型

* サポートされている型や独自の型など違いが大きい

4)その他の違い

関数

* 対応・未対応のメソッドが各DBによって、異なる

空文字とDBNullの考え方の違い

* 「SELECT 1 WHERE '' = ''」「SELECT 1 WHERE '' IS NULL」を試してみるといい
 => PostgreSQL : '' と DBNullは異なる
 => Oracle     : '' と DBNullは同じ扱い

デフォルト

 * 大文字と小文字
 => MySQL      : 区別しない
 => PostgreSQL : 区別される
 => SQL Server : 区別しない

トランザクション

 => Oracle  : トランザクションは自動的に始まり、COMMITあるいはROLLBACKなどで処理終了
     (つまり、明示的にコミットやロールバックをしなければトランザクションは終了しない)
 => SQL Server : SQL文が実行されるたびにトランザクションがコミット(COMMIT)される

http://www.atmarkit.co.jp/fdotnet/vblab/oracledbentry_02/oracledbentry_02_01.html

【3】歴史(サポートした年)

1)レプリケーション

  => Oracle     : Since 1992
  => MySQL      : Since 2003
  => PostgreSQL : Since 2010

2)ストアド

 => Oracle     : Since 1988
 => MySQL      : Since 2005
 => PostgreSQL : Since 1998

参考文献

今後役立ちそうなサイト
http://www.atmarkit.co.jp/fdb/rensai/rdbmsarc03/rdbmsarc03_3.html

関連記事

【DB】 レプリケーション
https://dk521123.hatenablog.com/entry/2014/03/09/000100