php - 什么更好?国家、州和城市是否在数据库中?

标签 php mysql integrity

我正在使用 PHP 和 MySQL 开发一个用户可以注册的网站。在注册表中,他们需要填写国家、州和城市。我想知道将它保存在我的数据库中是否是个好主意。我很困惑,因为 Facebook、谷歌和其他公司有自动完成表格,这些输入标签会向您建议国家、州甚至城市。

最佳答案

您不应该单独保存所有三个,例如 country_idstate_idcity_id。原因是这是冗余信息。一个城市隐含地属于一个州属于一个国家。您不会通过将它们保存为单独的值来获得任何信息,而只会引入混淆数据的风险(因为您可以将Japan、Washington、Berlin 保存为一个集合,这是无效且不一致的信息)。

您应该在您的数据库中创建一个分层树。城市有母国有母国。然后你只需要询问用户他们的城市,所有其他信息都是隐式的。从哪里获取数据是另一个主题。例如,您可以尝试使用 Google 的 API。

关于php - 什么更好?国家、州和城市是否在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6605860/

相关文章:

php - 警告 : mysqli_query() expects parameter 1 to be mysqli, 资源给出

javascript - Highcharts:未在 getJSON 上呈现

mysql - 从 Amazon VPC 连接到 MySQL

rest - 自 Content-MD5 已弃用以来,使用 HTTP header 进行消息完整性检查?

git - 如何验证 git merge 不包含额外的更改?

php - 用 php 搜索和替换 base64 图像字符串

php - 如何拆分包含多个工作表的 Excel 文件?

java - 获取 json 错误 : end of input at character 0 of

mysql - 如何备份MySQL数据库?

security - 加密能保证完整性吗?