如果我要创建一个数据收集应用程序,使用户能够收集多种数据类型,那么存储自定义数据的最佳方式是什么?
予。 E.用户1可能想要存储用户名,电子邮件,地址,而用户2可能想要存储用户名,密码和电话号码。
显然,这些数据类型不同,根据基于列的设计,一个表不能适应差异,最适合的方法是什么?
答案 0 :(得分:3)
这是一种非常常见的情况,因为许多网站都允许您根据需要使用尽可能多的信息填写您的个人资料(除了必填字段),因此他们需要灵活的存储空间。立即想到这些选项:
选项1
如果您需要一种快速过滤,排序或以其他方式处理这些属性的方法,数据库表仍然是您最好的选择。您不必担心将不同的数据类型放在同一列中:拥有username
列,phone
列,email
列...当您设计时表,只允许可选字段为NULL
,并在您没有信息时将其留空。
选项2
如果您只想存储信息,可以使用XML
或JSON
格式。这些非常灵活,允许您将所需的任何数据存储在单个文件中(每个用户都有匹配的文件),在一个大文件中,或者再次存储在只有id
的数据库表中,一个{ {1}}以及将存储数据的通用username
列。当您需要数据时,只需打开文件或查询数据库并使用userdata
或simplexml_load_string
功能解压缩。