Вы находитесь на странице: 1из 59

08/01/2021

Université Sidi Mohamed Ben Abdellah

Ecole Nationale de Commerce et


de Gestion

Cours: Informatique de gestion

M.BEN YAKHLEF 1

1
08/01/2021

Plan:
• Introduction
• Notion de Système Information de Gestion
• Modéliser les données
• Normaliser les données

M.BEN YAKHLEF 3

Objectifs du cours:
Un étudiant doit être capable de :
– Comprendre et analyser les besoins en information de gestion.
– Dialoguer avec divers intervenants (directeur, informaticien).
– Contribuer à l’élaboration, l’implantation, l’exploitation et l’évolution du système d’information de
gestion de l’entreprise.

Ce cours a pour but d’introduire une méthodologie de conception du système d’information

M.BEN YAKHLEF 4

2
08/01/2021

Introduction : Informatique de Gestion (IG)

M.BEN YAKHLEF 5

Introduction : Informatique de Gestion (IG)

• L’informatique …
– « regroupe les techniques de la collecte, du stockage, de la transmission et de
l’exploitation des informations … sur des ordinateurs. »

• … au service de la gestion
– Pilotage de l’entreprise et la prise de décision
– Gestion de la production de biens et de services
– Gestion administrative de l’entreprise

M.BEN YAKHLEF 6

3
08/01/2021

Introduction : Informatique de Gestion (IG)

Définition:
L’informatique de gestion (IG) est l'ensemble des connaissances, des technologies, et des outils en
rapport avec la gestion de données, c'est-à-dire la collecte, la vérification et l'organisation de
grandes quantités d'informations.

M.BEN YAKHLEF 7

Introduction : Informatique de Gestion (IG)

Objectifs:
• L'informatique de gestion a pour objectif de faire évoluer les logiciels destinés à la gestion de
l’entreprise pour simplifier l’accès à l’information.
• Les cadres de la fonction informatique de gestion sont chargés :
– d’étudier la faisabilité technique des besoins fonctionnels.
– de concevoir et prendre en charge tout ou partie du développement d’un produit (progiciel,
logiciel).
– d’assurer la mise en production.
– d’effectuer la tierce maintenance des applications.

M.BEN YAKHLEF 8

4
08/01/2021

Introduction : Informatique de Gestion (IG)


Domaines d’application:
• L'informatique de gestion a de nombreuses applications pratiques dans les entreprises :
– Gestion de Clients,
– Gestion de Fournisseurs,
– Gestion de Produits,
– Gestion des Salaires,
– Gestion de Paiement,
• Il est utile en plusieurs Services dans la prise de décision:
– Finance,
– Ressources Humaines,
– Logistique,
– Comptabilité, ….
M.BEN YAKHLEF 9

Introduction : Informatique de Gestion (IG)


Métiers exercés :
• Parmi les métiers représentés dans la fonction informatique de gestion, on peut citer :
– le chef de projet informatique technique,
– l’ingénieur d’étude développement,
– l’ingénieur développement logiciel
– le consultant technique.

M.BEN YAKHLEF 10

5
08/01/2021

SYSTÈME D’INFORMATION DE GESTION

Définition d’un Système:


• Est ensemble d’éléments(matériels ou immatériels: hommes, machines, méthodes, recettes,
règles, etc.. ) interagissant entre eux selon certains principes ou règles afin de constituer un tout
scientifique dans le but de transformer des éléments (données d’entrées) en d’autres éléments
(les sorties)..

M.BEN YAKHLEF 11

SYSTÈME D’INFORMATION DE GESTION

Exemple de Système:
• Une usine de montage de voitures.

Pièces détachées Automobiles


Système
Données d’entrées Sorties

• Atelier de fabrication :
Matière premières Produits finis
Système
Données d’entrées Sorties

M.BEN YAKHLEF 12

6
08/01/2021

SYSTÈME D’INFORMATION DE GESTION

l'entreprise ou l'organisation est composée de trois systèmes:


- Système opérant (SO),
- Système pilotage (SP)
- Système d'information (SI).
• Système Opérant (SO): correspondant à l’activité de l’entreprise (transformation de flux).
• Système de Pilotage (SP): système de prise de décision et la fixation des objectifs stratégiques.

M.BEN YAKHLEF 13

SYSTÈME D’INFORMATION DE GESTION

•  Système d’information:
- Le système d’information (SI) peut se définir par son objectif, qui est d’assurer la saisie, la
conservation, le traitement et la circulation des informations, de façon à ce que chacun, dans
l’organisation, puisse disposer au bon moment des données dont il a besoin pour remplir sa
tâche.

- Le SI regroupe les moyens informatiques utiles (ordinateurs, réseaux, programmes, données, mais
aussi des locaux et du personnel… ) pour stocker et traiter les informations relatives au système
opérant (SO) afin de les mettre à la disposition du système de pilotage (SP).

M.BEN YAKHLEF 14

7
08/01/2021

SYSTÈME D’INFORMATION DE GESTION

Le SP procède à la régulation et au contrôle du SO en décidant du comportement de celui-ci par


action sur ses informations.

Système de pilotage

Informations sur Décision sur l’état


l’état du SO du SO

Flux d’entrée Flux de sortie


Système Opérant

M.BEN YAKHLEF 15

SYSTÈME D’INFORMATION DE GESTION


Avec l’augmentation en complexité des règles et en quantité des informations échangées entre les
deux systèmes (SO, SP), on a besoin du Système d’information qui stocke et traite de façon plus
efficace ces informations.

M.BEN YAKHLEF 16

8
08/01/2021

SYSTÈME D’INFORMATION DE GESTION


Exemple :

Système de pilotage
Prix de vente Statistiques de
vente

Système d’information
Préparation de la Sortie du stock
livraison

Commande client Facture


Système Opérant

M.BEN YAKHLEF 17

SYSTÈME D’INFORMATION DE GESTION

Le SI possède deux aspects :


• Aspect statique (ou aspect données) :
– base d’information,
– modèle (ou structure) de données.
• Aspect dynamique (ou aspect traitement) :
– circulation de l’information entre les différents acteurs,
– évolution chronologique et causale des opérations provoquées par des évènements.

M.BEN YAKHLEF 18

9
08/01/2021

SYSTÈME D’INFORMATION DE GESTION

Dans un SI, on retrouve


– des décisions (homme)
– des actions programmées (machine) partie automatisable du SI.
• Un SAI(Système Automatisé d’Informatique) est un sous-système d’un SI dans lequel toutes les
transformations significatives d’information sont effectuées par des ordinateurs.
• Un SAI permet une conservation et un traitement automatique des informations.

M.BEN YAKHLEF 19

SYSTÈME D’INFORMATION DE GESTION

Un SAI doit être :


– intégré : couve la totalité (ou une grande partie) de la gestion d’une entreprise autour d’une base
de données unique.

– durable et adaptable : les logiciels de traitement des données (programmes) sont indépendant
des données.

M.BEN YAKHLEF 20

10
08/01/2021

comment réaliser un système d’information ?

M.BEN YAKHLEF 21

Méthode d’ Analyse et conception des systèmes d’information

