<figure><img src="image_1.png" /></figure>

HAL
open science

# dbreportR: un package R pour la documentation automatisée des bases de données

Sébastien Boutry, David Carayon

## ► To cite this version:

Sébastien Boutry, David Carayon. dbreportR: un package R pour la documentation automatisée des bases de données. 11èmes Rencontres R, May 2025, Mons, Belgique. hal-05061321

HAL Id: hal-05061321

https://hal.inrae.fr/hal-05061321v1

Submitted on 22 May 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Open licence - etalab
# {dbreportR}

## Un package R pour la documentation automatisée de bases de données

<figure><img src="image_3.png" /></figure>

Sébastien BOUTRY, David CARAYON

<figure><img src="image_4.png" /></figure>

INRAE - UR EABX - 50 avenue de Verdun 33612 CESTAS Cedex (France)

<figure><img src="image_5.png" /></figure>

dbreportR

<figure><img src="image_6.png" /></figure>

Salut Charles Tintin, je suis à la recherche des données du projet BiodiverCité. Peux tu me dire où je peux les trouver ?

<figure><img src="image_7.png" /></figure>

Les données sont stockées dans une base de données PostgreSQL. Je te fournis la configuration suivante pour t'y connecter sous R.

<figure><img src="image_8.png" /></figure>

```
> config <- list(dbname = "biodivercite", host = "HOST",
port = 5432, user = "user", password = "PASS")
```

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /></figure>

<figure><img src="image_11.png" /></figure>

Merci. Mais je n'y comprends rien à ta base de données ! je ne suis pas à l'aise avec ce format. C'est le bazar, il y a des tables partout, des jointures à faire pour trouver la moindre info !

<figure><img src="image_12.png" /></figure>

Si je te fournis une documentation claire et détaillée avec le dictionnaire de données et les relations entre les tables (Diagramme de relations entre entités, ERD). Ca t'irait ?

<figure><img src="image_13.png" /></figure>

```
> dbreportR::make_dictionary(config = config,
  schemas = c("public", "diatom_sampling", "macrophyte_circle", "taxa_features"),
  schemas_colors = c("#a9a9a9", "#96cdcd", "#7ccd7c", "#dda0dd"))
```

<figure><img src="image_14.png" /></figure>

<figure><img src="image_15.png" /></figure>

<figure><img src="image_16.png" /></figure>

Il faut le rendre accessible à tous les membres du projet et prendre en compte les changements ! Seb, je te mets la sortie sur un GitLab Pages et avec un petit CI/CD qui va bien.

<figure><img src="image_17.png" /></figure>

Lors de l'utilisation du package {dbreportR}, la base de donnée est analysée afin de reconstituer les différentes clés primaires, secondaires ainsi que leurs liens (y compris inter-schémas), en grande partie grâce à {dm}. Les commentaires associés aux différents schémas / tables / colonnes sont ensuite récupérés pour alimenter des dictionnaires de données construits avec {gt} et graphiques ERD produits par {dm}.

Enfin, un projet quarto book est créé dans un répertoire temporaire (pouvant être conservé après exécution pour personnalisation avancée) afin de créer un document html statique facilement publiable.

## Ce qu'il reste à faire ?

* Prise en charge d'autres SGBD (PostgreSQL uniquement pour l'instant)

* Métriques quantitatives sur la structure des données

* Génération automatique de métadonnées standardisées, par exemple selon le format Ecological Metadata Language (EML)

<figure><img src="image_18.png" /></figure>

<figure><img src="image_19.png" /><figcaption>Dictionnaire</figcaption></figure>

<figure><img src="image_20.png" /></figure>

<figure><img src="image_21.png" /></figure>

dbreportR

Remerciements

INRAO
ÉCO-SYSTÈMES AQUATIQUES
& CHANGEMENTS GLOBAUX [EABX]

VIGIE-LACS

eau
GRAND SUD-OUEST
AGENCE DE L'EAU ADOUR-GARONNE

<figure><img src="image_22.png" /></figure>

RÉGION
Nouvelle-
Aquitaine

<figure><img src="image_23.png" /></figure>

Poster

<figure><img src="image_24.png" /></figure>