如何在 php mysql 中处理动态模式和动态数据?
Posted
技术标签:
【中文标题】如何在 php mysql 中处理动态模式和动态数据?【英文标题】:How to handle dynamic schema and dynamic data in php mysql? 【发布时间】:2014-09-27 20:22:24 【问题描述】:我将构建一个中等规模的应用程序,其要求是动态创建 Web 表单,这些表单将通过永久链接提供,然后数据输入操作员将在这些表单中输入数据。该数据将用于对其应用统计操作。
这里有几个问题。
-
如何管理动态模式以输入数据,是否应该为每个表单生成单独的表(可能有数千个表单)?
php/codeigniter中有开源框架吗?
我应该考虑少架构 /Nosql 数据库吗?
【问题讨论】:
【参考方案1】:你可能会喜欢我的演讲Extensible Data Modeling with mysql。我讨论了动态模式的要求和几种解决方案。
额外的列 实体-属性-值 类表继承 序列化 LOB 和倒排索引 在线架构更改 非关系型数据库每种解决方案都有自己的优势和劣势。了解它们可以为您提供更多在给定应用程序中使用的工具。
对于存储表单数据,我建议使用序列化 LOB 和倒排索引,或者使用可以索引文档中的字段的非关系数据库。
【讨论】:
感谢您的精彩演讲。读完之后,我将采用序列化 LOB 和倒排索引,但我担心模式更新。如果表单被更改,数据会发生什么?那么搜索呢? 另外,是否可以使用序列化 LOB 和倒排索引技术创建数据透视表查询? 使用序列化 LOB,您可以插入任何您想要的表单数据。先前插入的现有数据不会更改。您必须手动更新倒排索引。透视查询必须使用倒排索引字段。以上是关于如何在 php mysql 中处理动态模式和动态数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php/Mysql 动态更改 CSS 样式。我想创建每个用户独有的主题?