Voici une liste (non exhaustive) des problèmes rencontrés dans la mise en place de systèmes
d’information :
- logiciels ne fonctionnant pas ou ne réalisant pas la tâche prévue ;
- Des données éparpillées et dupliquées à différents endroits.
- incapacité d’évolution ;
- Le manque de collaboration et d’intégration entre les consommateurs, les membres de
l’équipe du projet et les fournisseurs,
- Des données insuffisamment précises.

M.BEN YAKHLEF 22

11
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information

Recueil de l’existant:
• Prise de connaissance du champ d’étude
• Documentation existante
• Menée d’entretiens et questionnaires

M.BEN YAKHLEF 23

Méthode d’ Analyse et conception des systèmes d’information

L’essentiel des données peut être retrouvé sur les documents en circulation:
On s’efforcera :
• De rassembler un maximum de documents (fiches, impressions, états, journaux …),
• De s’assurer que les documents sont encore valides,
• De décoder les codes et abréviations utilisés.
• D’utiliser des documents remplis et de repérer les informations réellement utilisées afin d'avoir
une vue claire de ce qui est utile et parfois même non formalisé mais nécessaire au
fonctionnement .

M.BEN YAKHLEF 24

12
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information

Les interviews:
Faire des interviews(avec les directeurs, les utilisateurs,…) pour la prise de note et de synthèse afin
d'augmenter d’avantage la fiabilité du SI.
• Des interviews avec le directeur pour obtenir des informations générales:
 Organisation des services
 Objectifs stratégiques
 Procédures et règles de gestion
• En finalité, l’interview permettra:
 Cadrer exactement le domaine à informatiser
 Eviter les débordements sur d’autres domaines
 Obtenir une description précise et détaillée des procédures
 Obtenir des propositions, des critiques, des suggestions

M.BEN YAKHLEF 25

Méthode d’ Analyse et conception des systèmes d’information

Questionnaire:
C’est un outil assez délicat à utiliser pour le recensement des données Il faut:
• Une bonne connaissance du domaine étudié
• Proposer des réponses exhaustives
• Limiter les questions ouvertes
• Préciser un problème donné
• Structurer une chronologie d’événement
• Obtenir un avis sur une procédure
• Obtenir des suggestions

M.BEN YAKHLEF 26

13
08/01/2021

Méthode d’ Analyse et conception des systèmes


d’information: MERISE

M.BEN YAKHLEF 27

Méthode d’ Analyse et conception des systèmes d’information: MERISE

MERISE:= Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise, est une
méthode (française), développée dans les années 80, formalisée, complète, détaillée qui garantit
(en principe !) une informatisation réussie d’une entreprise.
– Analyse: Etude du problème
• Etudier le système existant
• Comprendre les besoins: diagnostiquer
• En déduire le niveau conceptuel: donner une vision fonctionnelle du système

M.BEN YAKHLEF 28

14
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information: MERISE

– Conception: Etude de la solution


• La conception de systèmes d’information est une tâche complexe qui nécessite un bon
pouvoir d’abstraction et la prise en compte de tous les intervenants(internes ou externes)
d’une entreprise.
• Proposer de nouvelles solutions organisationnelles

M.BEN YAKHLEF 29

Méthode d’ Analyse et conception des systèmes d’information: MERISE

Les quatre niveaux de description ou niveaux


d’abstraction:

–NIVEAU CONCEPTUEL: Ce qu’il faut faire


• QUOI ?
–NIVEAU ORGANISATIONNEL: La
manière de faire
• QUI ?, QUAND ?, COMBIEN ?, OU ?
–NIVEAU LOGIQUE: Choix des moyens et
ressources
• AVEC QUOI ? QUELS OUTILS ?
–NIVEAU PHYSIQUE: Les moyens de le faire
• COMMENT ?

M.BEN YAKHLEF 30

15
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information:MERISE

• le niveau Conceptuel:
₋ définit les fonctions réalisées dans l'organisme. Il répond à la question QUE FAIT
L'ORGANISME ? .
₋ Exprime les choix fondamentaux de gestion, les objectifs de l’organisation
₋ Décrit les invariants de l’organisation
₋ Définit:
 des activités,
 des choix de gestion,
 des informations;

M.BEN YAKHLEF 31

Méthode d’ Analyse et conception des systèmes d’information:MERISE

• Le niveau organisationnel:

₋ Pour réaliser les fonctions de l'entreprise décrites dans la première partie. Cela répond à la
question QUI FAIT QUOI ?
₋ Exprime les choix organisationnels de ressources humaines et matérielles
₋ décrit les postes de travail de l’entreprise et les informations qu’ils traitent.
₋ Indépendamment des moyens de traitement et de stockage de données actuels ou futurs

M.BEN YAKHLEF 32

16
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information:MERISE

Le niveau logique:
₋ la forme que doit prendre l'outil informatique pour être adapté à l'utilisateur, à son poste de
travail.
₋ C'est le niveau logique, la maquette des enchaînements d'écran et la réponse à la question AVEC
QUOI ? ou plus exactement AVEC L'AIR DE QUOI ?
₋ indépendant de l'informatique spécifique, des langages de programmation ou de gestion des
données.

M.BEN YAKHLEF 33

Méthode d’ Analyse et conception des systèmes d’information: MERISE

Le Niveau physique ou technique :


 Moyens techniques nécessaires au projet (matériels/logiciels). Il est soumis à de fréquents
changements.
 Définit complètement:
 les fichiers, les programmes
 l’implantation physique des données et des traitements,
 les ressources à utiliser,
 les modalités de fonctionnement

c’est la description des moyens mis en œuvre pour gérer les données et effectuer les traitements.

M.BEN YAKHLEF 34

17
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information: MERISE

Les différents modèles du système


d'information et la répartition des
préoccupations entre le gestionnaire
et l'informaticien pour les huit
modèles de Merise.

M.BEN YAKHLEF 35

Méthode d’ Analyse et conception des systèmes d’information: MERISE

Les Phases de réalisation d’un SI


• La structure de travail comporte des informaticiens, des représentants de la direction, des chefs
de service, des utilisateurs finaux. Le processus de développement est découpé en 4 étapes :
1. Etude préalable : elle aboutit sur une prise de décision d’informatisation. En cas de décision
positive, elle est suivie par
2. Etude détaillée : elle aboutit sur un cahier des charges de réalisation
3. Réalisation : écriture des programmes et implantation des bases
4. Mise en œuvre et maintenance.

M.BEN YAKHLEF 36

18
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information: MERISE

a- La phase : Etude préalable


- Analyse de l’existant : grâce à des interviews, une analyse de documents
- Conception de la nouvelle solution : on fait le choix des nouvelles orientations de gestion,
d’organisation, techniques.
- Évaluation : bilan quantitatif et économique.

M.BEN YAKHLEF 37

Méthode d’ Analyse et conception des systèmes d’information: MERISE

b- La Phase Etude détaillée


• Conception générale : Élaboration des MCD, MCT, MLD et MOT. Étude préliminaire de la mise en
œuvre. Étude des solutions dégradées.
• Conception détaillée : Optimisation et validation des modèles. Évaluation des coûts logiciels,
matériels, de formation pour la mise en œuvre de la solution.

