---
title: Business Link
description: A Business Link stores each key combination that it reads from the Raw Vault once, with its hash key Link_HK, in a table of the Business Vault layer.
---

[Skip to content](https://knowledge.bigenius-x.com/create-a-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)

# Business Link

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

A Business Link stores each key combination that it reads from the Raw Vault once, with its hash key `Link_HK`, in a table of the Business Vault layer. Use it for a relationship that a business rule derives from Raw Vault data, such as the cashier, item and loyalty card of a sales transaction. After each load, the result view shows one row per key combination and the load that first delivered it.

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

### Sources and relationships

A 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) and [Hierarchy Flattens](https://knowledge.bigenius-x.com/create-a-hierachy-flatten?hsLang=en). It has one or more relationships to [Hubs](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en) or [Business Hubs](https://knowledge.bigenius-x.com/create-a-business-hub?hsLang=en). The foreign-key terms of the relationships are the business keys of the Business Link.

Business Link Satellites, Record Tracking Business Link Satellites, Effectivity Business Link Satellites, Non-Historized Business Link Satellites reference a Business Link. Business Current View, Business History View, Business PIT 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 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 Business Link in the Business Vault layer, [add a relationship](https://knowledge.bigenius-x.com/add-a-relationship?hsLang=en) to each Hub or Business Hub, [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).

A Business Link holds only foreign-key terms and Default Terms. Validation reports an error for any other term; descriptive data goes into a Business Link Satellite.

### 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 tables. 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 related 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 all relationships and primary key of the table. See [How biGENIUS-X builds hash values](https://knowledge.bigenius-x.com/how-bigenius-x-builds-hash-values?hsLang=en).
- [`DVLINK_ForeignKey_Identity`](https://knowledge.bigenius-x.com/dvlink_foreignkey_identity?hsLang=en): names one hash-key column per relationship, `<Hub name>_<role>_HK`. It holds the key of the related Hub row.
- [`BG_LoadTimestamp`](https://knowledge.bigenius-x.com/bg_loadtimestamp?hsLang=en): the load that inserted the row.
- [`BG_SourceSystem`](https://knowledge.bigenius-x.com/bg_sourcesystem?hsLang=en): the source system of the row; 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 all foreign-key terms of a nullable relationship are NULL, the Business Link stores 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 Business Link `load_blnk` with one dataflow:

| Role | Generated name | Purpose |
| --- | --- | --- |
| Source | `BDV_LNK_load_blnk_Source` | Reads the sources |
| Deduplication | `BDV_LNK_load_blnk_Deduplication` | Removes duplicate rows |
| Hashing | `BDV_LNK_load_blnk_Hashing` | Calculates the hash keys |
| HashingStorage | `BDV_LNK_load_blnk_HashingTable` | Stores the hashed rows |
| HashingLoader | `BDV_LNK_load_blnk_HashingLoader` | Fills the hashing table |
| EmbryoLoader | `BDV_LNK_load_blnk_EmbryoLoader` | Adds missing Hub keys |
| Delta | `BDV_LNK_load_blnk_Delta` | Selects new key combinations |
| Loader | `BDV_LNK_load_blnk_Loader` | Inserts the new rows |
| Storage | `BDV_LNK_load_blnk` | Business Link table |
| Result | `BDV_LNK_load_blnk_Result` | Query view |

- Loaders are stored procedures; the 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 and foreign keys `0`. The result view hides it.
- With Foreign Key Mode `Create Disabled`, the table script adds a foreign key per relationship and disables 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_LNK_load_blnk -> _Result
_Result -> _Delta (key combinations already stored)
```

The source view reads the result views of its sources. The hashing view calculates `Link_HK` and one Hub key per relationship. 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. 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 tables.

### Example

The Business Link `load_blnk` on Microsoft SQL Server reads the BusinessVault Composite `load_salestransaction_virtual_bcmp`, a view of sales transactions. It has relationships to the Hubs `common_employee`, `common_item` and `common_loyaltycard`, with the roles `EMPLOYEE`, `ITEM` and `LOYALTYCARD`. The composite delivers these transactions:

- Load 1 on 2026-10-28 08:00: cashier 101 sells item 2 to loyalty card 501.
- Load 2 on 2026-10-29 08:00: the same transaction, and cashier 102 sells item 3 to card 503.
- Loads 3 and 4 on 2026-10-30 and 2026-10-31 08:00: the same transactions as load 2.

### Check the result

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

```
SELECT FK_common_employee_EMPLOYEE_EMPLOYEE_ID AS EMPLOYEE_ID,
       FK_common_item_ITEM_ITEM_ID AS ITEM_ID,
       FK_common_loyaltycard_LOYALTYCARD_LOYALTYCARD_ID
         AS LOYALTYCARD_ID,
       BG_LoadTimestamp
FROM p3b.BDV_LNK_load_blnk_Result
ORDER BY BG_LoadTimestamp;
```

This is the result after load 4:

```
EMPLOYEE_ID  ITEM_ID  LOYALTYCARD_ID  BG_LoadTimestamp
101          2        501             2026-10-28 08:00
102          3        503             2026-10-29 08:00
```

- Load 2 inserted only the new combination of cashier 102, item 3 and card 503.
- Loads 3 and 4 inserted no row.
- The table holds a third row, the unknown-member row.

### Platform differences

- Snowflake: names are in capitals, and the loader is a stored procedure. The load control task `LC_BDV_LNK_<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_LNK_<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 Business Link becomes the dbt models `bdv_lnk_<model object name>_source` and `bdv_lnk_<model object name>`. The model `bdv_lnk_<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 Business Link has at least one relationship and at least one business key, and no terms other than foreign keys and Default Terms.
- A Business Link keeps no history and no validity. Business Link Satellites store the descriptive data and its history.
- A dataflow that delivers the same key combination 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), [Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en), [BusinessVault Composite](https://knowledge.bigenius-x.com/create-a-business-vault-composite?hsLang=en)
- Next: [Business Link Satellite](https://knowledge.bigenius-x.com/create-a-business-link-satellite?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: [Link](https://knowledge.bigenius-x.com/create-a-link?hsLang=en), [Business Driving Key Link](https://knowledge.bigenius-x.com/business-driving-key-link?hsLang=en), [Embryo Loader](https://knowledge.bigenius-x.com/embryo-loader?hsLang=en), [How biGENIUS-X builds hash values](https://knowledge.bigenius-x.com/how-bigenius-x-builds-hash-values?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