前页 后页

主键

主键是一列(或一组列),用于唯一标识表中的每个记录。一个表只能有一个主键。一些DBMS支持主键的其他属性,例如群集或填充因子。

访问

色带

开发>数据建模>数据库构建器>单击表名

上下文菜单

在图中右键单击Table |特色|约束/索引

创建一个主键

在Enterprise Architect您可以从“列”选项卡或“约束/索引”选项卡中创建主键。无论哪种情况,当您将列添加到“主键”约束时,该列都会自动设置为“非空”。此外,任何包含Table元素的图表(假定已设置“显示限定符和可见性指示器”选项)都将在列名的前面显示“ 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,“主键”的“是群集”属性默认为True
非集群主键

从主键中删除列

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

从主键中删除列-使用“列”标签

行动

也可以看看

1个

要么:

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

2

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

如果已从“主键”约束中删除了所有列,并且不再需要“主键”,则必须手动将其删除。

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

行动

也可以看看

1个

要么:

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

2

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

数据库表约束/索引

笔记

  • 警告: Enterprise Architect假定主键约束至少分配有一列;但是, Enterprise Architect在建模过程中不会强制执行此规则
    如果为未为其主键分配任何列的表生成了DDL,则该DDL将无效

学到更多