M.BEN YAKHLEF 38

19
08/01/2021

Méthode d’ Analyse et conception des systèmes d’information : MERISE

c- Les Phases Réalisation & Mise en œuvre


Réalisation :
– description du MPD, du MPT, de l’environnement technique
– écriture du logiciel ; tests unitaires et d’intégration
Mise en œuvre :
– mise en place des moyens humains, techniques et matériels, de la documentation.
– essais, intégration.

M.BEN YAKHLEF 39

Modélisation des données

M.BEN YAKHLEF 40

20
08/01/2021

Modélisation des données


MCD: Le modèle Conceptuel de Données

1- Le MCD ou modèle Entité/Association:


• est un modèle chargé de représenter sous forme graphique les informations manipulées par le
système (l’entreprise)
• décrit les données gérées sans tenir compte des choix:
- d’organisation, d’automatisation, ou techniques(SGBD, logiciel)
• décrit les choix de gestion en précisant la signification des invariants, leur structure et leurs liens
• définit également les dépendances ou relations entre ces différentes données.
• exprime le QUOI sur les données

M.BEN YAKHLEF 41

Modélisation des données


MCD: Le modèle Conceptuel de Données

2- L’objectif du MCD:
identifier, décrire (par des informations) et modéliser les entités et leurs associations à l’aide d’une
représentation graphique
Exemple:

M.BEN YAKHLEF 42

21
08/01/2021

Modélisation des données


MCD: Le modèle Conceptuel de Données

3- La démarche de construction d’un MCD est basée sur :


a. Dictionnaire de Données (DD)
b. Graphe des dépendances fonctionnelles (GDF)
c. Règles de Gestion (RG)

DF/
DD RG MCD
GDF

M.BEN YAKHLEF 43

Modélisation des données


MCD: Le modèle Conceptuel de Données

a- Dictionnaire de données
- Définit les concepts de base du MCD:
• propriété: le nom, l’adresse, la raison sociale,...
• entité/individu: Enseignant, Cours,…
• association: un cours est assuré par Enseignant

- Classification des données


On peut distinguer:
• Les données élémentaires : nom, date, montant, cne
• Les données calculées ou déduites: Montant TTC, Coût total, Heure fin
• Les données composées: Adresse, nom complet

M.BEN YAKHLEF 44

22
08/01/2021

Modélisation des données


MCD: Le modèle Conceptuel de Données

Le dictionnaire de données (DD):

M.BEN YAKHLEF 45

Le modèle Conceptuel de Données:

Exemple:

M.BEN YAKHLEF 46

23
08/01/2021

Le modèle Conceptuel de Données:


Propriété

a-1: Propriété:
Une propriété: « Atome sémantique élémentaire d’une information manipulée
- Elément descriptif d’une entité ou d’une association; elle y est obligatoirement rattachée.
- Elle est unique dans le modèle et ne peut être rattachée qu’à un seul concept
- Prend une valeur précise pour chaque occurrence d’une entité (ou d’une association):
• Nom d’enseignant : Hassan, Aziz, Nanci
• Num_Cours: UV125, UV45, UV1296
• Titre_Cours: BD, Alg, GL
- Une propriété se décrit par tout ou partie des éléments suivants:
• Définition: ce qu’elle représente et son intérêt dans le contexte
• Nature (Domaine de valeur): quantité, nombre, date, heure, booléen, ...
• Longueur: nombre de caractères dans la format

M.BEN YAKHLEF 47

Le modèle Conceptuel de Données:


Propriété

Exemple: entité client


• Code: client-num
• Libellé: N° du client
• Définition: Num permettant d’identifier un client
• Nature(Valeur de domaine):
 Format: numérique
 Longueur: 8 caractères

M.BEN YAKHLEF 48

24
08/01/2021

Le modèle Conceptuel de Données:


Entité
a-2: Entité:
• Ensemble unique de propriétés (Attributs) liées entre elles caractérisant les éléments
appartenant à l’entité.
• Discernable d’autres entités, ayant une existence propre
• Concret ou abstrait
• caractérisée par un nom unique qui permet de l’identifier par rapport aux autres entités.
Exemple: Dans une banque, l’entité CLIENT est l’ensemble des personnes physiques ou morales
possédant au moins un compte dans cette banque

M.BEN YAKHLEF 49

Le modèle Conceptuel de Données:


Entité
Exemple:
Considérons une application d’une gestion commerciale décrite par les règles suivantes :

Le client SAID a passé la commande C1 contenant les produits P1 et P2,


Le même client SAID a passé la commande C2 contenant les produits P2 et P3,
Le client HASSAN a passé la commande C3 contenant les produits P1 et P2,
Le même client HASSAN a passé la commande C4 contenant les produits P2 et P3,
a donné lieu à la facture

a donné lieu à la facture


C1 F1
C2 F2
C3 F3
C4 F4

M.BEN YAKHLEF 50

25
08/01/2021

Le modèle Conceptuel de Données:


Entité

cette description peut aussi se résumer par le tableau suivant :

Clients Commandes Produits Factures

SAID C1 P1.P2 F1
C2 P2.P3 F2
HASSAN C3 P1.P2 F3
C4 P2.P3 F4

Nous observons que cette description fait apparaître 4 entité (clients, commandes,
produits, factures)

M.BEN YAKHLEF 51

Le modèle Conceptuel de Données:


Entité

Formalisme graphique:
La représentation graphique des entités est comme suit:

Nom de l’Entité

Les propriétés

La représentation des entités de l’exemple précédent est la suivante :

Client Commande Produit Facture

M.BEN YAKHLEF
52

26
08/01/2021

Le modèle Conceptuel de Données:


Entité
a-2: Entité : Occurrences
Occurrences de l’entité: Ensemble d’éléments de même nature issus de la même entité.

Occurrences de
Entité
l’entité Enseignant
Enseignant 12
Code: Entier Mohamed TAZI
Nom: chaine de caractères Boulevard Med V 13
Adresse: chaine de caractères . Salma DALI
Rue des far, App 12
14
Une occurrence d’une entité est:
… Hassan RADI
•un élément particulier de l’entité
•représentée par l’ensemble des valeurs des Rue 25
propriétés constituant cette entité

M.BEN YAKHLEF 53

Le modèle Conceptuel de Données:


Association
a-3: Association : Définition
Une association modélise un ensemble de liaisons de même nature entre 2 ou plusieurs occurrences
d’entités,
• ayant un intérêt significatif pour le système à représenter
L’association n’existe qu’à travers les entités qu’elle relie
On désigne en général les associations par des noms de verbe:
 verbe statique à l’infinitif: appartenir, concerner,...
 la forme active ou passive permet d’orienter la lecture de l’association
Formalisme graphique d’une association:

Nom de la relation
Entité 1 Entité 2

Entité 3
Entité n

M.BEN YAKHLEF 54

27
08/01/2021

Le modèle Conceptuel de Données:


