我需要在数据库中即时创建动态表。例如,在数据库中我将命名为:
Table
Column
DataType
TextData
NumberData
DateTimedata
BitData
在这里,我可以在名为 table 的表中添加一个表,然后我可以将所有列添加到 columns 表中的该表,并将数据类型关联到每一列。
基本上我想创建表而不实际在数据库中创建表。这可能吗?如果是这样,你能指引我到正确的地方,以便我进行研究吗?另外,我更喜欢 sql server 或任何免费的数据库软件。
谢谢
最佳答案
您所描述的是一个 entity-attribute-value model (EAV) .这是一种非常糟糕的数据模型设计方法。
虽然数据模型非常灵活,但查询这样的数据模型却相当复杂。如果您想选择或过滤 n
个不同的属性,您通常最终不得不自行加入一个表 n
次。这变得很慢,而且变得相当难以相对快速地优化。
此外,您通常最终会构建数据库或 ORM 将提供的大量功能。
关于mysql - 动态创建表的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127814/