用户创建的数据存储在类似结构的表中

时间:2012-07-09 14:50:30

标签: c# asp.net sql xml

我有一个asp.net 4.0 c#应用程序,用户现在可以在该表中创建表并存储数据。已经为版本1决定的一件事是,一旦创建了表,就无法对其进行编辑,这纯粹是为了使其不那么复杂。如果能够编辑模式的位置,那将是一件好事。

我的第一个想法是在数据库中有一个表,每行代表每个“表”,一列将模式存储在xml中,然后第二列存储数据。在尝试提取数据时,我会将xml读入数据表中的数据,然后将其保存回db中的xml。任何想法建议或链接到其他人尝试这一点将不胜感激!

提前致谢。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到:

  1. 您可以通过“创建表格”sqls生成真实表格。这将为您提供最佳性能,但从数据库管理员的角度来看,这将是一场噩梦。如果你没有经验,不要这样做。

  2. 制作表格:MyTable,MyColumn,MyRow和MyCell。

    • MyTable会有MyTableID(主键)和Name,
    • MyColumn将具有MyColumnID(主键),MyTableID(外键),名称
    • MyRow会有MyRowID(主键),MyTableID(外键)
    • MyCell将拥有MyCellID(主键),MyColumnID(外键),MyRowID(外键)和Value(大变量字符串)

    这样你至少可以使用SQL来查询,搜索和修改你的数据,性能会比使用XML更好(尽管不如使用“create table”SQL时那么好。)

  3. 您可以使用NoSQL数据库。他们中的许多人没有严格的结构,可以存储类似JSON的东西,因此您几乎可以存储其中的所有内容。这个解决方案有许多缺点(例如缺少SQL而没有ACID事务完整性),但它可能适用于您的情况。从What NoSQL solutions are out there for .NET?

  4. 开始