Association
a-3: Association (suite)
On distingue différents types d’association:
• les associations binaires: qui associent 2 entités
Exemple : un client passe une commande
CLIENT COMMANDE

-N°client Passer Cde -N°Com


-Nom -Datecom
-Prénom
-Adresse
-etc

• les associations n-aires: qui associe plus de 2 entités (ex: associations ternaires, quaternaires)
Exemple : un enseignant note un étudiant pour une matière

M.BEN YAKHLEF 55

Le modèle Conceptuel de Données:


Association
a-3: Association (suite)
• les associations réflexives qui associent les occurrences d’une même entité
Exemple : un client parraine un autre client
un salarier encadre un autre

M.BEN YAKHLEF 56

28
08/01/2021

Le modèle Conceptuel de Données:


Association

Diagramme d'occurrences réflexive


Remarquez l'importance du rôle dans le diagramme d'occurrence.

M.BEN YAKHLEF 57

Le modèle Conceptuel de Données:


Association

Application à l’exemple précédent:

CD. FACTURE

CLIENT COMMANDE PRODUIT FACTURE

-N°client -N°Com -RéfProduit -N°Fact


-Nom -Datecom -Libellé -Datefact
-Prénom -Prix -Montant
-Adresse -etc
-etc

Passer Cde Commander Pdt. Facturer Pdt.


. Qté commandée . Qté facturée

M.BEN YAKHLEF 58

29
08/01/2021

Le modèle Conceptuel de Données:


Association

- Occurrence d’une Association


Définition :
Une occurrence d’une association est une relation individualisée constituée d’une et d’une
seule occurrence des objets participant à la relation.

Exemple:
Considérons la relation « COMMANDER PRODUITS » entre les entités COMMANDE et
PRODUIT. Une occurrence de cette relation correspondra au fait qu’un produit a été
commandé au titre d’une certaine commande pour une quantité donnée.

Dans cet exemple, nous avons 4 occurrences de la relation « COMMANDE PROSUITS »

Commande Quantité commandée Produit


C1 2 P1
3 P2
C2 2 P2
5 P3

M.BEN YAKHLEF 59

Le modèle Conceptuel de Données:


Association
a-3: cardinalité (Entité – Association)
• La cardinalité caractérise la participation d’une entité à une association
• Elle représente le nb d’occurrences de l’association pour chaque occurrence de l’entité

On distingue:
• la cardinalité minimale: donne le nb minimum de participation de chacune des occurrences de l’entité à
l’association
• la cardinalité maximale: donne le maximum de chacune des occurrences de l’entité à l’association

Par conséquent, les valeurs de cardinalités sont en générales 0, 1, n.

Remarque :
Une association peut être porteuse d’informations:
• les propriétés
• les cardinalités
• les contraintes

M.BEN YAKHLEF 60

30
08/01/2021

Le modèle Conceptuel de Données:


Association

Formalisme :
Nom de l’entité
Association

Nbre1 Nbre2

Cardinalité Cardinalité
minimale 0 maximale 1 ou
ou 1 n

Exemple :

Client Commande
Passer CDE

0 n 1 1

Une commande est tjs


Un client peut ne pas
passée par un client
passer de commande
Une même
Un client peut passer
commande est passée
au plus n commandes
au plus par un seul
client

M.BEN YAKHLEF 61

Le modèle Conceptuel de Données:


Association
Exemples pour la détermination de la cardinalité minimale:

• Pour la cardinalité mini entre client et commander il faut poser la question :


Pour un client donné, combien de fois au minimum il commande ?
Si la réponse est « tout client doit passer au moins une commande sinon ce n’est pas
un client » on met la cardinalité mini à 1

Mais on peut très bien imaginer que l’entreprise veut aussi mémoriser les clients potentiels, qui
n’ont encore rien commandé. Dans ce cas, un client peut très bien ne pas avoir encore commandé,
et on met la cardinalité mini à 0.

M.BEN YAKHLEF 62

31
08/01/2021

Le modèle Conceptuel de Données:


Association
Exemple 2 (entité d’une personne et voiture)
Une voiture est possédée par une seule personne. Une personne peut posséder de 0 à plusieurs
voitures.

M.BEN YAKHLEF 63

Le modèle Conceptuel de Données:


Association

• Combinaisons possibles des cardinalités:

(0,1) une occurrence participe au moins 0 fois et au plus 1 fois à l’association


(1,1) une occurrence participe exactement une fois à l’association
(0,N) une occurrence peut ne pas participer ou participer plusieurs fois
(1,N) une occurrence participe au moins 1 fois , voir plusieurs

M.BEN YAKHLEF 64

32
08/01/2021

Le modèle Conceptuel de Données:


Association
Compléments sur les Entités et associations
- Identifiant d’une entité :
C’est une propriété particulière de l’entité telle qu’à chaque valeur de la propriété corresponde
une et une seule occurrence de l’ entité.
L’identifiant est repéré dans la liste des propriétés de la manière suivante :
• L’identifiant figure en 1er position dans la liste des propriétés
• L’identifiant est souligné ou précédé par le caractère #.

Exemple : Produit

Réfproduit
Libellé
Prix

- Identifiant d’une Association :


C’est l’identifiant obtenu par la concaténation des identifiants des objets participant à la
relation.

M.BEN YAKHLEF 65

Le modèle Conceptuel de Données:

Exemple 1 :

Client Commande
Passer CDE
N°Client N°Com
0,n 1,1
Nom Date
Prénom

L’identifiant de la relation Passer CDE est N°Client - N°Com.

L’identifiant de la relation n’est pas présenté sur l’association

M.BEN YAKHLEF 66

33
08/01/2021

Le modèle Conceptuel de Données:

Exemple2 :
L’association Enseigner de dimension ternaire permet de traduire le fait
• Qu’un formateur enseigne plusieurs matières
• Qu’une matière est enseignée par plusieurs formateurs
• Qu’un formateur enseigne plusieurs stagiaires
• Qu’une matière est enseignée à plusieurs stagiaires.

Enseigner

1,n 1,n
1,n
Stagiaire Matière Formateur

L’identifiant de la relation Enseigner est composé par les identifiants des


trois entités (Stagiaire, Matière et Formateur)

M.BEN YAKHLEF 67

Le modèle Conceptuel de Données:


Règles de gestion

Règles de Gestion:

• Avant de vous lancer dans la création de vos tables (ou même de vos entités et associations pour rester dans
un vocabulaire conceptuel), il vous faut recueillir les besoins des futurs utilisateurs de votre application.
• Et à partir de ces besoins, vous devez être en mesure d'établir les règles de gestion des données à conserver.
• L’inventaire des données et des dépendances fonctionnelles permettent de définir les entités.
• La spécification des règles de gestion, menée parallèlement au recueil des données permet la mise en place
des relations et les cardinalités entre les entités.

M.BEN YAKHLEF 68

34
08/01/2021

Le modèle Conceptuel de Données:


