Vous êtes sur la page 1sur 20

UE 23 : CONCEPTION D’UN SYSTEME D’INFORMATION

Indicateurs de la compétence : Citer quelques méthodes de conception d’un système d’information

Une entreprise crée de la valeur en traitant de l’information qui lui permet de prendre des
décisions. Pour gérer l’information, l’entreprise se sert d’une composante appelé système
d’information (SI). Un système d’information est l’ensemble de ressources matérielles,
logicielles et humaines, structurées pour collecter, traiter, mémoriser et diffuser l’information
au sein d’une organisation. Une méthode de conception de SI est un procédé basé sur des
modèles qui a pour objectif de formaliser les étapes du développement d‘un SI afin de le rendre
plus fidèle. On entend par modèle une représentation abstraite et simplifiée d‘un objet du
monde réel. La Modélisation des données d‘un SI consiste à décrire et à représenter
l‘ensemble des données manipulées par celui-ci grâce à un formalisme de représentation.

Elles sont basées sur des modèles.Les méthodes ont pour rôle de :
- Guider et indiquer comment aborder un problème
- Proposer des normes ou des standards de présentation de résultat

METHODE APPROCHE DESCRIPTION


MERISE : Méthode d’Etude et Cette méthode est adaptée pour les projets
de Réalisation Informatique pour Systémique internes aux organisations se limitant à un
les Systèmes d’Entreprise domaine précis.
Elle permet de décrire les taches d’un projet et
SADT : Structured
Cartésienne leurs interactions, mais aussi le système que le
Analysis Design Technic
projet vise à étudier.
Cette méthode a été développée dans le but de
UML : Unified
Orientée objet définir la notation standard pour la modélisation
Modeling Language
des applications construites à l’aide d’objets.
Cette méthode permet de couvrir l’ensemble des
OMT :Objet Modeling
Orientée objet processus d’analyse et de conception en utilisant
Technic
le même formalisme

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 1 /24


UE 24 : MODELE CONCEPTUEL DE DONNEES (MCD)
Compétence : Elaborer un MCD (au plus quatre entités) ; Etudier les notions d’entité, attribut, identifiant

Dans le cadre de ce cours, nous utiliserons la méthode MERISE (Méthode d‘Etude et de


Réalisation Informatique pour les Systèmes d‘Entreprise) qui utilise 12 modèles.

Le MCD est un modèle abstrait de la méthode MERISE qui permet la représentation de


l'information de manière compréhensible aux différents service de l'entreprise. Il s’agit
concrètement de la représentation graphique qui sert à décrire le fonctionnement d‘une Base
de Données. Il décrit de façon formelle les données utilisées par le SI. On l’appelle aussi le
modèle Entité-Association.

Les éléments de base d’un MCD sont : Les propriétés ; Les entités ; Les associations et les
Cardinalités
1. Entité
C‘est une chose concrète ou abstraite pouvant être reconnue distinctement et caractérisée
par son unicité. C’est la représentation d'un élément dans un SI.
Chaque entité regroupe un ensemble de propriétés. La représentation d’une entité s’appelle
une occurrence de l’entité.
2. Une propriété
C’est une donnée élémentaire qui caractérise une Entité ou une Association
Exemple : Le numéro client, son nom, prénom et adresse sont des propriétés qui
décrivent l’élément (l’entité) Client.
Chaque propriété dispose d’un type (alphabétique, alphanumérique, numérique, date,
logique,…).
Dans le MCD, elle est représentée par un rectangle à deux
compartiments. Le compartiment d’en haut contient le nom de
l’entité alors que celui d’en bas contient la liste de ses propriétés

Exemple de l’entité (CLIENT) :

2.a. L’identifiant est un ensemble non vide de propriétés


qui permet de connaître de façon unique et sûre les occurrences d’une entité donnée.
Une occurrence d’entité est un ensemble formé des valeurs des différentes propriétés.

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 2 /24


Dans le MCD, on souligne l’identifiant.
3. Association
C’est un lien sémantique entre une ou plusieurs entités.
Exemple : Un client peut commander des produits.
Les entités de notre SI sont : CLIENT et PRODUIT. Et L’association est Commander.
Dans le MCD, une association est représentée par une ellipse
NomAssociation
comme ci-contre :
On distingue des associations réflexive (relie une entité à elle-
même), binaire (qui relie 2 entités), ternaire et n-aires.
4. Cardinalités
Une cardinalité est le nombre de fois (minimum et maximum) où l’occurrence d’une entité
participe aux occurrences de l’association.
Dans notre exemple précédant, nous devons poser les questions suivantes :
1- Combien de fois au minimum un client peut commander un produit ?
2- Combien de fois au maximum un client peut commander un produit ?
Il faut poser les mêmes questions pour l’entité Produit :
3- Un produit peut être acheté au minimum par combien de clients ?
4- Un produit peut être acheté au maximum par combien de clients ?
On parle alors de cardinalité minimale et de cardinalité maximale

Il suffit de répondre aux questions suivantes :


Question 1. A quoi sert un dictionnaire de données ?
Corrigé
Il permet de recenser toutes les informations utiles au système d'information considéré.
Question 2. Comment identifie-t-on une donnée ou une propriété ?
Corrigé
. Une donnée ou une propriété est identifiée par :
. Un nom
. une définition (explique à quoi elle sert)
. un domaine de définition
. une provenance
. un mode de calcul (si la donnée est calculée)
. une décomposition (si donnée non atomique)

Question 3. Quelle est la démarche pour construire un MCD ?


Corrigé
Pour élaborer un MCD il faut :
- Recenser les propriétés du système

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 3 /24


- Regrouper des propriétés par entité pour établir un dictionnaire de données
construire des entités
- Rechercher des associations
- Rechercher des cardinalités entre association
(- vérifier et valider le modèle avec le CDC)

Exercice d’application :
Un groupe hôtelier vous demande de réaliser une application de gestion hôtelière. Cette
application doit permettre la gestion de 8 hôtels, chaque hôtel possède 100 chambres
maximum. Ces hôtels sont répartis en 5 classes (*,**,***,****,*****). Pour chaque hôtel il y a
au maximum 9 catégories de chambres différentes (capacité, degré de confort).
Cette application doit gérer aussi, les clients ainsi que leurs réservations.
Travail à faire :
1- Trouver les entités en proposant leurs propriétés.
2- Trouver les associations et les cardinalités.
3- Elaborer le Modèle Conceptuel de Données.

UE 25 : MODELE LOGIQUE DE DONNEES (MLD)


Compétence : Enoncer les règles de passage du MCD au MLD ; Déduire un MLD

Le MLD est aussi appelé modèle relationnel.


On emploie quelquefois, les abréviations suivantes :
MLDR : Modèle logique de données relationnelles
MRD : Modèle relationnel de données
MLRD : Modèle relationnel logique de données
Le MCD ne peut pas être implanté dans une base de données sans modification.
Il est obligatoire de transformer ce modèle. On dit qu’on effectue un passage du modèle
conceptuel de données vers le modèle logique de données.
Le MLD pourra être implanté dans une base de données relationnelle.

Règle numéro 1 : transformation des entités


- Une entité du MCD devient une relation, c’est à dire une table.
Dans un SGBD de type relationnel, une table est structure tabulaire dont chaque ligne
correspond aux données d'un objet enregistré (d'où le terme enregistrement) et où chaque
colonne correspond à une propriété de cet objet.
Une table contiendra donc un ensemble d’enregistrements. Une ligne correspond à un
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 4 /24
enregistrement. Une colonne correspond à un champ. La valeur prise par un champ pour un
enregistrement donné est située à l’intersection ligne-colonne correspondant à
enregistrement-champ.
- Son identifiant devient la clé primaire de la relation.
La clé primaire permet d’identifier de façon unique un enregistrement dans la table.
Les valeurs de la clé primaire sont donc uniques.
Les valeurs de la clé primaire sont obligatoirement non nulles.
Dans la plupart des SGBDR, le fait de définir une clé primaire donne lieu
automatiquement à la création d’un index.
- Les autres propriétés deviennent les attributs de la relation.
Exemple :

CLIENT

numClient
CLIENT(numClient , nom , prenom , adresse)
nom prénom
adresse

Règle numéro 2 : Transformation des associations de type 1:N


On les appelle des associations maitre – esclave ou un à plusieurs)
(c’est à dire qui a les cardinalités maximales positionnées à « 1 » d’une côté de l’association
et à « n » de l’autre côté). Cette association disparait et :
Elle se traduit par la création d’une clé étrangère dans la relation correspondante à l’entité
côté « 1 ». Cette clé étrangère référence la clé primaire de la relation correspondant à l’autre
entité. Les propriétés portées par cette association migrent vers l’entité faible (exclave)
Exemple : CLIENT
COMMANDE
numClient passer 1 ,1 numCommande
nom
prénom 0 ,n dateCommande
adresse

CLIENT(numClient , nom , prenom , adresse)


