Vous êtes sur la page 1sur 13

Leçon : INTRODUCTION AUX BASES DE DONNEES

DEFINITION D’UNE BASE DE DONNEES


Une base de données (BD en abrégé) est une entité qui stocke les données d’une
organisation de façon structurée avec le moins de redondances possible.
DOMAINES D’UTILISATION DES BD
Quelques domaines sont présentés dans le tableau suivant :
Domaines Cas d’utilisation
Santé Gestion des patients, etc.
Economie Gestion des stocks, etc.
Education Gestion des notes, etc.
Administration Gestion des matricules, etc.

TYPES DE BASES DE DONNEES


En fonction de leur conception, on distingue :
- Les bases de données relationnelles (BDR en abrégé)
- Les bases de données hiérarchiques (BDH en abrégé)
- Les bases de données objet (BDO en abrégé)
- Les bases de données déductives (BDD en abrégé)
- Les bases de données réseau (BDR en abrégé)
N.B. : dans le cadre de notre programme, seules les BDR seront étudiées.
SITUATION D’INTEGRATION
Lorsqu’on entre dans le supermarché NIKI, on y voit des articles classés par
catégorie : Vins et spiritueux, Fournitures scolaires, etc. Le Directeur Général de NIKI
fait appel à vous pour mettre en place une application capable de gérer son stock, la
facturation, etc.
1- Citer quatre informations sur les articles stockables dans une BD utiles pour la
gestion des stocks
2- Citer quatre informations sur les articles stockables dans une BD utiles pour la
facturation

Leçon : DEFINITION ET MANIPULATION DES DONNEES D’UNE


BASE DE DONNEES
DEFINITION DES TERMES
- Une table est un tableau à deux dimensions dont les colonnes d’entête sont
constitués des propriétés de l’entité dont les lignes contiennent chacune une
occurrence de l’entité.
- Un enregistrement est une combinaison des valeurs d’attributs qui
deviennent entièrement une occurrence de l’entité. C’est la ligne d’une table.
- Un champ est un identificateur décrivant les informations stockées dans une

1
base de données. C’est une colonne d’une table.
- Clé primaire est une colonne d’une table qui identifie de façon unique un
enregistrement.

LES OPERATIONS DE DEFINITION DES DONNEES


Plusieurs opérations sont utilisées pour définir les données dans une base des
données :
- La création : permet de créer une base de données, une table ou un
utilisateur. On utilise à cet effet la commande CREATE
- La suppression : utilisé pour éliminer des vues, des indexes et même des
tables. La commande utilisée est DROP. Cette dernière est souvent associée
à la commande ALTER pour supprimer une colonne dans une table.
- La modification : permet de modifier le type de données d’une colonne. On
utilse la commande MODIFY associé à ALTER.
- L’ajout : pour ajouter une colonne à une table, on utilise la commande ADD.
Elle est aussi associée à ALTER.

LES OPERATIONS DE MANIPULATION DES DONNEES


Dans le cas de la manipulation des données, plusieurs opérations sont utilisées :
- L’insertion : permet d’inserer les nouvelles données dans une table et se fait
à l’aide de la commande INSERT (insersion des nouvelles lignes dans une
table). On peut associer à cette commande soit la clause VALUES, soit la
clause INTO.
- La sélection : permet de sélectionner une liste d’éléments (données) suivant
certains critères dans une table à l’aide de la commande SELECT. Les
éléments à sélectionner peuvent etre distincts ou non. On peut également
ordonner ou non la liste d’éléments sélectionner.
- La mise à jour : permet de modifier la valeur d’un ou plusieurs champs
(colonnes), dans une ou plusieurs lignes existantes d’une table en tenant
compte de certains critères ou cntraintes. On utilse la commande UPDATE
pour le faire.
- La suppression : est utilisée pour supprimer des lignes (enregistrements)
d’une table. On utilise la commande DELETE. Toutes les lignes ou la
condition est vérifiée sont supprimées.

SITUATION D’INTEGRATION

Lors de la rentrée scolaire, on enregistre dans une base de données les différents
élèves du Lycée Bilingue de NGALBIDJE dans leurs classes respectives et par la
suite, on affecte des professeurs dans ces classes afin d’enseigner les diverses
matières au programme. La description de cette base de données est la suivante :
Eleve(Matricule, NomEleve, PrenomEleve, DateNaissance),
Classe(Cycle, NomClasse,Niveau),
Professeur(CodeProfesseur, NomProfesseur, PrenomProfesseur),
Enseignement(NomClasse, CodeProfesseur, Annee).

2
1- Proposer un nom à cette base de données. Quels sont ses différentes tables ?
2- Qu’est-ce qu’une clé primaire ?.
3- Lister trois opérations de définition de données.
4- Lister trois opérations de manipulation de données.
REINVESTISSEMENT
Expliquer par des verbes d’action les expressions :
a- SQL est un langage de Définition des données
b- SQL est un langage de Manipulation des données

Leçon : LES REQUETES SQL

OBJECTIFS PEDAGOGIQUES :
ü Ecrire les requetes SQL de manipilation de données ;
ü Executer les requetes SQL de manipilation de données
CONTROLE DES PREREQUIS
1- Définir base de données, système de gestion des bases de données
2- Citer les modèles de bases de données aue vous connaissez
3- Citer quelaues operations qu’on peut effectuer sur une base de données.
SITUATION PROBLEME
vous souhatez utiliser un SGBD pour realiser une base de données dans laquelle
vous
souhaitez enregistrer les données suivantes.
Date_naissanc
Nom Prenom Quartier Sexe
e
LBMBEOOOO
LEA ROSE TAPARE 12/01/1999 F
1
LBMBEOOOO
ATANA ROSALINE CHATEAU 26/06/2003 F
2
LBMBEOOOO
ALI AROUNA TAPARE 23/03/2001 M
3
LBMBEOOOO ADON
GABRIEL LOUMMO 10/11/2002 M
4 E
Consigne :
1. Donnez la signification de SGBDR. (Réponse attendue : Système de gestion des
bases de données relationnelles )
2. Nommez le langage que vous utiliserez pour créer votre base de données .
(Réponse attendue : le langage SQL)
3. Donnez uin nom à cet ensemble de données. (Réponse attendue : une table)

RESUME
Le SQL (Strutured Query Langage) est un langage qui permet de communiquer avec
les
données d’une base de données. C’est un langage de :
3
- définition des éléments d'une base de données (tables,colonnes, cl
és, index, contraintes…),

- manipulation des données ( insertion, suppression, modification, extraction…)


- gestion des droits d'accès aux données (acquisition et
révocation des droits),
- La gestion des transactions,
ECRITURE DES REQUETES DE DEFINITION DE DONNEES
Le SQL est un langage ge de définition des données, ainsi, il permet de créer les
éléments de la base de données

- LA CREATION D’UNE BASE DES DONNEES


La syntaxe de création d’une base de données est :
CREATE DATABASE Nom_de_la_base_de_d onnées ;
EXEMPLE 1 : pour créer une base de données nommée "societe". Il suffit
d’écrire la commande CREATE DATABASE societe ;
- LA SUPPRESSION D’UNE BASE DES DONNEES
La syntaxe de suppression d’une base de données est :
DROP DATABASE Nom_de_la_base_de_do nnées ;
EXEMPLE 2 : pours supprimer la base de données de l’exemple 1, il suffit
d’écrire ; DROP DATABASE Societe ;
CREATION DES TABLES D’UNE BASE DE DONNEES
Les bases de données relationnelles sont constituées d’entités (tables) reliées entre
elles par des relations. Dans une base de données relationnelle, les entités (tables)
possèdent des attributs ou caractéristiques. Chaque attribut d’une table possède un
ci-dessous
type qui représente l’ensemble de valeurs qu’il peut prendre. Le tableau ci-
présente quelques types de données utilisés en SQL

4
-CREATION D’UNE TABLE DANS UN BASE DE DONNEES
La création d’une table consiste à définir (en fonction de l'analyse) le nom de ses
colones , leur type, leur valeur par defaut,et les contraintes qui s’y appliquent.
La syntaxe de creation d’une table dans une base de données relationnelles est :
CREATE TABLE Nom_Table (
Champ1 Type1 [contrainte],
Champ2 Type2 [contrainte],
…………………………………………….
Champ n Type n [contrainte],
CONSTRAINT PRIMARY KEY (Liste des clé primaire),
FOREIGN KEY Nom_clé REFERENCES nom_table (nom_clé_dans_la_table
)
);

Les contraintes sont importantes lors de la création d’une table. En effet ils
permettent d’assurer l’intégrité de la base de données. Quelques une de ces
contraintes sont ;
- Un champ doit toujours avoir une valeur. Qui peut être soit NULL ou
NOT NULL
- Un champ peut être désigné comme clé secondaire de la table en
utilisant
- la contrainte UNIQUE
- Un champ (ou un ensemble de champs) constitue(nt) la clé de la
relation
- (clé primaire).
- Un attribut dans une table est lié à la clé primaire d’une autre table
(clé étrangère).
Exemple la table de la situation problême peut etre crée grace à la commande
suivante :

CREATE TABLE Eleve (


Numero_table char(10) NOT NUL,
Nom Varchar(20),
Prenom Varchar(10),
Quartier Varchar(10),

Sexe CHAR(1),
Date_naissance DATE,
CONSTRAINT PRIMARY KEY (Numero_table)
);
ü SUPPRESSION D’UNE TABLE
Pour supprimer une table on utilise la commande suivante :
DROP TABLE Nom_table ;
MODIFICATION DES TABLES
ü AJOUTER UN CHAMP

5
Pour ajouter un champ à une table, on utilise la commande :
ALTER TABLE Nom_Table ADD Champ Type [contrainte];
EXEMPLE : La requête SQL qui ajoute le champ vill à la table
Eleve créé précédemment est :
ALTER TABLE Eleve ADD ville varchar(25) ;
ü SUPPRIMER UN CHAMP
Pour supprimer un champ à une table, on utilise la commande :
ALTER TABLE Nom_Table DROP COLUMN Champ ;
EXEMPLE : La requête SQL qui supprime le champ Sexe de la table
Eleve créée précédemment
est : ALTER TABLE Eleve DROP COLUMN Ville ;
ü RENOMMER UN CHAMP
Pour renommer un champ d’une table, on utilise la commande :
ALTER TABLE nom_table
RENAME COLUMN ancien_nom TO nouveau_nom
EXEMPLE : La requête SQL qui renomme le champ Numero_table de la table
Eleve en Matricule est :
ALTER TABLE Eleve RENAME COLUMN Numero_table TO Matr icul e
ü RENOMMER UNE TABLE
Pour renommer une table, on utilise la commande :
ALTER TABLE nom_table RENAME TO nouveau_nom
EXEMPLE : La requête SQL qui renomme la table Eleve en Student est :
ALTER TABLE Eleve RENAME TO Student

-MODIFIER LE TYPE D’UN CHAMP


Pour modifier le type d’un champ, on utilise la commande suivante :
ALTER TABLE Nom_Table MODIFY Champ Nouveau_Type ;
ECRITURE DES REQUETES DE MANIPULATION DE DONNEES
-INSERTION D’UN ENREGISTREMENT
La commande INSERT permet d’insérer une ligne dans une table en précisant les
valeurs à insérer. La syntaxe est la suivante :
INSERT INTO nom_table (nom_col_1, nom_col_2, ..)
VALUES (val_1, val_2, ...) ;
La liste des noms de colonne est optionnelle. Si elle est omise, la liste descolonn
es sera par défaut la liste de l'ensemble des colonnes de la table dans l'ordre de la
création de la
table.
Si une liste de colonnes est spécifiée, les
colonnes ne figurant pas dans la liste auront
la valeur NULL.
-MODIFICATION D’UN ENREGISTREMENT
La modification d’un tuple dans une table peut se faire partiellement ou totalement.
Pour modifier partiellement un enregistrement on utilise la syntaxe suivante ;
UPDATE Nom_table SET champ1=valeur1, champ2=valeur2, …
WHERE Condition ;
Pour modifier en totalité un enregistrement on utilise la syntaxe ci-après :
REPLACE INTO Nom_table VALUES (primary_key, val2...valN);

6
-SUPPRESSION D’UN ENREGISTREMENT
Pour supprimer un enregistrement on utilise la syntaxe ci-après
ci :
DELETE FROM Table WHERE Condition

suivant des critères spécifiés. La syntaxe générale d’une requête d’in terrogqtion de
données est :
SELECT [DISTINCT ou ALL]ALL * ou liste de colonnes
FROM nom de table ou de la vue
[WHERE prédicats]
[GROUP BY ordre des groupes]
[HAVING condition]
[ORDER BY ] liste de colonnes

NB : les mots entre crochets son optionnels


Le caractère * (étoile) récupère toutes les colonnes De la table précisée
dans la clause FROM de la requête. Juste après le mot clef SELECT, on
précise les colonnes de la table qui doivent être présentées dans la réponse.
L'utilisation
tilisation du caractère étoile ramène toutes les colonnes de la table dans
la réponse. Dans le cas contraire il faut préciser chacune des
colonnes et les séparer par des virgules.

SELECT * FROM Eleve WHERE Quartier = ' Taparé ' ;


L'opérateur DISTINCT (ou ALL)
Il permet d’éliminer les doublons
La clause WHERE
Elle permet définir des conditions de sélection d’enregistrements On peut utiliser les
opérateurs
Voici un tableau résumant les principaux opérateurs utilisés pour la
création des conditions

7
EXEMPLE 1: Noms des élèves dont le nom commence par la lettre B
SELECT Nom FROM Eleve WHERE Nom LIKE "B%" ;
EXEMPLE 2: Noms des élèves dont le nom contiennent la lettre B
SELECT Nom FROM Eleve WHERE Nom LIKE "%B%" ;
EXEMPLE 3 : Noms et date de naissance des des élèves nés entre 1992 et 1994
SELECT Nom, Date_Naissance FROM eleve
WHERE Date_Naissance BETWEEN "1992/01/01" AND "1994/12/31";
La clause ORDER BY
Cette clause permet de définir le tri des colonnes de la réponse,
- soit en précisant le nom littéral de la colonne,

- soit en précisant son n° d'ordre dans


l'énumération qui suit le mot clef SELECT.
- ASC spécifie l'ordre ascendant et DESC l'ordre descendant du tri.
- ASC ou
DESC peut être omis, dans ce cas c'est l'ordre ascendant qui est utilisé par
défaut.
- Pour spécifier l'ordre de tri, on doit placer les noms des colonnes séparées
par des virgules juste après le mot clef "ORDER BY", ", dans l'ordre voulu.
On peut aussi utiliser le rang de chaque colonne dans l'ordre spécifié dans la
clause SELECT
ORDER BY colonne1 [ASC ASC ou DESC] , colonne2 [ASC ou DESC ] ...
EXEMPLE : Noms et quartier des élèves triés par ordre croissant des
quartiers
SELECT Nom, Quartier FROM Eleve ORDER BY Quartier ASC;
La Clause GROUP BY
Elle permet de réunir en une seule ligne des enregistrements qui ont en
commun une même valeur de champ.L’instruction
champ. GROUP BY s’utilise avec
des fonctions de groupe ou avec la clause HAVING.

Les fonctions de groupe sont des fonctions qui permettent d’effectuer des
opérations sur un ensemble de valeurs d’un champ. Elles sont déclarées
8
dans la clause SELECT ou dans la clause HAVING.
HAVING Les plus courantes sont
- SUM : pour calculer la somme
- AVG pour calculer la moyenne
- COUNT pour compter le nombre de tuples
- MIN pour rechercher la plus petite valeur
- MAX pour rechercher la plus grande valeur

EXEMPLE 1 : moyennes obtenues par matières


SELECT Matiere, AVG(Note)
(Note) FROM Note GROUP BY Matiere ;
EXEMPLE 2 : Meilleure note par matière
SELECT Matiere, MAX(Note)
(Note) FROM Note GROUP BY Matiere ;
Exemple 3 : Nombre d’élèves par quartier
SELECT Quartier, COUNT(Matricule)
(Matricule) FROM Eleve GROUP BY Quartier ;
La clause HAVING
La clause HAVING fonctionne comme la clause WHERE,, mais pour les
éléments d’un
même groupe.

EXERCICES :

EXERCICE1
Lors de la rentrée scolaire, on enregistre dans une base de données ECOLE les différents
élèves de la plateforme TOumpé Intellectual Groups dans leurs classes respectives et par la
suite, on affecte des enseignants dans ces classes afin d'enseigner
d'enseigner les diverses matières au
programme. Pour des besoins de manipulation de cette base de données, le Promoteur vous
contacte et vous donne la description de cette base de données représentée par la table
ELEVE. Aider-le
le en répondant aux questions suivantes :

1. Définir base de données et donner un exemple de SGBD


2. Ecrire les requêtes SQL de création de la base de données et de la table.
3. Quel est le résultat de la requête SQL suivante :
SELECT NomEleve, Classe FROM ELEVE WHERE Sexe=’F’ ;
4. Ecrire la commande SQL qui supprime la table ELEVE de la base de données ECOLE

9
Exercice 2

Voici la table « ELEVE » de la base de données « BD_LM » présentée selon le modèle


relationnel. Chaque
élève est identifié par un numéro matricule unique.

1. Que signifie le sigle SQL


2. Citer les champs de cette table.
3. Ecrire une requête SQL permettant de créer cette base de données
4. Ecrire une requête SQL permettant de créer cette table.
5. Ecrire une requête SQL permettant de remplacer le prénom de l’élève dont le nom est
SALDORI par ‘Jules’.
6. Donnez le résultat de la requête suivante :
SELECT ‘Matricule’, ‘Nom’,’Prénom’ FROM Elève WHERE Classe=’TALL’
7. Ecrire la requête SQL pour supprimer l’élève KANGOU

Exercice 3

10
CORRECTIONS :

EXERCICE1
1. Définir base de données et donner un exemple de SGBD
Une base de données est un ensemble structuré et organisé avec le moins
de redondance possible permettant de stocker un plus grand nombre
d’informations afin d’en faciliter son exploitation
Exemples : MySQL, Ms SQL, Ms Access, Informix, IBM DB2, Oracle,
SyBase…
2.Ecrire les requêtes SQL de création de la base de données et de la table.
Requête SQL de création de la base de données :
CREATE DATABASE ECOLE ; ou CREATE DATA BASE ECOLE ;
Requête SQL de création de la table :
CREATE TABLE ELEVE (
Matricule CHAR(11) [NOT NULL] PRIMARY KEY,
NomEleve VARCHAR(35),

Classe VARCHAR(10),
Sexe CHAR(1),
Date_Nais DATE,
);
Ou encore :
CREATE TABLE ELEVE (
Matricule CHAR(11) [NOT NULL],
NomEleve VARCHAR(35),
Classe VARCHAR(10),
Sexe CHAR(1),
Date_Nais DATE,
CONSTRAINT PRIMARY KEY (Matricule),
);

La contrainte d’intégrité NOT NULL intervient juste pour signifier que le matricule d’un élève
est obligatoire et ne peut être nul. On peut donc ne pas avoir de prénom ou de nom (il y a
des cas pareils). Pour ce qui est du type VARCHAR(n) ou CHAR(n) avec n un entier naturel,
l’emploi de l’un ou l’autre est correct à la seule différence que VARCHAR(n) est économique
en mémoire tandis que CHAR(n) ne l’est pas !
3. Quel est le résultat de la requête SQL suivante :
SELECT NomEleve, Classe FROM ELEVE WHERE Sexe=’F’ ;

11
4. Ecrire la commande SQL qui supprime la table ELEVE de la base de données ECOLE
DROP TABLE ELEVE ;

Exercice 2

Voici la table « ELEVE » de la base de données « BD_LM » présentée selon le modèle


relationnel. Chaque
élève est identifié par un numéro matricule unique.

1. Que signifie le sigle SQL


SQL : Structured Query Language

2. Citer les champs de cette table.


Matricule, Nom, Prénom, Classe, Sexe

3. Ecrire une requête SQL permettant de créer cette base de données


CREATE DATA BASE BD_LM ;
4. Ecrire une requête SQL permettant de créer cette table.
CREATE TABLE ELEVE ( Matricule char(6) not null,
Nom Varchar (15),
Prénom Varchar (15),
Classe Varchar (10),
Sexe Varchar (10),
PRIMARY KEY (Matricule)) ;
5. Ecrire une requête SQL permettant de remplacer le prénom de l’élève dont le nom est
SALDORI par ‘Jules’.
UPDATE FROM ELEVE
SET ‘Junior’=’Jules’
WHERE Matricule = ‘13V234’ ;
Ou encore
UPDATE FROM ELEVE
SET ‘Junior’=’Jules’
WHERE Nom = ‘SALDORI’ ;

12
6. Donnez le résultat de la requête suivante :
SELECT ‘Matricule’, ‘Nom’,’Prénom’ FROM Elève WHERE Classe=’TALL’

7. Ecrire la requête SQL pour supprimer l’élève KANGOU


DELETE FROM ELEVE WHERE Nom = ‘KANGOU’ ;

EXERCICE3

1. Définir : champ, clé étrangère.


Champ : est un identificateur décrivant les informations stockées dans une base
de données. C’est une colonne d’une table ;
Clé étrangère : contrainte qui garantit l’intégrité référentielle entre deux tables
2. Traduire en langage courant la requête SQL ci-dessous
ci
SELECT Nom FROM EMPLOYÉ MPLOYÉ WHERE Ville = 'PETE’;
Cette requête permet d’afficher le nom de tous les employés donc leur quartier de
résidence est PETE
3. En se référant à la table EMPLOYÉ, Donner
Donner le résultat de la requête de la question N°2

4. Lister 4 opérations permettant de manipuler les données de cette base de données


Insertion, l’Ajout, La Suppression, la Modification

13

Vous aimerez peut-être aussi