Vous êtes sur la page 1sur 5

Introduction

1.- Qu’est-ce qu’une base de données ?


Une base de données est un ensemble structuré d’informations cohérentes non redondantes.
Autrement dit Une base de données informatique est un ensemble de données qui ont été
stockées sur un support informatique, organisées et structurées de manière à pouvoir facilement
consulter et modifier le contenu de la base.

2.- Qu’est-ce qu’un SGBD ?


Un Système de Gestion de Base de Données est un logiciel permettant de gérer de manière
efficace un volume important de données structurées. C'est-à-dire sélectionner et afficher des
informations tirées de cette base, modifier des données, en ajouter ou en supprimer (ce groupe de
quatre opérations étant souvent appelé le CRUD, pour Create, Read, Update, Delete). MySQL
est un système de gestion de bases de données.

3.- Qu’est-ce qu’un SGBDR ?


Un SGBDR est le type particulier de SGBD qui traite et manipule les bases de données à base du
modèle relationnel. C’est-à-dire, les données sont contenues dans ce qu'on appelle des relations,
qui sont représentées sous forme de tables. Une relation est composée de deux parties, l'en-tête et
le corps. L'en-tête est lui-même composé de plusieurs attributs. MySQL implémente la théorie
relationnelle, et est donc un SGBDR.

4.- Qu’est-ce que MySQL ?


MySQL est un Système de Gestion de Bases de Données Relationnelles (abrégé SGBDR). C'est-
à-dire un logiciel qui permet de gérer des bases de données, et donc de gérer de grosses quantités
d'informations. Il utilise pour cela le langage SQL. Il s'agit d'un des SGBDR les plus connus et
les plus utilisés.

5.- Le paradigme client – serveur


