【问题标题】:How could I create relationships between tables in JetBrains' DataGrip?如何在 JetBrains 的 DataGrip 中创建表之间的关系?
【发布时间】:2016-05-07 00:39:33
【问题描述】:

我在工作中使用 JetBrains 的 DataGrip。没关系,但我不知道如何在这张图片中创建表之间的关系:

【问题讨论】:

    标签: jetbrains-ide datagrip


    【解决方案1】:

    试试这个创建 3 个表的小 SQL 脚本。我想你会发现这项工作很好。

    CREATE TABLE product (
        category INT NOT NULL, id INT NOT NULL,
        price DECIMAL,
        PRIMARY KEY(category, id)
    );
    
    CREATE TABLE customer (
        id INT NOT NULL,
        PRIMARY KEY (id)
    );
    
    CREATE TABLE product_order (
        no INT NOT NULL AUTO_INCREMENT,
        product_category INT NOT NULL,
        product_id INT NOT NULL,
        customer_id INT NOT NULL,
    
        PRIMARY KEY(no),
        INDEX (product_category, product_id),
        INDEX (customer_id),
    
        FOREIGN KEY (product_category, product_id)
          REFERENCES product(category, id)
          ON UPDATE CASCADE ON DELETE RESTRICT,
    
        FOREIGN KEY (customer_id)
          REFERENCES customer(id)
    )   ;
    

    【讨论】:

    • 请注意...这仅适用于 DataGrip,前提是您的架构是小写的(我刚刚报告了该错误)。
    【解决方案2】:

    这是一个两步程序。第一步,您必须修改表以添加外键约束定义。第二步,可以显示表格图。

    首先,右键单击 DataGrip 中的表格名称,然后选择修改表格。您将看到四个选项卡:ColumnsKeysIndicesForeign Keys。选择 选项卡。右键单击要成为外键​​的列名,然后选择新建外键。该窗口将切换到其 外键 选项卡,其中填写了一些信息。填写您的“目标表”。您可能还必须在 SQL 语句的 REFERENCES 短语中写入目标列名。现在查看修改表窗口中的所有信息,如果满意,请单击“执行”。

    其次,再次右键单击 DataGrip 中的表格名称,这次选择 图表 > 显示可视化。您现在应该会看到一个图表,其中显示了原始表和引用表之间的关系。

    在 DataGrip 帮助中,您可以查看使用数据库工具窗口页面以了解其修改表、列、索引或主键或外键的定义 em> 部分。那里有一个非常简短的程序说明。

    Wikipedia 在其 Defining foreign keys 文章部分中有一个示例,在 DataGrip 的 Modify Table 窗口中工作时可能对您有用。

    我在DataGrip 2017.1.3中做了这个过程,不知道其他版本有没有变化。

    【讨论】:

      【解决方案3】:

      通常:从上下文菜单或按 Ctrl+Alt+U。

      如果你找到了这张图片,再往下走一步就是深入网站,你会到达这个页面: https://www.jetbrains.com/datagrip/features/other.html

      并且有一个解释如何做到这一点。

      【讨论】:

      • 我得到这张没有箭头的照片。而且那个页面上没有帮助我怎么能画它们
      • 您需要与表中的外键建立关系。你有吗?
      • 你使用什么 DBMS?
      • 在您需要的表上按 Ctrl+F6 并转到“Foereighn 键”选项卡,您可以从 UI 中创建它们。
      猜你喜欢
      • 2018-04-16
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 2020-07-16
      • 2013-01-14
      • 2012-04-05
      • 2020-08-03
      相关资源
      最近更新 更多