记录表和列在SQL Server数据库中的含义的好方法是什么?

时间:2011-03-09 13:38:02

标签: sql-server

我正在使用SQL Server 2008数据库进行C#项目。数据库中有50多个表,仅凭名称,这些表的目的及其中的列并不是很明显。我想创建一些形式的文档,以便未来的团队成员知道列和表的作用。

我正在寻找SQL Server等效的C#“代码注释”或“关于方法的XML文档” - 新人可以浏览一下以了解数据库表或列。

有哪些选择?

5 个答案:

答案 0 :(得分:5)

您可以添加extended properties

Viewing Extended Properties

e.g。显示AdventureWorks2008R2示例数据库中的所有扩展属性

USE AdventureWorks2008R2;
GO
SELECT class, class_desc, major_id, minor_id, name, value
FROM sys.extended_properties;
GO

Fun with Extended Properties in SQL Server 2008

答案 1 :(得分:4)

文档表列的简单方法是使用SQL Server Management Studio表设计器。填写每列的“描述”字段。

enter image description here

然后,您可以使用加入sys.extended_properties表的查询来查看表信息:

-- list table columns
SELECT OBJECT_NAME(c.OBJECT_ID) [TableName], c.name [ColumnName], t.name [DataType], x.Value [Description], c.max_length [Length], c.Precision ,c.Scale
FROM sys.columns AS c
JOIN sys.types AS t ON c.user_type_id=t.user_type_id
LEFT JOIN sys.extended_properties x on x.major_id = c.object_id and x.minor_id = c.column_id
WHERE OBJECT_NAME(c.OBJECT_ID) = 'Employees'
ORDER BY c.OBJECT_ID, c.column_id;

答案 2 :(得分:2)

Extended properties?可以在代码或GUI中设置

我们也使用Red Gate SQL Doc来发布我们的模式,扩展属性出现在这里的描述中。非常有用。

答案 3 :(得分:0)

文档本身就是一套完整的技能。良好的命名方法是好的,一致性也是如此,因此数据库中的风格没有任何变化。

除了使用SQL Diagrams之外,最好的方法是解释表和列的好文档。定义对象/表/列之间的整体结构和关系。如果概念更复杂,请给出解释,但让人们可以轻松地说出“这个专栏的作用是什么?”并快速找到答案,而无需通读一两段来理解。

答案 4 :(得分:0)

您是否愿意为此工作调查(并可能稍后投资)一个单独的工具?

如果是这样 - 看看这两个:

两者都不是免费的 - 它们确实需要花费一些钱 - 但是它们都能以HTML,PDF,CHM格式创建出色的质量文档 - 您的选择。他们还从数据库中获取每一小部分信息 - 对象之间的所有关系,列上的约束和默认值,以及很多

在我看来,如果你正在做任何认真的工作,我绝对值得投资。

相关问题