COMMANDE(numCommande ,dateCommande , #numClient)

Règle numéro 3 : Transformation des associations de type N:N


Ou associations plusieurs à plusieurs ou many to many
Une association de type N :N (c’est à dire qui a les cardinalités maximales positionnées à
« N » des 2 côtés de l’association) se traduit par la création d’une relation dont la clé primaire
est composée des clés étrangères référençant les relations correspondant aux entités liées par
l’association.
Les éventuelles propriétés de l’association deviennent des attributs de la relation.
Exemple : COMMANDE concerne
PRODUIT
1 ,n
numCommande quantité refProduit
1 ,n
dateCommande libelléProduit

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 5 /24


COMMANDE(numCommande ,dateCommande)
PRODUIT(refProduit, libelleProduit)
CONCERNE(#numCommande , #refProduit , quantité)
Si le nom du MCD n’est pas significatif, on peut renommer le nom de la table.
Dans notre exemple, plutôt que la table « CONCERNE », on la nommera «
LIGNE_DE_COMMANDE ».
LIGNE_DE_COMMANDE (#numCommande , #refProduit , quantité)

Cas des Associations réflexives : Les règles définies ci-dessus s’appliquent aux associations
réflexives.

Cas particuliers : associations 1,1 : On entend par association 1,1 une association dont les
cardinalités maximales sont à 1 de chaque côté
Exemple 1 : Dans le cadre d’une course à la voile en solitaire, représentez le schéma
relationnel après avoir fait le schéma Entité-Relations pour les informations suivantes :
numero du marin, nom du marin, numéro du voilier, nom du voilier.
MARIN pilote 1 ,1 VOILIER
1 ,1
numMarin numVoilier
nomMarin nomVoilier

Si fonctionnellement, le marin est le plus important…


MARIN(numMarin , nomMarin , numVoilier , nomVoilier) Clé primaire : numMarin
OU
Si fonctionnellement, le voilier est le plus important…
VOILIER(numVoilier , nomVoilier , numMarin , nomMarin)
Clé primaire : numVoilier

Exemple 2 : Dans un immeuble, un appartement peut bénéficier d’une place de parking ou


pas mais jamais de plusieurs.
Travail à faire : Représentez le schéma relationnel après avoir fait le schéma Entité-
Relations
APPARTEMENT
bénéficier PLACE_PARKING
numAppartement 1 ,1
numPlace
superficie 0 ,1
Etage

APPARTEMENT (numAppartement , superficie)


Clé primaire : numAppartement

PLACE_PARKING (numPlace , Etage , numAppartement)


Clé primaire : numPlace
Clé étrangère : numAppartement qui référence numAppartement de la table
APPARTEMENT

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 6 /24


Exemple 3 : Une activité culturelle peut disposer d’un animateur ou pas mais jamais de
plusieurs. Un animateur peut s’occuper au maximum d’une activité culturelle.
Travail à faire : Représentez le schéma relationnel après avoir fait le schéma Entité-
Relations

ANIMATEUR animer ACTIVITE_CULTURELLE


0 ,1
numAnimateur idActivité
nom 0 ,1 nomActivité

ANIMATEUR (numAnimateur , nom)


ACTIVITE_CULTURELLE (idActivite , nomActivite)
ANIMER (#numAnimateur , #idActivite)
Clé primaire : nimAnimateur + idActivite
Clé étrangère : numAnimateur qui référence numAnimateur de la table ANIMATEUR
Clé étrangère : idActivite qui référence idActivite de la table ACTIVITE_CULTURELLE

Activité d’intégration
Donner le MLD correspondant au MCD Suivant

UE 12 : GENERALITES SUR LES SGBD


Citer quelques exemples de SGBD ;
Lister les fonctions de manipulation des données d’une base de données (insertion, mise à jour, sélection, suppression).

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 7 /24


1. Définitions
Une base de données (BD ou data base en anglais) est une entité dans laquelle il est possible
de stocker des données de façon structurées et avec le moins de redondances possibles.
Une donnée est une information quelconque ou une relation entre des informations.
Les BD regroupent les données communes dans le but :
- Eviter les redondances et les incohérences entres données
- Partager les mêmes données entre plusieurs utilisateurs (accès multiple)
- Assurer l’indépendances entre les données et les traitements
- Contrôler l’intégrité, la sécurité et la confidentialité des données
2. Types/modèles de base de données (hors programme)
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 réseau
N.B. : dans le cadre de notre programme, seules les BDR seront étudiées.

Une base de données est gérée par un SGBD qui permet de contrôler les données ainsi que
les utilisateurs.
Définition : Un SGBD (Système de Gestion des bases de données) en anglais DBMS ( Data
Base Management System) est un ensemble de services (logiciels) permettant de
stocker, d’accéder et de manipuler l’information dans une base de donnée
Quelques exemples de SGBD
Il existe de nombreux systèmes de gestion de bases de données, les plus utilisés sont :
Microsoft Access, MySQL, Oracle, Sybase, MongoDB, DB2 de IBM, SQL Server,
PostgreSQL, Informix ; …
 Le Modèle relationnel de SGBD (SGBDR)
Une base de données relationnelle est une base de données structurée suivant les
principes de l’algèbre relationnel. Dans le modèle relationnel, les données sont stockées dans des
relations (tables) et sont représentées sous la forme de nuplets (lignes).
Le SGBDR est utilisé pour gérer la base de données relationnelle. Une base de données relationnelle
est une collection d'un ensemble organisé de tables liées les unes aux autres et à partir desquelles il
est facile d'accéder aux données.

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 8 /24


Elles permettent d’insérer, supprimer, modifier et lire les ensembles de données contenus dans une base
de données. Par ailleurs, ce langage permet de compresser et d’extraire les données.
Ici, plusieurs opérations sont utilisées :
- L’insertion : permet d’insérer les nouvelles données dans une table et se fait à l’aide de
la commande INSERT (insertion des nouvelles lignes dans une table).
- 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
être 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
contraintes. On utilise 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.

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).
1 - Proposer un nom à cette base de données. Quels sont ses différentes tables ?
2- Qu’est-ce qu’une clé priamire ?
3- Lister trois opérations de définition de données.
4- Lister trois opérations de manipulation de données.

UE 13 : LES REQUETES SQL : LA DEFINITION DES DONNEES.


Écrire les requêtes SQL de définition des données sur une table (CREATE, ALTER, DROP) ;

Situation Problème
vous souhaitez utiliser un SGBD pour réaliser une base de données dans laquelle vous

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 9 /24


souhaitez enregistrer les données suivantes.
NumeroTable Nom Prenom Quartier Date_naissance Sexe
LBMBEOOOO1 LEA ROSE TAPARE 12/01/1999 F
LBMBEOOOO2 ATANA ROSALINE CHATEAU 26/06/2003 F
LBMBEOOOO3 ALI AROUNA TAPARE 23/03/2001 M
LBMBEOOOO4 ADONE GABRIEL LOUMMO 10/11/2002 M
1. Donnez la signification de SGBDR.
2. Nommez le langage que vous utiliserez pour créer votre base de données.
3. Donnez un nom à cet ensemble de données
4. Donner le type de données de chaque élément de la première ligne

Le SGBDR est la base de SQL et de tous les systèmes de base de données modernes tels que MS
SQL Server, IBM DB2, Oracle, MySQL et Microsoft Access.
SQL signifie langage de requête structuré (Structured Query Language). SQL est un langage de
programmation standard spécialement conçu pour stocker, extraire, gérer ou manipuler les données
à l'intérieur d'un système de gestion de bases de données relationnelles (SGBDR).
SQL est donc un langage informatique permettant de stocker, manipuler et récupérer des données
stockées dans une base de données relationnelle.

Concepts de base de SGBDR


Qu'est-ce qu'une table ?
C’est un ensemble d'éléments de données organisés en lignes et en colonnes. La table est la forme la
plus simple de stockage de données.
Qu'est-ce qu'un tuple ?
Une seule entrée dans une table est appelée un tuple ou un enregistrement ou une ligne.
Qu'est-ce qu'un attribut ?
Une table est constituée de plusieurs enregistrements (lignes), chaque enregistrement pouvant être
décomposé en plusieurs parties de données plus petites appelées attributs. La table des employés ci-
dessus comprend quatre attributs, ID, Nom, Age et Salaire.
Domaine d'attribut ou type
Quel est le schéma de relation ?
Un schéma de relation décrit la structure de la relation, avec le nom de la relation (nom de la table),
ses attributs, leurs noms et leur type.
Qu'est-ce qu'une clé de relation ?
Une clé de relation est un attribut qui peut identifier de manière unique un tuple (ligne) particulier
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 10 /24
dans une relation (table).

Les commandes SQL standard pour interagir avec les bases de données relationnelles sont
CREATE, SELECT, INSERT, UPDATE, DELETE et DROP. Ces commandes peuvent être
classées dans les groupes suivants en fonction de leur nature

Trois commandes SQL sont utilisées ici :


Commande Description
CREATE Crée une nouvelle table, une vue d’une table ou un autre objet de la base de données.
ALTER Modifie un objet de base de données existant, tel qu'une table.
Supprime une table entière, une vue d'une table ou d'autres objets de la base de
DROP
données.

1. La création d’une base des données


La syntaxe de création d’une base de données est :
CREATE DATABASE Nom_de_la_base_de_données ;
EXEMPLE 1 : pour créer une base de données nommée "societe". Il suffit d’écrire la
commande : CREATE DATABASE societe ;
2. La Suppression d’une base des données
.La syntaxe de suppression d’une base de données est :
DROP DATABASE Nom_de_la_base_de_données ;

3. La création d’une table ou relation


La création d'une table de base implique de nommer la table et de définir ses colonnes et le
type de données de chaque colonne.
Les Types de données SQL
Les types de données sont utilisés pour représenter une nature de données pouvant être
stockée dans la base de données. Chaque colonne, variable et expression a le type de données
associé dans le code SQL lors de la création de la table.
Nous distinguerons ici trois catégories de types de données : numériques ;
alphanumériques et Date et heure
a) Les types numériques : nous avons principalement les types :
➢ INT ou INTEGER (Pour les nombres entiers)
➢ FLOAT ou REAL Pour les nombres à virgule)
b) Les types alphanumériques : Pour les caractères et chaînes de caractères
➢ CHAR : chaîne de caractères de taille fixe
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 11 /24
➢ VARRCHAR et VARCHAR (max) pour des chaines de longueur variable avec un
nombre max de caractères fourni
c) Les types Date et heure. On distingue ici les types :
➢ DATE (pour stocker la date au format YYYY-MM-DD ou AAAA-MM-JJ)
➢ TIME ( Stocke l'heure dans le format HH:MI:SS)
➢ DATETIME (Stocke les informations de date et heure au format YYYY-MM-DD
HH:MI:SS)
➢ YEAR (Stocke l'année en format 2 chiffres ou 4 chiffres
La requête de création de la table proprement dite est :
CREATE TABLE Nom_Table (
Champ1 Type1 [contrainte],
Champ2 Type2 [contrainte],
……………………
Champ n Type n [contrainte],
[ PRIMARY KEY (Liste des clé primaire), ]
[ FOREIGN KEY Nom_Du_Champ_clé REFERENCES table_reférencée
(nom_clé_dans_la_table_reférencée) ] ) ;
Remarques
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 : Le code suivant est un exemple, qui crée une table Employes avec un ID en
tant que clé primaire et NOT NULL sont les contraintes indiquant que ces champs ne
peuvent pas être NULL lors de la création d'enregistrements dans cette table.
CREATE TABLE Employes (
Id INT NOT NULL,
Nom VARCHAR (20) NOT NULL,
Age INT NOT NULL,
Salaire DECIMAL (18, 2),
PRIMARY KEY (Id) );
4. La Suppression d’une table ou relation
on utilise la commande suivante :
DROP TABLE Nom_Table ;

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 12 /24


4. La Modification d’une table ou relation
La commande SQL ALTER TABLE permet d’ajouter, de supprimer ou de modifier des
colonnes dans une table existante. Vous devez également utiliser la commande ALTER
TABLE pour ajouter et supprimer diverses contraintes sur une table existante.
4.1. Ajouter une colonnes
ALTER TABLE Nom_Table ADD Champ Type [contrainte];
Exemple : ALTER TABLE Employes ADD Adresse Varchar(100);
4.2. Supprimer un champ
ALTER TABLE Nom_Table DROP COLUMN Champ ;
4.3. Renommer un attribut
ALTER TABLE nom_table RENAME COLUMN ancien_nom TO nouveau_nom
4.4. Modifier le type d’un champ
ALTER TABLE Nom_Table MODIFY Champ Nouveau_Type ;
4.5. Ajouter une contrainte
ALTER TABLE nom_table ADD CONSTRAINT nom_Champ contrainte
4.6. Supprimer une contrainte
ALTER TABLE nom_table DROP CONSTRAINT nom_Champ ;

5. Renommer une table ou relation


ALTER TABLE nom_table RENAME TO nouveau_nom ;

UE 14 : LES REQUETES SQL : LA MANIPULATION DES


DONNEES
Écrire les requêtes SQL de manipulation des données sur une table (INSERT INTO, UPDATE, DELETE).

L'instruction INSERT INTO est utilisée pour ajouter de nouvelles lignes de données à
une table de la base de données. Elle existe deux syntaxes de l'instruction INSERT INTO,
présentées ci-dessous.
INSERT INTO nom_table (colonne1, colonne2, colonne3,...colonneN)
VALUES (valeur1, valeur2, value3,...valeurN);
Ici colonne1, colonne2, colonne3,...colonneN sont les noms des colonnes de la table
dans laquelle vous souhaitez insérer les données.

Il se peut que vous n’ayez pas besoin de spécifier le nom de la ou des colonnes dans la
requête SQL si vous ajoutez des valeurs pour toutes les colonnes de la table. Mais assurez-
vous que l'ordre des valeurs est dans le même ordre que celui des colonnes du tableau.
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 13 /24
INSERT INTO nom_table
VALUES (valeur1, valeur2, value3,...valeurN);

Exemple 1 : cette instruction ajoutera un seul enregistrement à la table Employes


INSERT INTO Employes (Id, Nom, Age, Salaire) VALUES (1, "Ismail", 25, 6000);
Comme nous remplissons toutes les colonnes, nous pouvons utiliser INSERT INTO sans
spécifier les colonnes.
INSERT INTO Employes VALUES(1, "Ismail", 25, 6000);
Pour insérer plusieurs enregistrements dans la table, utilisez la syntaxe suivante
INSERT INTO nom_table VALUES
(valeur1, valeur2, value3,...valeurN),
.....
(valeur1, valeur2, value3,...valeurN);
Exemple 2 :
INSERT INTO Employes VALUES (2, "Mohamed", 30, 8000.40), (3, "Fatima", 29, 6000);
Après l’exécution de la requête de l’exemple 2, le schéma de la relation Employes est le
suivant :
Id Nom Age Salaire
1 Ismail 25 6000.00
2 Mohamed 30 8000.40
3 Fatima 29 6000.00

La requête UPDATE est utilisée pour modifier les enregistrements existants dans une
table. Vous pouvez utiliser la clause WHERE avec la requête UPDATE pour mettre à jour
les lignes sélectionnées, sinon toutes les lignes seraient affectées.
UPDATE nom_table
SET colonne1 = valeur1, colonne2 = valeur2...., colonneN = valeurN
[WHERE condition];
On peut combiner un nombre plusieurs conditions à l’aide des opérateurs AND ou OR.
Exemple 3 : UPDATE Employes SET Salaire = Salaire+900 ;
Cette requête 3 mettra à jour le salaire d'un employé en ajoutant 900 à son ancien salaire.
Exemple 4 : UPDATE Employes SET Salaire=Salaire+500 WHERE age >= 30;
La requête 4 permet d’ajouter 500 au salaire de chaque employé dont l'âge est supérieur ou
égal à 30 ans.

La requête DELETE est utilisée pour supprimer les enregistrements existants d'une table.
Vous pouvez utiliser la clause WHERE avec une requête DELETE pour supprimer les
lignes sélectionnées, sinon tous les enregistrements seraient supprimés.
DELETE FROM nom_table [ WHERE condition ];
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 14 /24
Un opérateur est un mot réservé ou un caractère utilisé principalement dans la clause
WHERE d'une instruction SQL pour effectuer des opérations, telles que des comparaisons
et des opérations arithmétiques. Ces opérateurs sont utilisés pour spécifier des conditions
dans une instruction SQL et pour servir de conjonctions pour plusieurs conditions dans une
instruction.
Opérateurs arithmétiques : + , - , * , /, %
Opérateurs de comparaison : =, != ou <>, <, >, < =, >=,
Opérateurs logiques : AND, OR, NOT, LIKE, BETWEEN

UE 15, 16 : LES REQUETES SQL : LA SELECTION MONOTABLE


ET SELECTION MULTI TABLES
Écrire les requêtes SQL de de manipulation des données sur une table (SELECT,) ;
Utiliser les opérateurs de comparaison (=, <, >, <=, >=) ;
Utiliser les opérateurs logiques (AND et OR) ;
Rechercher des données à partir de deux tables : Jointure ;

SELECT est l'instruction la plus couramment utilisée en SQL. L'instruction SELECT en


SQL permet d'extraire des données d'une base de données à partir d’une ou de plusieurs
tables, suivant des critères spécifiés. Les données renvoyées sont stockées dans une table de
résultats. Cette table de résultats s'appelle également jeu de résultats.

La syntaxe générale est la suivante :


SELECT [DISTINCT ou ALL] * ou liste_de_colonnes
FROM nom de table ou de la vue
[WHERE Condition]
[GROUP BY Nom_Colonne]
[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 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.
L'opérateur DISTINCT (ou ALL) permet d’éliminer les doublons
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 15 /24
Application : Considérons le schéma suivant de la table Eleve
NumeroTable Nom Prenom Quartier Date_naissance Sexe

LBMBEOOOO1 LEA ROSE TAPARE 12/01/1999 F

LBMBEOOOO2 ATANA ROSALINE CHATEAU 26/06/2003 F

LBMBEOOOO3 ALI AROUNA TAPARE 23/03/2001 M

LBMBEOOOO4 ADONE GABRIEL LOUMMO 10/11/2002 M

1) Requête SQL 1 : SELECT * FROM Eleve WHERE Quartier = ' Taparé ' ;
Elle affiche toutes les informations des élèves vivant dans le quartier Taparé
2) Requête SQL 2 : SELECT Nom FROM Eleve WHERE Nom LIKE "B%" ;
Elle affiche les Noms des élèves dont le nom commence par la lettre B
3) Requête SQL 3 : SELECT Nom, Date_Naissance FROM eleve WHERE
Date_Naissance BETWEEN "1992/01/01" AND "1994/12/31"; ;
Affiche le Nom et date de naissance des élèves nés entre 1992 et 1994
4) Requête SQL 4 : SELECT Nom, Quartier FROM Eleve ORDER BY Quartier ASC;
Noms et quartier des élèves triés par ordre croissant des quartiers
5) Etc ;

Grâce aux clauses SQL JOIN, vous pouvez utiliser les modèles de bases de données
relationnelles pour faire des requêtes sur plusieurs tables de base de données.
La clause INNER JOIN que nous utiliserons exclusivement ici se distingue de tous les
autres types de JOIN par un ensemble de résultats minimal.

SELECT liste-colonnes
FROM table1 INNER JOIN table2
ON table1.champ_commun = table1.champ_commun;
Ou
SELECT liste-colonnes
FROM table1 , table2
WHERE table1.champ_commun = table1.champ_commun;

Nous illustrerons INNER JOIN par un exemple en partant de deux tables. La table
« salariés » contient les employés d’une entreprise, avec un ID (e_id) et leur département
respectif (d_id). Les deux tables sont liées par une relation de clé étrangère. L’ID du
département, qui sert de clé primaire dans la table « département », a été intégré comme clé
étrangère dans la table « salariés ».
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 16 /24
Table : SALARIES Table : DEPARTEMENT
e_id nom prenom d_id d_id designation emplacement
1 Dupond Jacques 3 1 Distribution Strasbourg
2 Martin Jean 1 2 IT Poitiers
3 Petit Hélène 1 3 HR Toulouse
4 Lefevre Lisa 2 4 Recherche Poitiers
5 Leroy Sophie NULL 5 Leroy Sophie

TAF :
I. Ecrire et donner les résultats des requêtes SQL qui permettent d’afficher :
1. Les noms, prénoms des salariés ainsi que les départements dans lesquels ils travaillent
SELECT nom, prenom, designation FROM SALARIES INNER JOIN DEPARTEMENT
ON SALARIES.e_id = DEPARTEMENT.e_id ;
2. Le Prénom et l’emplacement du département où travaille le salarié Leroy
3.

UE 17 : UTILISATION D’UN SGBD


Implémenter les BD dans un SGBD (Access, MySQL) ;
Résoudre des problèmes concrets d’utilisation des BD

Situation-Problème :
Mis sur pied depuis presque un an, le bureau exécutif du Club Informatique du Lycée Bilingue de NYALA
se propose, lors d’une réunion extraordinaire, de créer une plate-formeWeb qui permettra aux différents
membres actifs dudit Club de s’échanger sur un certain nombre de thèmes relatifs aux NTIC.A cet effet, la
création d’une base donnée nommée Club_Info contenant la table Membre (ci-après) devient un impératif
capital pour ce projet.
code Noms Classe naissance
LBBPP0001 DEFFO TEGUIA Steve Fredy PD2 21/11/2003
LYBI001 ALIMATOU TC 25/04/2012
LYBI002 KENFACK F1D 16/09/2010
LYBI003 NGONO 6M1 18/10/2009
A. Création de la BD et de la table Membre (LDD)
1) Lancer un SGBG à votre disposition (MySal ou EasyPHP)
2) Accéder à l’interface d’administration PhpMyAdmin :
- Clic (clic droit) sur l’icone du SGBD Wamp (Easyphp) de la barre de tâches ;
- Cliquer sur PhpMyAdmin (Administration et cliquer sur ‘Administrer MySQL avec PhpMyAdmin’)
3) Créer la base de données Club_Info
Requête : CREATE DATABASE Club_info;
4) Créer la table Membre

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 17 /24


