19、SQL Developer Data Modeler使用指南

SQL Developer Data Modeler使用指南

1. 导入结果查看

当导入完成后,主关系图会自动打开。若要查看为每个创建的模式所创建的初始子视图,可展开“Relational Models”节点,接着展开“SubViews”节点。在列出的模式子视图上右键单击,然后选择“Show Diagram”。

2. 设计保存

在工作过程中,保存正在处理的设计是很明智的做法。这不仅能在出现问题时起到保护作用,而且在关闭并重新打开工具时也是必要的。初始时,设计是无标题的,通过保存设计可以更改标题。保存后,新名称会显示在浏览器中,同时会在文件系统上保存一组文件夹和XML文件。保存设计时,会创建一个同名的文件夹和文件。打开设计时,需选择顶级的XML文件。需要注意的是,不要编辑这些XML文件,因为这可能会损坏设计。

3. 图表及其组件操作
3.1 元素格式化

在移动关系线、实体或表之前,通过更改颜色可以显著改变大型图表的效果和可读性。例如,从两个或多个模式导入数据时,打开一个子视图并选择所有表,通过上下文菜单调用“Format Object”对话框。若首次调整颜色,打开对话框时不会显示任何颜色,图表使用的是默认设置。取消选择“Use Default Color”,点击“Background”和“Border Color”项来选择并设置新颜色,完成后点击“OK”,子视图会应用这些更改,主关系模型也会受到影响。

3.2 选择模型中的所有表

选择任何一个表,从上下文菜单中点击“Select Neighbors”,然后选择“All Zones”来选择所有表。建议使用此方法,而不是使用“Ctrl + A”,因为“Ctrl + A”会选择所有表和所有线。

3.3 更改默认格式设置

可以通过“Tools | General Options | Diagram | Format”来更改图表中每种元素类型(如表、视图和实体)的默认颜色。在对话框中,双击对象或选择对象并点击编辑图标,即可调整颜色和字体格式,还可以使用字体颜色突出显示强制键、唯一键或外键。

3.4 设置通用图表属性

使用“Tools | General Options | Diagram”设置模型属性,包括:
- 显示网格
- 控制图表的背景颜色
- 控制默认开启的“Auto Route”功能

还可以设置某些项目的显示属性,包括:
- 逻辑模型的图表符号(支持Barker和Bachman符号)
- 逻辑或关系模型的关系名称显示
- 流程模型的流程名称

例如,要在实体关系图上显示关系名称,可在“Tools | General Options | Model | Logical”中勾选显示属性,并确保设置了关系的“Relation Cardinality”属性。

4. 创建子视图和显示
4.1 添加子视图

可以从对象浏览器中通过以下方式创建子视图:
- 选择“SubViews”节点,使用“New SubView”上下文菜单,会得到一个新的空白图表,可通过从对象浏览器拖动表或实体到页面来填充。
- 选择任何模型标签,然后选择“Create SubView”菜单,会创建一个新的空白子视图。
- 在现有模型上选择一个或多个元素,使用图表上的“Create SubView from selected”上下文菜单,新子视图将包含所选的表或实体。

子视图的布局与主模型没有关联,但格式化和结构更改会相互影响。删除子视图中的项目时,需要选择是从视图中删除(“Delete View”)还是从整个设计中删除(“Delete Object”)。

4.2 添加显示

显示是图表(主模型或子视图)的另一种视图,与该模型直接关联。如果删除模型,显示也会被删除。在显示中添加或删除的项目会自动反映在关联的主模型中。创建新显示,选择任何模型的标签,从上下文菜单中选择“Create Display”。新创建的显示最初是所选模型的副本,所有额外的显示会列在模型底部。可以使用新显示来更改模型的布局和调整图表上显示的详细程度。

4.3 创建复合视图

如果创建了多个子视图,可以创建一个新图表,在单个布局中显示每个子视图的复合模型。创建复合视图,在浏览器中选择模型并将其拖动到图表表面(不能拖动到自身)。在图表上显示复合文件夹后,通过上下文菜单选择“Composite View”来显示该文件夹内的复合模型。如果要查看的模型有多个显示选项,还可以选择要在复合视图中显示的显示。

5. 布局控制
5.1 调整显示的详细程度

通过右键单击任何图表的空白处调用“View Details”菜单,可以更改表(或实体)中显示的详细程度,该菜单有以下选项:
- All Details
- Names Only
- Columns
- Datatype
- Keys

5.2 调整模型的宽度和高度

如果有一个大型图表,想查看表或实体之间的关系,可以使用显示创建一个更紧凑的模型,而不影响主模型。具体操作是将详细信息设置为仅显示名称,然后调整对象的大小和位置。

5.3 控制对齐

