kagamihogeの日記

kagamihogeの日記です。

SQL Server と Oracle - nullと空文字 から色々考える

複数ベンダーのDBサポート

これって手間がかかる割にイマイチ実りが少ないような・・・と思うのは自分がまだDB経験浅いからなのかなぁ。最初から複数DBサポート考えてアプリケーション作ってるとか、サポートするDBに強い人材が既に揃ってるとかなら大丈夫なんだろうか。

うーん・・・同じDBでもバージョン変わるだけで色々テストせにゃならんから、やっぱり複数DBのサポートは面倒というかなんというか・・・

nullの扱い

この結果を見る限り、DBに書き込む際に空文字を許可するか否かはDB設計するときに決めたほうがヨサゲ。でもOracleのこと考えると「何もないデータはnullとする」と決め打ちのほうが良くなるのかな。

アプリケーション側でnullの意味を解釈してやらないといけないのがちょいと面倒だけど、これは仕方ないかな。

nullの扱い方が何故に異なるか

設計思想の違い、で片付けてもいいんだけども。

やっぱOracleは歴史があるからnullの扱い方がああなってるのかな、と。無いものはnull、とする辺りちょっと古めかしく見える。SQL Serverは比較的新しいこともあって空文字とnullを区別してるし。となると他の、DB2MySQLPostgreSQLがどうなのか気になるが・・・

どっちの設計思想に優劣がある、なんて議論は意味無いんでしないけど、こういう違いは面白いねぇ・・・使う時はめんどいけど。