MySQL 5
Introduction
Il existe plusieurs type de SGBD (Système de Gestion de Bases de Données).
Il existe la hiérarchique (année 60), où les données étaient représentées sous forme d’un arbre : un enfant possède un seul et unique parent. Les parents possèdent plusieurs enfants. On exploite donc les données par un langage navigationnel.
Il y a ensuite eu le SGBD Réseau dans le début des années 70. Le modele réseau permet de mettre en place des liens de différentes manières. Les enfants peuvent etre liés entre eux. On conserve le modèle hiérarchique.
Le SGBD Objet, où les données sont stockées sous forme d’objet. On peut accéder à n’importe quelle donnée/colonne à partir du parent
Le langage SQL
Le langage SQL (Structured Query Language) est un langage déclaratif permettant d’interroger les SGBDR (SGBD Relationnels). La première version de ce langage date des années 86. Il y a eu :
- SQL-86
- SQL-92
- SQL-99
- SQL-2003
La version SQL la plus utilisée étant la SQL-92.
Il existe différentes commandes exploitant les données regroupées en différentes catégories
| Catégorie | Commandes |
| DML (Data Manipulation Language | INSERT SELECTUPDATE DELETE |
| DDL (Data Definition Language) | ALTER CREATE DROP |
| DCL (Data Control Language) | GRANT REVOKE |
A partir de SQL-2003 apparait une nouvelle classification :
| Catégorie | Commandes/Description |
| SQL Connection Statements | CONNECT DISCONNECT |
| SQL Control Statements | procédures et fonctions stockées |
| SQL Data Statements | équivalent au DML |
| SQL Diagnostic Statements | GET DIAGNOSTICS (permet de visualiser l’état et le bon fonctionnement de la base de données) |
| SQL Schema Statements | équivalent au DDL |
| SQL Session Statements | SET (permet de modifier temporairement le fonctionnement du serveur pour la session en cours) |
| SQL Transaction Statements | ROLLBACK COMMIT |
Rôle du SGBD
Le SGBD est un outil permettant de gérer un large volume de données. Par exemple : créer, modifier la structure de l’information
Manipuler l’information.
Les SGBD respectent la norme ACID (Atomicity Consistency Isolation Durability :
| FR | EN | Desc |
| Atomicité | Atomitity | Les requêtes interdépendantes réussissent toutes ou sont toutes annulées |
| Cohérence | Consistency | La base de donnée n’autorise pas de données incohérentes dans la table |
| Isolation | Isolation | L’utilisateur doit avoir l’impression d’être le seul utilisateur du SGBD |
| Durabilité | Durability | Les modifications apportées et validées dans le SGBD sont durables |
Design
Le modèle respecté par les SGBD est Entité/Association. Les entités sont les objets du système modélisé et les associations sont les liens entre les entités.
Toute combinaison permettant d’identifier un enregistrement est appelé super clé.
Pour identifier une ligne, on utilisera une clé primaire. Pour sélectionner une clé primaire, il faudra privilégier l’élément appelé clé minimale : une clé qui va utiliser le moins de colonnes possible.
Une fois crée, une clé ne devra jamais être changée.
Pour identifier un parent ou encore un enfant, l’entité associée devra porter une colonne de l’entité associée : clé étrangère.
Lors de la création, les SGBD doivent respecter la forme minimale. Une forme minimale est un ensemble de règles permettant de minimiser les redondances dans un schéma.
Ex :
- Toute colonne doit être atomique : elle ne peut comporter plusieurs valeurs
- Tout attribut ne faisant pas partit de la clé doit dépendre fonctionnellement de la clé.
- On ne devrait pas récupérer l’information d’une table voisine sans clé