本文档风哥主要介绍Oracle Data Modeler使用相关知识,包括Data Modeler的概念、组件、安装、使用、高级功能等内容,由风哥教程参考Oracle官方文档Data Modeler内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。更多视频教程www.fgedu.net.cn
Part01-基础概念与理论知识
1.1 Data Modeler概念
Oracle SQL Developer Data Modeler是Oracle公司提供的免费数据建模工具,支持概念模型、逻辑模型、物理模型的设计和转换,可以生成DDL脚本,支持从数据库逆向工程。学习交流加群风哥微信: itpux-com
- 免费使用
- 支持多种模型
- 正向工程和逆向工程
- 支持多种数据库
- 图形化界面
1.2 Data Modeler组件
Data Modeler的主要组件:
- 概念模型:高层次业务概念
- 逻辑模型:逻辑数据结构
- 物理模型:物理数据库结构
- 关系模型:关系图设计
- DDL生成:生成DDL脚本
1.3 Data Modeler功能
Data Modeler的主要功能:
- 模型设计:设计数据模型
- 模型转换:模型之间转换
- DDL生成:生成DDL脚本
- 逆向工程:从数据库生成模型
- 文档生成:生成数据字典
Part02-生产环境规划与建议
2.1 Data Modeler规划
Data Modeler规划要点:
– 概念模型:业务需求分析
– 逻辑模型:逻辑结构设计
– 物理模型:物理结构设计
# 模型管理规划
– 版本控制:使用Git管理
– 命名规范:统一的命名规范
– 文档记录:记录设计决策
# 模型部署规划
– DDL生成:生成部署脚本
– 变更管理:管理模型变更
– 审核流程:模型审核流程
2.2 Data Modeler设计原则
Data Modeler设计原则:
- 规范化:遵循数据库规范化原则
- 命名规范:统一的命名规范
- 文档化:完整的文档记录
- 可维护:模型易于维护
- 可扩展:模型易于扩展
2.3 Data Modeler策略
Data Modeler策略:
- 设计策略:从概念到物理的设计
- 管理策略:版本控制和变更管理
- 部署策略:自动化部署
Part03-生产环境项目实施方案
3.1 Data Modeler安装配置
3.1.1 Data Modeler安装
https://www.oracle.com/tools/downloads/sql-modeler-downloads.html
# Windows安装
1. 下载datamodeler-xx.x.x.zip
2. 解压到目标目录
3. 运行datamodeler.exe
# Linux安装
$ unzip datamodeler-xx.x.x.zip -d /opt/
$ cd /opt/datamodeler
$ ./datamodeler.sh
# macOS安装
1. 下载datamodeler-xx.x.x-macosx.zip
2. 解压并拖拽到Applications文件夹
3. 从Applications启动Data Modeler
# 首次启动配置
1. 选择Java JDK路径
2. 配置用户设置目录
3. 完成启动向导
3.1.2 Data Modeler配置
1. 点击”文件” -> “导入” -> “数据字典”
2. 选择数据库类型:Oracle
3. 输入连接信息
4. 测试连接
5. 保存连接
# 配置命名规范
1. 点击”工具” -> “首选项”
2. 选择”数据模型器” -> “命名规范”
3. 设置表、列、索引等命名规则
4. 保存配置
# 配置物理模型属性
1. 点击”工具” -> “首选项”
2. 选择”数据模型器” -> “物理模型”
3. 设置默认表空间、存储参数等
4. 保存配置
3.2 Data Modeler使用
3.2.1 Data Modeler创建逻辑模型
1. 点击”文件” -> “新建逻辑模型”
2. 输入模型名称:FGEDU_Sales
3. 创建实体:
– 右键点击”实体” -> “新建实体”
– 输入实体名称:Orders
– 添加属性:order_id, order_date, customer_id, amount
– 设置主键:order_id
# 创建关系:
1. 右键点击”关系” -> “新建关系”
2. 选择源实体:Customers
3. 选择目标实体:Orders
4. 设置关系类型:一对多
5. 设置外键属性
# 逻辑模型示例:
实体:Customers
– customer_id (PK)
– customer_name
– customer_email
– customer_phone
实体:Orders
– order_id (PK)
– order_date
– customer_id (FK)
– amount
关系:Customers -> Orders (1:N)
3.2.2 Data Modeler创建物理模型
1. 右键点击逻辑模型
2. 选择”工程到关系模型”
3. 选择目标数据库:Oracle
4. 配置物理属性
5. 生成物理模型
# 配置物理属性:
1. 双击表名打开属性
2. 配置表空间:FGEDU_DATA
3. 配置存储参数:
– 初始大小:10M
– 下次扩展:1M
– 最大大小:100M
# 创建索引:
1. 右键点击表 -> “新建索引”
2. 输入索引名:IDX_ORDERS_DATE
3. 选择列:order_date
4. 配置索引属性
# 物理模型DDL预览:
CREATE TABLE customers (
customer_id NUMBER(10) PRIMARY KEY,
customer_name VARCHAR2(100),
customer_email VARCHAR2(100),
customer_phone VARCHAR2(20)
) TABLESPACE fgedu_data;
CREATE TABLE orders (
order_id NUMBER(10) PRIMARY KEY,
order_date DATE,
customer_id NUMBER(10),
amount NUMBER(10,2),
CONSTRAINT fk_orders_customer
FOREIGN KEY (customer_id)
REFERENCES customers(customer_id)
) TABLESPACE fgedu_data;
CREATE INDEX idx_orders_date ON orders(order_date);
3.3 Data Modeler高级功能
3.3.1 Data Modeler逆向工程
1. 点击”文件” -> “导入” -> “数据字典”
2. 选择数据库连接
3. 选择要导入的对象:
– 表
– 视图
– 索引
– 约束
4. 选择导入选项:
– 生成关系模型
– 生成逻辑模型
5. 点击”导入”
6. 等待导入完成
# 查看导入的模型:
1. 展开关系模型节点
2. 查看导入的表和关系
3. 编辑和优化模型
# 比较模型和数据库:
1. 点击”工具” -> “比较模型和数据字典”
2. 选择模型和数据库连接
3. 查看差异报告
4. 同步模型或数据库
3.3.2 Data Modeler生成DDL
1. 右键点击物理模型
2. 选择”生成DDL”
3. 选择要生成的对象:
– 表
– 索引
– 约束
– 序列
4. 配置生成选项:
– 包含DROP语句
– 包含注释
– 格式化DDL
5. 选择输出位置
6. 点击”生成”
# DDL文件示例:
— Generated by Oracle SQL Developer Data Modeler
— Date: 2026-04-05 10:00:00
— Database: Oracle 19c
— Table: customers
DROP TABLE customers CASCADE CONSTRAINTS;
CREATE TABLE customers (
customer_id NUMBER(10),
customer_name VARCHAR2(100),
customer_email VARCHAR2(100),
customer_phone VARCHAR2(20),
CONSTRAINT pk_customers PRIMARY KEY (customer_id)
) TABLESPACE fgedu_data;
COMMENT ON TABLE customers IS ‘客户信息表’;
COMMENT ON COLUMN customers.customer_id IS ‘客户ID’;
COMMENT ON COLUMN customers.customer_name IS ‘客户名称’;
— Index: idx_customers_email
CREATE INDEX idx_customers_email
ON customers(customer_email)
TABLESPACE fgedu_index;
Part04-生产案例与实战讲解
4.1 Data Modeler常见问题
4.1.1 Data Modeler导入失败
# 分析步骤:
# 1. 检查数据库连接
– 确认连接信息正确
– 测试连接是否成功
# 2. 检查用户权限
SQL> SELECT * FROM session_privs WHERE privilege LIKE ‘%SELECT%’;
PRIVILEGE
—————————————-
SELECT ANY TABLE
# 3. 检查对象数量
SQL> SELECT COUNT(*) FROM dba_tables WHERE owner = ‘FGEDU’;
COUNT(*)
———-
100
# 4. 解决方案
– 使用有足够权限的用户
– 分批导入大量对象
– 检查网络连接稳定性
4.2 Data Modeler故障排除
# 分析步骤:
# 1. 检查模型完整性
– 确认所有关系已定义
– 确认主键已设置
– 确认外键已设置
# 2. 检查物理属性
– 确认表空间已指定
– 确认数据类型正确
– 确认约束有效
# 3. 检查命名冲突
– 确认表名不重复
– 确认索引名不重复
– 确认约束名不重复
# 4. 解决方案
– 修复模型问题
– 重新生成DDL
– 验证DDL脚本
4.3 Data Modeler优化方案
Data Modeler优化方案:
- 模型优化:优化数据模型设计
- 命名规范:统一命名规范
- 文档完善:完善模型文档
- 版本控制:使用版本控制
- 审核流程:建立审核流程
Part05-风哥经验总结与分享
5.1 Data Modeler使用最佳实践
Data Modeler使用最佳实践:
- 规范化设计:遵循规范化原则
- 命名规范:统一命名规范
- 文档完善:完善模型文档
- 版本控制:使用版本控制
- 审核流程:建立审核流程
- 持续改进:持续优化模型
5.2 Data Modeler检查清单
– [ ] Data Modeler已安装
– [ ] 连接已配置
– [ ] 命名规范已设置
– [ ] 逻辑模型已创建
– [ ] 物理模型已创建
– [ ] DDL已生成
– [ ] 文档已生成
– [ ] 版本控制已使用
# Data Modeler问题处理流程
1. 发现Data Modeler问题
2. 收集Data Modeler相关信息
3. 分析Data Modeler问题原因
4. 制定处理方案
5. 执行处理方案
6. 验证问题解决
7. 总结经验,优化预防措施
5.3 Data Modeler工具推荐
Data Modeler常用功能:
- 模型设计:设计数据模型
- 模型转换:模型之间转换
- DDL生成:生成DDL脚本
- 逆向工程:从数据库生成模型
- 文档生成:生成数据字典
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
