いくつか知っておきたいことをメモ。
データベース製品間の互換性確保は難しい
データ型の違いのために、たとえばMySQLとOracleでは同じCREATE TABLEの構文が適用されないことがある。
MySQLではVARCHAR型なのに、OracleではVARCHAR2だったりするから。
とはいえ、どの製品でも通用するCREATE TABLEを作成することは難しい。データ型の選択は
パフォーマンスに直結するから。
一度作ったテーブルは簡単には変えられない
というのも、列の定義変更やインデックスの追加/削除をオンラインで(アプリケーションを停止せずに)行うことが
できないから。更新がすべてブロックされたり、参照がブロックされることもある。
データ量が多いほどテーブルの定義変更は難しい。