预订演示
前页 后页

主键

主键是唯一标识库表中每条记录A列(或列集)。 A库表只能有一个主键。一些 DBMS 支持主键的附加属性,例如 Clustered 或 Fill Factor。

访问

功能区

开发 >数据建模>数据库生成器 > 点击库表名称

上下文菜单

图中 |右键单击库表|特征|约束/索引

创建主键

在Enterprise Architect中,您可以从“列”选项卡或“约束/索引”选项卡创建主键。无论哪种情况,当您将列添加到主键约束时,该列都会自动设置为“非空”。此外,任何包含库表元素的图表(假设设置了“显示限定词和可见性指示器”选项)都将针对列名显示“PK”前缀。在此图像中,请参见第一列“id:bigserial”。

Showing a Table element with a Primary Key in Sparx Systems Enterprise Architect.

创建主键 - 从列选项卡

行动

也见

1

任何一个:

  • 在数据库构建器中,单击具有一个或多个已定义列的库表,然后单击“列”选项卡,或
  • 在图表上,单击库表并按 F9 显示“列”选项卡

2

对于要包含在主键中的每一列,选择“PK”复选框。

如果之前没有为当前库表定义主键约束,系统将使用主键名称模板创建一个新约束。

DDL名称模板

创建主键 - 从约束选项卡

行动

也见

1

任何一个:

  • 在数据库构建器中,单击包含一个或多个已定义列的库表,然后单击“约束/索引”选项卡,或
  • 在图表上,单击库表并按 F10 以显示“约束/索引”选项卡

2

用主键名称改写新约束文本,按 Enter 键并单击“类型”字段下拉箭头,然后选择“PK”。

数据库约束库表/索引

3

将所需的列分配给 PK 约束。

4

使用属性面板设置主键的扩展属性。

  • 填充因子是 0 到 100 之间的数值
  • Is Clustered 是一个布尔值,用于确定数据存储方式的物理顺序;对于大多数 DBMS,主键的 Is Clustered属性默认为True
非聚集主键

从主键中删除列

您可以使用“列”选项卡或“约束/索引”选项卡从主键中删除列。

从主键中删除列 - 使用“列”选项卡

行动

也见

1

任何一个:

  • 在数据库构建器中,单击带有主键的库表,然后单击“列”选项卡,或
  • 在图表上,单击库表并按 F9 显示“列”选项卡

2

针对要从主键中删除的每一列,取消选中“PK”复选框。

如果您已从主键约束中删除所有列并且不再需要主键,则必须手动删除它。

从主键中删除列 - 使用约束/索引选项卡

行动

也见

1

任何一个:

  • 在数据库构建器中,单击带有主键的库表,然后单击“约束/索引”选项卡,或
  • 在图表上,单击库表并按 F10 以显示“约束/索引”选项卡

2

根据需要取消分配 PK 约束上的列。

数据库约束库表/索引

注记

  • 警告: Enterprise Architect假定主键约束至少分配了一列;但是, Enterprise Architect在建模期间不强制执行此规则
    如果为主键未分配列的库表生成 DDL,则该 DDL 无效

了解更多