# 8. Data architecture

In this section we will present the data architecture chosen for the Vertical Cabling data. The introduction will be kept very high-level and the detailed fields of each entity will be presented in the [Data Structure](https://www.notion.so/2729131b42b781678da9ef78b0a7d23b?pvs=21) section below.

Our main objectives and guidelines are:

- be able to model the most complex use cases of vertical cabling infrastructures in multi-dwelling units
- keep the smallest possible set of data to perform that task.
- not store any privacy relevant data (e.g. personal data) (if possible)
- limit the number of unstructured text fields to a minimum
- keep a history of the evolution of the vertical cabling situation

## 8.1. Vertical Cabling Data Architecture

[![Picture 1.png](https://doc.rncv.lu/uploads/images/gallery/2025-10/scaled-1680-/picture-1.png)](https://doc.rncv.lu/uploads/images/gallery/2025-10/picture-1.png)

<table border="1" id="bkmrk-the-background-color" style="border-collapse: collapse; width: 100%; border-width: 1px; background-color: rgb(236, 240, 241);"><tbody><tr><td>The background colors of the above image are to be interpreted as:

- <span style="color: rgb(132, 63, 161);">**purple**</span>: the core application a.k.a. backend that will be built in the context of this project
- **<span style="color: rgb(22, 145, 121);">green</span>**: supporting systems that will be used in the context of this project
- **<span style="color: rgb(35, 111, 161);">blue</span>**: trusted parties
- **<span style="color: rgb(186, 55, 42);">red</span>**: external users of the system

</td></tr></tbody></table>

### Definitions

In the diagram you will find two things:

- boxes: that represent entities in the database. The entities will have the same name as the boxes but in snake case
- edges that link two boxes: the named edges represent junction tables

You will find below a description of each entity that is part of the data architecture:

<table class="simple-table" id="bkmrk-entity-description-a" style="width: 100%;"><thead class="simple-table-header"><tr id="bkmrk-entity-description"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-entity" style="width: 18.823145%;">Entity</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description" style="width: 81.176855%;">Description</th></tr></thead><tbody><tr id="bkmrk-address-an-address-t"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-address" style="width: 18.823145%;">Address</th><td class="align-left" id="bkmrk-an-address-that-is-a" style="width: 81.176855%;">An address that is available in the system. Addresses have two possible sources:

- Ingested via the ETL process, that consolidates address from various sources. These addresses are marked as consolidated and are considered as valid addresses.
- Ingested by a user with the role Editor, In this case the address is considered as a temporary address that needs to be consolidated by the ETL process. If an address is not consolidated after a given period of time a manual validation process is triggered.

</td></tr><tr id="bkmrk-site-type-a-site-typ"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-site-type" style="width: 18.823145%;">Site Type</th><td class="align-left" id="bkmrk-a-site-type-denotes-" style="width: 81.176855%;">A site type denotes the specificity of the site with respect to the type of habitation:

- Single family home
- Residential building
- Office building
- Mixed building
- …

</td></tr><tr id="bkmrk-unit-type-a-unit-typ"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-unit-type" style="width: 18.823145%;">Unit Type</th><td class="align-left" id="bkmrk-a-unit-type-describe" style="width: 81.176855%;">A unit type describes the purpose of the unit:

- Residential
- Garage
- Common room
- Technical room
- Office
- …

</td></tr><tr id="bkmrk-access-control-proce"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-access-control-proce-1" style="width: 18.823145%;">Access Control Procedure Type</th><td class="align-left" id="bkmrk-the-access-control-p" style="width: 81.176855%;">The access control procedure type, indicates how the access to the building is provided:

- calling the building manager
- digi-code (not the code itself, only the fact that a code is needed)
- open access
- …

</td></tr><tr id="bkmrk-site-a-site-is-build"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-site" style="width: 18.823145%;">Site</th><td class="align-left" id="bkmrk-a-site-is-building-o" style="width: 81.176855%;">A Site is building or group of blocks. Depending on the size and complexity of the Site, it can have multiple addresses attached to it.</td></tr><tr id="bkmrk-block-a-block-is-a-p"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-block" style="width: 18.823145%;">Block</th><td class="align-left" id="bkmrk-a-block-is-a-part-or" style="width: 81.176855%;">A Block is a part or entirety of a Site to which multiple units can be attached to.</td></tr><tr id="bkmrk-unit-a-unit%2C-is-eith"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-unit" style="width: 18.823145%;">Unit</th><td class="align-left" id="bkmrk-a-unit%2C-is-either-an" style="width: 81.176855%;">A Unit, is either an apartment / office / or any other subdivision of a Block (e.g. technical room, elevator, parking, common room).</td></tr><tr id="bkmrk-equipment-an-equipme"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-equipment" style="width: 18.823145%;">Equipment</th><td class="align-left" id="bkmrk-an-equipment-can-be-" style="width: 81.176855%;">An equipment can be a specific NTP, a floor distributor, a wall socket, a cabinet, or any other equipment on which a physical link can be terminated.</td></tr><tr id="bkmrk-equipment-type-an-eq"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-equipment-type" style="width: 18.823145%;">Equipment Type</th><td class="align-left" id="bkmrk-an-equipment-type-%28n" style="width: 81.176855%;">An equipment type (NTP, floor distributor, wall socket, cabinet, …) is specific type of equipment that can be installed at the customer premises and on which a physical link can be terminated.</td></tr><tr id="bkmrk-physical-link-a-phys"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-physical-link" style="width: 18.823145%;">Physical Link</th><td class="align-left" id="bkmrk-a-physical-link-repr" style="width: 81.176855%;">A physical link represents the physical link in between two equipments or an equipment and a unit. The physical link only indicates the presence or absence of a given Link Type, it does not indicate the quantity of cables connecting both units.</td></tr><tr id="bkmrk-physical-link-type-t"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-physical-link-type" style="width: 18.823145%;">Physical Link Type</th><td class="align-left" id="bkmrk-the-physical-link-ty" style="width: 81.176855%;">The Physical Link Type can be any type of physical link that can be used to connect two equipments together to deliver telecommunication services</td></tr><tr id="bkmrk-organisation-type-a-"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-organisation-type" style="width: 18.823145%;">Organisation Type</th><td class="align-left" id="bkmrk-a-type-of-organisati" style="width: 81.176855%;">A type of Organisation:

- Operator
- Building Manager
- …

The type of Organisation determines how an organisation can be used in the system, e.g. if it can be a data producer, if it can be used as site contact, if it can be used as equipment owner, …</td></tr><tr id="bkmrk-organisation-an-orga"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-organisation" style="width: 18.823145%;">Organisation</th><td class="align-left" id="bkmrk-an-organisation%2C-rep" style="width: 81.176855%;">An Organisation, represents a legal entity. This organisation can be:

- an organisation that has access to the system (operators, MyConnectivity, …)
- an equipment owner
- a building manager (Syndic) that can be assigned as contact of a site

</td></tr><tr id="bkmrk-role-the-different-r"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-role" style="width: 18.823145%;">Role</th><td class="align-left" id="bkmrk-the-different-roles-" style="width: 81.176855%;">The different roles as defined in this document

- Application Administrator
- Organisation Administrator
- Editor
- …

</td></tr><tr id="bkmrk-api-user-a-user-of-t"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-api-user" style="width: 18.823145%;">API User</th><td class="align-left" id="bkmrk-a-user-of-the-system" style="width: 81.176855%;">A user of the system</td></tr></tbody></table>

Below you will also find the description of the junction tables:

<table class="simple-table" id="bkmrk-entity-description-r" style="width: 100.238095%;"><thead class="simple-table-header"><tr id="bkmrk-entity-description-1"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-entity-1" style="width: 24.054463%;">Entity</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description-1" style="width: 75.945537%;">Description</th></tr></thead><tbody><tr id="bkmrk-role-assignments-a-j"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-role-assignments" style="width: 24.054463%;">role assignments</th><td class="align-left" id="bkmrk-a-junction-table-tha" style="width: 75.945537%;">A junction table that will keep track of the roles assigned to each user</td></tr><tr id="bkmrk-site-addresses-a-jun"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-site-addresses" style="width: 24.054463%;">site addresses</th><td class="align-left" id="bkmrk-a-junction-table-tha-1" style="width: 75.945537%;">A junction table that will contain the link between the sites and their addresses</td></tr><tr id="bkmrk-block-addresses-a-ju"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-block-addresses" style="width: 24.054463%;">block addresses</th><td class="align-left" id="bkmrk-a-junction-table-tha-2" style="width: 75.945537%;">A junction table that will contain the link between the blocks and their addresses</td></tr></tbody></table>

## 8.2. Pictures

[![picture data model.png](https://doc.rncv.lu/uploads/images/gallery/2025-10/scaled-1680-/picture-data-model.png)](https://doc.rncv.lu/uploads/images/gallery/2025-10/picture-data-model.png)

On top of the above vertical cabling data, pictures can also be attached to the sites / blocks / …

## 8.3. Data Structure and data dictionary

You will find below an excel file that defines and justifies each field stored in the RNCV:

[20251021\_rncv\_data\_model.xlsx](https://doc.rncv.lu/attachments/1)