Muh*_*han 5 sql database database-design
在我们的应用程序中,用户可以创建不同的列表(例如sharepoint),例如用户可以创建汽车列表(名称,型号,品牌)和学生列表(姓名,dob,地址,国籍)等.
我们的应用程序应该能够查询列表的不同列,因此我们不能只序列化每一行并将其保存在一行中.
我应该在运行时为每个新创建的列表创建一个新表吗?如果这是最好的解决方案,那么我认为可能Microsoft SharePoint也会做到这一点?
我应该使用以下架构吗?
Lists (Id, Name)
ListColumns (Id, ListId, Name)
ListRows (Id, ListId)
ListData(RowId, ColumnId, Value)
Run Code Online (Sandbox Code Playgroud)
虽然单行会在列表数据表中创建与列表中的列一样多的行,但这感觉不对.
你有没有处理过这种情况?你是怎么在数据库中处理它的?
也许一个潜在的解决方案是创建列表可以涉及CREATE TABLE这些实体/列表的语句?
听起来数据库结构或模式可以在运行时或用户的命令下更改,所以也许这样的东西可能有帮助?
正确编码后,我们正在满足给定的要求:让用户创建新实体。这里没有提到规模。当然,这需要清理所有输入、参数化查询、记录操作等。
下面的负面评论实际上并没有给出任何充分的理由,而是造成了一些 FUD。我有兴趣解决有关此潜在解决方案的任何问题。我们还没有听说过规模、安全性、性能或使用情况(内部 LAN 与互联网)。
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |