预订演示
前页 后页

为对象生成DDL

在创建数据库模型时,您可以为单个object 、一包对象或完成数据模型生成 DDL。唯一的区别是调用生成 DDL 过程的方式。

访问

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

功能区

开发 >数据建模>数据库构建器 > 点击object 、包或数据模型节点:生成DDL

生成选项卡

字段/按钮

行动

也见

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

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

包括所有子包

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

删除目标文件

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

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

选择要生成的对象

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

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

  • 全部按钮选择每个项目
  • 无按钮清除所有选择
  • 按住 Ctrl 键的同时选择多个对象中的每个对象,以选择多个单独的对象
  • 按住 Shift 键时块中的第一个和最后一个对象,以选择块中的每个object

保存生成的订单

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

刷新

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

单个文件

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

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

每个表的单独文件

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

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

生成到 DDL 执行引擎

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

功能执行引擎提供了执行生成的#

脚本并立即响应执行中的错误,而无需创建外部文件并将其加载到另一个工具中。

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

执行 DDL

生成

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

视图

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

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

数据建模设置

单击此按钮可关闭对话框。如果您没有生成 DDL,此按钮也会放弃为object生成 DDL。

选项选项卡

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

团体

选项

库表生成选项

- 表示应生成库表元素的 DDL (*)

Primary Keys - 表示应该为 Primary Keys 生成 DDL ($)

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

Indexes - 指示应生成索引的 DDL ($)

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

选择约束- 表示应生成选择约束的 DDL ($)

库表触发器-表示应该生成DDL for库表触发器($)

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

Length Semantics - 表示应该为 Oracle Length Semantic 生成 DDL ($)

物件生成选项

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

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

函数- 表示应该生成函数元素的 DDL (*)

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

- 表示应生成 DDL for Oracle包元素 (*)

格式化

包括前/后查询- 表示生成的 DDL 应该包括#

'_PreStatements' 和 '_PostStatements' 中定义的语句#

查询

Include Owners - 指示生成的 DDL 应包含所有元素的架构/所有者

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

Include Header Comments - 指示生成的 DDL 应包含任何标题注释 (#)

物件Comments - 表示生成的 DDL 应包含任何object (如库表或视图)的注释 (#)

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

生成DROP statements - 表示生成的 DDL 应该包含对象的 DROP 语句

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

使用别名- 指示生成的 DDL 使用任何object或列别名

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

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

注记

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

了解更多