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:
![](https://www.google.com/images/icons/product/drive-32.png)
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 :
en serveur local : PDO: Se connecter à une bdd depuis une page PhP (ex: Mamp, XAMPP)
sur un hébergeur : PDO (hébergeur)
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