Tutorat : Base de données par WAFIK REDA
L'essentiel pour l'implémentation d'une base de données
PLAN DE TRAVAILLE
C’est quoi une base de données ?
Pourquoi avons-nous besoin d’une base de données ?
Comment les données sont-elles stockées dans la base de
données ?
Étapes de création d'une base de données
o Cahier de Charge
o Dictionnaire de données
o MCD (Modèle E/A)
o Passage de MCD vers MLD
o L’implémentation avec SQL
SQL
o Définition
o Les requêtes de Définition de données (LDD)
Création d’une BDD
Sélection d’une BDD
Suppression d’une BDD
Afficher une liste de tous les BDD
Création des tables
Les types les plus utilisés en MySQL
Propriété et contraintes
Syntaxe et exemples
Suppression des tables
Modification sur la structure d’une table
Ajouter une colonne
Année Universitaire : 2023/2024
1
Tutorat : Base de données par WAFIK REDA
Supprimer une colonne
Modifier le type d'une colonne
Renommer une colonne
Renommer une table
Ajouter une contrainte de clé primaire
Supprimer une contrainte de clé primaire
Ajouter une contrainte de clé étrangère
Supprimer une contrainte de clé étrangère
o Les requêtes de Manipulation de données (LMD)
Insertion (INSERT)
Suppression (DELETE)
Modification (UPDATE)
o Les requêtes d’Interrogation des données (LID)
La Projection
La Sélection
Opérateurs de filtrage
Opérateurs de classement (ORDER BY)
Extraction pour les dates
MAX, MIN, COUNT, AVG
o GROUP BY & HAVING
Les Sous-Requêtes
IN / NOT IN
Produit Cartésien
Jointure
Supprimer les doubles avec DISTINCT
Année Universitaire : 2023/2024
2
Tutorat : Base de données par WAFIK REDA
1-C’est quoi une base de données ?
Une base de données est une collection organisée de données qui sont
stockées de manière structurée pour permettre un accès, une gestion
et une manipulation faciles et efficaces des données.
2- Pourquoi avons-nous besoin d’une base de données ?
Nous avons besoin d'une base de données pour plusieurs raisons,
notamment :
Éviter la redondance : Une base de données permet de stocker les
données de manière centralisée, évitant ainsi la duplication des
données.
Automatiser le stockage des données : Une base de données permet
d'automatiser le stockage, la mise à jour et la suppression des
données, ce qui simplifie leur gestion.
Extraire les informations : Une base de données permet d'extraire
facilement des informations à partir des données stockées, en utilisant
des requêtes SQL par exemple.
Sécurité : Une base de données offre des fonctionnalités de sécurité
pour protéger les données contre les accès non autorisés, assurant
ainsi leur intégrité et leur confidentialité.
3- Comment les données sont-elles stockées dans la base de
données ?
Les données sont stockées de manière structurée dans des tables, avec
chaque table contenant des colonnes pour les différents attributs et
des lignes pour les enregistrements. Les bases de données utilisent des
structures optimisées comme des index pour permettre un accès
rapide et efficace aux données.
Année Universitaire : 2023/2024
3
Tutorat : Base de données par WAFIK REDA
Exemple De la structure d’une BDD
4-Étapes de création d'une base de données :
Analyser Le cahier Extraire les Dictionnaire De Définir les
de charge MCD
données Données entités
Règles
de
passage
SQL(LDD)
MLD
Année Universitaire : 2023/2024
4
Tutorat : Base de données par WAFIK REDA
Exemple 1 : MCD et passage au MLD (relation 1..1 et 1..n)
MLD
Professeur(idProf,nom,Prenom,salaire,#idMod)
Module(idMod,nom,coeff)
Exemple 2 : MCD et passage au MLD (relation 1..n et 1..n)
Etudiant(idEtu,nom,Prenom,dateNaissance)
Module(idMod,nom,coeff)
Année Universitaire : 2023/2024
5
Tutorat : Base de données par WAFIK REDA
Etudier(#idEtu,#idMod,Note)
Donc, on a 2 règles pour le passage de MCD vers MLD :
Relation de type (x,1) et (x,n) :
La clé primaire du côté (x,n) devient une clé étrangère dans la table du
côté (x,1).
Relation de type (x,n) et (x,n) :
Nécessite la création d'une nouvelle table qui contient deux clés
étrangères et ces dernières sont considérées comme une clé primaire
composée.
5-SQL :
Définition
SQL (Structured Query Language) est un langage de définition, de
manipulation et d'interrogation des données dans les bases de
données relationnelles. Il permet de définir la structure des données,
d'insérer, de mettre à jour et de supprimer des données, ainsi que de
récupérer des informations spécifiques à partir de la base de données.
Définition de données
Création d’une BDD : CREATE DATABASE nomBDD ;
Sélection D’une BDD : USE nomBDD ;
Suppression D’une BDD : DROP DATABASE nomBDD ;
Afficher une liste de tous les BDD : SHOW DATABASES ;
Afficher la version actuelle de MySQL : SELECT VERSION() ;
Afficher la date actuelle de système : SELECT NOW() ;
Création d’une Table :
o Les types de données :
Les entiers : INT, BIGINT, SMALLINT, MEDUIMINT …
Les Décimaux : DECIMAL(T,F) , FLOAT, DOUBLE …
Année Universitaire : 2023/2024
6
Tutorat : Base de données par WAFIK REDA
Remarque : T est le nombre totale de chiffres et F est le nombre de
chiffres pour la partie fractionnaire.
Les Chaînes de caractères : VARCHAR, TEXT, CHAR …
Dates et heures : DATE, DATETIME, TIMESTAMP …
Booléen : BOOL ou BOOLEAN
o Propriété et contraintes :
Propriétés : AUTO_INCREMENT, NOT NULL, DEFAULT
Contraintes : PRIMARY KEY, FOREIGN KEY, UNIQUE,
CHECK
o Syntaxe :
CREATE TABLE nomTable (col1 type propriété contrainte , col2
type propriété contrainte , …. )
o Exemple :
Supprimer une table : DROP TABLE nomTable ;
Afficher les détails d’une table : DESCRIBE nomTable ;
Afficher la liste de tous les tables de BDD : SHOW TABLES ;
Modification d’une table :
o Ajouter une colonne :
ALTER TABLE nomTable ADD COLUMN nom type prop contr ;
o Supprimer une colonne :
ALTER TABLE nomTable DROP COLUMN nomCol ;
o Modifier le type d’une colonne :
Année Universitaire : 2023/2024
7
Tutorat : Base de données par WAFIK REDA
ALTER TABLE nomTable MODIFY COLUMN nomCol newType ;
o Renommer une colonne :
ALTER TABLE nom_table CHANGE ancien_nom_colonne
nouveau_nom_colonne type_colonne [contrainte] ;
o Renommer une table :
ALTER TABLE nomTable RENAME TO nouveauNom ;
o Ajouter une contrainte de clé primaire :
ALTER TABLE nomTable ADD PRIMARY KEY (nomCol) ;
o Supprimer une contrainte de clé primaire :
ALTER TABLE nomTable DROP PRIMARY KEY ;
o Ajouter une contrainte de clé étrangère :
ALTER TABLE nomTable ADD CONSTRAINT nomContrainte
FOREIGN KEY (nomCol) REFERENCES autreTable;
o Supprimer une contrainte de clé étrangère :
ALTER TABLE nomTable DROP FOREING KEY nomContrainte ;
Manipulation Des Données
Insertion :
Méthode 1 : avec spécification de quelque colonne
INSERT INTO nomTable (col1,col2,..) VALUES (val1,val2,..) ;
Méthode 2 : nécessite de savoir l’ordre des colonnes et de
spécifier tous le colonnes
INSERT INTO nomTable VALUES (val1,val2,…,valn) ;
Suppression :
DELETE FROM nomTable WHERE condition ;
Modification :
SET SQL_SAFE_UPDATES = 0 : Cela nous permet de faire les mises
à jour et les suppressions dangereuses dans une table.
Exemples : modifier tous lignes ou supprimer tous les lignes.
Année Universitaire : 2023/2024
8
Tutorat : Base de données par WAFIK REDA
UPDATE nomTable SET col1 = newValue1 , col2 = newValue2
WHERE condition ;
Les requêtes d’Interrogation des données
Projection : SELECT col1 , col2 , … FROM nomTable ;
Sélection : SELECT * FROM nomTable WHERE
condition ;
o Opérateurs de filtrage :
o Opérateurs de classement :
SELECT * FROM nomTable WHERE condition
ORDER BY nomCol [DESC]
o Extraction pour les DATES :
EXTRACT(year from nomCol) : extraire l’année de la
date
Année Universitaire : 2023/2024
9
Tutorat : Base de données par WAFIK REDA
EXTRACT(month from nomCol) : extraire le mois de
la date
EXTRACT(day from nomCol) : extraire l’année de la
date
o MAX , MIN , AVG , COUNT :
SELECT MAX(colonne) FROM nomTable :
sélectionner la valeur maximal d’une
colonne
SELECT MIN(colonne) FROM nomTable :
sélectionner la valeur minimal d’une
colonne
SELECT COUNT(colonne) FROM
nomTable : renvoie le nombre de ligne
dont la valeur du colonne NOT NULL
SELECT AVG(colonne) FROM nomTable :
sélectionner la moyenne d’une colonne
GROUP BY & HAVING :
SELECT colonne_agregation,
colonne_groupement
FROM table
GROUP BY colonne_groupement
HAVING condition_agregation;
Exemple :
SELECT produit, SUM(quantite *
prix_unitaire) AS total_ventes
FROM ventes
Année Universitaire : 2023/2024
10
Tutorat : Base de données par WAFIK REDA
GROUP BY produit
HAVING SUM(quantite *
prix_unitaire)> 1000;
NB : SUM() renvoie la somme des
valeurs d’une colonne
o Sous-Requête : C’est lorsque vous exécutez
une requête sur le résultat d’une autre
requête
Exemple simple : SELECT * FROM personne WHERE
nom NOT IN (SELECT VILLE FROM personne WHERE
ville = ‘RABAT’) ;
NB1 : Dans la première requête, on sélectionne
tous les noms des personnes qui habitent à Rabat.
Dans la seconde requête, on sélectionne tous les
noms qui ne se trouvent pas dans la liste des
personnes qui habitent à Rabat.
NB2 : SELECT * FROM nomTable WHERE colonne =
valeur1 OR colonne = valeur2 OR ….
C’est équivalent à :
SELECT * FROM nomTable WHERE colonne
IN(valeur1,valeur2 … )
Produit Cartésien : SELECT * FROM table1 , table2 ;
Cela donne tous les combinaisons possible des lignes de
table1 avec table2
Jointure : SELECT * FROM table1 , table2 WHERE
[Link] = [Link] ;
Année Universitaire : 2023/2024
11
Tutorat : Base de données par WAFIK REDA
On peut utiliser également :
SELECT * FROM table1 , JOIN table2 ON
[Link] = [Link] ;
Supprimer les doublons :
SELECT DISTINCT col1 , col2 … FROM nomTable ;
Et voilà, j'espère que ces informations vous ont été
utiles, merci.
Pour Contacter Moi si Vous avez besoin de l’aide :
N°Tele : 0773622708
Facebook : REDA WAFIK
Année Universitaire : 2023/2024
12