Oracle 技术网

向现有数据库中添加表

<不要删除此文本,因为它是在浏览器中运行时生成的“主要”标题列表的占位符>

目的

本教程将介绍如何使用 Oracle SQL Developer Data Modeler 向现有数据库中添加表。

所需时间

大约 15 分钟

概述

Oracle SQL Developer Data Modeler 提供了一整套数据和数据库建模工具和实用程序,包括实体关系建模、关系(模式)、数据类型或对象类型建模以及多维建模和 DDL 生成。它包括从各种源导入数据库以及导出到各种目标数据库,提供了多个格式化选项,并且通过一组预定义的设计规则来验证模型。

Oracle SQL Developer Data Modeler 将作为 SQL Developer 的扩展发布,并作为一个独立的产品面向那些只想使用可视化数据建模的开发人员。

在本教程中,您将通过导入一个现有脚本 (DDL) 创建一个初始关系模型、添加一个新表、将该表链接到现有表、创建一个子视图并生成 DDL。

前提条件

开始本教程之前,您应该:

:本教程是在 Linux 环境中创建的。如果您使用的是 Windows 环境,其中的屏幕截图可能会略有不同。

导入 HR 模式的 DDL

在本节中,您将从 HR 示例模式中导入 DDL 以创建一个关系模型。执行以下步骤:

.

打开 Oracle SQL Developer Data Modeler

.

选择 File > Import > DDL File

.

您可以一次添加多个要导入的 DDL 文件。单击“+”图标添加 DDL 文件。

.

从将前提条件中的文件解压缩到的目录中选择 hr_cre.sql,然后单击 Open

.

单击 OK

.

选择 Oracle Database 11g,然后单击 OK

.

将显示 Compare Models 窗口。您可以在该窗口中查看导入 DDL 时将发生的变化。展开 hr_cre 下面的 Tables。您会看到即将创建的表的列表。单击 Merge

.

将显示关系图表。您可以对该图表进行缩放。单击 Zoom Out 图标。

.

现在可以看到图表的更多内容。要检查已创建的域,在 Browser 树中展开 Domains

 

.

注意,域用于数据类型定义 — VARCHAR_0_0_20 或 NUMERIC_0_4_0 等域均在导入 DDL 文件期间创建。相似的数据类型(用于列定义)聚合为域。这些名称不能更改。双击 NUMERIC_0_4_0

.

您可以通过 Domain Properties 对话框查看每个域的用途。在左侧导航器中,选择 Used in

.

单击 Columns 选项卡。

 

.

可以看到使用该域的列的列表。单击 Close。在下一节中,您将创建一个新表以存储有关 employees dependents 的信息。

在关系模型中创建表

在本节中,您将创建一个名为 dependents 的新表,并向该表中添加许多列。执行以下步骤:

.

选择 New Table 图标,并单击图表的空白处。

 

.

输入 dependents 作为 Name,并在左侧导航器中单击 Columns

注意,可以单击该页面上的 Apply,这样窗口中的标题将由 TABLE_8 变为 dependents。

.

选择 Create Column 图标。

.

将 Name 更改为 id

导入 DDL 文件时,在 DDL 文件中为每个数据类型创建了一个域。可以选择一个格式和长度合适的域。从列表中选择 NUMERIC_0_6_0

.

您希望 id 列成为主键。单击 PK 复选框。然后,再次单击 Create Column 图标创建另一列。

输入 first_name 作为 Name,为 Datatype 选择 Domain,然后选择 VARCHAR_0_0_20。然后再次单击 Create Column 图标。

.

输入 last_name 作为 Name,为 Type 选择 VARCHAR_0_0_25,然后再次单击 Create Column 图标。

.

输入 birthdate 作为 Name,为 Type 选择 Date,然后再次单击 Create Column 图标。

.

输入 relation 作为 Name,为 Type 选择 VARCHAR_0_0_25,然后再次单击 Create Column 图标。

.

输入 gender 作为 Name。没有长度为 1 的字符域,因此您可以使用逻辑类型。为 Datatype 选择 Logical,从 Type 下拉列表中选择 VARCHAR,为 Size 输入 1,为 Units 选择 CHAR。然后单击 Create Column 图标创建另一列。

.

输入 relative_id 作为 Name,为 Datatype 选择 Domain,从下拉列表中选择 NUMERIC_0_6_0。然后单击 OK

.

已成功创建 dependents 表。在下一节中,您将在 employeesdependents 之间添加一个外键。

在表间添加外键

在本节中,您将在 employees 和 dependents 表之间添加一个外键。执行以下步骤:

.

选择 New FK Relation 图标。

.

选择 employees 表,然后选择 dependents 表以创建新的 FK 关系。

.

并非所有相关项都分配了员工,因此您希望将关系修改为可选关系。取消选中 Mandatory 复选框,然后在左侧导航器中选择 Associated Columns

.

为 Child Column 选择 relative_id

.

单击 OK

.

由于希望使用现有的列(而非生成的列)作为 FK,因此单击 Yes 删除生成的 FK 列。

.

您会看到,现在 relative_id 列旁边显示一个 F,这表示该列是外键列并且外键关系是可选的(通过虚线表示)。

在下一节中,您将创建子视图。

创建子视图

在本节中,您将使用 employees 和 dependents 表创建一个子视图。执行以下步骤:

.

可以使用几种方法创建您感兴趣的表的子集。其中一种方法是创建彼此关联的表的子视图。右键单击 dependents 表并选择 Select Neighbors

.

接受默认的 1 个时区并单击 OK

.

注意,现在 FK 关系和 employees 表处于选中状态,因为它们是 dependents 表的邻居。再次右键单击 dependents 表并选择 Create SubView from selected

.

子视图已创建。可以在 Browser 窗口的子视图中展开对象,以查看对象列表。

生成新表的 DDL

在本节中,您将为 dependents 表创建并导出 DDL。执行以下步骤:

.

选择 File > Export > DDL File

您也可以选择 Generate DDL 图标。

.

单击 Generate

.

选择 Tables 选项卡。

.

您只希望为 dependents 生成 DDL。单击 Deselect All 图标。

.

选择 dependents。然后单击 Views 选项卡。

.

取消选中 emp_details_view 并单击 Sequences 选项卡。

.

单击 Deselect All 图标,然后单击 OK 为您选择的表生成 DDL。

.

查看 DDL 文件的内容。

您可以保存 DDL 并在 SQL Developer 中运行它。在本教程中,单击 Close 执行下一个教程。

总结

在本教程中,您学习了如何:

Oracle Is The Information Company 关于 Oracle | Oracle RSS 信源 | 招聘 | 联系我们 | 网站地图 | 法律声明 | 使用条款 | 您的隐私权利