Chapitre 12
THEME 12 : LA RECHERCHE DOCUMENTAIRE : LES REQUETES
Lecture : 9 minQuiz de 16 questions
# THEME 12 : LA RECHERCHE DOCUMENTAIRE : LES REQUETES
## Création d’une base de données à partir d’une Banque de données
### Introduction
Dans le monde numérique d'aujourd'hui, l'information est omniprésente. Vous avez sûrement déjà entendu parler de "big data" ou de "bases de données". Mais savez-vous faire la distinction entre une "Banque de données" et une "Base de données" ? Et surtout, comment exploiter ces gigantesques réservoirs d'informations pour en extraire ce qui est pertinent pour vos besoins spécifiques ?
Ce cours vous expliquera comment transformer une vaste banque de données en une base de données structurée et ciblée, grâce notamment à l'outil essentiel que sont les requêtes. Vous apprendrez à identifier, sélectionner et organiser les informations pour les rendre utiles et accessibles pour un usage précis.
### Concepts Clés
#### 1. Qu'est-ce qu'une Banque de données ?
Une **Banque de données** est un vaste ensemble d'informations numériques, souvent très hétérogènes et peu structurées, collectées et stockées à grande échelle. Elle peut contenir des millions, voire des milliards de données de différents types (textes, images, sons, vidéos, etc.). Son objectif est de collecter et archiver un maximum d'informations sur un sujet donné, sans forcément une finalité d'exploitation directe et rapide pour des utilisateurs finaux spécifiques.
* **Caractéristiques :** Très grande taille, diversité des données, moins structurée, souvent à des fins d'archivage ou de recherche globale.
* **Exemples :** Les archives nationales numériques, les bibliothèques numériques mondiales, les bases de données scientifiques généralistes, les réseaux sociaux (en tant que dépôts de données brutes).
#### 2. Qu'est-ce qu'une Base de données ?
Contrairement à une banque de données, une **Base de données** (BDD) est un ensemble organisé et structuré d'informations, généralement géré par un Système de Gestion de Bases de Données (SGBD). Elle est conçue pour stocker, organiser et permettre un accès rapide et efficace à des données spécifiques. L'objectif d'une base de données est de répondre à des besoins d'exploitation précis.
* **Caractéristiques :** Taille plus restreinte et ciblée, données homogènes et structurées, optimisation de l'accès et de la manipulation des données, conçue pour un usage spécifique.
* **Composants principaux :**
* **Tables :** Structures principales qui stockent les données sous forme de lignes (enregistrements) et de colonnes (champs).
* **Champs (ou Attributs) :** Représentent les différentes catégories d'informations dans une table (ex: Nom, Prénom, Date de Naissance).
* **Enregistrements (ou Lignes/Tuples) :** Une collection de champs qui représentent une seule entité (ex: toutes les informations d'un étudiant donné).
* **Clé primaire :** Un ou plusieurs champs qui identifient de manière unique chaque enregistrement dans une table. Elle ne peut pas contenir de valeurs dupliquées ou nulles.
* **Clé étrangère :** Un champ dans une table qui fait référence à la clé primaire d'une autre table, établissant ainsi une relation entre les deux tables.
#### 3. Pourquoi créer une base de données à partir d'une banque de données ?
La création d'une BDD à partir d'une banque de données est motivée par plusieurs raisons :
* **Ciblage de l'information :** Extraire uniquement les données pertinentes pour un projet ou une analyse spécifique, en ignorant le "bruit" des données inutiles.
* **Performance :** Une BDD plus petite et plus structurée permet des recherches et des traitements beaucoup plus rapides.
* **Optimisation :** Adapter la structure des données aux besoins précis de l'utilisateur ou de l'application.
* **Sécurité et confidentialité :** Isoler des sous-ensembles de données sensibles ou spécifiques à certains utilisateurs.
* **Manipulation facilitée :** Travailler avec des outils SGBD pour trier, filtrer, analyser et présenter les données plus efficacement.
#### 4. Les étapes de la création d'une base de données ciblée
1. **Analyse des besoins :** Définir clairement l'objectif de la nouvelle base de données et les informations nécessaires pour l'atteindre. Quelles questions ma base de données doit-elle pouvoir répondre ?
2. **Identification de la banque de données source :** Localiser la banque de données qui contient potentiellement les informations requises.
3. **Conception logique de la BDD (Modélisation) :**
* **Définition des tables :** Quelles entités souhaitez-vous gérer (ex: Livres, Auteurs, Étudiants) ?
* **Définition des champs :** Pour chaque table, quels attributs sont nécessaires (ex: pour Livres : Titre, Auteur, Année Publication, ISBN) ?
* **Identification des clés primaires et étrangères :** Établir les identifiants uniques et les relations entre les tables.
4. **Sélection des données (Requêtes) :** C'est l'étape cruciale pour extraire les informations pertinentes de la banque de données source. On utilise des requêtes pour filtrer, trier et combiner les données.
5. **Importation et structuration :** Charger les données sélectionnées dans la nouvelle structure de base de données.
6. **Test et ajustement :** Vérifier que la base de données fonctionne comme prévu et qu'elle répond aux besoins initiaux.
#### 5. Les Requêtes : L'outil de sélection par excellence
Une **requête** est une demande formulée à un SGBD pour récupérer, modifier ou supprimer des données. Dans le contexte de la création d'une BDD à partir d'une banque de données, les requêtes de sélection sont primordiales.
* **Requêtes de sélection :** Elles permettent d'extraire des données qui répondent à des critères spécifiques.
* **Critères de sélection :** Ce sont les conditions que les enregistrements doivent remplir pour être inclus dans le résultat de la requête.
* **Opérateurs de comparaison :** \( = \) (égal à), \( < \) (inférieur à), \( > \) (supérieur à), \( <= \) (inférieur ou égal à), \( >= \) (supérieur ou égal à), \( <> \) (différent de).
* **Opérateurs logiques :**
* `AND` (ET) : La condition est vraie si toutes les conditions liées sont vraies. Ex: `Ville = 'Paris' AND Age > 30`.
* `OR` (OU) : La condition est vraie si au moins une des conditions liées est vraie. Ex: `Métier = 'Développeur' OR Métier = 'Designer'`.
* `NOT` (NON) : Inverse le résultat d'une condition. Ex: `NOT Ville = 'Lyon'`.
* **Opérateurs spéciaux :**
* `LIKE` : Pour les recherches de chaînes de caractères avec des caractères génériques (ex: `LIKE 'Maison%'` pour tout ce qui commence par "Maison").
* `BETWEEN` : Pour les plages de valeurs (ex: `Date BETWEEN #01/01/2020# AND #31/12/2020#`).
### Vocabulaire
* **Banque de données :** Grand dépôt de données hétérogènes et souvent peu structurées.
* **Base de données (BDD) :** Ensemble de données structurées, organisées et gérées pour un accès et une utilisation efficaces.
* **SGBD (Système de Gestion de Bases de Données) :** Logiciel permettant de créer, gérer et interroger des bases de données (ex: MySQL, Access, Oracle).
* **Table :** Structure de base d'une BDD, organisant les données en lignes et colonnes.
* **Champ (Attribut) :** Colonne d'une table, représentant une catégorie d'information.
* **Enregistrement (Tuple/Ligne) :** Ligne d'une table, représentant une entité unique avec toutes ses informations.
* **Clé primaire :** Champ(s) identifiant(s) de manière unique chaque enregistrement dans une table.
* **Clé étrangère :** Champ(s) liant deux tables en faisant référence à la clé primaire d'une autre table.
* **Requête :** Instruction envoyée à une base de données pour effectuer une action (sélection, modification, suppression).
* **Critère de sélection :** Condition utilisée dans une requête pour filtrer les enregistrements.
* **Opérateur logique :** Mot-clé (AND, OR, NOT) utilisé pour combiner ou modifier des conditions dans une requête.
### Exemples
Imaginons que vous soyez un chercheur et que vous ayez accès à une **Banque de données nationale des publications scientifiques** (très vaste, des millions d'articles).
Votre besoin : Créer une petite **Base de données** des articles scientifiques traitant de "l'intelligence artificielle" (IA) et publiés entre 2018 et 2023, uniquement par des auteurs français.
#### Étapes concrètes :
1. **Analyse des besoins :** Articles sur l'IA, de 2018 à 2023, auteurs français.
2. **Conception de la BDD :** Vous décidez de créer une table `Articles_IA` avec les champs suivants :
* `ID_Article` (Clé primaire)
* `Titre`
* `Auteur_Principal`
* `Annee_Publication`
* `Mots_cles`
* `Pays_Auteur`
3. **Formulation de la requête (simplifiée pour l'exemple) :**
```sql
SELECT ID_Article, Titre, Auteur_Principal, Annee_Publication, Mots_cles, Pays_Auteur
FROM BanqueDeDonneesNationale.Articles
WHERE Mots_cles LIKE '%Intelligence Artificielle%'
AND Annee_Publication BETWEEN 2018 AND 2023
AND Pays_Auteur = 'France';
```
* `SELECT ... FROM ...` : Indique les champs à récupérer et la source (ici, la table `Articles` de la `BanqueDeDonneesNationale`).
* `WHERE` : Indique les critères de sélection.
* `LIKE '%Intelligence Artificielle%'` : Recherche le texte "Intelligence Artificielle" n'importe où dans le champ `Mots_cles`.
* `BETWEEN 2018 AND 2023` : S'assure que l'année de publication est dans cette plage.
* `AND Pays_Auteur = 'France'` : S'assure que l'auteur est français.
4. **Exécution de la requête :** Le SGBD parcourt la banque de données, sélectionne les enregistrements correspondants et vous fournit un résultat.
5. **Importation :** Ces résultats sont ensuite importés dans votre nouvelle table `Articles_IA` de votre base de données locale.
### Exercices
1. **Distinction :** Expliquez avec vos propres mots la différence fondamentale entre une "Banque de données" et une "Base de données". Donnez un exemple concret pour chacune.
2. **Identification de champs :** Vous souhaitez créer une base de données d'élèves pour un lycée. Quels seraient les 5 champs principaux que vous incluriez dans la table `Eleves` ? Lequel désigneriez-vous comme clé primaire et pourquoi ?
3. **Formulation de requête :** Soit une table `Produits` avec les champs `Nom_Produit`, `Categorie`, `Prix`, `Quantite_Stock`. Écrivez une requête (en langage naturel ou pseudo-SQL) pour trouver tous les produits de la `Categorie` "Électronique" dont le `Prix` est supérieur à 50 € et la `Quantite_Stock` est inférieure à 10.
### Devoir à la maison
1. **Projet de mini-BDD :** Choisissez un thème qui vous intéresse (par exemple, les films d'un genre spécifique, les albums de votre groupe préféré, les villes touristiques d'une région). Recherchez une source de données en ligne qui pourrait servir de "banque de données" (par exemple, un site web avec de grandes listes, un portail open data). Décrivez les étapes que vous suivriez pour créer une petite base de données avec 3 à 4 tables et des relations (si possible) pour organiser ces informations de manière ciblée. Identifiez au moins 3 champs par table et une clé primaire pour chaque table.
2. **Requête complexe :** À partir de votre projet de mini-BDD, formulez une requête de sélection qui utilise au moins trois critères de sélection différents combinés avec des opérateurs logiques (`AND`, `OR`). Expliquez ce que cette requête est censée trouver.
### Résumé
Ce cours a mis en lumière la distinction cruciale entre une **Banque de données** (vaste et générale) et une **Base de données** (structurée et ciblée). Nous avons exploré les étapes clés pour extraire des informations pertinentes d'une banque de données et les organiser dans une nouvelle base de données répondant à des besoins spécifiques.
L'outil central de cette démarche est la **requête**, qui permet, grâce à des critères de sélection et des opérateurs logiques (comme `AND`, `OR`, `NOT`), de filtrer et de récupérer précisément les données souhaitées. La maîtrise des requêtes est essentielle pour quiconque souhaite travailler efficacement avec de grandes quantités d'informations et les transformer en connaissances utilisables.
Quiz du chapitre
16 questions — vérifie chaque réponse pour voir l'explication.