2006-05-01から1ヶ月間の記事一覧

楽々ERDレッスンを読む(1) - 第1部 DB設計総論

羽生 章洋「楽々ERDレッスン (CodeZine BOOKS)」を読了したので3回に分けてまとめ。 まず第1部「DB設計総論」。 浅海氏智晴氏はこの第1部について「上級者向け」と書いてらっしゃるが、そんなことはない。 初めてDB設計をやる人は絶対に読んだ方がいいと…

失敗が重要なのは、それが成功の母だからではない

G.ベイトソン精神と自然―生きた世界の認識論を読む。 この人は生態学者だが、書いてることがデータ設計と関係ありそうで気になる。 モノではなく関係を見ること 論理の「階」を識別すること への徹底したこだわりが、設計手法に取り込めそうな予感を呼ぶ。以…

7割できたらオープンする開発手法を作ってみたらどうか

ヌフカフェはなぜ潰れないのか ~武田康伸のカフェ経営哲学を読む。 有名なカフェ経営者(私は知らなかったけど)が書いた本。 武田氏が言うには、店のオープン前にはやることがいっぱいあってスケジュールがタイトになることが多いのだが、 無理やり予定どお…

髪型がすでに脳

NHK「プロフェッショナル 仕事の流儀」のビデオを見る。 嫁が茂木健一郎の髪形を見て「この人の髪型は脳の形をしている」とうまいことを言う。 確かに脳の標本をかぶっているように見える。いいぞ嫁。

カンブリア宮殿がスリリングでよい

テレ東「カンブリア宮殿」のビデオを見る。 ゲストはMixi笠原社長とはてな近藤社長。 笠原氏は質問に対する反応が鈍い。座右の銘を聞かれて数分考え込んだり、経営者らしくない感じ。 近藤氏は何聞かれても自分の話したいことに引き付けて即レスする。かっこ…

EUC-JPのつもりで開いたファイルがShift_JISだった時、文字化けを直す

この呪文みたいなので変換してくれる。 :e ++enc=cp932

あの方もはてなで書いている

浅海智晴氏がはてなで書いてらっしゃるのを発見。 http://d.hatena.ne.jp/goldenport/

重複行があり得ないクエリに付加した distinct にもコストがかかる

C.J.Dateに倣って、重複行があろうとなかろうと、selectには常に distinct を付けるというやり方でイケルのかどうか、試してみた。 動的にSQL文を組み立てる場合、必要な時だけ distinct を付加するのが面倒くさいので、付けっぱなしにできるとありがたいの…

モルモン教徒につかまった

信号待ちしている時に、ヘルメットかぶって自転車に乗ってる2人組のアメリカ人=モルモン教の勧誘員につかまった。 死んだらどうなると思いますかー?と聞かれたので「何度も輪廻して最後は消えてなくなるんだよ」と教えてあげたら、「それじゃさびしいじゃ…

ボイス・コッド正規形への分解は、結局どうすればいいのか(1)

正規化理論の教科書では、「第3正規形だが非ボイス・コッド正規形」のデータ構造*1をボイス・コッド正規形に分解すると関数従属性が消滅する、とよく説明される。 このようなデータ構造に実務で出会ったら、どうすればいいのか。 増永良文 リレーショナルデ…

自分がWikipediaを信頼していない理由がわかった

梅田望夫 ウェブ進化論 本当の大変化はこれから始まる (ちくま新書) を読んだ。 すいすい読めたが、P-187「ネットで信頼に足る百科事典は作れるか」だけがひっかかった。 このパートで、日ごろ考えないようにしているソースの信頼性ということを考えさせられ…

SQLの集約関数はnullの列を無視する

sum(), avg(), max(), min(), count(列名) は、nullの列を無視する。 特にavg()に注意。引数の列にnullがありえる場合は、合計の除数が期待しているものと違ってしまわないか注意する。 (ありがとうございました>ss2004さん)

「データベース設計論」を読む(3) -- ここが理解できないうちはサブセットは使えない

T字形でnullを排除する方法に、「形式的サブセット」の導入がある。 形式的サブセット 顧客マスタに「携帯電話番号」を置くと、携帯を持っていない人の同属性がnullになってしまう。 (まあ、nullにしないで空文字列でも入れておけばいいのかもしれないが*1…

T字形ER手法でnullを認めない理由(4)

今回はSQLが文字列のnullをどう扱うかを整理する。 文字列のnull 先週、後輩に「SQLで文字列の連結演算子を使って苗字と名前を連結すると、答えが空になってしまうのですが...」という相談を受けた。 検索対象にしたテーブルで、下の名前にnullが混入してい…

T字形ER手法でnullを認めない理由(3)

T字形からどんどん離れていくが、SQLでの算術演算について整理する。 算術演算のnull しつこいようだがおさらい。 SQLでのnullは「何か値があるはずだけど、今は分からない」という意味。 なので、nullに対して四則演算すると、何でもnullになる。 「何だか…