我有一个小型数据库,其中包含一些基本的用户数据(uid、用户名、电子邮件、密码等),供各种 SQL 查询和 PHP 使用,因此在那里拥有完整的表结构是有意义的。
然而,一项新功能将添加一些新表,其中每个用户将“拥有”这些表中的许多行(例如每个用户 100KB 的数据)。但是从数据库的角度来看,我真正想做的就是为一个用户设置所有数据,或者为一个用户获取所有数据。
然后,数据将只能在客户端使用 JavaScript 进行查看和编辑。当然,JavaScript 不能直接运行 SQL 查询,并且在数据被编辑并作为 HTTP POST 提交后,通过跟踪用户所做的任何更改来尝试在 PHP 中组合正确的 UPDATE、INSERT 和 DELETE 查询集那次会议有些复杂。
相反,我想的是在数据库中为每个用户提供一个 TEXT 字段,并在其中存储 JSON 或 XML。然后可以只为 JavaScript 提供填充 HTML 表格的功能,在用户完成编辑该表格后,JavaScript 只需要从 HTML 表单中收集所有数据并将其发布。然后 PHP 只需要运行 SQL 查询来覆盖现有数据。
虽然这似乎是最简单的方法,但它似乎有点滥用 SQL DB。我还想知道如果最初的编辑前表在第一种情况下由 PHP 生成,而不是在文档加载后由 JS 生成,是否会更好?