我正在为网站建模 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/