Règles de gestion
Exemple :
le MCD d’une école peut avoir les règles de gestion suivantes :
R1 : à chaque classe(niveau) est attribuée une et une seule salle.
R2 : chaque matière est enseignée par un et un seul professeur.
R3 : pour chaque classe et chaque matière est défini un nombre fixe d’heures de cours.
R4 : à chaque élève est attribuée (au plus) une seule note par matière.
R5 : l’établissement gère les emplois du temps des professeurs et des élèves ainsi que le contrôle
des connaissances.
R6 : un professeur fait au moins un enseignement.
R7 : une classe a au moins un enseignant.

M.BEN YAKHLEF 69

Dictionnaire de données
Nom Symbolique Type Nature Description Remarque

Elève
NoEleve entier élémentaire Numéro d’élève Propriété ne peut être modifiée
Nom Char(20) Élémentaire Nom de l’élève obligatoire

Prenom Char(20) Élémentaire Prénom de l’élève


DateN date élémentaire Date de naissance
adresse Char(50) composée
anneeEtd entier élémentaire Année d’étude Ne peut être négatif
Matière
codeM entier élémentaire Code matière Propriété ne peut être modifiée
desigM Char(15) Composée Désignation matière
Classe
CodeC entier élémentaire Code classe Propriété ne peut être modifiée
DesigC composée Désignation classe
Salle élémentaire Liste de choix
Professeur
CodeProf entier élémentaire Code professeur Propriété ne peut être modifiée
Nom_prénom Char(40) composée Nom et prénom du
prof
Statut_prof Char(10) élémentaire
M.BEN YAKHLEF 70

35
08/01/2021

Le modèle Conceptuel de Données:


Règles de gestion
• MCD correspondant aux règles de gestion précédentes:

(0,1)

M.BEN YAKHLEF 71

Règles de normalisation d’un MCD

M.BEN YAKHLEF 72

36
08/01/2021

Le modèle Conceptuel de Données:


Règles de normalisation

Règles de normalisation d’un MCD

L'objectif de la normalisation est de construire un schéma de base de données cohérent.

Pour qu’un modèle relationnel soit normalisé, il faut qu’il respecte certaines contraintes appelées les
formes normales. Les formes normales s’appuient sur les dépendances fonctionnelles entre attributs.

Le MCD permet d’exprimer graphiquement des règles de gestion qui correspondent aux
contraintes d’intégrités des données.

1- Règle concernant les Entités :

Chaque entité (objet) doit disposer d’un identifiant qui la caractérise de manière unique.
Exemple : le N°Com de l’entité Commande est unique pour chaque commande.

M.BEN YAKHLEF 73

Le modèle Conceptuel de Données:


Règles de normalisation
2- Règles concernant les propriétés :
Règle 1 (1ème forme normale) 1FN : Chaque propriété doit dépendre que de l’identifiant
de l’entité et doit aussi prendre une et une seule valeur.
Autrement dit on ne peut pas avoir de valeurs répétitives, ni absence de valeur pour une même
propriété.
Employé
La propriété « PrénomEnfant »
N°Employé peut prendre plusieurs valeurs selon
Nom/Prénom le nombre d’enfants
PrénomEnfant

Dès qu’une propriété est multivaluée, elle devient source d’une nouvelle entité :
Employé Employé Enfant
0,n 1,1
N°Employé Parent de N°ordre
N°Employé
Nom/Prénom Prénom
Nom/Prénom
Nom
PrénomEnfant

Contre exemple:
Employé
Un employé peut avoir plusieurs diplômes. En outre, cet attribut est
N°Employé décomposable en Nature, Année, …
Nom/Prénom
Diplôme

M.BEN YAKHLEF 74

37
08/01/2021

Le modèle Conceptuel de Données:


Règles de normalisation
 Règle 2 (2ème forme normale) 2FN : Une relation R est en deuxième forme normale si et
seulement si :
- elle est en 1FN
- Tout propriété doit dépendre pleinement de l’identifiant, et non une partie de cet identifiant.
Exemple :
La propriété « Nom » de l’entité enfant ne dépend pas complètement de son identifiant, mais d’une
partie de cet identifiant : en effet le Nom dépend du N°Employé et non du N°ordre.
Cette règle évite des redondances de valeurs dans la base de données.
 Règle 3 (3ème forme normale en BD relationnelle) 3FN : Une propriété doit dépendre directement
de l’identifiant, et non pas par l’intermédiaire d’une autre propriété
Employé
Employé Qualification
.N°Employé 1,1 1,n
.Nom/Prénom .N°Employé Appartenir .Qualification
.Qualification .Nom/Prénom .Prime de
.Prime de qualification
qualification

Dans l’entité « Employé », la propriété « Prime de qualification » ne dépend pas directement de


l’identifiant N°Employé, mais dépend d’abord de la propriété « Qualification ». Alors il faut créer une
autre entité« Qualification » qui aura comme propriétés : Qualification et Prime de qualification.

M.BEN YAKHLEF 75

Le modèle Conceptuel de Données:


Règles de normalisation

Résumé
Un Modèle est normalisé s’il respecte les contraintes suivantes:
• Chaque entité à un identifiant, qui permet de distinguer chaque occurrence
• des attributs élémentaires (1FN)
• en dépendance de TOUTE l’identifiant (2FN),
• et RIEN QUE de l’identifiant (3FN)

Si l’une des règles n’est pas vérifiée, cela indique une erreur dans le modèle relationnel et il faut alors le modifier pour que les
différentes règles soient vérifiées pour toutes les entités.

M.BEN YAKHLEF 76

38
08/01/2021

Le modèle Conceptuel de Données:


Règles de normalisation

 Exemple d’application , Normaliser l’entité Etudiant suivante:

Etudiant
.Nom/Prénom
.Modules
.Filière
.NotesModule

M.BEN YAKHLEF 77

Le modèle Conceptuel de Données:


Règles de normalisation
3- Règles concernant Associations :
Pour chaque occurrence d’une Association, chaque propriété doit dépendre de l’identifiant de
la relation et doit prendre une et une seule valeur.

Exemple :
Soit un système de réservation de chambres d’hôtel modélisé

Client Chambre
Réserver
.N°Client 1,n 0,n .N°Chambre
.Date début
.Nom/Prénom .Prix
.Nombre de jours

Supposons que certains clients réguliers aient l’habitude de réserver pour plusieurs dates
différentes. Alors dès qu’une propriété est multivaluée, elle devient source d’une nouvelle entité :
l’attribut Date début possède alors plusieurs valeurs pour une occurrence de la relation.

M.BEN YAKHLEF 78

39
08/01/2021

Le modèle Conceptuel de Données:


Règles de normalisation

D’ou le modèle MCD doit alors être revu :

Client Réserver Chambre


1,n 0,n
.N°Client .N°Chambre
.Nombre de jours
.Nom/Prénom .Prix

0,n

Date
.Date début

M.BEN YAKHLEF 79

Règle de dépendance fonctionnelle

M.BEN YAKHLEF 80

40
08/01/2021

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

Règle de dépendance fonctionnelle

Définition
On dit que b est en dépendance fonctionnelle (DF) de a, si à une valeur quelconque de la
propriété a, on ne peut faire correspondre qu’une seule valeur au plus de la propriété b.
On note a b
Num
 Exemple :
Nom client Client
Num client

La réciproque est fausse :


Nom client Num client Nom
client
n’est pas une DF, on peut trouver plusieurs clients qui ont le même nom

M.BEN YAKHLEF 81

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle
Terminologie
Si on a une dépendance fonctionnelle a b, on peut employer les expressions
suivantes de façon équivalente :
-Il y a une dépendance fonctionnelle de a vers b
- b est en dépendance fonctionnelle de a
- b dépend fonctionnellement de a
- a est la source et b est le but (ou la cible) de la dépendance fonctionnelle

DF à partir de propriétés concaténées

(partie gauche composée de plusieurs attributs)


Il peut exister des dépendances fonctionnelles à partir de propriétés concaténées, c'est-à-dire qui
forment un tout indissociable, comme si elles étaient soudées.

On note par un + cette concaténation.

M.BEN YAKHLEF 82

41
08/01/2021

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

Exemple 1 : Considérons une commande qui comporte plusieurs produits

Num_Commande + Ref_Produit quantité commandée

Si on n’a seulement le numéro de la commande, on ne peut pas en déduire la


quantité commandée, car il faut aussi savoir de quel produit .

Exemple 2 : Num Commande + Num Client -> date commande


n’est pas une DF élémentaire car on n’a pas besoin du numéro de client pour connaître
la date de commande, il suffit de connaître le numéro de la commande. La propriété
Num Client ne sert à rien dans cette DF.
Num_
Num_Co
Client
mmande

Graphe DF
Date de
comman
de
M.BEN YAKHLEF 83

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle
4- Propriétés des dépendances fonctionnelles
Les dépendances fonctionnelles ont les propriétés suivantes :
Union
Si on a deux DF ayant la même source, on peut les rassembler en une seule, en séparant
les cibles par une virgule. Si a b et a c
Ex : Référence Désignation et Référence Prix de vente unitaire

Alors par union on a : Référence -----> Désignation, Prix de vente unitaire

Transitivité
Si a b et b c alors on a c

Ex : Num Médecin Code Service et Code Service Num Hopital


Code Service
Alors on a Num Médecin Num Hopital

Num Médecin Num Hopital


Graphe DF

M.BEN YAKHLEF 84

42
08/01/2021

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

5- Intérêt de la normalisation

Exemple
On considère un modèle relationnel non normalisé.
Soit le schéma de relation :
FOURNISSEUR (NomFournisseur, AdresseFournisseur, Produits, Prix)
Modèle en extension

NomFournisseur AdresseFournisseur Produit Prix

Chaise 20
toto 10, Rue des Gras - fès
table 35
86, Rue de la République
tata Bureau 60
- rabat

papa 26, Rue des Dômes - taza Lit 50

Lampe 18
toto 39, Rue des Buttes - rabat
Table de chevet 25

