t_wの輪郭

Feedlyでフォローするボタン

あれ

2024/5/24 23:35:00

書きかけ

オブジェクト指向的な発想では、データベースにpersonというテーブルがあったときに、personテーブルのカラムとしてnameを持つことになる。そして、ソフトウェア開発の現場ではしばしば「personはnameを持つ」と呼ぶ。したがって「nameはpersonに属する」と認知されている。

しかし、発想を逆転すると、「あるpersonの個体(つまりレコード)は、あるnameの個体の集合に属する」という見方ができる。具体的かつ日本語にすれば、「personの個体であるところの田中さんは、nameの個体であるところの"田中"という集合に属している」。

上記をテーブルにするならば、personテーブル、nameテーブル、


ソフトウェア開発ではしばしば、「テーブル間の関係が1対1であると思われていたが、実は1対多だった」あるいは、「実は多対多だった」ということが発生する。実際、多くのプログラマーの認知に反して、人と名前の関係は1対1ではない。