---
title: Same As Link
description: A Same As Link stores pairs of business keys of one Hub that identify the same business object, with the hash key Link_HK, in a Raw Vault table.
---

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

# Same As Link

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

A Same As Link stores pairs of business keys of one Hub that identify the same business object, such as a customer recorded twice in two source systems, with the hash key `Link_HK`, in a table of the Raw Vault layer. Use it to map duplicate keys to a main key without changing the Hub. After each load, the result view shows one row per pair and the load that first delivered it.

Earlier versions of this article spelled the type "Same as Link".

### Sources and relationships

A Same As Link reads [Stages](https://knowledge.bigenius-x.com/create-a-stage?hsLang=en), [RawVault Composites](https://knowledge.bigenius-x.com/create-a-raw-vault-composite?hsLang=en) and [Store Entities](https://knowledge.bigenius-x.com/create-a-store-entity?hsLang=en) of a linked Data Store project, in one or more dataflows. It has exactly two relationships, both to the same [Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en), with roles such as `MAIN` and `DUPLICATE`. The foreign-key terms are the business keys of the Same As Link. The source delivers the pairs, for example from a matching table.

Record Tracking Link Satellites, Effectivity Link Satellites reference a Same As Link. PIT, Current View, History View, BusinessVault Composite, [Vault Out](https://knowledge.bigenius-x.com/create-a-vault-out?hsLang=en) and the Business Vault types can read it as a source.

### Create the model object

- With the wizard: open the menu of a Stage, RawVault Composite or Store Entity, choose **Automate** and then **Create Same As 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, [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 Same As Link in the Raw Vault layer, [add two relationships](https://knowledge.bigenius-x.com/add-a-relationship?hsLang=en) to the 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, per relationship: inserts business keys that the Hub does not hold yet. See [Embryo Loader](https://knowledge.bigenius-x.com/embryo-loader?hsLang=en).

### Default Terms

- [`Link_HK`](https://knowledge.bigenius-x.com/link_hk?hsLang=en): hash of both business keys 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`, for example `load_customer_hub_DUPLICATE_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.

See [How biGENIUS-X builds hash values](https://knowledge.bigenius-x.com/how-bigenius-x-builds-hash-values?hsLang=en).

### Generated objects

These are the names on Microsoft SQL Server for the Same As Link `load_sal` with one dataflow:

| Role | Generated name | Purpose |
| --- | --- | --- |
| Source | `RDV_SAL_load_sal_Source` | Reads the sources |
| Deduplication | `RDV_SAL_load_sal_Deduplication` | Removes duplicate rows |
| Hashing | `RDV_SAL_load_sal_Hashing` | Calculates the hash keys |
| HashingStorage | `RDV_SAL_load_sal_HashingTable` | Stores the hashed rows |
| HashingLoader | `RDV_SAL_load_sal_HashingLoader` | Fills the hashing table |
| EmbryoLoader | `RDV_SAL_load_sal_EmbryoLoader` | Adds missing Hub keys |
| Delta | `RDV_SAL_load_sal_Delta` | Selects new pairs |
| Loader | `RDV_SAL_load_sal_Loader` | Inserts the new rows |
| Storage | `RDV_SAL_load_sal` | Same As Link table |
| Result | `RDV_SAL_load_sal_Result` | Query view |

- Loaders are stored procedures; the Same As 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:

```
sources -> _Source -> _Hashing -> _Delta -> _Loader
_Loader -> RDV_SAL_load_sal -> _Result
_Result -> _Delta (pairs already stored)
```

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. The loader never updates or deletes rows, so a pair that the source no longer delivers stays in the table. 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 Same As Link `load_sal` on Microsoft SQL Server reads the Stage `CUSTOMER_DUPLICATES`, which holds a main customer number and a duplicate number per row. Both relationships go to the Hub `load_customer_hub`, with the roles `MAIN` and `DUPLICATE`. The loads deliver these pairs:

- Load 1 on 2026-10-28 08:00: customer 4 is a duplicate of customer 1.
- Load 2 on 2026-10-29 08:00: the same pair, and customer 5 as a duplicate of customer 2.

### Check the result

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

```
SELECT FK_load_customer_hub_MAIN_CUSTOMER_ID AS MAIN_ID,
       FK_load_customer_hub_DUPLICATE_CUSTOMER_ID AS DUPLICATE_ID,
       load_customer_hub_MAIN_HK AS MAIN_HK,
       load_customer_hub_DUPLICATE_HK AS DUPLICATE_HK, BG_LoadTimestamp
FROM rv.RDV_SAL_load_sal_Result
ORDER BY MAIN_ID;
```

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

```
MAIN_ID  DUPLICATE_ID  MAIN_HK     DUPLICATE_HK  BG_LoadTimestamp
1        4             0xE91FE173  0x7454695E    2026-10-28 08:00
2        5             0x21ED4C7A  0xF7DDF59B    2026-10-29 08:00
```

- Load 2 inserted only the new pair of customers 2 and 5.
- `MAIN_HK` 0xE91FE173 is the key of customer 1 in the Hub.
- The loader does not check the Hub: in this example, customers 4 and 5 are not in the Hub.

### Platform differences

- Snowflake: names are in capitals, and the loader is a stored procedure. The load control task `LC_RDV_SAL_<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 apply.
- Databricks and Fabric Lakehouse: table and view names are in lowercase, and the loader is the notebook `RDV_SAL_<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 Same As Link becomes the dbt models `rdv_sal_<model object name>_source` and `rdv_sal_<model object name>`. The model `rdv_sal_<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 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 Same As Link has exactly two relationships to the same Hub and no terms other than foreign keys and Default Terms. Validation reports an error otherwise.
- The Same As Link does not find duplicates. The source must deliver the pairs.
- 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: [Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en)
- Next: [Record Tracking Link Satellite](https://knowledge.bigenius-x.com/create-a-record-tracking-link-satellite?hsLang=en), [Effectivity Link Satellite](https://knowledge.bigenius-x.com/create-an-effectivity-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), [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), [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), [Model a Data Vault Solution](https://knowledge.bigenius-x.com/model-a-data-vault-solution?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)
    - [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