【1】DBの共通点
1)RDBMSとしての各種機能
* データ管理 * ユーザ管理 * バックアップ * レプリケーション => レプリケーション の詳細は、以下の関連記事を参照のこと
【DB】 レプリケーション
https://dk521123.hatenablog.com/entry/2014/03/09/000100
2)SQL(ANSI/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