向mysql表中添加对象_向现有数据库中添加表

本教程介绍了如何借助Oracle SQL Developer Data Modeler向现有数据库添加表。首先,通过导入DDL文件创建关系模型,接着新建'dependents'表并添加多个列,然后设置外键关联到'employees'表,之后创建子视图,最后导出'dependents'表的DDL文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

otn_logo_small.gif

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

大约 15 分钟

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

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

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

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

从 OTN 上安装 Oracle SQL Developer Data Modeler。

安装 Oracle Database 10g 或更高版本。

解除对 HR 用户的锁定。以 SYS 用户身份登录到 SQL*Plus 并执行以下命令:alter user hr identified by hr account unlock;

下载并解压缩 datamodel1moddb.zip 文件,该文件包含您执行该教程所需的全部文件。

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

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

.

打开 Oracle SQL Developer Data Modeler。

.

选择 File > Import > DDL File。

a1a68a8a5e74dab5290461b90285c9dc.png

.

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

ca716cdc98be376d19565105281cc126.png

.

从将前提条件中的文件解压缩到的目录中选择 Open。

443d844f2f69c24d7616f74481aee057.png

.

单击 OK。

2ebb4106dd01026781542611f05cff6f.png

.

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

7422a75dca2a9937351a8f44c79bca98.png

.

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

dbf492739dd245b74bffb6393d4e6ee2.png

.

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

82abfff2032960b5f48dd3fca3050cda.png 图标。

97a09a061a5722f0564432795580d6bb.png

.

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

64668de4e81a3d73854ee64c0207abcc.png

.

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

ba4328b72d6c6109fdda22440bdf5037.png

.

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

0ff85a065efcee0c6f3ed29517e2bd49.png

.

单击 Columns 选项卡。

411cbdeb652a3665caf0bd23b5e05e9f.png

.

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

b3b85a405287df024108eca5ae83403a.png

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

.

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

0499b653d9369c806e9ae2ee024d19de.png

.

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

5ddcbd4b73e4ea85d8b2e375afb6a32d.png

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

.

选择 Create Column

d0e2255c8d0215e6620e4b08dae5c010.png 图标。

98402f1957c7ecc05366eb1d29c4402f.png

.

将 Name 更改为 id。

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

080c3f26cb2138ba645dbb430691155d.png

.

您希望 id 列成为主键。单击 PK 复选框。然后,再次单击 Create Column

d0e2255c8d0215e6620e4b08dae5c010.png 图标创建另一列。

048703d2f18ff78499fa817404e0e75d.png

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

d0e2255c8d0215e6620e4b08dae5c010.png 图标。

46c2e9221c290f75f3366d12fb4e6c32.png

.

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

d0e2255c8d0215e6620e4b08dae5c010.png 图标。

a844cbbed49bdf409ab452a1b4a28989.png

.

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

d0e2255c8d0215e6620e4b08dae5c010.png 图标。

e468998843b65cf05f87f2f5b27b8578.png

.

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

d0e2255c8d0215e6620e4b08dae5c010.png 图标。

b3d687db2cd50876fa85f88111289cc9.png

.

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

d0e2255c8d0215e6620e4b08dae5c010.png 图标创建另一列。

70932b2f74cd449682adfb6b3cd6b897.png

.

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

1829104852868cd69becbf4b045ce001.png

.

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

79e41f940753dd501df0ead822e2486c.png

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

.

选择 New FK Relation

4abf219cf7d206851d021630724244cc.png 图标。

2e3415d6efd671ef369e9a10c2938bf4.png

.

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

a8d13be8615a8a3ff237fe9f9040c583.png

.

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

0f76f26d815a42558569dfda16dd277e.png

.

为 Child Column 选择 relative_id。

69b6bf7907f53aee4a96c275c949cb63.png

.

单击 OK。

693307d64e047e94fef66d4d970d1e34.png

.

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

640f2099ceb2f03c9ecae944fa06ee4d.png

.

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

23b437d54d7c44a15861d3781b953a1b.png

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

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

.

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

9a2ead7cf08051ecded16d95f93c1113.png

.

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

6a28472a92c3ae5a240fc19766996ec9.png

.

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

45e5cb0c27c853977182adbf829a585f.png

.

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

ff4c3986eac545fdf8e4c9357f8a4389.png

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

.

选择 File > Export > DDL File。

464e30295d89b8c8733a433411dcb542.png

您也可以选择 Generate DDL 图标。

d783f7b50878e34bc0839502f674755e.png

.

单击 Generate。

b79172e0ed8099d38a69d960915b5eb0.png

.

选择 Tables 选项卡。

a0b166a072e36cb5986cbd95e070d664.png

.

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

7390d9ccc1359c33a173ddf22a179a78.png

.

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

fb7e3fd35950f9741f2fcb02da0cf8c0.png

.

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

eed19712d364536240cb62ca0851bb24.png

.

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

ffda5b4276059ef7837036385764596c.png

.

查看 DDL 文件的内容。

17b4e09a5be8ce890d538871d61d9247.png

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

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

导入 HR 模式的脚本或 DDL

在关系模型中创建表

在表间添加外键

创建子视图

生成新表的 DDL

3d019fcb751021976f16b1617b8a0cd0.png

### 连接 IntelliJ IDEA 和 MySQL 数据库 为了在 IntelliJ IDEA 中连接到 MySQL 数据库并将已有结构导入项目,可以遵循以下方法: #### 配置数据库连接 通过配置数据源来建立与 MySQL 的连接。这可以通过 Database Tool Window 完成,在这里可以选择添加新的数据源并指定 JDBC URL、用户名和密码等必要参数[^3]。 ```sql jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC ``` 上述 SQL 语句展示了典型的 JDBC URL 格式用于连接本地主机上的 MySQL 实例;`your_database_name` 应替换为实际使用的数据库名称[^1]。 #### 使用 DataGrip 或内置插件 IntelliJ IDEA Ultimate Edition 自带了强大的数据库支持功能,允许开发者直接操作数据库而无需额外安装其他应用程序。如果使用的是社区版,则可能需要借助第三方插件或者考虑购买更高版本以获得完整的特性集。 #### 导入现有结构 一旦成功建立了数据库链接之后,就可以利用反向工程 (Reverse Engineering) 功能把现有的模式(Schema)转换成为实体类或其他形式的数据访问对象(DAO)。具体步骤如下所示: - 打开 Project Structure 对话框; - 转至 Modules -> Sources 下找到目标模块; - 右键点击 src 文件夹选择 New -> Entity Classes from Table...; - 接下来按照提示选取所需的以及生成选项即可完成映射过程。 ```java @Entity @Table(name = "example_table") public class ExampleEntity { @Id private Long id; // other fields, getters and setters... } ``` 以上 Java 类定义了一个基于 `example_table` 的 JPA 实体示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值