プログラマの抱いている不動産データについての誤謬
こんにちは。ソフトウェアエンジニアのyasuandです。株式会社estieのデータマネジメントグループ(DMG)という部署で、登記簿データの管理システムを作っています。
登記簿に限らず不動産データと日々触れ合っていると、時々”変な”データと出会うことがあります。住所の読みが面白いという程度ならその場でスルーして終わりなのですが、なかにはデータモデリング上の扱いが問題になるものも存在します。
そこで今回は『プログラマの抱いている名前についての誤謬』をオマージュして『プログラマの抱いている不動産データについての誤謬』というタイトルで、建物を中心とした不動産データに関して多くの方が誤解しているであろう点を10個厳選しました。それぞれ解説もつけているので、ぜひご覧ください。
1. 同じ住所の建物は存在しない
複数の建物が同じ住所になっていたら、郵便物や荷物を配達するときに困りますよね!
解説
建物の住所の表し方には、建物の建っている土地の地番を使う地区と、地番とは独立した住居表示を使う地区があります。住居表示は一定の規則によって定められます。
住所のつけ方について(住居表示制度)|武蔵野市公式ホームページ
このように、住居表示で主に使われる街区方式においては建物の入り口の位置をもとに住居表示を決めるため、建物の入り口が近接している場合は複数の建物に同じ住居表示が割り振られることがあります。
制度上は住所が重複しないよう住居番号に対して枝番をつけて建物を区別することも可能ですが、その運用は自治体によってまちまちです。
そのため、建物を区別するユニークキーとして住所を使うことはできません。郵便の宛名書きには必ず住所だけでなく建物名を書き忘れないようにしましょう。
2. 建物の住所は1つしかない
建物に住所が複数あったら、どちらの住所を書けばいいのか迷いますよね!
解説
まずわかりやすい例として、浜松市役所の住所が2024年1月1日 静岡県浜松市中区元城町103-2 から 静岡県浜松市中央区元城町103-2 に変わったように、自治体の合併や再編により住所が変わることがあります。「1. 同じ住所の建物は存在しない」の解説で登場した住居表示を新たに実施する場合や、区画整理が行われる場合も住所が変わります。そのため、建物の住所は固定ではなく変わりうる値です。
それでは「1つの建物には同時に別々の住所が割り振られることはない」かというとそうとは限りません。例えば中央区社会福祉協議会の入居している建物は、入口によって別々の住所( 東京都中央区八丁堀4丁目1-4 と 東京都中央区八丁堀4丁目1-5 )が割り振られています[1]。
したがって、データベースで建物の住所を正確に扱おうとすると、複数の住所とその履歴を保存する必要があります。
3. 同じ住所の建物はおおよそ同じ場所にある
いくら住所だけでは建物の区別ができなかったり複数の住所が1つの建物に割り当てられていたりするとはいえ、同じ住所の建物はおおよそ同じ場所にあるはずです!
解説
例えば 中央区日本橋1丁目1-1 という住所は東京都中央区の日本橋(にほんばし)と大阪府大阪市中央区の日本橋(にっぽんばし)の両方に存在していて、どちらを指しているのか区別できません。
それでは都道府県を省略せずに書けば必ず住所を区別できるかというとそうではありません。例えば 京都府京都市上京区今出川町 という地名がありますが、これは京都御所の北西角以外に上京区内の離れた場所にもう1箇所存在します。ただし、京都市では住所表記に通り名が使われるため、通り名を住所に含めることで、2箇所ある今出川町を区別できます。
4. 建物は必ず1つの市区町村に属する
住所には市区町村名は1つしか書けないので、建物は必ずちょうど1つの市区町村に属するはずです!
解説
「自治体をまたいで建物を建ててはいけない」という規定はなく、複数の自治体にまたがる建物はもちろん存在します。例えばBizcore御茶ノ水というオフィスビルは、東京都千代田区と東京都文京区で二分されるように建っています。
そのため、特定の市区町村に建っている建物を完璧に列挙しようとすると、建物一棟に対して複数の市区町村のリストを持つ必要があります。
なお、日本には市区町村どころか都道府県をまたいで建っている建物も存在します。
5. 建物は用途で明確に分類できる
オフィスビルに人は住みませんし、物流倉庫に人が宿泊することはありません。したがって、建物はその用途でオフィス・住宅・物流施設・ホテルなど明確に分類できるはずです!
解説
複数の用途の区画が1つの建物にまとまったビルのことを、複合ビルといいます。例えば横浜ランドマークタワーの場合、主に低層階は商業施設、中層階はオフィス、高層階はホテル、と使い分けされています。
横浜ランドマークタワーのような巨大なビルでなくても、マンションの1階をコンビニやコインランドリー、駐車場など住居以外の用途で使っている例は枚挙にいとまがありません。
このように、建物の用途もデータベース上では複数保存する必要があります。
6. 同じ名前の建物は存在しない
建物の名前が被っていたら、建物を区別できなくて困りますよね!
解説
田中ビル など個人名をそのまま建物名にしている場合、建物名が被りがちです。
また、離れた場所にある建物の名前が被っているケースだけでなく、近接した場所に同じ名前の建物があるケースもありますし、さらにはアパートなどで同じ敷地に建っている物理的に分かれた複数の建物に対してまとめて同じ名前をつけているケースすらあります。
このため、建物名では建物を特定することはできません。
「同じ名前の建物は存在しない」と書かれるとそんなわけがないと気づきやすいと思いますが、日常会話のレベルでは「データベース上は本町ビルは7階建てだけど実際は8階建てなのでデータ修正してください」と前置きなく言われてどの 本町ビル のことを言っているか特定できない、ということはよくあります。
7. 建物には必ず名前がただ1つ存在する
名無しの建物や名前の複数ある建物は、どう呼んでいいか呼び方に困りますよね!
解説
当然ですが個人宅には基本的に名前がついていませんし、建築中の建物には仮称しかついていない場合が多いです。
また、建物名を変えた際に旧称が併記されたり、なかには複合ビルで建物の用途によって名前を呼び分けたりと、名前を複数持つ建物も存在します。
建物名は building_name なんて文字列型のカラム1つでは表しきれないですし、簡単のためにたとえ代表的な名前を一つだけ選んだ building_name カラムを作ったとしても、そのカラムをnon-nullにはできないのです。
8. 建物の所有者はただ1人
複数人で持っていたら税金や収入の配分はどうするんでしょうね?
解説
わかりやすい例だと、分譲マンションは建物全体ではなく各戸それぞれに所有者がいます。
分譲マンションでなくとも、夫婦で戸建ての家を建てた場合など一棟の建物に複数の所有者がいる例は建物の種類を問わず広く存在します。
さらに建物の所有のしかたにも共有や区分所有、信託受益権などさまざまな形態が存在するため、建物の現在の所有者を記録するだけで一苦労です。
9. 建物には地上部分が存在する
建物全体が地下に埋まっていたら、建物への出入りのしようがないですよね!
解説
地上0階建ての建物が存在します。出入りのための階段部分が開口部になっていて、そこから出入りするようです。
このような建物は珍しいとはいえ存在するので、「建物のデータベースにおいて建物の階数がわからない場合は0を埋める」なんてことはしないようにしましょう。
10. 賃貸物件の賃料の正解が存在する
オフィスを借りるにせよマンションを借りるにせよ、賃貸物件には募集条件があります。そこに載っている賃料が当然、賃貸物件の賃料の正解ですよね!
解説
まず、データとして公開されている賃料は、賃貸物件への申し込み経路によって異なる場合があります。そのため、ひとくちに賃貸物件の募集時の賃料といっても必ずしも1つの正解があるとは限りません。
また、賃貸契約の際には賃料を含めた条件交渉が行われることがあり、募集時の賃料と実際に契約した賃料が一致するとも限りません。
このように、「賃貸物件の賃料」について話す場合は、定義をより明確にしないと、人によって想像しているものが異なり話が食い違う、という状況になってしまいます。
なお、実際の賃貸物件の契約条件としては、毎月定常的にかかる賃料や管理費だけでなく契約後数ヶ月間賃料が無料になるフリーレント期間があるなど、場合によってかなり複雑な仕組みになっています。
おわりに
今回挙げた10個の誤謬の多くは、日本語で説明されたり冷静になって考えたりすると当たり前に感じられたかもしれません。しかし、ソフトウェアエンジニアが不動産データを扱うという視点で見ると、今回挙げた誤謬の部分をつい単純化してシステム設計してしまいがちです。蓄積したデータを有効活用できるように真正面からこの複雑さを扱うのか、あるいは簡便さのために考慮しないことにするのか、というのがestieでのエンジニアリングの難しい点の一つであり、それと同時に面白い点の一つでもあります。
今回の記事を見て興味を持った方、こんなデータを乗りこなす自信のある方、ご応募お待ちしております!まずは下のリンクからどうぞ!
-
なお、これらの住所はどちらも両隣の建物と重複しています。 ↩︎
Discussion