Requête : CREATE TABLE Membre (
code CHAR(10) NOT NULL,
noms VARCHAR(60) NOT NULL,
classe CHAR(10),
naissance DATE,
CONSTRAINT PRIMARY KEY(code)
);
5) Insérer l’élève NGONO.
Requête : INSERT INTO Membre (code,noms,classe,naissance)
VALUES('LYBI003', 'NGONO', '6M1', '2008/3/14');
On réalise bien après que certaines informations capitales de chaque membre ont été
ignorées lors de l’analyse, notamment son contact et sa fonction.
6) Ecrire les requêtes SQL permettant d’ajouter à la table Membre les champs contact
et fonction.
ALTER TABLE Membre ADD contact INT (9);
ALTER TABLE Membre ADD fonction CHAR(20);
7) Le mot contact étant ambiguë, on désire le remplacer par le terme telephone. Ecrire
la requête SQL à cet effet
ALTER TABLE Membre CHANGE contact telephone INT(9);
Les inscriptions terminées, le Secrétaires général a produit la liste suivante de tous les membres du club
Informatique :
code noms Classe naissance telephone fonction
LBBPP0001 DEFFO TEGUIA Steve Fredy PD2 2003/11/21 677228850 Censeur 1
LBBPP0002 KANTCHOUM Donald TleD1 2003/11/22 677228851
LBBPP0003 NGUEGOUE TCUADEU Nelson TleC 2003/11/23 677228852 Président
LBBPP0004 TIENTCHOUA LADJA Ghislain PD2 2003/11/24 677228853 SG
LBBPP0005 FOKOU KUETE Idriss PD2 2003/11/25 677228854 SGA
LBBPP0006 NDONGMO FOYET Andre PD2 2003/11/26 677228855 Trésorier
LBBPP0007 DJEUMO DANDIE Anselme Junior 4All2 2003/11/27 677228856 Vice-Président
LBBPP0008 BOPDA TETE Thierry F3B 2003/11/28 677228857
LBBPP0009 ELOKEY Jacques Charles 3All2 2003/11/29 677228858
LBBPP0010 FOKOU Christian Fred 3All2 2003/11/30 677228859
LBBPP0011 KEGNE MBE Alban TleD2 2003/12/01 677228860
LBBPP0012 NGAKUI SANDJONG Dilan 4All2 2003/12/02 677228861
LBBPP0013 NGONGANG WELEPE Willy 4All2 2003/12/03 677228862
LBBPP0014 NOUBISIE Junior Cabrel PD2 2003/12/04 677228863
LBBPP0015 SANDIO FOKAM Steve F3B 2003/12/05 677228864
LBBPP0016 SIELATCHOM KAMGA Michel 3All2 2003/12/06 677228865
LBBPP0017 SIMO MOYO Fidele Durand TleD1 2003/12/07 677228866
LBBPP0018 TAJO TALLA Diiderot PD2 2003/12/08 677228867
LBBPP0019 TCHEUETCHEU Nathanaël 3All2 2003/12/09 677228868
LBBPP0020 TELLE MBE Boreil 4All2 2003/12/10 677228869
LYBI001 ALIMATOU TC 2012/04/25 677228870
LYBI002 KENFACK F1D 2010/09/16 677228871
LYBI003 NGONO 6M1 2009/10/18 677228872

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 18 /24


