6 Exercices
6.1 Exercice 1
Étape 1
- Créer la base de données
reseau
avec ses deux tablesauteurs
etarticles
- Insérer les données auteurs.csv et articles.csv dans les deux tables à l’aide de la commande R
dbWriteTable()
Étape 2
Ajouter une troisième table collaborations
à la base de données reseau
et insérer les données collaboration.csv dans cette table.
<- '
collabTD CREATE TABLE collaborations (
auteur1 VARCHAR(40),
auteur2 VARCHAR(40),
articleID VARCHAR(20),
PRIMARY KEY (auteur1, auteur2, articleID),
FOREIGN KEY (auteur1) REFERENCES auteurs(author),
FOREIGN KEY (auteur2) REFERENCES auteurs(author),
FOREIGN KEY (articleID) REFERENCES articles(articleID)
);'
<- read.csv('collaboration.csv')
collaboration dbWriteTable(con, append = TRUE, name = "collaborations", value = collaboration, row.names = FALSE)
6.2 Exercice 2
Que fait la commande suivante ?
DISTINCT
<- "
sql_requete SELECT DISTINCT auteur1
FROM collaborations;"
<- dbGetQuery(con, sql_requete)
req head(req)
LIMIT
<- "
sql_requete SELECT *
FROM collaborations
LIMIT 10;"
<- dbGetQuery(con, sql_requete)
req head(req)
ORDER BY
<- "
sql_requete SELECT annee, citations, articleID
FROM articles
ORDER BY citations DESC;"
<- dbGetQuery(con, sql_requete)
derniers_articles head(derniers_articles)
WHERE
pour les valeurs numériques
<- "
sql_requete SELECT articleID, annee
FROM articles
WHERE annee >= 2018;"
<- dbGetQuery(con, sql_requete)
derniers_articles head(derniers_articles)
WHERE
pour les valeurs texte (character)
<- "
sql_requete SELECT articleID, titre
FROM articles
WHERE titre LIKE '%interactions%';"
<- dbGetQuery(con, sql_requete)
articles head(articles)
WHERE
pour effectuer des filtres multicritères
<- "
sql_requete SELECT articleID, annee
FROM articles
WHERE
(annee >= 2018 AND annee < 2020)
OR (annee >= 2012 AND annee <= 2014)"
<- dbGetQuery(con, sql_requete)
articles head(articles)
WHERE
et IS NOT NULL
<- "
sql_requete SELECT auteur, statut, institution
FROM auteurs
WHERE statut IS NOT NULL;"
<- dbGetQuery(con, sql_requete)
auteurs head(auteurs)