我正在开发支持 php 和 mysql 的网络应用程序。我有一个名为 users 的表,在这个表中我存储了一些信息,例如用户名、名字和姓氏、电话号码等。在我的应用程序中,用户可以输入一些可选信息,例如电子邮件通讯选项、公司名称(如果有效的话.. ) 或网站网址。所有这些信息(应用程序有大约 20 种可选信息类型)都是可选的。在这种情况下,哪种数据库设计才是正确的?
也许我可以将所有额外信息存储在数组中并使用序列化并保存到数据库,然后在读取数据时我应该使用反序列化但这种方式有一些缺点。我正在等待想法,谢谢。
最佳答案
如果您使用 php 的序列化将额外数据序列化到一列中,您将永远无法查询该数据。在 IE 中,如果你想查询拥有类似“http://www.foo.com”网站的用户,你不能这样做,因为该数据是序列化的。
我通常不喜欢在我的数据库中存储序列化数据,除非没有办法解决它。
关于php - 简单的数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453305/