You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Une base de données est un ensemble structuré de données, avec un accès facile et rapide pour des applications logicielles et des utilisateurs autorisés. Elle peut être considérée comme un grand conteneur **organisé** pour stocker des informations de manière **structurée**.
70
70
71
-
Parmi les différents types de bases de données, nous allons nous intéresser aux bases de données relationnelles. Une base de données **relationnelle** est une collection de données structurées qui sont organisées en tables liées entre elles par des relations. Les bases de données relationnelles sont très répandues et utilisées dans de nombreux domaines, notamment dans la gestion des entreprises, les services financiers, l'administration publique et la recherche scientifique. Elles sont conçues pour gérer des quantités massives de données de manière fiable et cohérente. Ce tutoriel vous permettra de :
71
+
Parmi les différents types de bases de données, nous allons nous intéresser aux bases de données relationnelles. Une base de données **relationnelle** est une collection de tables liées entre elles par des relations. Les bases de données relationnelles sont très répandues et utilisées dans de nombreux domaines, notamment dans la gestion des entreprises, les services financiers, l'administration publique et la recherche scientifique. Elles sont conçues pour gérer des quantités massives de données de manière fiable et cohérente. Ce tutoriel vous permettra de :
72
72
73
73
- créer une base de données relationnelle
74
74
- normaliser les données dans votre base
@@ -99,22 +99,22 @@ Les colonnes de ce tableau sont les suivantes :
99
99
-**station :** le lieu précis de la collecte
100
100
-**localisation :** les coordonnées de la station (WGS84)
101
101
102
-
Utilisez la zone de code R ci-dessous pour explorez le jeu de données `bees` comme bon vous semble afin de répondre aux questions ci-dessous (utilisez le bouton **Run Code** uniquement).
102
+
Utilisez la zone de code R ci-dessous pour explorez le jeu de données `bees` comme bon vous semble afin de répondre aux questions plus bas (utilisez le bouton **Run Code** uniquement).
103
103
104
104
```{r explo_noscore, exercise=TRUE}
105
105
106
106
```
107
107
108
108
```{r qu_db}
109
109
quiz(
110
-
question("Est-ce que la tableau présenté ci-dessus peut être ajouté comme une table dand une base de données relationnelle ?",
110
+
question("Est-ce que la tableau présenté ci-dessus peut être ajouté comme une table dans une base de données relationnelle ?",
111
111
answer("Oui", correct = TRUE),
112
112
answer("Non"),
113
113
allow_retry = TRUE,
114
114
random_answer_order = TRUE,
115
115
correct = "Ce tableau correspond bien à un format cas par variable. Il est donc possible de l'utiliser dans une base de données. Il n'est cependant pas normalisé."
116
116
),
117
-
question("Sélectionnez parmi les variables suivantes celles présentant de la redondance optimisable via normalisation niveau 3 (déependance transitive).",
117
+
question("Sélectionnez parmi les variables suivantes celles présentant de la redondance optimisable par une normalisation niveau 3 (déependance transitive).",
118
118
answer("country", correct = TRUE, , message = "Il n'est pas utile de répliquer le nom de pays d'une station pour chaque collecte."),
119
119
answer("localisation", correct = TRUE, message = "Il n'est pas utile de répliquer les coordonnées d'une station pour chaque collecte."),
120
120
answer("id", message = "La variable 'id' est un identifiant unique pour chaque individu collecté. Cette variable n'est pas redondante."),
@@ -125,7 +125,7 @@ quiz(
125
125
126
126
## Base de données et schéma
127
127
128
-
Suite à votre exploration du tableau `bees`, vous avez pu observer que son schéma peut être optimisé. Deux tables sont réalisées afin d'assurer une normalisation au niveau 3 de la base. Vous pouvez observer qu'une colonne 'id_station' a été ajoutée.
128
+
Suite à votre exploration du tableau `bees`, vous avez pu observer que son schéma peut être optimisé. Deux tables sont réalisées pour assurer une normalisation au niveau 3 de la base. Vous pouvez observer qu'une colonne 'id_station' a été ajoutée.
129
129
130
130
```{r, echo=TRUE}
131
131
head(stations)
@@ -177,13 +177,13 @@ dbListTables(bees_db)
177
177
grade_code("Vous venez de créer une base de données en mémoire avec deux tables.")
178
178
```
179
179
180
-
Il est à présent temps de dé"finir des clés pour ces deux tables. Vous allez pour ce faire employer le package {dm}.
180
+
Il est à présent temps de définir des clés pour ces deux tables. Vous allez pour ce faire employer le package {dm}.
181
181
182
182
Créez un objet **dm** associé à votre base de données (`bees_db`) et nommez-le `bees_dm`. Indiquez ensuite que vous voulez utiliser la couleur rouge pour la table `stations` et la couleur orange pour la table `captures`. Terminez par visualiser le schéma de la base en l'état.
@@ -253,7 +253,7 @@ grade_code("Votre objet bees_dm1 comprend à présent deux clés primaires, une
253
253
254
254
Définissez maintenant une clé étrangère qui fait le lien entre vos deux tables (`captures` et `stations`) selon une relation un à plusieurs en partant de l'objet `bees_dm1` et placez le résultat dans `bees_dm2`. Enfin, visualisez le schéma de la base depuis `bees_dm2`.
255
255
256
-
```{r fk, exercise=TRUE, , paged.print=FALSE}
256
+
```{r fk, exercise=TRUE, , paged.print=FALSE}
257
257
# Clés étrangères potentiels
258
258
___(___, ___, ___)
259
259
# Ajout de la clé étrangère
@@ -342,12 +342,12 @@ bees_request %>.%
342
342
```
343
343
344
344
```{r request_h2-check}
345
-
grade_code("L'espèce la plus présente est *Bombus pascorum*. La mise en place d'un schéma avec {dm} a permis de réaliser une requête sur deux tables et de les combiner facilement. Vous avez ensuite résumé ces observations. Vous avez réalisé tout cela directement sur votre base de données et sans vous préoccuper de l'écriture de la requête. En effet, {dbplyr} que vous avez utilisé ici vous permet d'écrire du code Tidyverse classique et il vous le traduit en requête SQL lorsque vous collectez le résultat avec `collect_dtx()`.")
345
+
grade_code("L'espèce la plus présente est *Bombus pascorum*. La mise en place d'un schéma avec {dm} a permis de réaliser une requête sur deux tables et de les combiner facilement. Vous avez ensuite résumé ces observations. Vous avez réalisé tout cela directement dans votre base de données et sans vous préoccuper de l'écriture de la requête. En effet, {dbplyr} que vous avez utilisé ici vous permet d'écrire du code Tidyverse classique et il vous le traduit en requête SQL lorsque vous collectez le résultat avec `collect_dtx()`.")
346
346
```
347
347
348
348
## Conclusion
349
349
350
-
Félicitation ! Vous avez créé une base de données relationnelle avec DuckDB. Ensuite, vous l'avez retravaillée en deux tables et défini les clés primaires et secondaires pour arriver à une normalisation des données au niveau 3 en limitant la redondance. Enfin, vous avez défini un schéma clair de la base avec le package {dm}. Enfin, vous avez réalisé une requête multitable avec les fonctions du package {dm} et de {dbplyr}.
350
+
Félicitation ! Vous avez créé une base de données relationnelle avec DuckDB. Ensuite, vous l'avez retravaillée en deux tables et défini les clés primaires et secondaires pour arriver à une normalisation des données au niveau 3 en limitant la redondance. Vous avez ensuite défini un schéma clair de la base avec le package {dm}. Enfin, vous avez réalisé une requête multitable avec les fonctions du package {dm} et de {dbplyr}.
351
351
352
352
Maintenant que vous avez compris les grands principes des bases de données relationnelles et que vous êtes capable d'écrire le code permettant de réaliser une requête, vous pouvez appliquer cette technique par vous-même.
Copy file name to clipboardExpand all lines: inst/tutorials/B09Lb_mds/B09Lb_mds.Rmd
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ runtime: shiny_prerendered
13
13
14
14
```{r setup, include=FALSE}
15
15
BioDataScience2::learnr_setup()
16
-
SciViews::R("explore")
16
+
SciViews::R("explore", lang = "fr")
17
17
18
18
# Chargement du jeu de données
19
19
bci <- read("BCI", package = "vegan")
@@ -36,19 +36,19 @@ Ce tutoriel consacré au positionnement multidimensionnel (MDS) vise à :
36
36
- Vérifier que vous avez bien compris les différentes étapes pour la réalisation d'une MDS : calcul de la matrice de distance, calcul du positionnement des points, réalisation de la carte et vérification de sa validité, choix entre MDS métrique ou non métrique.
37
37
- Vous préparer à analyser et interpréter de manière autonome un jeu de données multivariées à l'aide des MDS.
38
38
39
-
Vous devez avoir compris le contenu du [module 9](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/db-mds.html) du cours et en particulier la [section 9.2](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/positionnement-multidimensionnel-mds.html). Assurez-vous d'avoir réalisé les exercices H5P qui s'y trouvent avant de vous lancer dans ce tutoriel Learnr et de bien maîtriser les notions sur les matrices de distances vue dans le [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/distance-entre-individus.html).
39
+
Vous devez avoir compris le contenu du [module 9](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/db-mds.html) du cours et en particulier la [section 9.2](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/positionnement-multidimensionnel-mds.html). Assurez-vous d'avoir réalisé les exercices H5P qui s'y trouvent avant de vous lancer dans ce tutoriel Learnr et de maîtriser les notions sur les matrices de distances vue dans le [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/distance-entre-individus.html).
40
40
41
41
## Barro Colorado Island
42
42
43
-
Barro Colorado est une île artificielle située sur le lac Gatùn, au centre du Panama. Elle représente un lieu de recherche scientifique intensive axée sur l'écologie de la forêt tropicale.
43
+
Barro Colorado est une île artificielle située sur le lac Gatùn, au centre du Panama. Elle représente un lieu de recherche scientifique intensive axée sur l'écologie des forêts tropicales.
44
44
45
45

46
46
47
-
Une surface permanente de 50 hectares a été définie par l'Institut de recherche tropicale Smithsonian et l'Université de Princeton pour étudier la dynamique de la végétation. Cette surface est divisée en 50 parcelles de 1 ha, qui s'alignent les unes sur les autres. Dans chaque parcelle, le dénombrement de toutes les espèces forestières a été enregistré (seules les plantes avec un DHP \>= 10 cm [Diamètre mesuré à plus ou moins 1,3m] sont disponibles dans cet ensemble de données). Au total, 225 espèces différentes ont été observées.
47
+
Une surface permanente de 50 hectares a été définie par l'Institut de recherche tropicale Smithsonian et l'Université de Princeton pour étudier la dynamique de la végétation. Cette surface est divisée en 50 parcelles de 1 ha qui s'alignent les unes sur les autres. Dans chaque parcelle, le dénombrement de toutes les espèces forestières a été réalisé (seules les plantes avec un DHP \>= 10 cm [Diamètre mesuré à plus ou moins 1,3m] sont disponibles dans cet ensemble de données). Au total, 225 espèces différentes ont été observées.
48
48
49
49

50
50
51
-
Les données peuvent être chargées à partir de `BCI` dans le package {vegan} et se présentent comme ceci :
51
+
Les données peuvent être chargées à partir de `BCI`du package {vegan} et se présentent comme ceci :
52
52
53
53
```{r, echo=TRUE}
54
54
bci <- read("BCI", package = "vegan")
@@ -190,7 +190,7 @@ grade_code("La représentation que nous obtenons est assez différente de celle
190
190
191
191
La MDS non métrique est assortie d'indicateurs permettant d'évaluer d'une part la qualité de l'ajustement et d'autre part la fonction de stress appliquée. Comme pour la PCoA, vous pouvez utiliser la fonction `glance()` pour obtenir une mesure de l'ajustement global de la MDS.
192
192
193
-
Analyser les indicateurs de l'objet `bci_nmds` que vous venez de créer et répondez à la question ci-dessous.
193
+
Analysez les indicateurs de l'objet `bci_nmds` que vous venez de créer et répondez à la question ci-dessous.
0 commit comments