B. Gestion des enregistrements de la table Membre (LMD)
8) Ecrire la requête qui insère le présidant, le SG et le censeur du bureau du club
info

INSERT INTO Membre


VALUES ('LBBPP0001', 'DEFFO TEGUIA Steve Fredy', 'PD2', ‘2003/11/21', 677228850, 'Censeur 1'),
('LBBPP0003', 'NGUEGOUE TCUADEU Nelson', 'TleC', '2003/11/23', 677228852, 'Président'),
('LBBPP0004', 'TIENTCHOUA LADJA Ghislain Ulrich', 'PD2', '0000-00-00', 677228853, 'SG');

9) Donner la requête permettant de donner la fonction « Adhérant » à tous les autres


membres du club informatique
UPDATE Membre
SET fonction='Adhérant'
WHERE fonction='';
10) Changer la classe de l’élève ayant le code LBBPP0013 en Lower6
UPDATE Membre
SET classe='Lower6'
WHERE code='LBBPP0013';

11) Supprimer le membre TAJO TALLA Diderot


DELETE FROM Membre
WHERE code='LBBPP0018';

C. Interrogation (sélection) des données

Ecrire la requête SQL permettant de :


12) Afficher tous les élèves qui participent au club informatique
SELECT *
FROM Membre;
13) Afficher (par ordre alphabétique de nom) le nom, la classe et la fonction de tous les
participants du club informatique
SELECT nom, classe, fonction
FROM Membre
ORDERED BY noms ASC ;
14) Afficher le nom, la classe et la fonction de tous les membres du bureau
SELECT nom, classe, fonction
FROM Membre
WHERE fonction<>'membre';
15) Afficher tous les membres qui font la classe de PD
SELECT ALL
FROM Membre
WHERE classe=’PD2’;
16) Que fait la requête suivante ?
SELECT code, noms, classe, fonction
Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 19 /24
FROM Membre
WHERE classe=’PD2’;

EXERCICE

Soit la table Employe de la base de données ci-dessous d’un établissement scolaire.


MATRICULE NOMS SEXE AGE SALAIRE POSTES
14F24520 EKEN F 20 120000 CAISSIERE
14F20245 DJOUGUE M 21 200000 COMPTABLE
14F27549 MOUKAM M 23 130000 CORMMERCIAL
14F24895 MENGUE F 22 200000 CENSEUR
14F20848 MENDO F 28 85000 MENAGERE
14F25437 SEDOU M 32 45000 PORTIER
14F65398 SALI M 30 47000 PORTIER
Ecrire les requêtes SQL permettant d’afficher les résultats suivants :
1- La liste de tous les employés de la table
2- La liste des employés (nom et salaire)
3- La liste des employés (nom, de sexe féminin)
4- La liste des employés affichés dans l’ordre alphabétique
5- La liste des employés (nom et sexe) ayant pour fonction portier
6- Changer le nom de la table employe en SALARIE

Le vadémécum de l’élève de TERMINALE CD Informatique Par : Sobgou @ ©2022 Page 20 /24

Vous aimerez peut-être aussi