首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JetBrains的DataGrip中创建表之间的关系?

如何在JetBrains的DataGrip中创建表之间的关系?
EN

Stack Overflow用户
提问于 2016-01-29 18:09:09
回答 3查看 19.2K关注 0票数 10

我在工作中使用JetBrains的DataGrip。这是可以的,但我不知道如何创建表之间的关系,如图所示:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-13 03:44:32

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

首先,右键单击DataGrip中的表名称,然后选择Modify Table。您将看到四个选项卡:列、键、索引和外键。选择列选项卡。右键单击要成为外键的列名,然后选择新建外键。该窗口将切换到其外键选项卡,其中填写了一些信息。填写你的“目标表”。您可能还需要在SQL语句的REFERENCES短语中写入目标列名。现在查看Modify Table窗口中的所有信息,并在满意时单击"Execute“。

其次,在DataGrip中再次右键单击您的表名,这次选择Diagram> Show Visualisation。现在,您应该看到一个显示原始表和被引用表之间关系的图。

在DataGrip帮助中,您可以查看“使用数据库工具”窗口页,了解其如何修改表、列、索引或主键或外键部分的定义。这里有一个非常简短的过程描述。

Wikipedia在其Defining foreign keys文章部分提供了一个示例,在使用DataGrip的Modify Table窗口时,该示例可能对您有用。

我在DataGrip 2017.1.3中做了这个过程,我不知道其他版本是否会有所不同。

票数 21
EN

Stack Overflow用户

发布于 2016-01-29 23:11:29

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

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

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

票数 2
EN

Stack Overflow用户

发布于 2019-01-28 10:01:37

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

代码语言:javascript
运行
复制
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)
)   ;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35081797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档