pte*_*ohn 5 sql-server asp.net sql-server-2000 database-schema
我的任务是创建一个应用程序,允许用户将数据输入到将保存的Web表单中,然后最终用于填充pdf表单字段.
我很难想出一种将字段值存储在数据库中的好方法,因为表单将是动态的(基于pdf字段).
在应用程序本身中,我将在哈希表(fieldname,fieldvalue)中传递数据,但我不知道将哈希值转换为db值的最佳方法.
我正在使用MS SQL server 2000和asp.net webforms.有没有人在做类似的事情?
您是否考虑过在这里使用文档数据库?他们解决的正是这类问题,比传统的 RDBMS 解决方案要好得多。就我个人而言,我是RavenDb的忠实粉丝。另一个相当不错的选择是CouchDb。我会避免使用 MongoDb,因为它确实不是当前实现中数据的安全位置。
即使您无法使用文档数据库,您也可以通过将表设置为在传统列中包含一些元数据以及序列化 XML 或 json 的有效负载字段,使 SQL 假装为文档数据库。这将让您在远离 EAV 领域的情况下搜索元数据。EAV-land 是一个可怕的地方。
更新
我不确定是否存在好的指南,但这个概念非常简单。基本思想是将要查询的部分分解为表中的“正常”列——这使您可以以标准方式进行查询。当您找到所需的记录时,您可以获取 CLOB 并根据需要对其进行反序列化。在你的情况下,你会有一个看起来像这样的表:
SurveyAnswers
Id INT IDENTITY
FormId INT
SubmittedBy VARCHAR(255)
SubmittedAt DATETIME
FormData TEXT
Run Code Online (Sandbox Code Playgroud)
一些建议:
a) 使用基于文本的序列化例程。给您一个修复数据错误的机会,并且确实有助于调试。
b) 对于 SQL 2000,您可能需要考虑将 CLOB(保存负载数据的 TEXT 字段)分解为单独的表。我已经很久没有使用 SQL 2000 了,但我的记忆是使用 TEXT 列对表做了坏事。
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |