Académique Documents
Professionnel Documents
Culture Documents
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.
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
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…),
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 :
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
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
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,
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
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 :
9
Exercice 2
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
12
6. Donnez le résultat de la requête suivante :
SELECT ‘Matricule’, ‘Nom’,’Prénom’ FROM Elève WHERE Classe=’TALL’
EXERCICE3
13