将用户地址存储到欧洲数据库中的最佳方式?
Best way to store users address into european database?
我想将用户的地址(国家-地区-城镇)存储到数据库中。该数据库是欧洲应用程序的核心。我有 table 个国家和每个国家,我有两个 table,一个用于区域,一个用于 towns/cities。
那么,将用户地址存储到数据库中的最佳方式是什么?
我可以为每个国家/地区创建不同的 tables 并将它们重命名为 "users_italian"、"users_french" 列 "idUsers" 和 "idTown" 我应该将它们与各自的城镇 table。这很简单,但这种模式并不能说服我,因为会有太多 tables.
或者我可以用 "idUsers" 和 "idCountry"(外键)创建一个 table "users_country",我应该将地区和国家记住到另一个 table "users_address" 与 "idUsers"、"region" 和 "town",但具有字符串日期类型,示例:
用户(idUsers:1, email:useremail@mail.com, psw:secrethashedpsw, token:secrettoken)
国家(idCountry:1,国家:"United Kingdom")
users_country (idUsers:1, idCountry:1(指英国))
users_address (idUsers:1, region:"England", town:"London", zip: SW1H 0TL (example))
而且这个模式也不能说服我,因为数据库不会规范化,但是实现起来很简单!查询 select 也很简单。我可以创建关于 "users_region"、"users_town" 和 "users_zip" 的不同 table,但是用字符串存储并不能说服我。
谁能帮帮我?
每个国家一个 table?不!
有一个 users
table。本来
方案A:地址和城市+地区+国家。
B 计划:地址加 id 链接到(标准化的)table 个城市。 Cities
包含城市+地区+国家。
例如,标准化国家/地区会增加复杂性而不会增加任何好处。
我想将用户的地址(国家-地区-城镇)存储到数据库中。该数据库是欧洲应用程序的核心。我有 table 个国家和每个国家,我有两个 table,一个用于区域,一个用于 towns/cities。 那么,将用户地址存储到数据库中的最佳方式是什么?
我可以为每个国家/地区创建不同的 tables 并将它们重命名为 "users_italian"、"users_french" 列 "idUsers" 和 "idTown" 我应该将它们与各自的城镇 table。这很简单,但这种模式并不能说服我,因为会有太多 tables.
或者我可以用 "idUsers" 和 "idCountry"(外键)创建一个 table "users_country",我应该将地区和国家记住到另一个 table "users_address" 与 "idUsers"、"region" 和 "town",但具有字符串日期类型,示例:
用户(idUsers:1, email:useremail@mail.com, psw:secrethashedpsw, token:secrettoken)
国家(idCountry:1,国家:"United Kingdom")
users_country (idUsers:1, idCountry:1(指英国))
users_address (idUsers:1, region:"England", town:"London", zip: SW1H 0TL (example))
而且这个模式也不能说服我,因为数据库不会规范化,但是实现起来很简单!查询 select 也很简单。我可以创建关于 "users_region"、"users_town" 和 "users_zip" 的不同 table,但是用字符串存储并不能说服我。
谁能帮帮我?
每个国家一个 table?不!
有一个 users
table。本来
方案A:地址和城市+地区+国家。
B 计划:地址加 id 链接到(标准化的)table 个城市。 Cities
包含城市+地区+国家。
例如,标准化国家/地区会增加复杂性而不会增加任何好处。