Javascript 只是将XML/JSON存储在数据库中,用于数据库中未使用的数据?
我有一个小数据库,其中包含一些基本的用户数据(uid、用户名、电子邮件、密码等),用于各种SQL查询和PHP,因此有一个完整的表结构是有意义的 然而,一个新特性将添加几个新表,其中每个用户将“拥有”这些表中的许多行(例如每个用户100KB的数据)。然而,从数据库的角度来看,我真正想做的就是为一个用户设置所有数据,或者为一个用户获取所有数据 然后,只能使用JavaScript在客户端查看和编辑数据。当然,JavaScript不能直接运行SQL查询,在数据被编辑并作为HTTP POST提交之后,通过跟踪用户所做的任何更改,尝试在PHP中组合正确的更新、插入和删除查询集。该会话有些复杂 相反,我的想法是在数据库中为每个用户设置一个文本字段,并在其中存储JSON或XML。然后,JavaScript可以被赋予填充HTML表的功能,在用户编辑完该表之后,JavaScript只需要从HTML表单收集所有数据并发布。然后,PHP只需要运行SQL查询来覆盖现有数据Javascript 只是将XML/JSON存储在数据库中,用于数据库中未使用的数据?,javascript,php,sql,xml,Javascript,Php,Sql,Xml,我有一个小数据库,其中包含一些基本的用户数据(uid、用户名、电子邮件、密码等),用于各种SQL查询和PHP,因此有一个完整的表结构是有意义的 然而,一个新特性将添加几个新表,其中每个用户将“拥有”这些表中的许多行(例如每个用户100KB的数据)。然而,从数据库的角度来看,我真正想做的就是为一个用户设置所有数据,或者为一个用户获取所有数据 然后,只能使用JavaScript在客户端查看和编辑数据。当然,JavaScript不能直接运行SQL查询,在数据被编辑并作为HTTP POST提交之后,通过
虽然这似乎是最简单的方法,但似乎确实有点误用了SQL DB。我还想知道,如果在第一种情况下由PHP生成最初的before edits表,而不是在文档加载后由JS生成,是否会更好?使用文本字段存储像您这样的情况的数据是一种常见做法。但是,如果您决定这样做,请考虑以下问题:
- 坚持固定格式。如果将数据存储为纯文本,请注意数据库将不再使用其机制来确保数据完整性和格式统一。因此,如果您有一些具有给定格式的记录,然后对其进行更改并使用新格式添加一些记录,则使用旧格式的记录将不再有效,除非您确保支持这两种格式。因此,您的数据格式应该足够成熟和一致
- 估计数据长度。您应该知道数据文本的长度,以确保它适合存储在其中的数据库列。有些数据库存在数据类型列不受限制的问题(如
),因此您应该了解数据库服务器以及部署配置。通常MySQL和PostgreSQL不会有问题,但根据我的经验,我在Informix方面遇到了严重的问题,所以数据库服务器很重要TEXT
- 不要依赖客户端代码。您提到要通过javascript创建数据。我建议至少将JSON提交到服务器并从中生成另一个JSON以存储在数据库中,或者以其他方式验证它。否则,黑客可能会添加恶意内容,或者执行DB注入,或者如果您在添加自由格式的客户端数据时不采取措施,则可能会破坏您的应用程序。但是,如果数据完全在服务器上生成,那么风险就更小