# 字段血缘

> 从外键、视图定义、查询历史和同名字段中分析字段的上游、下游与潜在影响范围。

Source: https://dbxio.com/cn/docs/field-lineage

Language: zh-CN

Relative links resolve against https://dbxio.com/cn/docs/field-lineage.



字段血缘用于回答“这个字段从哪里来、被谁使用、修改后可能影响什么”。DBX 会组合数据库元数据和本地查询历史，并按证据强度标记关系，而不是把所有同名字段都当成确定依赖。

## 打开方式

从字段节点、表结构或相关上下文菜单打开字段血缘。当前字段会作为中心目标，结果列表展示相关表、字段、视图或历史 SQL。

## 关系来源与可信度

| 来源   | 默认可信度  | 说明                   |
| ---- | ------ | -------------------- |
| 外键   | 确定     | 数据库声明了当前字段与目标字段的约束关系 |
| 视图定义 | 高置信或可能 | 视图源码同时引用目标表和字段时置信度更高 |
| 查询历史 | 高置信或可能 | 历史 SQL 同时命中表和字段时更可信  |
| 同名字段 | 可能     | 仅根据字段名相同推断，需要业务确认    |

界面会区分**确定**、**高置信**和**可能相关**。筛选低置信结果可以先聚焦外键和明确源码引用。

## 搜索与筛选

* 搜索表、字段、视图或 SQL 片段
* 按置信度过滤
* 查看当前显示数量和总关系数
* 复制表名或字段名
* 打开目标表数据或结构
* 从结果回到对应对象树位置

血缘读取会按数据库能力加载外键、视图源码和相关元数据。大型 Schema 首次分析可能需要时间。

## 查询历史的作用

DBX 会把已执行查询作为辅助证据，例如：

* `JOIN` 中同时出现两个字段
* `WHERE`、`SELECT` 或表达式中引用目标字段
* 历史修复 SQL 或报表 SQL 使用同名字段

查询历史只代表曾经在 DBX 中执行或保存过的 SQL，不代表应用代码、ETL、BI 或其他客户端的完整使用情况。

查询历史可能包含敏感表名、条件和字面量。演示血缘结果、导出日志或共享截图前先检查隐私信息。

## 视图与源码分析

视图来源通过数据库返回的定义进行文本和结构分析。以下情况可能降低置信度：

* 动态 SQL 或存储过程拼接
* 同名表/字段但没有明确 Schema
* `SELECT *`、复杂子查询或厂商扩展语法
* 数据库没有返回完整视图源码

点击视图结果后，可以结合 [对象浏览器](/cn/docs/object-browser) 中的源码进行人工确认。

## 使用方式

### 修改字段前

1. 先看确定的外键关系
2. 检查高置信视图和历史 SQL
3. 对可能相关的同名字段进行业务确认
4. 在代码仓库、ETL 和 BI 中继续搜索
5. 使用 [Schema 对比](/cn/docs/schema-diff) 审查目标环境变化

### 接手陌生数据库

从核心主键、业务编号、用户 ID 或时间字段开始，逐步打开关联表和视图。字段注释和对象源码通常比单纯同名推断更可靠。

## 支持与边界

* 血缘需要外键、视图源码或可解析查询历史；功能范围因数据库而异
* 数据库没有声明外键时，DBX 只能提供视图、历史 SQL 和同名字段线索
* 结果不是强一致数据治理图，不包含所有应用代码、消息流、ETL 和外部 BI
* 删除历史记录或清理本地数据会减少查询历史来源
* 当前支持范围以 [数据库支持](/cn/docs/databases) 的功能矩阵为准

关键结构变更仍应结合数据库约束、对象源码、应用代码搜索和实际业务负责人确认。字段血缘用于缩小调查范围，不替代变更影响分析。

### [结构浏览](/cn/docs/schema-browser)

查看字段、外键、注释和对象层级。

### [对象源码](/cn/docs/object-browser)

查看视图、过程、函数和触发器定义。

### [Schema 对比](/cn/docs/schema-diff)

检查不同环境之间的结构差异和部署脚本。

