php - 简单的数据库设计问题

标签 php mysql database database-design

我正在开发支持 php 和 mysql 的网络应用程序。我有一个名为 users 的表,在这个表中我存储了一些信息,例如用户名、名字和姓氏、电话号码等。在我的应用程序中,用户可以输入一些可选信息,例如电子邮件通讯选项、公司名称(如果有效的话.. ) 或网站网址。所有这些信息(应用程序有大约 20 种可选信息类型)都是可选的。在这种情况下,哪种数据库设计才是正确的?

也许我可以将所有额外信息存储在数组中并使用序列化并保存到数据库,然后在读取数据时我应该使用反序列化但这种方式有一些缺点。我正在等待想法,谢谢。

最佳答案

如果您使用 php 的序列化将额外数据序列化到一列中,您将永远无法查询该数据。在 IE 中,如果你想查询拥有类似“http://www.foo.com”网站的用户,你不能这样做,因为该数据是序列化的。

我通常不喜欢在我的数据库中存储序列化数据,除非没有办法解决它。

关于php - 简单的数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453305/

相关文章:

php - Android中C2DM的一些查询

php - 关系中的 Laravel 侦察搜索

php - 如何将带有外键的 NOT NULLABLE 列添加到已包含数据的现有表中?

Mysql 在一个简单的选择后关闭了带有 30k COM_FIELD_LIST 警告的连接

php - 数据库建模 : best aproach for multiple categories for multiple elements

PHP:合并/添加多维数组?

php - 将 PHP while 循环转换为使用 PDO

asp.net - 使用 asp.net (VB) 从 MySQL 中选择、更新、插入和删除的脚本?

ios - iOS 应用内购买交易 ID 是否始终为长整数?

database - 在数据库中存储什么标记语言?