1°problème :
Il n’y a pas de clé primaire : on ne sait pas si les deux toto sont différents ou pas (si c’est le même
toto, il y a une des deux adresses qui est fausse.

M.BEN YAKHLEF 85

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

2°problème :
L’adresse n’est pas décomposée. Si on veut par exemple rechercher tous les fournisseurs qui habitent
la même ville, ça ne va pas être possible.

3°problème :
Une relation (table) correspondant à ce schéma pourra éventuellement contenir plusieurs produits
pour un même fournisseur.

M.BEN YAKHLEF 86

43
08/01/2021

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

Dans ce cas, il faudra faire face à un certain nombre de problèmes :

 l'adresse du fournisseur sera dupliquée dans chaque n-uplet (redondance),


 si on souhaite modifier l'adresse d'un fournisseur, il faudra rechercher et mettre à jour tous les
n-uplets correspondant à ce fournisseur,
 si on insère un nouveau produit pour un fournisseur déjà référencé, il faudra vérifier que
l'adresse est identique,
 si on veut supprimer un fournisseur, il faudra retrouver et supprimer tous les n-uplets
correspondant à ce fournisseur (pour différents produits) dans la table.
 La normalisation élimine les redondances, ce qui permet :
- une diminution de la taille de la base de donnée sur le disque
- une diminution des risques d’incohérence
- d’éviter une mise à jour multiple des mêmes données

M.BEN YAKHLEF 87

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle
6- Les contraintes d’intégrité fonctionnelle : (CIF)
Une contrainte d’Intégrité fonctionnelle (CIF) se définit par le fait que l’une des entités
participant à l’association est complètement déterminée par la connaissance d’une ou plusieurs
autres entités participant dans cette même association.

* Dans le cas de relations binaires, la CIF est identifiée par la présence d’une cardinalité (1,1)
qui n’est autre qu’un lien identifiant.

Exemple :
REPRESENTANT COMMANDE
1,n 1,1
.N°Représent Prendre .N°Com
.Nom .Date

M.BEN YAKHLEF 88

44
08/01/2021

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle
La connaissance d’une commande détermine celle du représentant qui l’a prise : il n’y en a
qu’un.
* Une CIF, dans le cas de relation n-aire (avec n-1) porte donc toujours sur :
• une relation
• une entité cible (celle qui est entièrement déterminé par la connaissance des autres)
• et un ensemble d’entités sources (ce sont les entités participant à la relation qui permettent de
déterminer l’entité cible).
Exemple :
Reprenons l’exemple d’un sous-ensemble suivant de l’activité d’un centre médical : les
médecins pratiquent des actes médicaux sur les patients se présentant au centre.

ACTES PRATIQUES
.Num-acte

1,1
MEDECIN
1,n Pratiquer
.Nom

1,n

PATIENT
.Numpat

M.BEN YAKHLEF 89

Le modèle Conceptuel de Données:


Règles de dépendance fonctionnelle

Après l’analyse, nous apprenons qu’un acte ne peut être pratiqué que par 1 seul médecin et bien
entendu un médecin peut pratiquer plusieurs actes différents.
Nous venons de mettre en évidence une CIF entre ACTES PRATIQUES et MEDECIN. Ceci nous
permet de simplifier le MCD : l’entité MEDECIN ne participe plus à la relation PRATIQUER.
Alors nous obtenons 2 relations de dimension 2 au lieu d’une relation de dimension 3.

Le nouveau MCD est :

ACTES PRATIQUES
1,1
.Num-acte
C.I.F
1,n 1,1
MEDECIN
Pratiquer
.Nom

1,n

PATIENT
.Numpat

M.BEN YAKHLEF 90

45
08/01/2021

MODELE LOGIQUE DE DONNEES (MLD)

M.BEN YAKHLEF 91

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

MODELE LOGIQUE DE DONNEES (MLD)


Il s'agit du passage entre le Modèle Conceptuel de Donnée(MCD) et l'implémentation physique
de la base. Le MLD est lui aussi indépendant du matériel et du logiciel, il ne fait que prendre en
compte l'organisation des données
Ce modèle a pour but de décrire les enregistrements logiques.

1. Règles de passage d’un MCD à un MLD relationnel

1.1 Règles pour les entités du MCD


• L’entité se transforme en une table.
• L’identifiant de l’entité devient la clé primaire de la table.
• Les propriétés de l’entité deviennent des attributs de la table.

M.BEN YAKHLEF 92

46
08/01/2021

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

<==> CLIENT (id_client, Nom_Client, Tel_client)

Exemple : Soit l’entité ETUDIANT


ETUDIANT (Nom, Prénom, DateNaiss, Profession père)

Si nous prenons l’attribut ‘Nom’ comme clé de la relation ; ceci comporte des risques car il peut
exister des homonymes.
Pour plus de sécurité il faudrait : soit prendre les attributs Nom, Prénom et Datenaiss comme
clé, soit adjoindre un attribut « additionnel » N° Etudiant ;

M.BEN YAKHLEF 93

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

1-2 : Association binaire aux cardinalités (X,1) - (X,n) avec X=0 ou X=1
La Clé Primaire de la table à la cardinalité (X, n) devient une Clé Etrangère dans la table qui a
la cardinalité (X,1) :
Exemple de Système d'Information (SI) :
Un employé a une et une seule société. Une société a 1 ou n employés.

Modèle Conceptuel de Donnée (MCD) :

Modèle Logique de Donnée Relationnelle (MLDR) :


EMPLOYE (id_Employe, Nom_Employe, #id_Societe)
SOCIETE (id_Societe, Nom_Societe)

M.BEN YAKHLEF 94

47
08/01/2021

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

Modèle Physique de Donnée (MPD), ou schéma de base :

1-3 : Association binaire, aux cardinalités (X,n) - (X,n) avec X=0 ou X=1
Il y a création d'une table supplémentaire ayant comme Clé Primaire une clé composée des
identifiants des 2 entités. On dit que la Clé Primaire de la nouvelle table est la concaténation
des Clés Primaires des deux autres tables.
Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table.

S.I. :
Une commande est composée de 1 ou n produits distincts en certaine quantité. Un produit
est présent dans 0 ou n commandes en certaine quantité.

M.BEN YAKHLEF 95

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

MCD :

MLDR :
COMMANDE (id_Commande, Date_commande)
PRODUIT (id_Produit, libelle)
COMPOSE (id_Commande, id_Produit, qantité)
MPD :

M.BEN YAKHLEF 96

48
08/01/2021

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

1-4 : Association n-aire (quelles que soient les cardinalités).


Il y a création d'une table supplémentaire ayant comme Clé Primaire la concaténation
des identifiants des entités participant à la relation.
Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle
table.

Exemple, S.I. :
Un étudiant parle une ou plusieurs langues avec un niveau. Chaque langue
est donc parlée par 0 ou n étudiants avec un niveau. Pour chaque niveau, il
y a 0 ou plusieurs étudiants qui parlent une langue.

M.BEN YAKHLEF 97

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

MCD :

MLDR :

ETUDIANT (id_Etudiant, Nom_Etudiant)


NIVEAU (id_Niveau, Nom_Niveau)
LANGUE (id_Langue, Nom_Langue)
PARLE (id_Etudiant, id_Niveau, id_Langue)

M.BEN YAKHLEF 98

49
08/01/2021

Le modèle Conceptuel de Données:


modèle logique de données (MLD)

MPD :

M.BEN YAKHLEF 99

Langage SQL

M.BEN YAKHLEF 100

50
08/01/2021

Langage SQL

1. Définitions
Base de données (BD) : Collection de données cohérentes et structurées afin d'en faciliter
l'exploitation (ajout, mise à jour, recherche de données).

Système de Gestion de Bases de Données (SGBD) : Logiciel(s) assurant structuration,


stockage, maintenance, mise à jour et consultation des données d’une BD.

2- Présentation de SQL

SQL qui est l'abréviation de Structured Query Language est un langage d'interrogation structuré
de bases de données relationnelles proche de l'utilisateur et de sa façon de poser les requêtes:
1- C'est un langage qui utilise des mots Anglais et une formulation proche de la langue
naturelle.
2- Les requêtes sont du type:
"Je veux telles choses
à prendre de telles sources
ayant telles caractéristiques
et ordonnées de telles manières "

M.BEN YAKHLEF 101

- SQL, de part son aspect structuré, est facile à apprendre pour rédiger des requêtes, les lire et
les comprendre. Il est fait pour être utilisé par:
• Les non informaticiens pour interroger la base de données sans être tributaire
d'un spécialiste;
• L'informaticien pour le développement de ses applications en lui assurant une
meilleure productivité;

- SQL est associé aux bases de données qui relèvent du modèle relationnel et par conséquent
tout est basé sur l'emploi d'informations présentées sous forme de tables qui est une vision très
proche de l'utilisateur.

- SQL contient l'aspect:


• Langage de Manipulation de Données (LMD)
SELECT, UPDATE, INSERT, DELETE,
• Langage de Définition de Données (LDD)
CREATE, DROP,
• Langage pour gérer la sécurité
GRANT, REVOKE,

M.BEN YAKHLEF 102

51
08/01/2021

3- Requêtes SQL
Nous allons nous appuyons, à titre d’illustration, sur la base de données suivante :
Articles(#A, Lib , QteStock , PrixU)
Fournisseur(#F, NomF, AdrF )
Achat(#A, #F, PrixA, Qte, DDelai)

Dont la signification :
• dans Achat, le fournisseur #F fournit l’article A# en Quantité Qte avec un délai
DDelai et au prix PrixA.
• Dans Articles on donne pour chaque article A# son libellé Lib , la quantité dans le
stock et le prix dans ce stock.
• Dans fournisseur, on donne pour chaque fournisseur F# son nom NomF et son adresse
AdrF.

Comme nous l’avons déjà évoqué les requêtes sont du type : Les requêtes sont du type:
"Je veux telles choses
à prendre de telles sources
ayant telles caractéristiques
et ordonnées de telles manières"

M.BEN YAKHLEF 103

Les requêtes sont structurées pour répondre à ces quatre rubriques :


SELECT je veux telles choses
FROM à prendre de telles sources
WHERE ayant telles caractéristiques
ORDER BY ordonnées de telles manières
SELECT noms des attributs voulus
FROM nom des tables sollicitées
WHERE conditions à respecter
ORDER BY nom d’attributs sur lesquels porte l’ordre

Remarque : les attributs WHERE et ORDER BY peuvent être omises si on n’en a pas besoin
(pas de conditions ni d’ordre)

M.BEN YAKHLEF 104

52
08/01/2021

- Emploi du SELECT

« Informations relatives aux achats »


SELECT *
FROM Achat
L’emploi de * veux dire que toutes les colonnes sont choisies. Ceci et équivalent
à écrire :
SELECT F, A, PrixA, DDelai, Qte
FROM Achat

Le résultat est l’affichage de toutes les lignes actuelles de la table Achat.


Si l’on ne veut que les quantités achetées par les fournisseurs, alors il suffira d’écrire :
SELECT F, A, Qte
FROM Achat

Remarque : l’écriture est libre et peut se faire en continu. La requête précédente peut s’écrire :
SELECT F, A, PrixA, DDelai, Qte FROM Achat

M.BEN YAKHLEF 105

- Emploi de DISTINCT

Affichage de la liste des articles fournis sans répétition.

Exemple :
- Sans DISTINCT:
SELECT A, Libelle
FROM Achat;
Si on exécute cette requête directement, SQL va nous renvoyer une liste des
codes et des libellés.

- Avec DISTINCT:
SELECT DISTINCT A, Libelle
FROM Achat;

En indiquant la clause DISTINCT avant le champ A, on indique à SQL qu'on ne veut pas voir
apparaître plusieurs fois un article ayant ce numéro dans la sélection renvoyée.

M.BEN YAKHLEF 106

53
08/01/2021

- Emploi de WHERE

le WHERE permet de spécifier les contraintes que doivent vérifier les données voulues(résultats).
Ces contraintes auront la forme d’expressions logiques.
«liste des articles de libellé ‘TABLE’ dans le stock »
SELECT * FROM articles WHERE Libelle=’TABLE’
«liste des articles numéro 12 en commande ?»
SELECT * FROM achat WHERE A=12 AND Qte>0
«articles disponibles chez les fournisseurs 123 ou 129»
SELECT * FROM achat WHERE F=123 OR and F=129
«articles de numéros compris entre 12 et 15 en commandes»

SELECT * FROM articles WHERE A>12 AND A<15


Ou :
SELECT * FROM articles WHERE A BETWEEN 12 AND 15
Ou:
SELECT * FROM articles WHERE A IN (12,13,14,15)

M.BEN YAKHLEF 107

- Emploi des expressions dans le SELECT


Les opérateurs et fonctions utilisés dans la commande select sont :

• Opération arithmétiques : +, - ,* et /

• Les opérateurs de condition :

On peut utiliser les opérateurs suivants dans les conditions :


= Egal
<> Différent (parfois noté aussi != )
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal

M.BEN YAKHLEF 108

54
08/01/2021

• fonctions de calcul :
SUM (attribut) : Renvoie la somme des valeurs de l’attribut
COUNT(*) : Renvoie le nombre d’enregistrements
MAX(expr) : Renvoie la valeur maximale d’une expression (qui peut
être un attribut):
MIN(expr): Renvoie la valeur minimale d’une expression (qui peut
être un attribut)
AVG(attribut) :Renvoie la moyenne des valeurs de l’attribut

Exemple 1:
SELECT
MIN(prix_unitaire),MAX(prix_unitaire), AVG(prix_unitaire) FROM Produit

Va retourner le prix le plus petit de la table Produit, le prix le plus élevé et le prix moyen.

Exemple 2:
SELECT COUNT (*) FROM Produits
WHERE libelle LIKE 'P*'

Va retourner le nombre de produits dont le libellé commence par la lettre 'P'.

M.BEN YAKHLEF 109

- Expressions arithmétiques :
on peut avoir à la place d’un champs une expression arithmétique utilisant des noms des champs :
« articles commandées accompagnés du prix d’achat et de la TVA »
SELECT F, A, PrixA, Qte, PrixA*Qte, PrixA*Qte*0.2
FROM Achat

- Fonctions d’!arrondi
CEILING(x) : renvoie l’entier supérieur
FLOOR(x) : renvoie l’entier inférieur
ROUND(x) : renvoie l’entier le plus proche

- Fonctions de comparaison
GREATEST(x, y, z ,..) : renvoie la plus grande valeur
LEAST(x, y, z ,..) : renvoie la plus petite valeur

M.BEN YAKHLEF 110

55
08/01/2021

- Fonctions diverses
ABS(x) : renvoie la valeur absolue de x
MOD(x,y) : renvoie le reste de la division de x par y

- Fonctions sur les chaînes de caractères


UPPER(chaîne ) passe les caractères en majuscules
LOWER(chaîne ) passe les caractères ) caractères en minuscules

- Fonctions sur les dates :


CURRENT_DATE () : la date courante (format : AAAA-MM-JJ)
MONTH() : renvoie le mois d’une colonne de type date
YEAR() : renvoie l’année d’une colonne de type date
DAY() : renvoie le jour d’une colonne de type date

Exemple : SELECT * FROM employé WHERE MONTH(date_naissance )=1

Cette requête permet de lister les employés nés en janvier.

M.BEN YAKHLEF 111

- Autres opérateurs:

BETWEEN expr2 AND expr3


Exemple : solde BETWEEN 50 AND 100

IN (expr2, expr3, …)
Exemple: nom IN (« Martin », « Durand »)

LIKE chaîne
Exemple: SELECT * FROM Fournisseur WHERE AdrF LIKE ‘%tanger’

Affiche les fournisseurs de tanger.


le caractère “%” est un caractère joker qui remplace tous les autres caractères. Ainsi, ce modèle
permet de rechercher toutes les chaines de caractère qui se termine par un “a”.

SELECT * FROM articles WHERE Libelle LIKE ‘%table%’


Affiche tous les articles dont libelle contient table.

M.BEN YAKHLEF 112

56
08/01/2021

ORDERBY : La sélection renvoyée va être classée alphabétiquement d'abord sur


le nom, puis sur le prénom.
SELECT nom, prénom
FROM Clients, Commande
WHERE Commande.num_client = Client.num_client AND
num_commande = 1 ORDER BY nom,prénom;

M.BEN YAKHLEF 113

1.3- Les jointures


La jointure va nous permettre de sélectionner des informations dans plusieurs tables grâce aux relations
existant entre ces tables. Il va néanmoins falloir indiquer comment se fait la relation entre ces tables.

Exemple: récupérer le nom et le prénom du client ayant passé la commande n°1:

SELECT nom, prénom


FROM Clients, Commande
WHERE Commande.num_client = Client.num_client AND num_commande = 1;

M.BEN YAKHLEF 114

57
08/01/2021

1- Les UNIONS
a- union de deux tables

Lorsqu'on veut que les résultats de plusieurs requêtes soient combinés entre eux, on utilise la
clause UNION. UNION va fusionner les résultats des requêtes

Par exemple, supposons que nous ayons une table pour les clients habitant Rabat (cette table
s'appellera clients_R) et une table pour les clients habitant Fès (clients_F). Pour obtenir les
numéros des clients des deux tables, on tapera

SELECT num_client
FROM clients_R
UNION
SELECT num_client
FROM clients_F;

M.BEN YAKHLEF 115

Exemples :
« union du personnel des services 1 et 2 »
SELECT * FROM emp1
UNION
SELECT * FROM emp2
« union du personnel féminin des services 1 et 2 »
SELECT * FROM emp1 WHERE Sex=’F’
UNION
SELECT * FROM emp2 WHERE Sex=’F’

« Nom et Adresse du personnel féminin des services 1 et 2 »


SELECT nom , prenom FROM emp1 WHERE Sex=’F’
UNION
SELECT nom , prenom FROM emp2 WHERE Sex=’F’

M.BEN YAKHLEF 116

58
08/01/2021

B- union de plusieurs tables


« union du personnel des services 1, 2 et 3 »
SELECT * FROM emp1
UNION
SELECT * FROM emp2
UNION
SELECT * FROM emp3

M.BEN YAKHLEF 117

M.BEN YAKHLEF 118

59

Вам также может понравиться