设计地址和客户模型

时间:2011-05-29 17:09:55

标签: database class model street-address

我在设计地址和客户类(模型)时遇到了问题。

class Customer
    (String) first_name
    (String) last_name
    (String) document_id
    (String) phone
    (String) email
    (Address) contact_address
    (Address) billing_address

class Address
    (String) street
    (String) block
    (String) apt
    (Location) location

class Location
    (String) zip_code
    (String) city_name
    (State) state
    (Country) country

class State
    (String) name
    (Country) country

class Country
    (char[2]) tld
    (String) name

但State.country中的信息与Location.country相比翻了一番。 但是,我无法想象一种情况,即不将国家分配给国家。 否则,如果我从Location类中删除country字段,那么从一个国家/地区获取所有位置对象将会很奇怪。

我错过了什么吗?

怎么样:

class Address2
    (String) street
    (String) block
    (String) apt
    (String) zip_code
    (String) city_name
    (String) state
    (String) country

但是我将丢失有关tld的其他信息,我将在Location.state和Location.country中存储重复(未优化)的数据

1 个答案:

答案 0 :(得分:0)

为什么在Location类中需要一个国家/地区?

就像您可以从state.countryId检索tld一样,您可以从location.stateId检索国家/地区。