2018年7月29日日曜日

データベースにNULLがあったらなんか悪いの?な件

ちなみに私は全くNULLがないデータベースを見たことはありません。
それが課題だという認識を持ってるチームも見たことありません。
一方で、NULLだらけのテーブルは山ほど見ました。
なのに、NULLはだめでしょ。っていう意見も多いようなので調べてみました。


【そもそもNULLって何か?】
1.「値が不明」、「値がない」状態を示すための目印。
2.どのようなデータ型でもNULLをとり得る。
3.プログラミング言語のNULLポインタとは別物。
4.値ではない。


【NULLの弊害】
1.NULL様専用に条件の記述が必要
 「NULL + 10」も「NULL < 10」も、「NULL || '10'」も全部NULLになるので
 「SELECT name FROM member WHERE branch <> 10 OR branch IS NULL」
 のように書くことが増えます。

2.実行計画の最適化が難しくなる
 要するにオプティマイザのパフォーマンスが悪くなるということ。


【え、それだけ?】
アクセスが多いシステムでもないし、システム改修のときは、NULLを覚悟で既存のテーブルに項目追加する方が楽だね。ってなるのはわかるような気がします。


【理想と乖離する根本原因】
WBSしか興味ないPMと、工学的な意味でシステムがわかってないSEと、訳も分からず派遣された若手の下請けPGの組み合わせでは、わざわざ影響調査してデータベースとプログラムをリファクタリングしてNULLを撲滅しましょうっていう話にはならないでしょうね。動けばいいんです。

2018年7月21日土曜日

MacにBlenderをインストールしてみた

将来的に3Dプリンタで何か作ってみたい!!
ということで、3DなCDソフト「Blender」をインストールすることにしました。
中学生ぐらいの時に一回やってみて、すぐ挫折したのでリベンジです。
細かい作業は嫌いです。

ダウンロードサイト「https://www.blender.org/download/」にアクセスします。

インストーラを起動(隠しファイルが見えちゃってますね)















できたファイルに「blender」と「blenderplayer」がありますが、「blender」が正解です。














やっぱり表示が英語だと困るので、日本語にします。

[File] -> [User Preferences]で設定画面を表示します。
[International Fonts]をチェックして、[Default (Default)]をクリックします。

















日本語を選択して、[Interface]、[Tooltips]、[New Data]をそれぞれクリックします。

















最後に、[ユーザー設定の保存]をクリックして完了です。