前页 | 后页 |
为对象生成DDL
在创建数据库模型时,您可以为单个object 、一包对象或完成数据模型生成 DDL。唯一的区别是调用生成 DDL 过程的方式。
访问
打开数据库生成器窗口,然后使用上下文菜单并选择“生成DDL”。
功能区 |
开发 >数据建模>数据库构建器 > 点击object 、包或数据模型节点:生成DDL |
生成选项卡
字段/按钮 |
行动 |
也见 |
---|---|---|
包 |
单击按钮并使用导航员窗口(“查找包”对话框的一个版本)浏览要为其生成DDL 的包。 (注记:此字段可能不会在所有情况下都显示。) |
|
包括所有子包 |
选中此复选框以将对象包含在“选择要生成的对象”列表中的子包中。 |
|
删除目标文件 |
将对象生成为单个文件时,完整的文件名与object一起存储,并显示在“选择要生成的对象”列表的“目标文件”列中。 单击此按钮可删除所有现有文件名并提示新文件名。 |
|
选择要生成的对象 |
此字段按显示的顺序显示将为其生成 DDL 的对象列表。如果您需要更改此顺序以解决object依赖关系,请单击要移动的object并单击按钮将该object在序列中向上或向下移动一个位置。 选择要为其生成 DDL 的每个object 。点击:
|
|
保存生成的订单 |
如果您更改了列出对象的顺序,请在单击生成按钮时选中复选框以保存新序列。 |
|
刷新 |
重新加载对象列表,将每个object恢复到以前的位置(如果object位置已更改)。 |
|
单个文件 |
如果要将生成的 DDL 保存到单个文件,请选择此单选按钮。 单击按钮以浏览文件路径和文件名。 |
|
每个表的单独文件 |
如果要将为每个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 模板;这些存储在存储库级别,以便同一存储库的所有其他用户将自动使用更新的模板