Bases de données

Introduction

Définition

Une base de données en informatique est ensemble de données structuré (modélisé) de manière à pouvoir répondre à un besoin, accessible via un ordinateur pour ajouter, modifier ou interroger des données.


Du monde réel à une base de données informatisée que l'on utilise

En fonction d'un besoin, on modélise une partie du monde réel par des modèles de données successifs (ex: conceptuel, relationnel) qui visent à organiser des concepts entre eux puis à les implémenter sous forme d'une base de données.

Le processus de modélisation permet, pour vulgariser, de faire correspondre des objets réels à des champs dans des tables informatiques pour les représenter.

Au final, on pourra imaginer des tableaux excel où une ligne correspond à un étudiant et en colonne se trouvent les noms des examens. En réalité, un étudiant n'est pas une ligne dans un tableau, ni réduit à des notes d'examens. En revanche, pour répondre au besoin de suivre les notes aux examens des étudiants, cette modelisation fonctionne.

En général, un système complet permet de gérer les bases de données et toute l’activité informatique qui gravite autour: un système de gestion de base de données (SGBD)

Pour vulgariser, il s’agit souvent du « langage de programmation » qui permet de manipuler la base de données, et de tout ce qui permet d’utiliser ce « langage de programmation »


Quelques éléments corolaires

  • Une base de données sert à quelque chose.

  • La modélisation des données doit être cohérente avec ce but. On ne modélise pas l’ensemble du monde, ni des « objets/concepts » que l’on n’utilise pas, mais ce dont on a besoin

  • Il faut pouvoir anticiper les différents besoins et leur évolution pour ne pas devoir refondre la base de données par la suite

  • On exploite une base de données informatisée (en quelque sorte un fichier) dans un SGBD

  • On peut avoir un modèle et l’implémenter dans différents SGBD


Evaluation


L'évaluation écrite (1h30) portera sur les points suivants:

  • nommer les éléments d'un modèle conceptuel des données fourni et décrire ce modèle conceptuel avec un texte (quels sont les types entités, associations et attributs associés, que signifie une cardinalité sur un type association)

  • Transformer ce modèle conceptuel en modèle relationnel

  • Construire un ensemble de requêtes LDD, LID, LMD (au moins CREATE,INSERT UPDATE DELETE SELECT)

  • Décrire ce que fait un ensemble de requêtes



La compétence "construire un modèle conceptuel des données" sera évaluée dans le cadre du projet (voir Projet Programmation ).


Voici le sujet de l'examen blanc:

Examen_blanc_Base_de_donn_es_2020-2.pdf

Cycle de vie d'une base de données

1) Besoin nécessitant de modéliser des objets dans une base de données informatisée...

... pour répondre à ce besoin.

2) Modèle conceptuel des données

L'idée est de fournir une première modélisation de ces objets et leurs caractéristiques et leurs relations « dans le monde ». Cela permet de modifier les objets (appelés types entités) et les relations entre les objets (appelés types associations), dans directement "s'enfermer" dans une modélisation utilisant des tables.

Il s'agit de représenter de manière formaliser les éléments en lien avec le besoin nécessitant de modéliser des objets dans une base de données.

Plus d'informations sur le modèle conceptuel des données: Modèle conceptuel des données

3) Modèle relationnel

L'idée est de passer du modèle conceptuel (objets et associations) à une modélisation sous forme de tables. La modélisation sous forme de table se rapproche assurément des bases de données informatisées. On va pouvoir également inclure du contenu (des données) dans ces tables.

Le modèle relationnel inclut les relations des éléments du modèle directement via des tables.

Plus d'informations sur le modèle relationnel: Modèle relationnel

4) Choix du Système de Gestion de Bases de Données (SGBD)

L'idée de cette étape est de choisir l'outil adapté au projet, afin d'y intégrer notre base de données informatisée.

Dans la suite du cours, nous utilisons MySQL, qui permet de gérer des bases relationnelles, avec PhPMyAdmin.

5) Implémentation

Une fois l'outil choisi (étape 4) et les données représentées (étape 3), il faut "remplir" notre base de données informatisée via le SGBD en question.

Pour cela, vous pouvez suivre le cours correspondant : Créer une base de données avec PhPMyAdmin

6) Utilisation & interrogation

La dernière étape est de faire vivre et d'utiliser cette base de données. On ajoute, supprime, modifie et interroge notre base de données.



Pour cela, vous pouvez suivre le cours d'introduction : PhPMyAdmin et SQL

Enfin, voici comment utiliser des requêtes dans un site web : Plus de SQL, et PhP


Pour simplement vous connecter à une base de données avec PDO :

Pour utiliser vos requêtes depuis votre page web : PDO et requêtes dans la page web

Utiliser de nouvelles instructions SQL : PDO et nouvelles requêtes SQL


Pour faire le lien entre un formulaire et une page web (à utiliser comme variables pour faire des requêtes SQL préparées): Formulaire PhP et SQL