前页 后页

生成对象的DDL

创建数据库模型时,可以为单个对象,对象包或完整的数据模型生成DDL。唯一的区别是您如何调用生成DDL流程。

访问

打开数据库构建器窗口,然后使用上下文菜单并选择“生成DDL”。

色带

开发>数据建模>数据库构建器>单击对象,包或数据模型节点:生成DDL

产生标签

字段/按钮

行动

也可以看看

单击Browse package按钮,并使用“导航器”窗口(“查找包”对话框的版本)浏览要为其生成DDL的包。

(注意:此字段可能不会在所有情况下都显示。)

包括所有儿童套餐

选择此复选框可将对象包括在“选择要生成的对象”列表中的子包中。

删除目标文件

将对象生成为单个文件时,完整的文件名与对象一起存储,并显示在“选择要生成的对象”列表的“目标文件”列中。

单击此按钮删除所有现有文件名并提示输入新文件名。

选择要生成的对象

此字段以显示的顺序显示将为其生成DDL的对象的列表。如果需要更改此顺序以解决对象依赖性,请单击要移动的对象,然后单击Up and down hand icons按钮将对象按顺序向上或向下移动一个位置。

选择要为其生成DDL的每个对象。点击:

  • 全部按钮以选择每个项目
  • 无按钮清除所有选择
  • 按下Ctrl时,几个对象中的每一个都可以选择多个单个对象
  • 按下Shift键时,块中的第一个和最后一个对象将选择块中的每个对象

保存生成的订单

如果更改了对象列出的顺序,请单击“生成”按钮时选中此复选框以保存新序列。

刷新

重新加载对象列表,将每个对象恢复到其先前位置(如果对象位置已更改)。

单文件

如果要将生成的DDL保存到单个文件,请选择此单选按钮。

单击Package browse icon按钮以浏览文件路径和文件名。

每个表的单独文件

如果要将每个对象生成的DDL保存到单独的文件,请选择此单选按钮。

当您单击Generate按钮时,系统会提示您依次输入每个对象的目标文件名(如果尚未指定)。

生成到DDL执行引擎

如果要将DDL保存到执行引擎(数据库构建器的“ Execute DDL”选项卡),请选择此单选按钮。

DDL执行引擎提供了执行生成的SQL脚本和立即响应执行错误的功能,而无需创建外部文件并将其加载到另一个工具中。

如果“数据库生成器”已打开,则“生成到DDL执行引擎”是默认选项。

执行DDL

生成

单击此按钮以使用您选择的选项运行“生成DDL”过程。

视图

如果已将DDL生成为单个外部文件,请单击此按钮以查看输出。

默认情况下, Enterprise Architect使用默认的代码编辑器。但是,您可以在“首选项”对话框(“开始>桌面>首选项>首选项>源代码工程>代码编辑器> DDL”)中定义其他默认DDL编辑器。

数据建模设置

单击此按钮以关闭对话框。如果未生成DDL,则此按钮还会放弃对象的DDL生成。

选项标签

如果您不想执行它们发起的操作,请将这些标志中的任何一个设置为False。

选件

表生成选项

表格 -表示应为表格元素生成DDL(*)

主键 -指示应生成主键的DDL($)

外键 -表示应生成外键的DDL($)

索引 -表示应为索引生成DDL($)

唯一约束 -表示应生成唯一约束的DDL($)

检查约束 -表示应生成检查约束的DDL($)

表触发器 -指示应为表触发器生成DDL($)

表属性 -表示应生成扩展表属性的DDL($)

长度语义 -表示应生成Oracle长度语义的DDL($)

对象生成选项

视图 -表示应为视图元素生成DDL(*)

过程 -指示应为过程元素生成DDL(*)

函数 -指示应为功能元素生成DDL(*)

序列 -指示应为序列元素生成DDL(*)

软件包 -指示应生成DDL for Oracle软件包元素(*)

格式化

包括前/后查询 -指示生成的DDL应包括在'_PreStatements'和'_PostStatements'SQL查询中定义的SQL语句

包含所有者 -指示生成的DDL应包括所有元素的模式/所有者

包含注释 -表示生成的DDL应该包含任何注释

包括标题注释 -指示生成的DDL应该包括任何标题注释(#)

包含对象注释 -指示生成的DDL应该包含任何对象(例如表或视图)注释(#)

包含列注释 -指示生成的DDL应该包含任何列注释(#)

生成DROP语句 -指示所生成的DDL应包括对象的DROP语句

使用数据库 -指示生成的DDL应包含USE数据库语句

使用别名 -表示生成的DDL使用任何对象或列别名

与表分开的约束 -表示生成的DDL应该将约束的创建定义为与表定义分开的语句

在列定义中包含NULL-指示生成的DDL应该将NULL关键字应用于定义为可为空的每个列定义;也就是说,未选中“ NOT NULL”标志的列(此选项仅适用于支持“ NULL”语法的DBMS)

笔记

  • (*)-如果已指定为该类型的单个元素生成DDL,则带有此标记的选项将自动设置为True;也就是说,如果选择一个表并且“ Generate Table”选项为False, Enterprise Architect会将选项更改为True。
  • ($)-如果“表”选项设置为“假”,则带有此标记的选项将被禁用
  • (#)-如果“包含注释”选项设置为“假”,则带有此标记的选项将被禁用
  • 在Enterprise Architect的Corporate , Unified和Ultimate版本中,如果启用了安全性,则必须具有“ Generate Source Code and DDL”(生成源代码和DDL)权限才能生成DDL
  • 对于PostgreSQL数据库,必须将'Sequences'选项设置为True以启用自动增量列的创建
  • 如果生成Oracle序列,则必须始终将“ Table Triggers”和“ Sequences”选项设置为True,以便生成一个预插入触发器以选择下一个序列值来填充列。另外,在列属性中,将“ AutoNum”属性设置为True
  • 您可以编辑系统用于生成DDL的DDL模板。它们存储在存储库级别,以便同一存储库的所有其他用户将自动使用更新的模板

学到更多