La plupart de SGBDR sont basés sur un modèle Client - Serveur. C'est à dire que la base de
données se trouve sur un serveur qui ne sert qu'à ça, et pour interagir avec cette base de données,
il faut utiliser un logiciel "client" qui va interroger le serveur, et transmettre la réponse que le
serveur lui aura donnée. Le serveur peut être installé sur une machine différente du client, et c'est
souvent le cas lorsque les bases de données sont importantes. Ce n'est cependant pas obligatoire.
Dans ce cours, nous installerons les logiciels serveur et client sur un seul et même ordinateur. Par
conséquent, lorsque vous installez un SGBD basé sur ce modèle (et c'est le cas de MySQL), vous
installez en réalité deux choses (au moins) : le serveur, et le client. Et chaque requête
(insertion/modification/lecture de données) est faite par l'intermédiaire du client. Jamais vous ne
discuterez directement avec le serveur (d'ailleurs, il ne comprendrait rien à ce que vous diriez).
Et vous avez donc besoin d'un langage pour discuter avec le client, pour lui donner les requêtes
que vous souhaitez effectuer. Dans le cas de MySQL, ce langage est le SQL.
6.- Qu’est-ce que SQL ?
Le SQL (Structured Query Language) est un langage informatique qui permet d'interagir avec
des bases de données relationnelles. C'est le langage pour base de données le plus répandu, et
c'est bien sûr celui utilisé par MySQL. C'est donc le langage que nous allons utiliser pour dire au
client Mysql d'effectuer des opérations sur la base de données stockée sur le serveur MySQL.
C’est un langage relationnel de manipulation de bases de données.

SQL est un langage composé de sous-ensembles :


⮚ LDD/DDL (Langage de Définitions de Données/ Data Definition Language) : Pour créer
et supprimer des objets dans la base de données (tables, contraintes d’intégrité, etc...).
Exemple de commandes : CREATE, DROP, ALTER.

● CREATION D’UNE BASE DE DONNÉES


La création d’une base de données est possible en utilisant le langage SQL même si les
SGBD sont souvent utilisés pour la créer.

CREATE BATABASE nom_de_la_base

● SUPPRESSION D’UNE BASE DE DONNÉES


En SQL, la commande DROP DATABASE permet de supprimer totalement une base de
données et tout ce qu’elle contient. Cette commande est à utiliser avec beaucoup
d’attention car elle permet de supprimer tout ce qui est inclus dans une table.

DROP DATABASE nom_de_la_base

● CREATION D’UNE TABLE


Une table est un ensemble de lignes et de colonnes. La création d’une table sert à définir
les colonnes et le type de données qui seront contenus dans chaque colonne (entier,
chaine de caractère, date, valeur binaire, etc...).

CREATE TABLE nom_table (colonne1 type de données, colonne2 type


de données,....)

Pour chaque colonne que l’on crée, il faut préciser le type de données que le champ va
contenir. Les types standards sont :
INT, NUMERIC(X), DECIMAL(X, Y), FLOAT(X), VARCHAR(X), DATE (AAAA-
MM-JJ), DATETIME (AAAA-MM-JJ HH:MM:SS).

Autres types: MONEY, BOOLEAN, BLOB (Binary Long Object)…

Il est également possible de définir quelques contraintes telles que :


PRIMARY KEY : indiquer si cette colonne est considérée comme clé primaire
AUTO_INCREMENT : la valeur entière d’un champ s’incrémente automatiquement
NOT NULL : empêche d’enregistrer une valeur nulle pour une colonne
DEFAULT : attribue une valeur par défaut si aucune donnée n’est indiquée pour cette
colonne lors de l’ajout d’une ligne dans la table
UNIQUE : interdit que deux enregistrements de la table aient la même valeur pour
l’attribut
CHECK : contrôle la validité de la valeur de l’attribut spécifié dans la condition dans le
cadre d’une restriction de domaine.

● CLÉ ÉTRANGÈRE
Le langage SQL permet d’indiquer quelles sont les clés étrangères dans une table,
autrement dit, quels sont les attributs qui font référence à une ligne dans une autre table.
On peut spécifier les clés étrangères avec l’option FOREIGN KEY.

● MODIFIER LA STRUCTURE D’UNE TABLE


La commande ALTER TABLE en SQL permet de modifier une table existante. Il est
ainsi possible d’ajouter une colonne, d’en supprimer une ou de modifier une colonne
existante.

ALTER TABLE nom_table instruction

On peut ajouter aussi des contraintes d’intégrité sur une colonne :


ALTER TABLE nom_table add constraint instruction

⮚ LMD/DML (Langage de Manipulation de Données/Data Manipulation Language) : Pour


la recherche, l’insertion, la mise à jour et la suppression des données. Le LMD est basé
sur les opérateurs relationnels, auxquels sont ajoutés des fonctions de calcul d’agrégats et
des instructions pour réaliser les opérations d’insertion, mise à jour et suppression.
Exemple de commandes : INSERT, UPDATE, DELETE, SELECT.

● PROJECTION
L’utilisation la plus courante de SQL consiste à lire des données issues de la base. Cela
s’effectue grâce à la commande SELECT, qui retourne des enregistrements dans un
tableau de résultats. Cette commande peut sélectionner une ou plusieurs colonnes d’une
table. C’est la principale commande du langage de manipulation des données.
L’utilisation syntaxique de cette commande s’effectue de la manière suivante :

SELECT nom_champ FROM nom_table  

● RESTRICTION
Une restriction consiste à sélectionner les lignes satisfaisant à une condition logique
effectuée sur les attributs. En SQL, les restrictions s’expriment à l’aide de la clause
WHERE suivie d’une condition logique. Cette commande permet d’extraire les lignes
d’une base de données qui respectent une condition. Cela permet d’obtenir uniquement
les informations désirées. Pour la syntaxe on a :

SELECT nom_champ FROM nom_table WHERE condition


● TRI
La commande ORDER BY permet de trier les lignes d’une requête SQL. Il est possible
de trier les données sur une ou plusieurs colonnes par ordre ascendant ou descendant. Par
défaut, les résultats sont classés par ordre ascendant, toutefois il est possible d’inverser
l’ordre en utilisant le suffixe DESC après le nom de la colonne. Par ailleurs il est possible
de trier sur plusieurs colonnes en les séparant par une virgule.

SELECT * FROM nom_table ORDER BY nom_champ

● REGROUPEMENT DES RESULTATS


Il peut être intéressant de regrouper des résultats afin de faire des opérations par groupe
(Operations statistiques par exemple). Cette opération se réalise à l’aide de la clause
GROUP BY, suivie du nom de chaque colonne sur laquelle on veut effectuer des
regroupements. Pour la syntaxe on a :

SELECRT nom_champ1 fonction (nom_champ2) FROM nom_table GROUP BY


nom_champ1

● LA JOINTURE
Les jointures en SQL permettent d’associer plusieurs tables dans une même requête. Cela
permet d’exploiter la puissance des bases de données relationnelles pour obtenir des
résultats qui combinent les données de plusieurs tables de manière efficace. L’expression
d’une jointure se fait en précisant le nom des colonnes des tables sur lesquelles on fait la
jointure. La clause WHERE permet de préciser la qualification de la jointure.

SELECT nom_table1.nom_champ1, nom_table1.nom_champ2,


nom_table2.nom_champ1 FROM nom_table1, nom_table2 WHERE
nom_table1.nom_champ1= nom_table2.nom_champ2

● LES SOUS REQUETES


Effectuer une sous requête consiste à effectuer une requête à l’intérieur d’une autre ou en
d’autres termes d’utiliser une requête afin d’en réaliser une autre (on entend parfois le
terme de requêtes en cascade).

SELECT.....FROM....WHERE.....Operateur (SELECT.......FROM……)

● LES OPERATIONS ENSEMBLISTES


La commande UNION de SQL permet de mettre bout à bout les résultats de plusieurs
requêtes utilisant elles-mêmes la commande SELECT. Pour l’utiliser il est nécessaire que
chacune des requêtes à concaténer retourne le même nombre de colonne avec les mêmes
types de données et dans le même ordre.

SELECT * FROM nom_table1 UNION SELECT * FROM nom_table2


La commande INTERSECT permet d’obtenir l’intersection des résultats de deux
requêtes. Cette commande permet donc de récupérer les enregistrements communs à deux
requêtes. Cela peut s’avérer utile lorsqu’il faut trouver s’il y a des données similaires sur
deux tables distinctes.

SELECT * FROM nom_table1 INTERSECT SELECT * FROM nom_table2

● METTRE A JOUR DES DONNÉES


Le langage SQL permet la modification d’une table par un utilisateur. La modification
consiste à : Ajouter des données (Enregistrement), Modifier des données et Supprimer
des données.
Ajouter des données : L’insertion des données dans une table s’effectue à l’aide
de la commande INSERT INTO. Cette commande permet au choix d’inclure une seule
ligne ou plusieurs lignes d’un coup.

INSERT INTO nom_table VALUES (‘valeur1’, ‘valeur2’, …, ‘valeurN’)


INSERT INTO nom_table (nom_champ1, nom_champ2) VALUES (‘valeur1’,
‘valeur2’)

Mettre à jour des données : L’instruction ON DUPLICATE KEY UPDATE est


une fonctionnalité de MySQL qui permet de mettre à jour des données lorsqu’un
enregistrement existe déjà dans une table. Cela permet d’avoir qu’une seule requête SQL
pour effectuer selon la convenance un INSERT ou un UPDATE.

INSERT INTO nom_table (nom_champ1, nom_champ2) VALUES (‘valeur1’,


‘valeur2’) ON DUPLICATE KEY UPDATE nom_champ=nom_champ

Modifier des données : La commande UPDATE permet d’effectuer des


modifications sur les lignes existantes. Très souvent elle est utilisée avec WHERE pour
spécifier sur quelles lignes doivent porter les modifications.

UPDATE nom_table SET nom_champ= nouvelle valeur WHERE condition

Supprimer des données : La commande DELETE en SQL permet de supprimer


des lignes dans une table. En utilisant cette commande associée à WHERE il est possible
de sélectionner les lignes concernées qui seront supprimées.

DELETE FROM nom_table WHERE condition

⮚ LCD/DCL (Langage de contrôle de données/ Data control Language) : Pour gérer les
droits sur les objets de la base de données (création des utilisateurs et affectation de leurs
droits). Exemple de commandes : GRANT, REVOKE.

Vous aimerez peut-être aussi