Jas*_*ley 2 database-design sql-server relational-theory
我有几个表将代表一个可以评论的对象。我想将所有评论存储在一张表中。为了将其他表与评论相关联,我想为每个表添加一个 CommentParentId 列。该列需要在与评论表相关的所有表中都是唯一的,所以我正在考虑创建一个表,CommentParents,它只有一个 Id 列,以便让 DB 处理生成 Id。例如:
编号
标题
正文
用户
日期
CommentParentId
编号
标题
正文
用户
日期
CommentParentId
ID
标题
用户
文件
日期
CommentParentId
Id
名称
电子邮件
DateJoined
CommentParentId
ID
因此,该表将仅用于创建新的 Id。有没有另一种方法可以做到这一点?有哪些优势?
我正在使用 SQL Server 2014
小智 5
如果这是 CommentParents 表的唯一目的,您可以利用序列对象来促进生成 ID 的机制。有关更多详细信息,请查看TechNet SQL Server 2014 序列文档的 TechNet 文档。这个序列对象会做而您当前的表不能做的是允许您提前获取一个值并将其分配给一个变量,而无需担心执行 INSERT/SELECT SCOPE_IDENTITY() 过程。此处的优势在于,由于需要维护元数据开销,SQL Server 对 Sequence 对象进行缓存,因此您当前的设计在大规模上会崩溃。
归档时间: |
|
查看次数: |
207 次 |
最近记录: |