Customers、Countries、States、および Cities という名前のデータベース テーブルがあるとします。個々の顧客には、Cities テーブルにリンクする CityID フィールドがあります。各都市には StateID フィールドがあり、これは州テーブルにリンクされており、国についても同様です。
顧客の完全な住所がわかっている場合、これはすべて簡単ですが、国しかわからないこともあれば、州しかわかっていないこともあります。私たちは常に都市を持っているわけではありません。
これをどのように処理しますか?私たちは国を救いたいと思っていますが、都市を知らなければできません。
顧客テーブルに StateID フィールドと CountryID フィールドを追加することもできますが、これは設計が不十分なようで、データの一貫性が失われる可能性があります。
誰でも何か提案はありますか?これはかなり標準的な質問だと思いますが、良い答えが見つかりません。
PS 以下の Jaffar のコメントへの回答として、これを行う理由は、顧客がどこに分散しているかを分析する必要があるためです。クライアントは非常に高価な医療用スキャナーを病院グループに販売しており、注文時にどのサイトがスキャナーを受け取るかを常に知っているわけではありません。したがって、可能な限り多くの情報を指定できるようにする必要があります。それは、国のみ、州、都市などです。
現在、これを行う必要があるのは米国のみですが、クライアントが分析を他の国に拡大したい場合に備えて、柔軟なアプローチを提供したいと考えています.