定位项目后,使用“Edit”菜单对所需项目进行顶部和左侧对齐。第一个选择的项目将决定左对齐或顶部对齐的位置,以及后续所选项目的宽度和高度。

5.4 线条操作

SQL Developer Data Modeler默认开启“Auto Route”功能,以防止手动移动关系线。若要手动控制线条,右键单击图表的空白处,取消选择“Auto Route”,也可以在“Tools | General Options | Diagram”设置中将“Auto Route”选项默认设置为关闭。控制线条后,可以选择任何关系线,通过上下文菜单进行以下操作:
- Add Elbow:绕过其他形状重新路由线条
- Remove Elbow
- Straighten Lines

对于有折角的线条,可以选择线上的任何点来移动和改变形状,也可以选择折角来改变线条内的角度。对于直线,尽可能去除折角并使其变直。若要选择并移动直线,可先添加一个折角,然后在不弯曲线条的情况下选择并定位它。

6. 分析、设计和生成

SQL Developer Data Modeler支持将应用系统的逻辑分析和物理设计任务分离,并支持这些任务之间的元数据同步。可以从逻辑模型开始新的应用开发,完成分析后将实体转换为表并进行物理实现。也可以在不考虑物理细节的情况下处理关系模型,为单个关系模型创建多个物理实现并生成不同的DDL。

6.1 工作流程
6.1.1 自上而下的分析

这是一种传统的数据库设计和生成方法,遵循战略、分析、设计和生成的瀑布式方法。前期投入更多工作可以减少后期更改设计的成本。具体流程为:构建逻辑模型,设置标准并构建术语表,将其转换为关系模型,审查并进行必要的调整,添加额外列、重命名列或表、添加约束,创建所需的物理细节,最后生成DDL并审查脚本。

6.1.2 自下而上的现有模型导入

如果已有应用程序,数据库已经存在,可视化模型可以帮助查看和扩展模型或迁移到新数据库。从模式开始支持迁移到新环境或升级应用程序,在当前环境下,整合应用程序很重要,因此审查现有应用程序的模型可以在进行更新之前做出决策。

6.1.3 构建关系模型

有些团队认为ERD是不必要的层,因此直接从构建模式模型开始。在这个层面上,需要构建表、列和约束,可以从现有数据库导入表,然后通过添加新表和修改导入的表来增强模型。

7. 逻辑模型

逻辑ERD由实体和属性组成,可以识别实体之间的唯一标识符和关系。此时不需要考虑实现细节,可以创建多对多关系或超类型(如果支持业务需求),本质上是使用ERD来捕获业务需求。

7.1 创建ERD

在对象浏览器中选择“Logical”节点,从上下文菜单中选择“Show”来创建或打开逻辑模型的空白页面。使用工具栏上的按钮开始创建模型,按钮默认是“sticky”的,即绘制一个实体后,关闭属性对话框,无需再次选择按钮即可立即绘制下一个实体。

7.2 创建实体

绘制形状后,会调用“Entity Properties”对话框,可在其中填充详细信息,包括文档详细信息(如变更请求详细信息和注释)。通用实体属性包括添加同义词和缩写,同义词用于文档目的,不是数据库同义词。

7.3 单数实体名称和复数表名称

通常,实体名称是单数,表名称是复数。在SQL Developer Data Modeler中,可以使用“Preferred Abbreviation”字段来设置复数值,但需要在“forward engineering General Options”对话框中设置“Use preferred abbreviation”。

7.4 添加属性

输入实体的主要详细信息后,可以添加所需的属性。点击“Properties”按钮或双击属性可添加更多详细信息。

7.5 处理关系

“Entity Properties”对话框包含一个“Relationships”节点,列出了所有可用的关系。双击关系名称可查看详细信息,审查“Cardinality”细节很有用。如果从关系模型逆向工程细节,源和目标的名称会为空,完善这些细节并在模型上显示对于后续文档很有帮助。

综上所述,SQL Developer Data Modeler提供了丰富的功能,帮助开发者进行数据库的设计、分析和生成,通过合理运用这些功能,可以更高效地完成数据库相关工作。

SQL Developer Data Modeler使用指南(续)

8. 操作总结与对比

为了更清晰地展示SQL Developer Data Modeler的各项操作,下面通过表格进行总结对比:
|操作类型|具体操作|详细说明|
| ---- | ---- | ---- |
|视图查看|展开“Relational Models”节点,再展开“SubViews”节点,右键选择“Show Diagram”|查看为每个创建的模式所创建的初始子视图|
|设计保存|保存设计,选择顶级XML文件打开|保存工作成果,避免数据丢失,注意不要编辑XML文件|
|元素格式化|打开子视图,选择所有表,通过上下文菜单调用“Format Object”对话框,取消默认颜色设置,选择新颜色|改变大型图表的效果和可读性|
|表选择|选择表,点击“Select Neighbors”,再选“All Zones”|选择模型中的所有表,避免使用“Ctrl + A”选择过多元素|
|默认格式更改|通过“Tools | General Options | Diagram | Format”操作|更改图表中元素类型的默认颜色和字体格式|
|通用属性设置|使用“Tools | General Options | Diagram”设置模型属性和显示属性|控制图表的网格、背景颜色、自动路由等功能及显示细节|
|子视图创建|从对象浏览器通过三种方式创建|可根据不同需求创建包含不同元素的子视图|
|显示创建|选择模型标签,从上下文菜单选“Create Display”|创建图表的另一种视图,与主模型关联紧密|
|复合视图创建|在浏览器选模型拖动到图表表面,选择“Composite View”|在单个布局中显示多个子视图的复合模型|
|布局调整|通过“View Details”菜单、调整宽度高度、控制对齐、操作线条等方式|优化图表布局,使图表更清晰易读|

9. 工作流程可视化

下面通过mermaid流程图展示自上而下和自下而上两种工作流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A([开始]):::startend --> B(构建逻辑模型):::process
    B --> C(设置标准并构建术语表):::process
    C --> D(转换为关系模型):::process
    D --> E(审查并调整):::process
    E --> F(添加额外列、重命名、添加约束):::process
    F --> G(创建物理细节):::process
    G --> H(生成DDL并审查脚本):::process
    H --> I([结束]):::startend

    J([开始]):::startend --> K(已有应用程序,数据库存在):::process
    K --> L(可视化模型):::process
    L --> M(查看和扩展模型或迁移到新数据库):::process
    M --> N([结束]):::startend

这个流程图清晰地展示了自上而下的分析流程(左侧)和自下而上的现有模型导入流程(右侧),帮助用户更好地理解不同工作流程的步骤和顺序。

10. 逻辑模型创建步骤梳理

创建逻辑模型是使用SQL Developer Data Modeler的重要环节,下面将创建逻辑模型的步骤进行梳理:
1. 打开空白页面 :在对象浏览器中选择“Logical”节点,从上下文菜单中选择“Show”。
2. 开始创建模型 :使用工具栏上默认“sticky”的按钮绘制实体,绘制后会调用“Entity Properties”对话框。
3. 填充实体详细信息 :在对话框中输入文档详细信息、通用实体属性(如同义词和缩写)。
4. 设置实体名称和表名称 :通常实体名称为单数,表名称为复数,可使用“Preferred Abbreviation”字段设置复数值,并在相应对话框中开启使用选项。
5. 添加属性 :输入实体主要信息后,添加所需属性,可通过点击“Properties”按钮或双击属性添加更多细节。
6. 处理关系 :在“Entity Properties”对话框的“Relationships”节点中查看和处理关系,审查“Cardinality”细节。

11. 实际应用案例分析

假设我们要为一个小型电商系统设计数据库。首先,我们可以采用自上而下的分析方法。
- 构建逻辑模型 :识别系统中的实体,如“Customer(客户)”、“Employee(员工)”、“Order(订单)”等。确定实体之间的关系,例如“Customer”与“Employee”可能存在服务关系,“Customer”与“Order”存在下单关系。
- 转换为关系模型 :将实体转换为表,如“Customers”表、“Employees”表、“Orders”表。为表添加列和约束,如“Customers”表可能有“customer_id”(主键)、“name”、“email”等列。
- 物理实现 :根据具体的数据库系统,设置表的存储方式、索引等物理细节。

在这个过程中,我们可以使用SQL Developer Data Modeler的各种功能。例如,通过子视图功能分别查看与“Customer”相关的表和与“Order”相关的表,使用元素格式化功能为不同类型的表设置不同颜色,方便区分。利用布局调整功能使图表布局更加合理,便于团队成员之间的沟通和协作。

12. 总结与建议

SQL Developer Data Modeler为数据库设计、分析和生成提供了全面而强大的功能。通过合理运用这些功能,开发者可以更高效地完成数据库相关工作,减少错误和重复劳动。
在使用过程中,建议开发者养成定期保存设计的习惯,避免数据丢失。对于复杂的数据库设计,可以多使用子视图、显示和复合视图功能,将不同的业务模块分开展示,提高图表的可读性。在进行元素格式化和布局调整时,要根据实际需求进行操作,使图表既美观又能准确传达信息。同时,对于不同的工作流程,要根据项目的实际情况选择合适的方法,充分发挥工具的优势。

总之,掌握SQL Developer Data Modeler的使用技巧,能够帮助开发者更好地应对各种数据库设计挑战,提升工作效率和质量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值