我正在 Apache 服务器上使用 PHP 构建 Web 应用程序。
该应用程序包含许多有关人员的可选数据。根据人员的类别(一个人可以属于多个类别),他们可以选择是否指定数据:家庭地址(街道、城市、国家/地区等 5 个字段)、工作地址(又是 5 个字段)、年龄、电话号码……当然,该应用程序也存储了一些额外的数据(创建、上次更新、用户名、密码、用户级别……)。
该应用程序的当前/过时版本在“用户”表中有 86 个字段,并且(取决于人员的类别)扩展了一个包含另外 23 个字段(1-1 关系)的附加表。
所有这些都存储在 Postgresql 数据库中。
我想知道这是否是处理此类数据的最佳方式。大多数记录有(很多)空字段,使数据库更大并且查询更慢。是否值得研究像三重商店这样的其他解决方案,还是我太担心它了,我应该只保留当前的设置吗?为网站的每个新目的只添加字段到表中似乎很奇怪并且感觉很尴尬。另一方面,我的印象是三合店还没有那么普遍。任何指示或建议如何解决这个问题?
我读过 Toby Segaran 和其他人的“Programming the semantic web”,但从那本书我得到的印象是三重存储和 RDF 的主要优势是通过网络交换信息(这不是我的应用程序的目标)