php - 在一个 SQL 列中保存多个元素的好方法?

标签 php mysql database

我正在为网站建模 MySQL 数据库。

我现在正在制作'people' 表,并决定需要哪些

person 有一个name 列,
我想添加alias 列,其中包含各种约定中的名称.

例如,一个名字是“迈克尔· jackson ”的人可能有别名,例如“M. jackson ', “ jackson ,M”,或 “M.J.”

反正每个人的别名数量都可以不同,那么什么数据类型才是合理的呢?

alias 字段作为 Varchar 并将每个别名放入其中,并在 PHP 中拆分它们?

或者在 PHP 中根据名称动态创建别名?而不是将其放入数据库?

我正在等待好的建议,谢谢!

最佳答案

这样做的规范化方法是有一个单独的别名表,其中包含人员 ID 字段和别名字段,并建立多对一关系。另一种方法是如您所说,一个包含所有别名的 VARCHAR 字段并在 PHP 中拆分它们。如果您永远不需要搜索别名,这应该可行,但规范化版本更清晰。

关于php - 在一个 SQL 列中保存多个元素的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059641/

相关文章:

php - 无法更新 Composer ,收到弃用通知

php - 服务器丢失 "ldap.so"

python - Django:将数据从 SQLite 移动到 PostgreSQL

mysql - 如何在嵌套的两级子查询中使用外表?

c# - Sql Server和.Net是如何处理一个存储过程的

php - 我的数据不会更新 php - sql

javascript - AJAX/PHP ajax 数据/回显返回 "?>"

php - willdurand hatoas bundle 的分页路由问题

mysql - 修复 mysql 错误 #1064

mysql - 为什么以及在哪里使用索引 - 优点和缺点