外键
最后修改时间:2023 年 9 月 22 日外键关系指定表如何相互关联并指示表之间的关系。IntelliJ IDEA 识别数据库模式中的外键关系并使用它们构建 JOIN 子句。您可以在自动完成列表、数据导航和图表中看到这些关系。
在 IntelliJ IDEA 中,您可以使用显式外键或创建虚拟外键。
外键可以在数据库工具窗口中看到 。您可以在数据库工具窗口主题的数据源及其元素章节中看到有关节点和对象图标的参考。
对于表列图标,请参阅列的可能图标组合。
外键是一个表中引用另一表中主键的字段或字段集合。当您创建或修改表时,您可以清楚地定义这些键:
CREATE TABLE visitor (
id int NOT NULL,
activity_id int NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (activity_id) REFERENCES activity(activity_id)
);
包含外键的表是子表。包含候选键的表是引用表或目标表。如果您的数据库包含显式外键关系,IntelliJ IDEA 会自动在自动完成、数据导航和图表中使用它们。
在下面的示例中,activity.activity_id
是主键,visitor.activity_id
是外键。
创建外键
在 数据库工具窗口(视图|工具窗口| 数据库)中,展开数据源树直到表的节点。
右键单击表节点并选择新建| 外键。
在打开的修改对话框中,在名称字段中输入外键的名称。
在“目标表”窗格中,指定目标表的名称。
在“列”窗格中,单击“添加”按钮 ( )。
在“列名称”字段中,指定子表中的列的名称。
在“目标名称”字段中,指定目标表中的列的名称。
在预览窗格中,您可以查看和更改生成的 SQL 代码。
单击“确定”。
生产力技巧
修改生成的索引和键名称的模板
创建索引、主外键约束时,它们的默认名称是根据相应的模板生成的。例如,对于主键,模板是{table}_{columns}_pk
。
要查看和修改这些模板,请打开设置并导航到编辑器 | 代码风格| SQL | 一般的。单击“代码生成”选项卡。CtrlAlt0S
模板可以包含变量和文本。当您生成名称时,指定的文本将按字面意思再现。例如,当您
{table}_pk
在actor
表中应用模板时,生成的主键名称将为actor_pk
。要查看有关变量及其用法的信息,请单击字段并按。Ctrl0Q
{unique?u:}
检查索引是否唯一并插入相应的字符序列。?
如果索引是唯一的,模板将生成一个名称,该名称具有和之间指定的字符序列:
。对于{unique?u:}
模板来说,它是u
. 如果索引不唯一,则插入:
和之间的序列。}
对于{unique?u:}
模板来说,这不算什么。例子
您有
persons
包含列FirstName
和的表LastName
。该{table}_{columns}_{unique?u:}index
模板为非唯一索引生成以下名称:persons_FirstName_LastName_index
。
在相关行之间导航
右键单击表中的列并选择转至。在“转到”子菜单中,您可以选择要导航到哪种类型的相关行。
引用行:当前对象引用的行。
引用行:引用当前对象的行。
所有相关行:引用行和引用行。
在数据编辑器中,您现在可以选择多个值并导航到相关数据。
提示
此外,您还可以在 youtube.com 上观看通过外键导航视频作为另一个示例。
感谢您的反馈意见!