TP 1 (NoSQL)
Exercice 1 : Du relationnel aux modèles NoSQL
On considère une base de données relationnelle de vente de livres comportant un ensemble de tables dont un
extrait est décrit ci-dessous avec 3 tables (Vente, Livre et Auteur). On considère dans un 1er temps qu’un
livre a un auteur unique et qu’une vente correspond à la vente d’un seul livre. Les valeurs des attributs
id_vente, id_auteur et isbn sont uniques, et sont clés primaires des tables.
1) Proposer une modélisation orientée document de ces informations centrées sur les ventes, une
modélisation centrée sur les livres et une sur les auteurs.
2) Indiquer l’impact que peut avoir la modélisation retenue sur le requêtage de la base.
3) Expliquer les modifications nécessaires pour gérer plusieurs auteurs par livre dans la base de données
relationnelle et dans les différents documents structurés.
Exercice 2 : Du document structuré au relationnel
Le service informatique d’une école d’informatique a décidé de représenter ses données sous forme de
documents structurés.
Voici un exemple de documents centrés sur les étudiants(e)s et incluant les Unités d’Enseignement (UE)
suivies par chacun(e).
1) Sachant que ces documents sont produits à partir d’une base relationnelle, reconstruire le schéma de
cette base et indiquer le contenu des tables correspondant aux documents ci-dessus.
2) Proposer une autre représentation des mêmes données, centrée cette fois, non plus sur les étudiants,
mais sur les UEs.
Exercice 3 : Modélisation orientée documents
On souhaite réaliser une base de données orientée documents pour gérer des cours et des étudiants, étant
données les informations suivantes :
• Un cours est décrit par les attributs code, titre, description, crédits et pré requis.
• Les prés requis sont d'autres cours.
• Un étudiant est décrit par les attributs nom, prénom, adresse.
• Les adresses sont composées d'un numéro de rue, d'une rue, d'une ville et d'un code postal.
• Un étudiant suit plusieurs cours et les cours sont suivis par plusieurs étudiants.
1) Discuter des différentes modélisations possibles orientées documents (par exemple centrées sur les
étudiants ou centrées sur les cours) en donnant des documents JSON correspondant.
2) Si l'objectif de l'application est de visualiser une liste des étudiants avec les cours que chacun suit, et
d'accéder aux détails des cours uniquement lorsque l'on sélectionne son code ou son titre, proposer
une solution adaptée à ce problème.
Exercice 4 :
Une entreprise de vente d'appareils électriques dispose de la BD suivante :
Produit (NumP, NomP, Type, Fournisseur).
Magasin (NumM, CodeWilaya). Les magasins où sont vendus les produits.
Ventes (#NumM, #NumP, Date, Qté).
1) Proposer une modélisation orientée document de ce schéma en utilisant :
a. Une seule collection :
• Sans l'utilisation des sous documents.
• Avec l'utilisation de sous documents.
b. Plusieurs collections (sans l'utilisation de sous documents).
2) Discuter l'impact de la dénormalisation sur l'exécution des requêtes dans le cas d'une modélisation
orientée document.