【问题标题】:How automatically create SQL Server relationship diagram?如何自动创建 SQL Server 关系图?
【发布时间】:2016-09-30 10:11:27
【问题描述】:

我是 SQL Server 的新手。在上一份工作中,我使用 Postgres 和 MySQL。但现在我面临着与 SQL Server 相关的任务。我在数据库中发现了非常奇怪的事情,我应该工作。不存在任何关系!

SQL Server 正常吗?如何根据主键自动连接表?还有其他想法吗?

ER图截图:

【问题讨论】:

  • 与其他大多数 DBMS 产品一样,SQL Server 中的外键关系是可选的,尽管是最佳实践。创建它们是开发人员或 DBA 的责任。一些建模工具可以根据定义的主键和列命名约定自动检测可能的关系。提及您用于创建 ERD 的工具可能会对您有所帮助。
  • 感谢您的回复!我正在使用 MS SQL 服务器管理工​​作室,我也已经尝试过 DBVisualizer。你对他们有什么建议吗?
  • 您是否尝试过 SSMS 中提供的数据库图表选项?
  • @Vicky 是的,它显示了所有没有关系的表
  • 如果数据库的创建者没有创建任何外键,则没有任何关系可以显示。如果数据库创建者根本没有创建任何关系,并且认为 3 字母表名是个好主意[由于 SO 适当性规则而编辑]

标签: sql-server sql-server-2008 tsql ssms


【解决方案1】:

除非您正在谈论创建数百个 FK,否则最好通过 SSMS 数据库图或通过 sql 脚本手动添加这些关系。 如果可能的关系数量非常大,或者您希望将来必须再次执行此操作,您可能希望查看 SMO(SQL 管理对象)并使用 Powershell 或小型 C# 程序编写 tsql 脚本加入这些表。但是您需要确保在您可以利用的列和表之间存在可重复的模式/命名约定。例如:

表格1 ID 姓名 表2 ID 表 1ID 姓名

在这里您可以将 Table1ID 视为引用 Table1.ID 的 FK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    相关资源
    最近更新 更多