---
title: Hierarchical Business Link
description: A Hierarchical Business Link stores parent-child pairs of one Hub or Business Hub, read from the Raw Vault, in a table of the Business Vault layer.
---

[Skip to content](https://knowledge.bigenius-x.com/create-a-hierarchical-business-link#main-content)

[Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en) [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal?hsLang=en)

[![TRI\_Logo\_biGENIUS\_2020\_RGB\_s](https://knowledge.bigenius-x.com/hs-fs/hubfs/Marketing/TRI_Logo_biGENIUS_2020_RGB_s.png?width=150&height=42&name=TRI_Logo_biGENIUS_2020_RGB_s.png)](https://www.bigenius-x.com/)

Open main navigation

Close main navigation

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new)
- [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [biGENIUS-X Knowledge Base](https://knowledge.bigenius-x.com/?hsLang=en)
2. [Generators](https://knowledge.bigenius-x.com/generators?hsLang=en)
3. [Model Object Type](https://knowledge.bigenius-x.com/generators?hsLang=en#model-object-type)

# Hierarchical Business Link

**Applies to**  
Platform: Microsoft SQL Server · Snowflake · Snowflake dbt · Databricks · Databricks dbt · Fabric Lakehouse · Fabric Warehouse · Oracle  
Architecture: Data Vault

A Hierarchical Business Link stores parent-child pairs of one Hub or Business Hub, read from the Raw Vault, in a table of the Business Vault layer. Use it for a hierarchy that a business rule derives from Raw Vault data, such as employees and their managers. After each load, the result view shows one row per pair and the load that first delivered it.

A Hierarchical Business Link works like a [Hierarchical Link](https://knowledge.bigenius-x.com/create-a-hierachical-link?hsLang=en). It differs in its sources, its layer, its relationship targets and the `BDV_` prefix of its objects.

### Sources and relationships

A Hierarchical Business Link reads the result views of Raw Vault objects, in one or more dataflows: Hubs, all Link types, all satellite types, Current Views and History Views. It also reads [BusinessVault Composites](https://knowledge.bigenius-x.com/create-a-business-vault-composite?hsLang=en). It has exactly two relationships, both to the same [Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en) or [Business Hub](https://knowledge.bigenius-x.com/create-a-business-hub?hsLang=en), with roles such as `employee` and `manager`. The foreign-key terms are the business keys of the Hierarchical Business Link. See [Use parent-child relationships](https://knowledge.bigenius-x.com/use-parent-child-relationships?hsLang=en).

Business Current View, Business History View and [Vault Out](https://knowledge.bigenius-x.com/create-a-vault-out?hsLang=en) can read it as a source.

### Create the model object

- With the wizard: open the menu of a Raw Vault Hub, Link or satellite, or of a BusinessVault Composite. Choose **Automate** and then **Create Hierarchical Business Link**. Its steps are [Create Model Object](https://knowledge.bigenius-x.com/wizard-step-create-model-object?hsLang=en), [Create Dataflow](https://knowledge.bigenius-x.com/wizard-step-create-dataflow?hsLang=en), [Create Multiple Relations](https://knowledge.bigenius-x.com/wizard-step-create-multiple-relations?hsLang=en), [Define Roles](https://knowledge.bigenius-x.com/wizard-step-create-relations-with-role?hsLang=en), [Map Foreign Key Terms](https://knowledge.bigenius-x.com/wizard-step-map-foreign-key-terms?hsLang=en) and [Add to View](https://knowledge.bigenius-x.com/wizard-step-add-to-view?hsLang=en). See [Create a Model Object with the wizard](https://knowledge.bigenius-x.com/create-a-model-object-with-the-wizard?hsLang=en).
- Manually: [create a model object](https://knowledge.bigenius-x.com/create-a-model-object?hsLang=en) of type Hierarchical Business Link in the Business Vault layer, [add two relationships](https://knowledge.bigenius-x.com/add-a-relationship?hsLang=en) to the Hub or Business Hub with a role each, [create a dataflow set](https://knowledge.bigenius-x.com/create-a-data-flow-set?hsLang=en), [add the source model object](https://knowledge.bigenius-x.com/add-a-model-object-into-a-data-flow-set?hsLang=en) and [map the foreign-key terms](https://knowledge.bigenius-x.com/map-a-source-term-with-a-target-term?hsLang=en).

### Properties

- [Implementation Type](https://knowledge.bigenius-x.com/implementation-type-model-object?hsLang=en): `Permanent` only.
- [Foreign Key Mode](https://knowledge.bigenius-x.com/foreign-key-mode-model-object?hsLang=en): whether the table gets foreign keys to the Hub table. With `Create Disabled`, the default, they are created and disabled.
- [Load Caching](https://knowledge.bigenius-x.com/load-caching-model-object?hsLang=en): empty (default) or `Hashing`, which stores the hashing view in a table before the loader runs.
- [Custom Singleton Values](https://knowledge.bigenius-x.com/custom-singleton-values-model-object?hsLang=en): values of the unknown-member row.
- [Deduplication Method](https://knowledge.bigenius-x.com/deduplication-method-model-object?hsLang=en) and [Sort Order within Partition](https://knowledge.bigenius-x.com/deduplication-partition-model-object?hsLang=en), per dataflow.
- [Use Embryo Loader](https://knowledge.bigenius-x.com/embryo-loader?hsLang=en), per relationship: inserts business keys that the Hub or Business Hub does not hold yet.

### Default Terms

- [`Link_HK`](https://knowledge.bigenius-x.com/link_hk?hsLang=en): hash of the business keys of both relationships and primary key of the table.
- [`DVLINK_ForeignKey_Identity`](https://knowledge.bigenius-x.com/dvlink_foreignkey_identity?hsLang=en): names one hash-key column per relationship, `<Hub name>_<role>_HK`, with the key of the related Hub row.
- [`BG_LoadTimestamp`](https://knowledge.bigenius-x.com/bg_loadtimestamp?hsLang=en) and [`BG_SourceSystem`](https://knowledge.bigenius-x.com/bg_sourcesystem?hsLang=en): the load that inserted the row and its source system, empty unless you map it.
- [`BG_DataQuality_ID`](https://knowledge.bigenius-x.com/bg-dataquality-id?hsLang=en), [`BG_ErrorCount`](https://knowledge.bigenius-x.com/bg_errorcount?hsLang=en) and [`BG_ErrorDescription`](https://knowledge.bigenius-x.com/bg_errordescription?hsLang=en): hidden terms of the data quality objects.

When the parent key is NULL, for example for an employee without a manager, the hash key of that relationship is zeros, the key of the Hub's unknown-member row. See [Behaviour for Nulled Business Keys in Links](https://knowledge.bigenius-x.com/behaviour-for-nulled-business-keys-in-links?hsLang=en).

### Generated objects

These are the names on Microsoft SQL Server for the Hierarchical Business Link `load_bhlnk` with one dataflow:

| Role | Generated name | Purpose |
| --- | --- | --- |
| Source | `BDV_HLNK_load_bhlnk_Source` | Reads the sources |
| Deduplication | `BDV_HLNK_load_bhlnk_Deduplication` | Removes duplicate rows |
| Hashing | `BDV_HLNK_load_bhlnk_Hashing` | Calculates the hash keys |
| HashingStorage | `BDV_HLNK_load_bhlnk_HashingTable` | Stores the hashed rows |
| HashingLoader | `BDV_HLNK_load_bhlnk_HashingLoader` | Fills the hashing table |
| EmbryoLoader | `BDV_HLNK_load_bhlnk_EmbryoLoader` | Adds missing Hub keys |
| Delta | `BDV_HLNK_load_bhlnk_Delta` | Selects new pairs |
| Loader | `BDV_HLNK_load_bhlnk_Loader` | Inserts the new rows |
| Storage | `BDV_HLNK_load_bhlnk` | Hierarchical Business Link table |
| Result | `BDV_HLNK_load_bhlnk_Result` | Query view |

- Loaders are stored procedures; the Hierarchical Business Link table and the hashing table are tables; all other objects are views.
- The deduplication view exists only with a Deduplication Method other than `None`.
- The hashing table and hashing loader exist only with Load Caching `Hashing`. The delta view then reads the hashing table.
- The embryo loader exists only when Use Embryo Loader is true on a relationship. It runs before the loader.
- With several dataflows, all objects except the table and the result view exist once per dataflow, with the dataflow name in their names.
- The table script inserts the unknown-member row with hash keys of zeros. The result view hides it.
- The result view always exists, independent of [Create Result Views](https://knowledge.bigenius-x.com/create-result-views-project?hsLang=en).

With the default settings, a load runs this chain:

```
Raw Vault _Result views -> _Source -> _Hashing -> _Delta
_Delta -> _Loader -> BDV_HLNK_load_bhlnk -> _Result
_Result -> _Delta (pairs already stored)
```

The source view reads the result views of its sources. The hashing view calculates `Link_HK` and the Hub key of each role. The delta view keeps the rows whose `Link_HK` is not in the result view, and the loader inserts them with the load timestamp. The loader never updates or deletes rows, so a pair that the source no longer delivers stays. With the optional objects, `_Deduplication` sits between `_Source` and `_Hashing`, `_HashingLoader` fills `_HashingTable` before the delta view reads it, and `_EmbryoLoader` writes missing keys to the Hub table.

### Example

The Hierarchical Business Link `load_bhlnk` on Microsoft SQL Server reads the Hierarchical Link `load_employee_hlnk` of the Raw Vault. Its two relationships go to the Hub `common_employee`, with the roles `employee` and `manager`. The Raw Vault and then the Hierarchical Business Link load four times:

- Load 1 on 2026-10-28 08:00: employee 101 without a manager, employees 102 and 103 with manager 101.
- Load 2 on 2026-10-29 08:00: employee 104 with manager 102 is new.
- Load 3 on 2026-10-30 08:00: employee 103 gets manager 102.
- Load 4 on 2026-10-31 08:00: no change.

### Check the result

Query the result view, here in the schema `p3b`:

```
SELECT FK_common_employee_employee_EMPLOYEE_ID AS EMPLOYEE_ID,
       FK_common_employee_manager_EMPLOYEE_ID AS MANAGER_ID,
       common_employee_manager_HK AS manager_HK, BG_LoadTimestamp
FROM p3b.BDV_HLNK_load_bhlnk_Result
ORDER BY EMPLOYEE_ID, BG_LoadTimestamp;
```

This is the result after load 4, with hash keys shortened to their first four bytes:

```
EMPLOYEE_ID  MANAGER_ID  manager_HK  BG_LoadTimestamp
101          NULL        0x00000000  2026-10-28 08:00
102          101         0x6348AE9A  2026-10-28 08:00
103          101         0x6348AE9A  2026-10-28 08:00
103          102         0x8887BDD9  2026-10-30 08:00
104          102         0x8887BDD9  2026-10-29 08:00
```

- Employee 101 has no manager, so the manager key is zeros.
- The new manager of employee 103 added a second pair in load 3. The first pair stays.
- Load 4 inserted no row.

### Platform differences

- Snowflake: names are in capitals, and the loader is a stored procedure. The load control task `LC_BDV_HLNK_<model object name>_TASK` calls it. The dataflow properties [Use Stream](https://knowledge.bigenius-x.com/use-stream-model-object?hsLang=en) and [Warehouse Placeholder Variable Name](https://knowledge.bigenius-x.com/warehouse-placeholder-variable-name-dataflow?hsLang=en) apply.
- Databricks and Fabric Lakehouse: table and view names are in lowercase, and the loader is the notebook `BDV_HLNK_<model object name>_Loader`. The properties [File Format](https://knowledge.bigenius-x.com/file-format-model-object?hsLang=en), [Optimization Method](https://knowledge.bigenius-x.com/optimization-method-model-object?hsLang=en), [Optimization Method Columns](https://knowledge.bigenius-x.com/optimization-method-columns-model-object?hsLang=en) and [Use Sequential Dataflow Execution](https://knowledge.bigenius-x.com/use-sequential-dataflow-execution-model-object?hsLang=en) apply. Fabric Lakehouse allows only Foreign Key Mode `None`.
- Databricks dbt and Snowflake dbt: the Hierarchical Business Link becomes the dbt models `bdv_hlnk_<model object name>_source` and `bdv_hlnk_<model object name>`. The model `bdv_hlnk_<model object name>_result` exists only when Create Result Views is true; the default on dbt is false. Load Caching and Use Embryo Loader are not available.
- Fabric Warehouse: the same objects as on Microsoft SQL Server, deployed by notebooks.
- Oracle: names are in capitals, and the loader is a PL/SQL package. [Partition Clause](https://knowledge.bigenius-x.com/partition-clause-and-table-storage-model-object?hsLang=en) adds its text to the `CREATE TABLE` statement. Table Compression, the tablespaces and the statistics properties also apply.
- Foreign Key Mode `Create Enforced` exists only on Microsoft SQL Server and Oracle.

### Limitations

- A Hierarchical Business Link has exactly two relationships to the same Hub or Business Hub and no terms other than foreign keys and Default Terms. Validation reports an error otherwise.
- A Hierarchical Business Link holds one level, the direct parent.
- A dataflow that delivers the same pair twice in one load makes the loader fail with a primary key violation. A Deduplication Method removes such duplicates before hashing.

### Release differences

- Generator 2.2: Use Embryo Loader is available.
- Generator 2.3: Custom Singleton Values is available.

### Related articles

- Previous: [Business Hub](https://knowledge.bigenius-x.com/create-a-business-hub?hsLang=en), [Hierarchical Link](https://knowledge.bigenius-x.com/create-a-hierachical-link?hsLang=en)
- Next: [Business Current View](https://knowledge.bigenius-x.com/create-a-business-current-view?hsLang=en)
- Reference: [Link\_HK](https://knowledge.bigenius-x.com/link_hk?hsLang=en), [DVLINK\_ForeignKey\_Identity](https://knowledge.bigenius-x.com/dvlink_foreignkey_identity?hsLang=en), [Foreign Key Mode (Model Object)](https://knowledge.bigenius-x.com/foreign-key-mode-model-object?hsLang=en), [Load Caching (Model Object)](https://knowledge.bigenius-x.com/load-caching-model-object?hsLang=en), [Custom Singleton Values (Model Object)](https://knowledge.bigenius-x.com/custom-singleton-values-model-object?hsLang=en), [Behaviour for Nulled Business Keys in Links (Project)](https://knowledge.bigenius-x.com/behaviour-for-nulled-business-keys-in-links?hsLang=en), [Create Result Views (Project)](https://knowledge.bigenius-x.com/create-result-views-project?hsLang=en)
- See also: [Use parent-child relationships](https://knowledge.bigenius-x.com/use-parent-child-relationships?hsLang=en), [Embryo Loader](https://knowledge.bigenius-x.com/embryo-loader?hsLang=en), [Create a Model Object with the wizard](https://knowledge.bigenius-x.com/create-a-model-object-with-the-wizard?hsLang=en)

- [Getting started](https://knowledge.bigenius-x.com/getting-started?hsLang=en#main-content)

    - [Guidelines](https://knowledge.bigenius-x.com/getting-started?hsLang=en#guidelines)
    - [Start working](https://knowledge.bigenius-x.com/getting-started?hsLang=en#start-working)
    - [Account](https://knowledge.bigenius-x.com/getting-started?hsLang=en#account)
- [General overview](https://knowledge.bigenius-x.com/general-overview?hsLang=en)
- [Artificial Intelligence](https://knowledge.bigenius-x.com/artificial-intelligence?hsLang=en)
- [Application Modules](https://knowledge.bigenius-x.com/application-modules?hsLang=en#main-content)

    - [Administration](https://knowledge.bigenius-x.com/application-modules?hsLang=en#administration)
    - [Solutions](https://knowledge.bigenius-x.com/application-modules?hsLang=en#solutions)
    - [Global Features](https://knowledge.bigenius-x.com/application-modules?hsLang=en#global-features)
    - [Projects](https://knowledge.bigenius-x.com/application-modules?hsLang=en#projects)
    - [Branches](https://knowledge.bigenius-x.com/application-modules?hsLang=en#branches)
    - [Data Connections](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-connections)
    - [Dataflow Modeling - Overview](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-overview)
    - [Dataflow Modeling - Wizard Steps](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-wizard-steps)
    - [Dataflow Modeling - Terms](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-terms)
    - [Dataflow Modeling - Term Mapping](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-term-mapping)
    - [Dataflow Modeling - Relationships](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-relationships)
    - [Dataflow Modeling - Data Quality](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-data-quality)
    - [Dataflow Modeling - Indexes](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-indexes)
    - [Relationship Modeling](https://knowledge.bigenius-x.com/application-modules?hsLang=en#relationship-modeling)
    - [Generate Artifacts](https://knowledge.bigenius-x.com/application-modules?hsLang=en#generate-artifacts)
    - [Project Settings](https://knowledge.bigenius-x.com/application-modules?hsLang=en#project-settings)
    - [Data Marketplace](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-marketplace)
- [Generators](https://knowledge.bigenius-x.com/generators?hsLang=en#main-content)

    - [Fabric Warehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-warehouse)
    - [Fabric Lakehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-lakehouse)
    - [Databricks](https://knowledge.bigenius-x.com/generators?hsLang=en#databricks)
    - [Snowflake](https://knowledge.bigenius-x.com/generators?hsLang=en#snowflake)
    - [Microsoft SQL Server](https://knowledge.bigenius-x.com/generators?hsLang=en#microsoft-sql-server)
    - [Oracle](https://knowledge.bigenius-x.com/generators?hsLang=en#oracle)
    - [Artifacts](https://knowledge.bigenius-x.com/generators?hsLang=en#artifacts)
    - [Replace Placeholders](https://knowledge.bigenius-x.com/generators?hsLang=en#replace-placeholders)
    - [Target solution environment](https://knowledge.bigenius-x.com/generators?hsLang=en#target-solution-environment)
    - [Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment)
    - [Deployment with an Azuze DevOps pipeline](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment-with-an-azuze-devops-pipeline)
    - [Delta Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#delta-deployment)
    - [Load control environment](https://knowledge.bigenius-x.com/generators?hsLang=en#load-control-environment)
    - [Load data with a native load control](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-a-native-load-control)
    - [Load data with Apache Airflow](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-apache-airflow)
    - [Model Object Type](https://knowledge.bigenius-x.com/generators?hsLang=en#model-object-type)
    - [Properties](https://knowledge.bigenius-x.com/generators?hsLang=en#properties)
    - [Default Terms](https://knowledge.bigenius-x.com/generators?hsLang=en#default-terms)
- [Discovery application](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#main-content)

    - [Discovery configurations](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#discovery-configurations)
- [Best practices](https://knowledge.bigenius-x.com/best-practices?hsLang=en#main-content)

    - [Modeling Approaches](https://knowledge.bigenius-x.com/best-practices?hsLang=en#modeling-approaches)
    - [Use Cases](https://knowledge.bigenius-x.com/best-practices?hsLang=en#use-cases)
    - [Business Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#business-rules)
    - [Data Quality Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#data-quality-rules)
- [FAQs](https://knowledge.bigenius-x.com/faqs?hsLang=en)
- [Product Release Notes](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#main-content)

    - [SaaS Application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#saas-application)
    - [Discovery application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#discovery-application)
    - [Generators](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#generators)
- [Legal Documents](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#main-content)

    - [Current legal docs](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#current-legal-docs)
    - [Software Product and Limits](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#software-product-and-limits)

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en)
- [Customer Portal](https://knowledge.bigenius-x.com/customer-portal)
- [Sign in](https://knowledge.bigenius-x.com/_hcms/mem/login)

[![biGENIUS logo](https://knowledge.bigenius-x.com/hubfs/TRI_Logo_biGENIUS_2020_RGB-1.svg "biGENIUS logo")](https://www.bigenius-x.com)

<https://www.linkedin.com/company/bigenius> <https://www.youtube.com/@biGENIUS_DWA>

All rights reserved © 2025, biGENIUS AG