Systèmes Information (SI)
Licence 3 Comptabilité & Finance
ABDEK MAHAMOUD
IBRAHIM,
Data Scientist Engineer
19/08/25 1
Plan pour le module:
Systèmes d’information et bases de données
Analyse et conception des systèmes d’information :
- Notion de systémique- cycle de vie- typologie des méthodes
modèles- Démarches.
- Modèles de données : schéma entité- association.
- Modèles de conception et de traitements.
- Maîtrise de la méthode MERISE
Introduction aux Bases de données :
- Introductions aux SGBD et au modèle relationnel.
- Langage d’interrogation SQL
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 2
Introduction
Objectif
A la fin de ce cours l’étudiant devra être apte à:
• Comprendre les différents concepts liés à la notion de système d’information,
• Identifier dans un contexte donné les acteurs et leurs tâches,
• Aider à modéliser les flux, les structures, les traitements de données,
• Maîtriser les principales étapes de conception d’une base de données
relationnelle,
• Connaître des progiciels permettant la construction et la gestion d’une base de
données relationnelle,
• Connaître les principales étapes de conception, de développement et de
réalisation d’un système d’information.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 3
Analyse et conception des systèmes
d’information
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 4
Notion de systémique- cycle de vie- typologie des méthodes
modèles- Démarches.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 5
Introduction
• Dans l’activité de chaque organisation, on utilise une quantité importante
d’informations.
• Pour être utilisables pour la prise des décisions, ces informations doivent être
stockées, diffusées, traitées et transformées.
• Toute entreprise utilise de l’information pour son fonctionnement ou pour
communiquer avec son environnement. Le gestionnaire doit être capable de
traiter (ou accompagner le traitement) l’information et la rendre utile et
rentable pour l’entreprise.
• Ce cours pose les bases de la prise en main de la méthode Merise en passant
par des modèles simple de différents cas de gestion.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 6
Vision globale d’un entreprise
Décider des actions à conduire. Système de DECISION
Collecter,
mémoriser,
traiter, Système
distribuer, d’INFORMATION
l’information.
Assurer les fonctions :
. facturer les clients,
. fabriquer les produits, Système OPERANT
.…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 7
Analyse Systémique de l’Entreprise
Chaque système apporte des services à l’autre
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 8
Système découpage
• On peut distinguer 3 sous-systèmes :
• Le système de pilotage : direction, régulation, contrôle, décisions,
définition des objectifs
• Le système opérant : Réalisation des tâches, donne des informations sur
l’état du système
• Le système d'information : Interface entre les deux systèmes précédents.
Le SI est la mémoire de l'organisation.
• Le système de pilotage : Contrôle et dirige l'ensemble
Élaborer des règles de gestions et produire des décisions
• Le système opérant : transforme les flux d'entré es et flux de sorties
La transformation des flux
• Le SI transmet les ordres au système de production (ou système opérant)
et renvoie au système de pilotage
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 9
Analyse Systémique de l’Entreprise
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 10
Exemples de flux d’information
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 11
L’information…?
• Ensemble complexe, composé de données et de liens.
• Décrit une activité.
• Plusieurs valeurs possibles.
12
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Approches pour étudier le SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 13
Système d’information - Définition
Un système d'Information (noté SI) représente l'ensemble des éléments
participant :
• Collecter l’information : Enregistrer une information (support papier,
informatique…) avant son traitement
• Mémoriser l’information (stockage) : Conserver, archiver (utilisation
ultérieure ou obligation légale)
• Traiter l’information : effectuer des opérations (calcul, tri,
classement, résumé, …)
• Diffuser : transmettre à la bonne personne (éditer, imprimer, afficher,
… une info après traitement)
14
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Et la grande question est…
Comment réaliser un « bon » système d’information ?
La réponse sur les techniques et démarches classiques du Génie Logiciel :
•Analyse
• de l’existant et des besoins de l’utilisateur.
•Conception
• du système et du logiciel.
•Réalisation
• Traduction des algorithmes dans un langage choisi.
•Tests du logiciel
• Vérification et validation du logiciel.
• Tests de non régression.
•Exploitation
• Utiliser le logiciel une fois installé.
•Maintenance
• Correction des erreurs.
• Ajouts de fonctionnalité.
19/08/25
•… ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 15
Qualités d’un SI
• Rapidité et facilité d’accès à l’information
– Trop lent ou compliqué peut décourager les utilisateurs
– L’utilisateur doit pouvoir réagir au plus vite
– Efficacité et pertinence des décisions
•Pour ce faire
– Machines performantes
– BDD et réseaux locaux
– Interfaces conviviales
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 16
Qualités d’un SI
• Fiabilité des informations
– Informations sûres et fiables
– Le SI doit fournir des informations à jour
•Ex : Pour commander un article il faut connaître l’état du
stock. Le stock doit donc être mis à jour automatiquement.
•Pour ce faire
– Humain : Promptitude des saisies (procédures)
– Machine : Disponible quand on en a besoin
• Les indispensables opérations de maintenance en
dehors des heures de travail
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 17
Qualités d’un SI
• Intégrité des informations
– Le système maintient les informations dans un état cohérent
– Le SI doit savoir réagir à des situations qui risquent de rendre les
informations incohérentes
•Ex : Si communication interrompue entre 2 ordinateurs
qui doivent synchroniser leurs données
•Le système doit être capable de reconstituer une
situation correcte
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 18
Qualités d’un SI
Pertinence de l’information
– Filtrer l’information en fonction de l’utilisateur
• Ex: Le directeur commercial n’a pas besoin de connaître
le détail de chaque commande, mais simplement le
montant des commandes en cours
• Sécurité de l’information
– Sauvegarde
• Système critique => machine à tolérance de panne
élevée
– Malveillance, attaques extérieures
• Routeurs filtrants, anti-virus, pare-feu, détecteurs
d’intrusions
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 19
Qualités d’un SI
Confidentialité de l’information
–Aspect crucial, espionnage industriel, …
– Moyens matériels
•Lecteurs de cartes, de badges
•Lecteurs d’empreintes
– Moyens logiciels
•Identification
•Permissions sur des fichiers ou des BDD
•Cryptage des canaux de transmission
•Terminaux mobile : qui le consulte ? Attention!!!!!
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 20
Analyse et Conception de Système
d’Information
Que faut-il pour analyser, concevoir…?
On doit :
• avoir une vision abstraite du fonctionnement,
• garantir les délais, la pertinence, l’efficacité,
• faciliter la maintenance,
• prolonger la durée de vie,
• …
Nous avons, donc, besoin :
• de MODELES,
• de METHODOLOGIE.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 21
Modèle…c’est quoi ?
• Un modèle est par définition une représentation abstraite, d’une
partie du
monde réel, exprimée dans un langage de représentation.
• Ce langage peut être :
• formel : ayant une syntaxe et une sémantique bien définies comme
• la logique du premier ordre ou,
• un langage informatique,
•…
• Semi-formel : notation graphique normalisée.
(NB. Un langage semi-formel peut être défini comme un langage artificiel
dont la sémantique comporte des éléments d'ambigüité. Par exemple,
un langage de pseudocode informatique est une sorte de langage semi- 22
formel.)
19/08/25
• Informel : description en langage naturel.
ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Modèle…pourquoi ?
Les principales motivations sont (Vernadat,
2000) :
- comprendre et analyser la structure et le fonctionnement de
l’entreprise ;
- prévoir (de manière fiable) le comportement et les
performances des processus opérationnels avant
leur implantation ;
- choisir la (ou les) meilleure(s) alternative(s) d'implantation ;
- identifier les risques d'implantation à gérer ;
- justifier les choix d'implantation sur des critères liés aux
ressources et aux coûts (méthodes de comptabilité par activités,
par exemple) ;
- bâtir une vision commune du fonctionnement de l’entreprise
et la communiquer facilement au plus grand
ensemble possible du personnel.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 23
Méthodologie…pourquoi ?
• Formalisation claire et complète du problème
informationnel.
• Maîtrise de la résolution du problème par l’utilisation de
critères
objectifs pour évaluer les solutions.
• Construction de SI pertinents, complets, cohérents, fiables
flexibles
et adaptatifs.
• Évaluation du SI à tout moment de son cycle de vie.
• Faciliter la coopération entre concepteurs, informaticiens
gestionnaires, utilisateurs.
• Rigueur dans l’élaboration de la solution.
• Réduire les coûts et les délais.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 24
Méthodologie…Typologie
• Approche cartésienne.
• Orientée traitements.
• Approche systémique.
• Orientée données.
• Approche Objet.
• Orientée données et traitements.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 25
Méthodologie…exemples
• MERISE : Méthode d’Etude et de Réalisation Informatique pour les
Systèmes d’Entreprises (Tardieu, 83).
• AXIAL : analyse et conception des systèmes d’informations
assistés par logiciel (IBM, 86).
• SSADM : Structured Systems Analysis and Design Method (CCTA,
80).
• SADT : Structured Analysis and Design Technique (Softech, 77).
• RUP : Rational Unified Process.(IBM, 2003).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 26
Merise…Démarche
Partir de principes théoriques,
pour développer un ensemble cohérent de
modèles,
par des raisonnements simples, se
basant sur des définitions et un langage
(visuel) précis,
permettent de construire un système
d’information cohérent et efficace.
27
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Merise…deux modèles
Deux modèles : données et traitements.
Elaborés séparément.
Déclinés sur trois niveaux :
1. Conceptuel.
2. Organisationnel.
3. Opérationnel.
Validation données / traitements.
28
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Merise…cycle d’abstraction
Système d’information
manuel
•Recueil des informations
•Délimiter le système.
Expression des Besoins •…
•Construire les MCD et MCT
Modèle Conceptuel
•Construire les MOD et MOT
Modèle Organisationnel
•Construire (entre autres) les MLD,MPD …
Modèle Opérationnel
Système d’information
19/08/25
automatique ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
29
Recueil de l’information
• Sources externes (Environnement du système)
• Flux en provenance des partenaires (Clients, Fournisseurs,
Administration, …)
• Être à l’écoute pour anticiper les changements et adapter son
fonctionnement
• Sources internes
• Flux générés par les acteurs du système (Approvisionnements,
Production, Gestion des salariés, Comptabilité, Ventes, …)
• Flux formalisés par des procédures
• Flux informels (climat social, savoir faire, …)
Difficiles à recueillir et à exploiter, mais grande importance
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 30
Recueil de l’information
• Alimenter le SI
– La saisie de l’information est généralement onéreuse
•Nécessite souvent intervention humaine
– Efforts pour automatiser le recueil d’information
• Systèmes en temps réel
• Lecture optique (questionnaires, …)
• Numérisation, Robots d’analyse de contenus, …
•L’info est précieuse, vitale pour l’entreprise
– Mais elle a aussi un coût
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 31
Mémorisation de l’information
• Assurer la pérennité c’est garantir un stockage durable et fiable
– Les supports privilégiés de l’information sont aujourd’hui les
disques des ordinateurs
• Fichiers sur Disque Dur, DVD, …
• Le SGBD est une composante fondamentale du SI
• Archivage
comme SAP (SAP (Systems, Applications and Products for data
processing)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 32
Traitement de l’information
• Pour être exploitable, l’information subit des traitements
– Tri des commandes par date et clients
– Calcul du montant à payer
– Classement, Résumé, …
•Ces traitements peuvent être :
– Manuels (de moins en moins souvent)
– Automatiques (réalisés par des ordinateurs)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 33
Diffusion de l’information
• Pour être exploitée, l’information doit parvenir dans les meilleurs
délais à son destinataire
– Forme orale
– Support papier (courrier, note interne, …)
– Support numérique (de plus en plus)
• Vitesse optimale
• Large diffusion
• Internet (web, email, mobiles), Interconnexion des SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 34
Système d’information
Présentation générale des concepts de base
Définition d’un système
Un système est un ensemble d’éléments rassemblés pour réaliser un
objectif:
Produire des sorties par transformation d’un ensemble d’entrées.
Une entreprise par exemple est un système (composé d’Hommes, de
matériel, de méthodes …. Etc.) qui transforme de la matière première en
produits finis.
Un système peut être représenté par le schéma suivant:
Entrée Système Sortie
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 35
Système exemple
• Une entreprise commercialise une liste de produits :
• En entrée. Les produits achetés, commandes, paiements (clients)
• En sortie. Les produits vendus, factures, paiements (fournisseurs)
• Ou en terme de flux
• Flux physiques : produits acheter, produits vendus
• Flux d'information : paiements clients/fournisseurs
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 36
Système exemple
• On peut donc conclure qu'un flux déclenche un PROCESSUS.
• Tout chose peut être considérée comme un système
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 37
SI en bref
1. Le système d’information – SI comporte :
• Des ressources humaines ;
• Des moyens matériels ;
• Des données et des modèles d’interprétation ;
• Des procédures et des règles de fonctionnement
organisationnel.
2. Le SI doit apporter à TOUS les acteurs de l’organisation,
l’INFORMATION dont ils ont BESOIN pour AGIR et
DÉCIDER.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 38
Infrastructure logicielle du SI
• Démarche globale d’informatisation :
analyse du problème
conception de la solution
réalisation du système
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 39
La notion multidimensionnelle du SI
• Le système d’information comporte trois dimensions :
La dimension informationnelle : manipulation et production de
l’information ;
La dimension technologique : utilisation des technologies matérielles
et logicielles, et ;
La dimension organisationnelle : réunissant des individus, des
procédures de travail, une coordination, des partenariats
Nécessité de considérer et d’étudier le SI comme un
objet multidimensionnel, susceptible d’être caractérisé
selon les trois dimensions informationnelle,
technologique & organisationnelle.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 40
La dimension
INFORMATIONNELLE
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 41
La dimension informationnelle
• La vocation première d’un SI est de fournir de l’INFORMATION à ses
utilisateurs.
• Cette INFORMATION, pour être utilisable par l’être humain, doit être
matérialisée sous forme de signaux accessibles à nos sens. Cela conduit à
construire des REPRESENTATIONS…
• …la qualité de ces représentations est susceptible d’influer de manière
importante sur le comportement de leur utilisateur, d’où la PERTINENCE
d’une information.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 42
La dimension informationnelle
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 43
La dimension informationnelle
• Le bilan et le compte de résultat sont des représentations
possibles de l’entreprise…
• …un site Internet est une représentation de l’entreprise…
• …une carte géographique est une représentation d’un territoire
d’un pays…
(*)Ces supports sur lesquels apparaissent des signes, des
signaux…sont des représentations du monde réel…
Une représentation est une image du monde réel : cette
image est composée de signaux pouvant être perçus par
nos sens.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 44
La dimension informationnelle
1. Conservation de l’information à laquelle nous
n’aurons plus directement accès : une photographie par
exemple est une représentation d’un moment, d’un paysage
auquel nous n’aurons plus accès direct ou nous n’allons
plus revivre…
2. Communication qui permet l’échange des informations entre
les individus par l’échange de représentations. Exemple : un bon
de commande est une représentation qui une fois communiqué à
un fournisseur, permet à ce dernier de préparer le produits ou le
service en faveur de son client…
3. Concrétisation (simplification) une représentation permet
la simplification et la facilitation de la perception des concepts et
des modèles non directement (facilement) perçus par nos sens.
Exemple : un bilan d’une société rend possible la perception du
patrimoine de celle-ci.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 45
La dimension informationnelle
• la pertinence des représentations !
La PERTINENCE d’une représentation est directement liée à
l’utilisation de l’information : est pertinent ce qui CONVIENT, ce qui
EST APPROPRIÉ à une ACTION.
Une représentation sera pertinente si elle répond aux attentes de son
utilisateurs, si elle le satisfait.
La pertinence est donc une notion relative à un utilisateur et à un
contexte d’utilisation…
…est pertinente, l’information qui permet de prendre la bonne
décision…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 46
La dimension
TECHNOLOGIQUE
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 47
La dimension technologique
• Introduction
Système d’information : SI VS Système informatique : SI
Matériel :
Collecte
Hardware
Saisie
ordinateur
Stockage
Traitement Logiciel :
Stockage programme
Communication software
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 48
La dimension technologique
Fonction de base Exemple de dispositifs technologiques
Saisie
Obtenir des données sous une
forme permettant leur Clavier d'ordinateur, lecteur de codes à barres, scanner,
stockage, leur traitement et enregistreur de sons (magnétophone), caméra vidéo, appareil
leur transmission photographique, etc…
Transmission
Réseau téléphonique, réseau spécialisé dans la transmission des
Déplacement des données données, réseau local, réseau de télévision, réseau radio, réseau
dans l'espace Internet…
Stockage
Conservation organisée des Imprimé (papier), bande magnétique audio et vidéo, CD (compact
données permettant de les Disc), clé USB, mémoire centrale d'ordinateur, disque dur
retrouver ultérieurement d'ordinateur…
Traitement
Création de données nouvelles
à partir des données brutes par Ordinateur + Logiciel correspondant.
le calcul, la mise en ordre, le
changement du format…
Restitution
Remettre les données sous
forme communicable à Imprimante (papier), écran, haut parleur…
l'homme
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 49
La dimension technologique
• Les principaux apports des techniques du traitement électronique de l’information
peuvent être résumés en 3 principaux apports :
1. Compression du Temps : traiter des données revient à les trier, les calculer, les
sélectionner, les transmettre...pour produire des représentations pertinentes. Les nouveaux
outils de traitement électronique ont permis l’automatisation des opérations avec des
performances de vitesse sans aucune mesure avec celle d’un opérateur humain.
2. Compression de l’espace : à l’heure actuelle, il est possible de transmettre des
volumes considérables à l’aide d’internet entre deux points, quelque soit leur emplacement
dans le globe. L’émergence du télétravail, du bureau à distance, l’entreprise virtuelle, le
phénomène de la globalisation des marchés…sont des conséquences directes de cette
élimination de la distance par le recours aux techniques électronique de communication.
3. L’expansion de l’information stockée : les nouveaux procédés de stockage
permettent aujourd’hui de stocker et d’archiver des volumes importants de données.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 50
La dimension
ORGANISATIONNELLE
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 51
La dimension organisationnelle
• 1 - Le SI est un élément déterminant dans le fonctionnement d’une
organisation :
Le SI fournit dans des conditions déterminées, des représentations nécessaires
aux différents acteurs d’une organisation. Les formes évoluées des technologies
de l’information confèrent au SI des rôles de structuration, d’intégration, de
coordination et d’automatisation du travail susceptibles de modifier
considérablement les conditions du fonctionnement de l’organisation.
1 - Le SI est un élément constitutif de la structure de l’organisation
Le SI redimensionne les frontières d’une organisation, il peut l’étendre à ses
clients, à ses fournisseurs… donnant naissance à de nouvelles formes
d’organisations d’entreprise
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 52
Conception & mise en place d’un SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 53
Conception & mise en place d’un SI
• Introduction…
Un Système d’Information n’est pas un phénomène spontané. Il est le
résultat d’un travail de CONCEPTION aboutissant à une
IMPLANTATION, synonyme de CHANGEMENT dans
l’organisation…La conception d’un SI peut être caractérisée à la fois
par ses OBJECTIFS et par sa DÉMARCHE.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 54
Conception & mise en place d’un SI
Les objectifs :
Un système d’information doit répondre aux besoins spécifiques
de ses futures utilisateurs. Un travail préliminaire consiste à définir
un CAHIER DES CHARGES qui exprime de façon structurée, les
besoins que doit satisfaire le futur SI…
…ce cahier des charges va ensuite être interprété par des
spécialistes, analystes, concepteurs en un schéma de système à
réaliser…
…ce schéma doit intégré de manière cohérente les choix relatives
aux trois dimensions composantes d’un SI « informationnelle,
technologique & organisationnelle ».
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 55
Conception & mise en place d’un SI
1.1 Les choix informationnels :
• Correspondent aux choix relatifs aux représentations souhaitées. Il s’agit ici de
choisir quelles sont les représentation à produire pour chaque utilisateur ce qui
conduira à la définir des MODÈLES de données et les règles de transformation
de ces données par des modèles de traitements.
1.2 Les choix organisationnels :
Correspondent aux choix relatifs aux acteurs et aux procédures de travail. Il s’agit
de répondre à la question « QUI FAIT QUOI ? ».
1.3 Les choix techniques :
Correspondent aux choix relatifs aux matériels et logiciels à utiliser et la façon dont ils
seront utilisés.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 56
Conception & mise en place d’un SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 57
Conception & mise en place d’un SI
• …pour résumer :
• Contrainte de pertinence : les représentations fournies par le SI doivent être
pertinentes pour les utilisateurs et correspondre à leurs besoins.
• Contrainte de praticabilité : les représentations utilisées et les traitements demandées
doivent être manipulables par les outils techniques utilisés ;
• Contrainte d’adéquation : les techniques retenues doivent être compatibles avec les
moyens économiques de l’organisation et utilisables dans le contexte de travail.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 58
Conception & mise en place d’un SI
La démarche
Pour les SI de dimension très limitée, la construction peut prendre des formes
d’essais, d’erreurs, de tâtonnements, de modifications... Au-delà d’une certaine
dimension, cette approche empirique n’est pas possible et il est indispensable de
PLANIFIER le SI « Schéma directeur » et d’ORGANISER le processus de sa
construction et sa mise en place de manière MÉTHODIQUE…
…cette démarche méthodique peut être schématisée comme suit (cycle de vie du
projet) :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 59
Conception & mise en place d’un SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 60
Conception & mise en place d’un SI
2. 1 Schéma directeur
La démarche de planification d’un SI doit fournir la réponse à deux questions :
1. Quels sont les objectifs à retenir ?
2. Quelles sont les ressources à prévoir ?
Cette démarche de planification produit un ensemble de résultats désignés généralement par le
terme « schéma directeur »…
Ce dernier comprend généralement :
Schéma directeur
Plans d’action
Projets à réaliser Moyens à utiliser
par projet
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 61
Conception & mise en place d’un SI
2. 1 Schéma directeur (suite)
Schéma directeur
Plans d’action
Projets à réaliser Moyens à utiliser
par projet
Traduction des Définition des moyens Pour chaque projet
objectifs assignés au nécessaires pour la inscrit dans le schéma
SI en objectifs. réalisation des projets directeur, le plan
Les applications que (matériels, logiciels et d’action explicite les
l’entreprise cherche à humains). Ce volet choix essentiels :
développer sont permet d’évaluer objectifs, moyens
décrites par leur l’adéquation alloués, contraintes à
caractéristiques ressources disponibles respecter, délais,
principales : objectifs à dans l’entreprise et limites…
satisfaire, champs permet leur ajustement
couvert, en cas d’insuffisance.
fonctionnalités
principales…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 62
Conception & mise en place d’un SI
2. 2 Définition initiale « analyse préalable »
Dans le cas de l’existence d’un schéma directeur, l’objectif de l’analyse préalable est :
La Mise à jour du plan d’action par rapport aux changements d’orientation
stratégique, changements technologiques
Par ailleurs, en l’absence d’un schéma directeur, cette phase est l’occasion pour
l’entreprise de définir et mettre en place l’AVANT PROJET de la solution à
concevoir.
Étude de Diagnostic Évaluation des
Recherche de
l’existant Formulation solutions
solutions
du problème
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 63
Conception & mise en place d’un SI
2.3 La conception
La phase de conception est le « pont » entre la définition du besoin (problème) et la
réalisation...
elle comporte généralement 2 phases :
Phase 1 Phase 2
Définition de la dimension Introduction de la dimension
informationnelle à travers la organisationnelle avec les choix
définition des données technologiques.
nécessaires pour l’exécution des
Définition des rôles de chacun, « qui fait
tâches.
quoi », la chronologie « quand » la répartition
spatiale « où », et comment « quel outil »
Il s’agit de répondre à la question : (liaison avec les choix de la technologie).
Quelle structure des données et
pourquoi faire?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 64
Conception & mise en place d’un SI
2.3 La conception en schéma :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 65
Conception & mise en place d’un SI
2. 3 Le développement
Cette étape correspond à l’intégration totale de la dimension technologique. L’analyse, la
programmation et les tests sont les principales sous étapes…on peut distinguer deux grandes
phases.
Phase 1 Phase 2
Analyse détaillée (organique) Programmation et tests
Il s’agit d’établir une description détaillée Une fois bien décris, les programmes sont
des traitements d’une part (programmes), écrits et testés (cette phase peut être réduite
des données d’autre part en tenant compte si on utilise des logiciels achetés).
des particularités du matériel et logiciel
Les tests du programme sont effectués à
utilisés.
partir d’un échantillon de données, d’une
situation bêta…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 66
Conception & mise en place d’un SI
2. 3.1 L’implantation : Travaux à mener en parallèle
Installation des matériels : peut être lourde si la solution exige un saut
technologique ;
Installation et tests des logiciels : toutes les applications doivent être installées dans
leurs conditions normales de fonctionnement ;
Constitution des bases de données : dans le cas où la solution fait appel à de
nouvelles bases de données ;
Formation des utilisateurs aux nouvelles procédures de travail tant pour les parties
manuelles (inputs) que pour les tâches assistés par ordinateurs (graphiques, tableaux,
…). Cette phase de formation est indispensable !
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 67
Conception & mise en place d’un SI
2. 3.3 L’implantation : démarrage effectif.
Après une série de corrections et d’adaptations des versions
provisoires…la réception et l’installation définitive de la solution est
opérée…
…cette étape marque l’aboutissement du projet qui entrera par la suite
dans un cycle de maintenance.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 68
Conception & mise en place d’un SI
2. 3 L’implantation en schéma
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 69
Conception & mise en place d’un SI
2. 3.1 Conséquences de l’implantation
Le passage d’un SI en projet à un SI effectif opérationnel implique inéluctablement, une
modification des tâches, des rôles, de l’affectation des personnes, des processus de
travail, de communication…donc, introduction du changement dans l’organisation.
En général :
Implantation d’un Changement des Changement du
SI procédures de travail mode opératoire
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 70
Conception & mise en place d’un SI
2. 3.1 Conséquences de l’implantation (suite)
L’introduction d’une nouvelle technologie se traduit par un double apport :
1. Elle génératrice de règles et contraintes ;
2. Elle offre des ressources supplémentaires.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 71
Conclusions
1. La notion de SI est une notion multidimensionnelle comprenant trois dimension :
informationnelle, technologique & organisationnelle …pour bien comprendre la
notion de SI, il est indispensable de prendre simultanément ces trois dimensions !
2. Le SI doit répondre de manière efficace aux besoins exprimés par ses futurs
utilisateurs…le SI n’est qu’un INSTRUMENT devrant faciliter, organiser,
structurer, coordonner le travail en organisation !
3. La mise en place d’un SI doit s’inscrire dans une démarche durable et constitue
donc un objet qu’il faut PLANIFIER, ORGANISER, FINALISER, ANIMER,
MAINTENIR et CONTRÔLER.
4. Les usages d’un SI peuvent prendre plusieurs formes, pouvant être regroupées en
2 grandes catégories, les usages fonctionnels et les usages pour l’aide à la
décision
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 72
Les applications fonctionnelles du SI
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 73
Introduction
Usages des SI
Applications
Applications Applications
Applications d’aide à la
d’aide à la d’aide à la
fonctionnelles gestion des
décision communication
connaissances
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 74
APPLICATION FONCTIONNELLE
Une application informatique est un ensemble de logiciels articulés entre eux pour
automatiser et faciliter le traitement des informations…
Une application fonctionnelle désigne des réalisations informatiques conçues pour assister
la conduite des fonctions essentielles de toute entreprise. On peut donc parler de :
Gestion comptable et financière ;
Gestion commerciale ;
Gestion de la production ;
Gestion des ressources humaines…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 75
APPLICATION FONCTIONNELLE
Une application fonctionnelle est caractérisée par deux objectifs généraux :
1. Assistance pour le traitement des transactions « courantes »;
2. Information des gestionnaires à différents niveaux.
…les systèmes d’information fonctionnels assurent le traitement des transactions
& des opérations et fournissent l’information utile pour la gestion.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 76
Le système d’information et l’Aide à la
décision
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 77
Aide à la Décision - Introduction
Au début des années 70, le professeur Henry Mintzberg a mis au point un nouveau
modèle de gestion…
…ce modèle considère la gestion comme l’exécution de rôles de gestion.
Un gestionnaire est dans une position qui lui donne l’autorité d’endosser les
rôles suivants :
1 Les rôles interpersonnels
2 Les rôles informationnels
3 Les rôles décisionnels
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 78
Aide à la Décision - Introduction
1 Les rôles interpersonnels
Un gestionnaire devrait être :
1. Un superviseur hiérarchique pour ses subordonnés ;
2. Un agent de liaison avec l’environnement externe ;
3. Un représentant de l’ensemble de l’organisation lors des
cérémonies officielles.
2 Les rôles informationnels
Un gestionnaire doit être :
1. Un contrôleur de l’information relative au rendement
organisationnel
2. Un diffuseur de l’information à l’intérieur de l’organisation
3. Un porte-parole face à l’environnement externe.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 79
Aide à la Décision - Introduction
3 Les rôles décisionnels
Un gestionnaire devrait être :
1. Un entrepreneur innovant ;
2. Un redresseur qui prend des mesures correctives ;
3. Un répartiteur de ressources ;
4. Un négociateur (en cas de conflits).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 80
La Décision c’est QUOI…& QUAND?
QUAND
Décision Choix
Mais avant de faire ce choix…il existe tout un processus de prise de conscience du
problème, d’investigation et d’analyse qui précède la phase finale de choix puis suivi par la
phase d’évaluation.
Problème à
résoudre
Un problème en gestion = un écart entre la situation réelle et la situation
prévue ou espérée
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 81
La Décision c’est QUOI…& QUAND?
QUAND
Le gestionnaire est toujours en position d’évaluation des choix offerts face à un
problème pour la prise de la décision optimale.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 82
Processus de prise de Décision
Le modèle classique issu des travaux de Herbert SIMON, économiste et lauréat
d’un prix Nobel (Modèle IMC) apporte une représentation permettant de bien
caractériser les phases du processus de résolution de problème.
Le modèle IMC de SIMON propose quatre phases :
1. Intelligence ;
2. Modélisation ;
3. Choix, et;
4. Évaluation.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 83
Modèle IMC
INTELLIGENCE
Identification du problème
MODÉLISATION
Recherches des actions
possibles
CHOIX
Application de règles pour
choisir une action
ÉVALUATION
Test du choix retenu
SATISFAISANT exécution
NON OUI
?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 84
Modèle IMC
Le modèle IMC de SIMON :
1. Intelligence :
répondre à la question « de quoi s’agit-il?, le mot intelligence correspond ici
au sens militaire du terme : recherche et renseignement.
C’est une phase de sondage de l’environnement et de repérage des
événements requérant des décisions.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 85
Modèle IMC
2. Modélisation :
C’est une phase de conception et de formulation des voies de solutions
possibles…
Il s’agit de définir des scénarii de réponse à travers des modèles d’action
3. Choix :
C’est une phase de prise de position et de sélection d’un choix entre ceux
possibles, explorés durant la phase précédente.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 86
Modèle IMC
2. Évaluation
C’est une phase importante dans la mesure où elle détermine si le choix
retenu est adapté donc validé, sinon il est remis en cause et entraîne un
retour en arrière vers une ou plusieurs phase du processus IMC
En quoi le système d’information peut il aider les gestionnaires tout
au long de ce processus de prise de décision ?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 87
SI & Aide à la Décision
1.Intelligence :
Un SIAD permet à l’aide d’un ordinateur, de rechercher des données,
de faire des traitements et de déceler toute anomalie ou détecter tout
écart …
Un ordinateur équipé d’un logiciel d’alerte peut alerter le décideur soit
par un message, soit en éditant un mail d’une situation de dépassement,
d’insuffisance, de rupture,…
Outre cette fonction, un ordinateur permet le stockage des données et
leurs restitution pour toute éventuelle réutilisation dans des cas
similaires.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 88
SI & Aide à la Décision
2.Modélisation :
Un SIAD à travers une base de données de modèles de tableaux de calculs, de
logiciels de traitement, permet une aisance dans l’utilisation du modèle, dans la
modification, dans l’enregistrement des versions et de garder une traçabilité quant
aux modèles utilisés
3.Choix \ évaluation :
Une fois le modèle adapté est choisi ou conçu, on passe au test du choix retenu en
procédant d’une manière rétroactive. Autrement dit, l’essor des systèmes
d’information a permis l’évaluation des choix et le test des scénarii envisageables
avant toute prise de décision.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 89
SI & Aide à la Décision
Un SIAD est un système d’information :
1. Un système fournissant une assistance aux décideurs essentiellement
pour des problèmes non totalement structurés
2. Combinant le traitement automatisé de l’information et le jugement
humain
3. Améliorant la qualité et l’efficacité du processus de prise de décision
« contrôle, coût, temps)…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 90
DIFFERENTS MODELES DE CYCLE DE
VIE DE LOGICIEL
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 91
DIFFERENTS MODELES DE CYCLES DE VIE
INTRODUCTION
Notion de cycle de vie
C'est la description d'un processus couvrant les phases de:
- Création d'un produit,
- Distribution sur un marché,
- Disparition.
Le but de ce découpage est de
- Maîtriser les risques,
- Maîtriser au mieux les délais et les coûts,
- Obtenir une qualité conforme aux exigences.
On distingue deux types de cycle de vie
- Le cycle de vie des produits s'applique à tous les types de produits, et peut être
considéré comme un outil de gestion.
- Le cycle de développement des logiciels s'insère dans le précédent, on
l'appelle souvent abusivement cycle de vie des logiciels
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 92
Justification du cycle de vie
• Cycle de vie et assurance qualité sont fortement liés; il faudra donc en
permanence assurer:
• la validation: sommes nous en train de faire le bon produit?
• la vérification: est ce que nous faisons le produit correctement
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 93
LES DIFFERENTES PHASES DU CYCLE DE VIE
Le management étudie la stratégie et décide de la nécessité de fabriquer ou
acheter un nouveau produit. On s'intéresse aux produits contenant du
logiciel.
C'est pendant cette phase qu'est défini un schéma directeur dans le cas de la
création ou de la rénovation d'un système d'information complet d'une
entreprise prenant en compte la stratégie de l'entreprise (voir méthode
Merise).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 94
Définition des Besoins
• Un cahier des charges est établi par le client après consultation des
divers intervenants du projet ( utilisateurs, encadrement...), un appel
d'offres est éventuellement lancé.
• Le cahier des charges décrit, en langage naturel, les fonctionnalités
attendues du produit ainsi que les contraintes non fonctionnelles
(temps de réponse, contraintes mémoire...). Dans le cas de la refonte
d'un système complet on peut avoir un cahier des charges par sous
domaine.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 95
Définition du Produit
Les spécifications précises du produit sont décrites ainsi que les contraintes
de réalisation. A l'issue de cette phase, les fournitures intermédiaires sont
le dossier de spécifications fonctionnelles et une première version du
manuel utilisateur.
On peut également désigner cette phase par le terme analyse des besoins. A
l'issue de cette phase, le client et le fournisseur sont d'accord sur le produit
à réaliser et les contraintes auxquelles il doit obéir ainsi que sur la façon de
l'utiliser et en particulier sur l'interface utilisateur qu'il s'agisse d'une
interface homme-machine ou d'une API.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 96
Planification et gestion de projet
Il est évident que le client comme le développeur doivent être d'accord sur
les coûts et la durée du projet. La phase de planification permet de
découper le projet en tâches, de décrire leur enchaînement dans le
temps, d'affecter à chacune une durée et un effort calculé en
homme*mois.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 97
Conception globale
A l'issue de cette phase les produits intermédiaires sont
- le dossier de conception
- le plan d'intégration
- les plans de tests
- le planning mis à jour
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 98
Codage et tests unitaires
A l'issue de cette phase les produits intermédiaires sont
- les modules codés et testés
- la documentation de chaque module
- les résultats des tests unitaires.
- le planning mis à jour
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 99
Intégration
Chaque module testé est intégré avec les autres suivant le plan d'intégration
et l'ensemble est testé conformément au plan de tests.
A l'issue de cette phase, les produits intermédiaires sont:
- le logiciel testé
- les tests de régression
- le manuel d'installation
- la version finale du manuel utilisateur
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 100
Qualification
Lorsque le logiciel est terminé et les phases d'intégration
matériel/logiciel achevées, le produit est qualifié, c'est à dire testé en
vraie grandeur dans des conditions normales d'utilisation. Cette phase
termine le développement. A l'issue de cette phase le logiciel est prêt
à la mise en exploitation
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 101
Maintenance
Lorsque le produit a été accepté, il passe en phase de maintenance jusqu'à son
retrait. C'est pendant cette phase que tous les efforts de documentation faits pendant
le développement seront particulièrement appréciés de même que la transparence
de l'architecture et du code.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 102
Durée de cycle de vie
Durée de cycle de vie
La durée d'un cycle de vie est très variable d'un projet à l'autre.
Exemple 1 : SGBD RELATIONNEL
- Premier prototype: 5 à 7 ans
Investissement > 100 H x A
- Premier système commercial: 3 à 4 ans
Investissement > 150 H x A
- Maintenance > 10 ans
10 à 15 H x A par an
- Relivraison tous les 6 mois /1an
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 103
Durée de cycle de vie
Exemple 2: Langage ADA
- Définition et analyse des besoins: 3 ans
4 candidats retenus par le DOD
Premier compilateur prototype
- Compilateur industriel : 3 ans
Investissement > 50 H x A
- Maintenance : > 15 ans
Investissement 5 à 10 H x A par an
Relivraison tous les 1 à 2 ans.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 104
Facteurs d'instabilité
Le modèle de cycle de vie n'est pas une panacée, malgré les précautions
prises, des facteurs d'instabilité subsistent:
Facteurs externes: l'utilisateur évolue, l'environnement évolue
- Environnement modifié par le logiciel,
- Evolution de la législation,
- Evolution de la technologie,
- Evolution du marché et de la concurrence.
Facteurs internes: l'équipe de développement évolue
- Individus membres de l'équipe,
- Qualification de ces individus,
- Organisation qui gère le projet.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 105
Récapitulation : Les tâches d'un projet logiciel par
activités et par phases
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 106
CYCLE DE VIE DES LOGICIELS EN
CASCADE ET EN V
Modèle en cascade
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 107
CYCLE DE VIE DES LOGICIELS EN
CASCADE ET EN V
Modèle en V
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 108
Analyse de ces modèles de cycle de vie
La représentation en V tient d'avantage compte de la réalité, le processus de développement n'est pas
réduit à un enchaînement de tâches séquentielles.
Elle montre que:
- c'est en phase de spécification que l'on se préoccupe des procédures de qualification
- c'est en phase de conception globale que l'on se préoccupe des procédures d'intégration
- c'est en phase de conception détaillée que l'on prépare les tests unitaires
Le modèle de cycle de vie en V permet d'anticiper sur les phases ultérieures de développement du
produit. En particulier le modèle en V permet de commencer plus tôt:
- Plan de tests de qualification,
- Plan d'évaluation des performances,
Les deux modèles permettent de développer parallèlement différents modules lorsque la phase de
conception globale est validée
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 109
Analyse de ces modèles de cycle de vie
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 110
MODÈLE EN SPIRALE (BOEHM 1988)
• Proposé par B. Boehm en 1988, ce modèle de cycle de vie tient compte de la possibilité
de réévaluer les risques en cours de développement.
La démarche:
− Identifier les risques, leur affecter une priorité,
− développer une série de prototypes pour identifier les risques en commençant par le
plus grand risque
− utiliser un modèle en V ou en cascade pour implémenter chaque cycle
− si un cycle concernant un risque a été achevé avec succès,
− évaluer le résultat du cycle et planifier le cycle suivant
− si un risque n'a pu être résolu, terminer le projet immédiatement
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 111
MODÈLE EN SPIRALE (BOEHM 1988
Modèle en spirale d'après [Boehm 88]
1. détermination des objectifs du cycle, des alternatives pour les
atteindre et des contraintes ; à partir des résultats des cycles
précédents , ou de l'analyse préliminaire des besoins;
2. analyse des risques, évaluation des alternatives à partir de
maquettage et/ou prototypage;
3. développement et vérification de la solution retenue, un modèle «
classique » (cascade ou en V) peut être utilisé ici ;
4. revue des résultats et vérification du cycle suivant.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 112
MODÈLE EN SPIRALE (BOEHM 1988
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 113
Analyse des risques
• risques humains:
− défaillance du personnel ; surestimation des compétences
− travailleur solitaire, héroisme, manque de motivation
• risques processus
− pas de gestion de projet
− calendrier et budget irréalistes ;
− calendrier abandonné sous la pression des clients
− composants externes manquants ;
− tâches externes défaillantes ;
− insuffisance de données
− validité des besoins ;
− développement de fonctions inappropriées
− développement d'interfaces utilisateurs inappropriées
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 114
Analyse des risques
• risques technologiques
− produit miracle, "plaqué or";
− changement de technologie en cours de route
− problèmes de performance
− exigences démesurées par rapport à la technologie
− incompréhension des fondements de la technologie
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 115
Conditions d'application
Le modèle en spirale s'applique essentiellement en interne , lorsque les
clients et les fournisseurs font partie de la même entreprise, si l'analyse
de risque démontre que le projet doit être continué, une équipe peut être
réaffectée au projet. Alors que dans une relation client-fournisseur
ordinaire, il y a eu signature de contrat et donc l'effort doit être estimé à
l'avance. Le modèle en spirale ne peut donc s'appliquer. Ou bien il doit
être adapté en signant des contrats partiels pour chaque itération.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 116
Modèles de données
schéma entité- association
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 117
organisation des informations
• Faire l'inventaire des éléments d’informations circulant dans le système :
existants et demandés.
• Plusieurs approches sont possibles :
• Orientée Donnée
• La plus complète (orientée traitement) est basée sur :
• la création du Modèle Conceptuel d’Activité (MCA) et,
• du Modèle Conceptuel de Communication (MCC).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 118
Modèle Conceptuel de Données (MCD)
• Toute donnée recensée doit être mémorisée.
• Le MCD modélise cette mémoire (collective) du système.
• Un formalise de référence :
◦ le modèle Entité-Association(MEA) ou Entity Relation Ship Model
◦ Concepts d’entités et d’associations.
◦ Particulièrement adapté aux Base de Données relationnelles.
◦ Le modèle le plus utilisé pour représenter dans un premier temps la
structure de données
119
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer
Modèle Conceptuel de données
• Deux utilisations des schémas EA :
Concevoir le schéma de la base de données avant que la moindre donnée ne
soit stockée : c’est la conception conceptuelle. A partir d’un tel schéma, il est
plus clair de raisonner sur les concepts à stocker, les attributs dont on a besoin,
les relations entre les concepts… Une fois terminée, un tel schéma est traduit
selon des règles précises en son schéma relationnel correspondant
Faire de la réingénierie : à partir d’une base existante complexe, dont la
documentation est inexistante, on peut créer un schéma EA pour avoir une
première vue synthétique de la situation et prendre des décisions comme
restructurer la base, la normaliser, en créer une nouvelle plus large permettant de
stocker les données de l’ancienne,…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 120
Concepts de base
• Modèle entité-association (EA)
• Le modèle EA propose une description sur la base des trois concepts de
base qui sont l’identifications des objets, des liens entre ces objets et des
propriétés de ces objets :
- Objet entité
- lien association
- Propriété attribut
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 121
Définitions
• Entités
Une entité est un objet concret ou abstrait du monde réel à propos duquel on veut
enregistrer des informations.
ex : M. Dupont, Mme Dupont, un crayon, l’atelier de distribution, le bureau du
directeur…
Un type d’entité (TE) est un ensemble d’entités qui possèdent les mêmes
caractéristiques.
ex : Personne (représentation de l’ensemble des personnes telles que les entités M.
Dupont et Mme Dupont), Employé (représentation de l’ensemble des employés),
Article (représentation de l’ensemble des articles tels que les crayons et les
livres)…
Un attribut d’une entité est une propriété associée à un TE. L’ensemble des
attributs d’un TE
représente l’ensemble des informations inhérentes que l’on souhaite conserver sur
les entités du TE.
ex : (nom, prénom, salaire) sont des attributs du TE Employé…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 122
Entités
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 123
Entités
On distingue deux types d’entités :
- Entité forte = entité qui n’a pas besoin d’une autre entité pour exister.
- Entité faible = entité qui a besoin d’une autre entité pour pouvoir être
définie. Elles sont
notées avec un double rectangle. On distingue deux cas:
1er cas :
Employé est une entité faible car
l’ensemble des numéros de
sécurité sociale des élèves est
contenu dans l’ensemble des
numéros de sécurité sociale des personnes.
On dit qu’il y a un lien d’héritage entre
les deux entités.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 124
Entités
2nd cas :
Appartement est une entité
faible car sa clé est
composée de l’attribut clé de
Bâtiment (N°Bâtiment) et d’un
autre attribut (N°Appart.).
On dit qu’il y a un lien
d’identification entre les deux
Entités.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 125
Associations
Une association (ou une relation) est un lien entre plusieurs entités, où
chaque entité liée joue un rôle déterminé ; si l’association lie des entités
du même type, elle est dite cyclique ou réflexive et, dans ce cas, la
spécification des rôles est indispensable.
ex : lien de travail entre l’employée M. Durant et le service de gestion,
lien de mariage entre M. X et Mme Y.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 126
Associations
Un type d’association (TA) est un ensemble d’associations qui
possèdent les mêmes caractéristiques (liant des entités de mêmes types
avec mêmes rôles et mêmes propriétés, respectifs)
ex : le TA « fabrique » lie le TE « Atelier de fabrication » au TE «
Article », le TA « travaille » lie « Employé » à « Service », le TA « est-
marié-avec » lie « Personne » à lui-même.
Un attribut d’une association est une propriété associée à un TA.
L’ensemble des attributs d’un TA représente l’ensemble des
informations inhérentes que l’on souhaite conserver sur les
associations du TA.
ex : (quantité-en-fabrication) est un attribut du TA fabrique…
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 127
Association (Bref)
Une association est un lien entre deux ou plusieurs entités
➢ Une classe d’association est un lien entre deux ou plusieurs Types
d’entité
➢ Chaque entité joue un rôle dans l’association Dans la pratique on parle
d’association pour la classe d’association
Dans la pratique on parle d’association pour la classe d’association
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 128
Propriétés – Attribut
• Dans les associations, l’attribut doit obligatoirement relier les entités (Le role relie, un acteur
et le film dans le quel il a joué,
• Une propriété (attribut) peut-être
o Monovaluée : nom, c’est une composante atomique
o Composée ; adresse=ville, rue, numéro , code-pPostal → multivaluée
• La valeur de l’attribut est son occurrence
• Un attribut est constitué de :
o D’un identifiant qui sert d’identifiant à l’ensemble des attributs
o De propriétés qui sont les attributs hors identifiant
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 129
identifiant
• Identifiant d’une entité
➢ Chaque occurrence doit être identifié d’une manière unique ; clé naturelle
➢ L’identifiant est une valeur qui identifie sans ambiguïté une entité
➢ L’identifiant peut être artificiel, c’est une surrogate Key
➢ L’identifiant naturel est la clé primaire
➢ Généralement la clé d’identifiant est un attribut souligné
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 130
Clé artificielle
• Dans le domaine des bases de données, une clé artificielle (en opposition
à une clé naturelle), aussi parfois appelée clé de remplacement (de
l'anglais surrogate key) désigne un ensemble de données adjointes aux
données d'une table pour les indexer.
• La génération de la clé artificielle est effectuée par le concepteur de la
table. Toute clé indexant chaque ligne de manière unique est valable.
Parmi les méthodes de génération courantes de clé artificielle nous
pouvons citer les clés incrémentales (les lignes sont numérotées au fur et
à mesure de leur introduction dans la table).
il existe un risque significatif que des doublons de lignes existantes soient
introduits ultérieurement dans la table
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 131
Identifiant d’une association
• Implicite, obtenu en juxtaposant identifiants des entités associées à
l’association
• Les entités-types qui interviennent dans une association sont
appelés :participants
• L’ensemble des participants d’une association est appelé : collection
• La dimension d’une association est le nombre d’entité rattaché à
l’association
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 132
Exemple:
Schéma
global
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 133
Typologie des associations : cardinalités des rôles (1)
Une association permet de relier, une ou plusieurs entités. Le rôle
détermine la façon dont les entités sont reliées.
— 3 types d’association
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 134
Typologie des associations : cardinalités des
rôles (2)
Le rôle d’une association est défini par deux nombres (min, max)
représentant le nombre de fois minimum et le nombre de fois
maximum qu' ’une entité participe à une association.
Les valeurs possibles sont : (0,1), (1,1); (0,N), (1,N)
• Min : Correspond à la réponse à la question :
— combien de fois au moins une entité de
A est relié à une entité de B
• Max : correspond à la réponse à la question :
— combien de fois au plus une entité de A est
relié à une entité de B
— Attention ces questions, il faut les poser dans
les deux sens de A vers B puis de B vers A.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 135
Exemple (1)
Schéma globale
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 136
Exemple (2)
Commentaires :
Acteurs vers Films : le rôle de type 1,N
- (1) un acteur a joué dans au moins un film
- (N) un acteur peut avoir joué dans plusieurs films
De Films vers Acteurs 0,N:
-(0) : un film n’ayant pas d’acteurs, possible si c’est un film
documentaire
-(N) : un film peut avoir plusieurs acteurs
De Films vers Réalisateurs :
-Un film a au moins un réalisateur min=1 d’ailleurs souvent
- Il y a au plus un réalisateur (max=1). Un film a un seul réalisateur
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 137
Règles de complétude
Chaque classe d ’objets (entité , association, attribut) doit posséder
toutes les propriétés requises par le modèle EA.
Pour une entité
• Un nom
• Une liste d ’attributs
• Un identifiant
Pour une association
• Un nom
• La liste des entités qui participent à l ’association
• Les rôles et leur cardinalité
• La liste des attributs (éventuellement)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 138
Démarche de conception
• Identifier les entités les plus naturelles (sujets, compléments)
• Identifier les associations entre ces entités ( verbes n’exprimant pas de
dépendances fonctionnelles)
• Identifier les attributs et les identifiant de ces entités et de ces association
(compléments de verbe exprimant des dépendances fonctionnelles).
• Exprimer les cardinalités et les rôles (distinguer le singulier du pluriel).
• Enumérer des CI (Contraintes d ’Intégrité)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 139
Contraintes d ’Intégrité
• Dans une base de données, une contrainte d'intégrité permet de garantir
la cohérence des données lors des mises à jour de la base. En effet, les
données d'une base ne sont pas indépendantes, mais obéissant à des
règles sémantiques, après chaque mise à jour, le SGBD contrôle
qu'aucune contrainte d'intégrité n'est violée.
Il existe deux types de contraintes :
sur une colonne unique,
ou sur une table lorsque la contrainte porte sur une ou plusieurs
colonnes.
Les contraintes sont définies au moment de la création des tables.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 140
SYNTHAXE EXEMPLE
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 141
Lien entre le modèle Entité Association et
le modèle relationnel
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 142
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 143
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 144
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 145
OPTIMISATION
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 146
Passage d’un schéma Entité/Association à un Schéma Relationnel (3)
Résultat le schéma Final de la base de données est :
• ACTEURS(NumActeur, Nom, Prénom)
• FILMS(NumFilm, Titre, MetteurEnScène,NumReal)
• CINEMA(NumCinéma, Nom, Adresse)
• REALISATEURS(NumReal,Nom, Prénom)
• JOUE(NumACteur, NumFilm, Rôle)
• AFFICHE(NumFilm, NumCinema,Date)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 147
Exemple a réaliser
• Dans une entreprise, un département est identifié par un nom et
caractérisé par une localisation.
Un employé est caractérisé par un numéro, son nom, son grade et le
département dans lequel il travaille.
Le numéro d’un employé est unique dans un département mais pas
dans l’entreprise.
• Donner le MCD, en précisant les attributs.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 148
Exemple 2
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 149
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 150
Exemple3: Etablir Le MCD
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 151
MCD
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 152
MLD
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 153
Exemple 4 : Examens
• Les Examens nationaux sont gérés par l'Inspection Académique et
concernent les élèves de cette académie. Les élèves doivent
obligatoirement remplir un dossier d'inscription numéroté avant le 31
décembre de l'année scolaire en cours. Ce dossier comprend le nom, la date
de naissance, l’établissement de l’élève et le nom de l'examen. Un
établissement est défini par son code, son nom, son adresse et la ville. •
Chaque examen, comprend une série d'épreuves qui lui est propre, chacune
dotée d'un coefficient. Chaque épreuve d'examen se déroule donc à la
même date dans toute l’académie l’académie.
• La gestion de ces examens comprend aussi la convocation d'une dizaine
d'enseignants de l'académie à la commission de rédaction du sujet de
chaque épreuve. Cette commission se réunit à l'inspection académique au
plus tard 2 mois avant la date de l'épreuve. Les corrections ont lieu le
lendemain de l'épreuve. Un enseignant est connu par son matricule, son
nom, son téléphone, adresse, ville et son établissement.
• La centralisation des notes de l'élève est faite sur un bordereau transmis
au jury chargé d'examiner l'admission définitive du candidat.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 154
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 155
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 156
Extension
• associations réflexives
Catégorie des associations réflexives
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 157
reflexives (n,n)
• reflexives (n,n) Symétriques
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 158
reflexives (n,n)
• relation récursives (n,n) non symétrique
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 159
reflexives (n,n)
• Association réflexive (n, n) avec propriétés
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 160
reflexives (n,n)
• Associations réflexives [1, n]
elles sont non symétriques
RG1: un salarié peut être encadrant de 0 ou plusieurs salariés
RG2: un salarié peut avoir 0 ou 1 encadrant
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 161
Exemples association réflexive
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 162
Exemples association réflexive
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 163
Entité faible
• On appelle une entité faible, une entité dépendante d’une autre entité
de cardinalité max de 1. On entoure sa cardinalité avec des
parenthèses. L’entité dont elle dépend s’appelle une entité forte
(cardinalité max de n).Son identifiant devient un identifiant relatif car
lors du passage au MLD, la relation récupère l’identifiant de l’entité
forte, ce qui donne pour clef primaire l’identifiant de l’entité forte et
l’identifiant de l’entité faible. Cet identifiant ne suffit pas à lui-même,
il est relatif.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 164
Entité faible
• Exemple : immeuble et appartement
Un appartement à un numéro dans l’immeuble.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 165
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
• Les dépendances fonctionnelles expriment la relation qui existent
entre les propriétés. On dit qu’une propriété B d’une entité E2 dépend
fonctionnellement d’une propriété A d’une autre entité E1, si pour
chaque valeur A déterminé une et une seule valeur de B.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 166
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 167
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
• Une contrainte d’intégrité fonctionnelle (CIF) est définie 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.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 168
Relation CIF inter relations
• Un employé occupe une poste à une date donnée
• On modifiant l’association Occuper, Un employé peut occuper plusieurs
postes en même temps
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 169
Relation CIF inter relations
• CIF dans toutes les occurrences de l’association occuper et pour tous
couple Compte Date, on peut avoir qu’une seule valeur de Poste
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 170
Le passage au modèle logique des données : MLD
• Modèle conceptuel des données(MCD) (Rappel)
Le modèle conceptuel des données (MCD) a pour but d'écrire de façon
formelle les données qui seront utilisées par le système d'information. Il
s'agit donc d'une représentation des données, facilement compréhensible,
permettant de décrire le système d'information à l'aide d'entités. La
description par la méthode des entités-association (MERISE ) utilise les
concepts présentés dans la première partie :
• Entité
• Association
• Identification
• Attributs
• cardinalité
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 171
Modèle Logique de Données (MLD)
permet de modéliser la structure selon laquelle les données seront stockées
dans la future base de données
- est adapté à une famille de SGBD : SGBD relationnels (MLD
Relationnels ou MLD-R)
- utilise le formalisme graphique Merise ou UML
- permet d’implémenter la base de données dans un SGBD donné du
type relationnel
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 172
Passage du MCD au MLR
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 173
Règle 1 : transformation d’une entité
Une entité du MCD devient une table
• Chaque ligne correspond à un enregistrement
• Chaque colonne correspond à un attribut (champ)
• L’identifiant devient la clé primaire de la table
• Le nom de l’entité devient le nom de la table
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 174
Règle 2 : Transformation d’une association
sans propriété type (*,n)-(1,1)
Une commande est passé par un seul client
• Un client peut n’avoir passé aucune commande
• On duplique dans la table COMMANDE, l’identifiant du CLIENT
• Commande est une entité faible car elle dépend de client
• Client est une entité forte
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 175
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
• Relation du type N-N (cardinalité max des deux côtés de l’association à n)
• La relation devient une entité
• La clé primaire de l’association est composée des clés étrangères des relations
correspondant aux entités de part et autre de la relation
• Les éventuelles propriétés de l’association deviennent des attributs de l’entité
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 176
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
• Exemple 1- un client (nouveau) peut n’avoir aucune commande
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 177
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
Exemple2: l’association est porteuse d’un attribut
L’attribut de l’association est dans l’entité correspondant
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 178
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
Exemple3 : supporte la valeur nulle
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 179
Cas particulier – associations 1,1
Association : 1,1 – 1,1
Exemple : course à la voile : 3 solutions
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 180
Association binaire 0,1-0,1
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 181
Associations ternaires ( n-aires)
C’est la généralisation de l’association (1,n)/(1,n)
• L’association gère une table , qui reçoit en clé étrangère , les
clés primaires des tables associées
• La composition des clés étrangères devient la clé primaire de
la table association
• Les données éventuelles de l’association deviennent les
attributs de la table association
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 182
Associations ternaires ( n-aires)
• Exemple: ECURIE: Ensemble des pilotes de course ou des
cyclistes qui courent pour une même marque.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 183
Associations ternaires ( n-aires)
• Qui se traduit en
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 184
Traduction des associations réflexives en relation
• traduction des associations réflexives [n , n]
• Une association réflexive [n,n] sur une entité E est traduite en une relation de
même nom avec deux clefs étrangères. L'une d'elles porte le nom de l'identifiant
de l'entité et l'autre, le nom de l'association. La clef primaire de cette relation est
constituée de ces deux attributs
• Exemple :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 185
Traduction des associations réflexives [1,n]
• Une association réflexive [1 , n] est traduite en une clé étrangère dans la
relation représentant cette entité. Le nom de cette clé étrangère est celui
de l’association si c’est le nom de l’association qui étiquette le trait de
cardinalité maximale 1, sinon c’est le nom de l’association réciproque
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 186
Traduction des associations réflexives [1 ,
1]
• Une association réflexive [1,1] sur une entité est traduite en une clé
étrangère dans la relation représentant cette entité. Le nom de cette clé
étrangère est celui de la relation
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 187
extensions du formalisme Entité-relation
• sous type – sur type
• Les occurrences d’une entité ont des propriétés communes, cependant
certaines se distinguent en constituant des groupes séparés. Ces groupes
constituent des sous-groupes ou sur groupes suivant la manière ou ces
occurrences sont constituées.
• Les propriétés communes constituent l’entité générique, les autres
occurrence sont regroupées dans des entités spécifiques avec des
dépendances fonctionnelles fortes (1,1-*,n) .
• Les entités spécifiques héritent de l’identifiant de l’entité générique (et de
ses propriétés. C’est une association de type hiérarchique de généralisation
(sur type) ou de spécialisation (sous type)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 188
extensions du formalisme Entité-relation
• Définition:
• Une Contrainte d’intégrité est une propriété que doivent satisfaire les
données appartenant à la base de données, permet de limiter les
occurrences et assurer la cohérence des données.
• Une Contrainte d’intégrité peut être appliquer aux:
• Attributs: des conditions limitant les valeurs de ce dernier
• Entité se sont les contraintes issues de la théorie
• Associations des ensembles
• Une contrainte ne peut être définie que sur des objets de même
nature, de même identifiant.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 189
extensions du formalisme Entité-relation
• Pour les entités on ne peut appliquer des contraintes que dans le cas
d’héritage
• Pour les contraintes entre les entités et les associations on distingue 5:
1.Partition
2.Totalité
3.Exclusion
4.Inclusion
5.Unicité
• Deux principes mathématiques:
• Couverture : A U B = C
• Disjonction : A ∩ B = ∅
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 190
extensions du formalisme Entité-relation
• Exemple : schéma de spécialisation (sous type)
• Un assuré est un particulier ou une entreprise, mais pas les deux à la fois
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 191
extensions du formalisme Entité-relation
La contrainte consiste à vérifier que les assurés de type "particulier" et ceux des
"sociétés forment une intersection vide :
PARTICULIER ∩ SOCIÊTÈ = ∅
La spécialisation consiste à
•Modéliser l’entité ASSURÊ dont les caractéristiques sont communes aux
PARTICULIERS et aux SOCIÊTÊS
•Considérer les entités PARTICULIER et SOCIÈTÈ comme des spécialisations de
l’entité ASSURÊ
•Seule l’entité possède un identifiant apparait dans le MLD (ajout de la contrainte
d’intégrité)
•Il y a , dans cet exemple une contrainte d’exclusion entre les entités du sous-type
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 192
extensions du formalisme Entité-relation
• exemple 2 ; schéma de généralisation (sur type)
• on fait apparaitre le groupe des étudiant-salarié à partir des étudiants et
des salariés . le groupe des étudiant-salariés est un sous-type des entités
salaries et étudiants , qui sont un sur type de l’entité étudiant-salarié
ETUDIANT ∩ SALARIÈ = ETUDIANT-SALARIÈ
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 193
contraintes d’héritage – contrainte
d’interrelations
L’indication de contraintes sur les sous-types permet de préciser les occurrences les
types d’occurrences présentes pour une occurrence de l’entité généralisée
Partition : + ou XT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 194
contraintes d’héritage – contrainte
d’interrelations
Exclusion X : disjonction et non couverture
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 195
contraintes d’héritage – contrainte
d’interrelations
Totalité : T – pas de disjonction et couverture
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 196
contraintes d’héritage – contrainte
d’interrelations
aucune contrainte
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 197
contraintes d’héritage – contrainte
d’interrelations
contrainte interrelations : contrainte sur les associations
Les types de contraintes d’intégrité relatives aux associations sont les suivants :
• Contrainte de partition :XT
• Contrainte de totalité : T
• Contrainte d’exclusion : X
• Contrainte d’égalité (ou simultanéité) :S
• Contrainte d’inclusion. :I
Pour chaque contrainte, il est nécessaire de préciser
• Son type
• L’entité concernée par la contrainte (on l’appelle pivot)
• Les 2 associations liées par la contrainte
Ces règles ne sont pas implantées au niveau relationnel, mais à travers des triggers
ou équivalents
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 198
contraintes d’héritage – contrainte
d’interrelations
Contrainte de partition (+ ou XT)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 199
contraintes d’héritage – contrainte
d’interrelations
Contrainte de Totalité (T)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 200
contraintes d’héritage – contrainte
d’interrelations
Contrainte d’exclusion (X)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 201
contraintes d’héritage – contrainte
d’interrelations
Il y a deux contraintes supplémentaires : l'inclusion (une occurrence d'une
association doit exister dans une autre association) et l'égalité (inclusion dans les
deux sens, une occurrence doit exister dans les deux relations).
Contrainte d’égalité ou de simultanéité (= ou S)
Une contrainte d'égalité ou de simultanéité : toute occurrence qui participe à
l'association A participe également à l'association B
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 202
contraintes d’héritage – contrainte
d’interrelations
Contrainte d’inclusion ( I )
Un client réserve mais ne loue pas forcément un voilier. Toute location a fait l'objet
d'une réservation préalable. La contrainte d'inclusion va de louer qui est incluse
dans réserver le pivot est le voilier. Il y a la notion de pivot
Exemple : Un voilier ne peut être loué que s'il a été réservé. Si un locataire loue,
c'est qu'il a réservé.
Il y a une contrainte d'inclusion de 'Louer' dans ' Réserver' avec Locataire comme
pivot.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 203
ANNEXE
• Différents modes de représentation du modèle entité – relation
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 204
Modèle conceptuel de communication
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 205
Acteurs
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 206
Flux d’information
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 207
Acteurs externes
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 208
Acteurs internes
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 209
MCC: Exemple
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 210
Réalisation d’un MCC
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 211
Réalisation d’un MCC
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 212
Réalisation d’un MCC
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 213
MCC
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 214
Exemple d’application
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 215
Résultat
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 216
Modèle Conceptuel des Traitements
La séparation des données et des traitements
La distinction entre données et traitement constitue une
composante fondamentale de Merise.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 217
Exemple d’un MCT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 218
Les quatre niveaux de la méthode Merise
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 219
Une approche par niveaux
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 220
Définition du MCT
• La modélisation conceptuelle des traitements a pour objectif de
représenter formellement les activités exercées dans le système
d’information.
• Donc l’objectif est d’identifier son fonctionnement.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 221
Définition du MCT
Le Modèle Conceptuel des Traitements (MCT ) permet de décrire les activités qui sont
effectuées dans le domaine d'étude, c'est-à-dire comment l'entreprise doit interagir
avec son environnement en faisant abstraction des aspects organisationnels.
En d'autres termes le MCT permet de dire comment l'entreprise doit réagir aux sollicitations
externes sans dire qui fait quoi, ou avec quels moyens.
Il permet ainsi de formaliser les règles de gestion de l'entreprise.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 222
Définition du MCT
• Qui fait l’action?
• Quand l’action est réalisée?
• Ou l’action est réalisée?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 223
Formalisme de modélisation conceptuelle des
traitements
• La modélisation des traitements se réalise en deux étapes:
1.La première étape consiste à décrire textuellement le fonctionnement
du système d’information.
2.La deuxième étape consiste à traduire votre texte sous forme d’une
représentation graphique: MCT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 224
Formalisme de modélisation conceptuelle des
traitements
• Acteur: Client
• Evènement résultat: commande
• Etat: Commande traitée, en attente ……..
• Opération: traitement de commande
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 225
Qu’est ce qu’un acteur?
• Avec qui le système d’information fait des échanges avec son
environnement?
• Exemple:
Comptable
• Client Vendeurs
Stock
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 226
L’événement/Résultat
• Le SI échange de l’information avec son évènement externe.
• Les flux reçus de son environnement : Evénement
• Les flux émis : Résultats
Evènement Système Résultat
d’information
• Un évènement est émis par un acteur a destination SI
• Un résultat est émis par une activité à destination Acteur
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 227
L’événement/Résultat
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 228
L’état
• Commande en attente,
• Commande traitée,
• Demande d’inscription en attente,
• Demande d’inscription acceptée
• L’état modélise une situation du système d’information.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 229
L’état
• Commande en attente,
• Commande traitée,
• Demande d’inscription en attente,
• Demande d’inscription acceptée
• L’état modélise une situation du système d’information.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 230
L’opération
• L’opération constitue un ensemble d’actions déclenchée par la
survenance d’un ou de plusieurs évènements.
• La segmentation de plusieurs opérations sera justifié que par l’attente
d évènement d’un acteur externe.
• Les opérations déclenchés par des acteurs internes seront regroupés
en une seule opération.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 231
L’opération
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 232
L’opération
de façon graphique une opération est représentée par un rectangle:
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 233
Synchronisation
La synchronisation associée à une opération est une proposition logique définie sur
les évènements déclencheurs de cette opération. Elle permet d'expliciter les règles
qui doivent régir le déclenchement de l'opération.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 234
règles d'émission
Ce sont également des propositions logiques. Elles servent à expliquer
les règles qui doivent régir la production des évènements résultats.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 235
concept d'action:
• Il permet d'appréhender toute entité active qui présente un intérêt pour le domaine
d'étude.
• Une action est représentée graphiquement de la façon suivante:
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 236
Modèle Organisationnel des traitements
• MOT= MCT + lieu + moment + nature
• Lieu
• Qui exécute ? Acteurs (MCC)
• Moment
• Quand exécute t on l’opération?
• Agencement temporel
• Nature
• Manuelle
• Automatique
• Interactive
• Différé
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 237
Du MCT au MOT
• Importer la liste des acteurs du MCC
• Importer le MCT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 238
1 – Import de la liste des acteurs
Période Acteur A Acteur B Acteur C Type
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 239
2 - Import du MCT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 240
Répartition des opérations en les acteurs
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 241
Division des traitements répartis entre
plusieurs acteurs
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 242
Division des traitements répartis sur
plusieurs périodes
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 243
Introduction aux Bases de données
1.Introductions aux SGBD et au modèle relationnel.
2.Langage d’interrogation SQL
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 244
Introduction
• 1960 Uniquement des systèmes de gestion de fichiers plus ou
moins sophistiqués
• 1970 Début des SGBD réseaux et hiérarchiques proches des
systèmes de gestion de fichiers
• 1980 Les SGBDr font leur apparition sur le marché
• 1990 Les SGBDr dominent le marché et apparaissent les SGBD
orientés objets (SGBDOO)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 245
Qu'est-ce qu'une base de données ?
De façon informelle, on peut considérer une Base de Données
comme un ensemble structuré de données, centralisées ou non, servant
pour les besoins d'une ou plusieurs applications, interrogeables et
modifiables par un groupe d'utilisateurs en un temps opportun.
Plus formellement, une BD est un ensemble d'informations
exhaustives, non redondantes, structurées et persistantes, concernant un
sujet.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 246
Système de Gestion de Base de Données
Un Système de Gestion de Base de Données peut être défini comme un
ensemble de logiciels prenant en charge la structuration, le stockage, la
mise à jour et la maintenance des données. Autrement dit, il permet de
décrire, modifier, interroger et administrer les données. C'est, en fait,
l'interface entre la base de données et les utilisateurs (qui ne sont pas
forcément informaticiens).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 247
Ob j e c t i f s d 'un SGBD
Un SGBD doit résoudre certains problèmes et répondre à des besoins précis :
- Indépendance physique : la façon de définir les données doit être
indépendante des structures utilisées pour leur stockage
- Indépendance logique : un utilisateur doit pouvoir percevoir
seulement la partie des données qui l'intéresse (c'est ce que l'on appelle
une vue) et modifier la structure de celle-ci sans remettre en cause la
majorité des applications
- Manipulation aisée des données par des non informaticiens, ce qui
suppose des langages "naturels"
- Accès efficaces aux données et obtention de résultats aux
interrogations en un temps "acceptable"
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 248
Ob j e c t i f s d 'un SGBD
• Administration centralisée des données pour faciliter l'évolution de leur structure
- Non-redondance : chaque donnée ne doit être présente qu'une seule fois dans la
base afin d'éviter les problèmes lors des mises à jour
Cohérence (ou intégrité) : les données ne doivent présenter ni ambiguïté, ni
incohérence, pour pouvoir délivrer sans erreur les informations désirées. Cela
suppose un mécanisme de vérification lors de l'insertion, de la modification ou de
la suppression de données
- Partage des données pour un accès multi-utilisateur simultané aux mêmes
données. Il faut entre autre assurer un résultat d'interrogation cohérent pour un
utilisateur consultant une base pendant qu'un autre la modifie
- Sécurité des données : robustesse vis-à-vis des pannes (il faut pouvoir retrouver
une base "saine" en cas de plantage au cours de modifications) et protection par
des droits contre les accès non autorisés
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 249
Propriétés d'un SGBDr
• les propriétés fondamentales d'un SGBDr sont:
- Base formelle reposant sur des principes parfaitement définis
- Organisation structurée des données dans des tables interconnectées (d'où le
qualificatif relationnelles), pour pouvoir détecter les dépendances et redondances
des informations
- Implémentation d'un langage relationnel ensembliste permettant à l'utilisateur de
décrire aisément les interrogations et manipulation qu'il souhaite effectuer sur les
données
- Indépendance des données vis-à-vis des programmes applicatifs (dissociation
entre la partie "stockage de données" et la partie "gestion" - ou "manipulation")
- Gestion des opérations concurrentes pour permettre un accès multi-utilisateur
sans conflit
- Gestion de l'intégrité des données, de leur protection contre les pannes et les
accès illicites
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 250
Composants des SGBD
- la description des données au moyen d'un Langage de Définition de Données
(LDD). Le résultat de la compilation est un ensemble de tables, stockées dans un
fichier spécial appelé dictionnaire (ou répertoire) des données
- la manipulation des données au moyen d'un Langage de Manipulation de
Données (LMD) prenant en charge leur consultation et leur modification de façon
optimisée, ainsi que les aspects de sécurité
- la sauvegarde et la récupération après pannes, ainsi que des mécanismes
permettant de pouvoir revenir à l'état antérieur de la base tant qu'une modification
n'est pas finie (notion de transaction)
- les accès concurrents aux données en minimisant l'attente des utilisateurs et en
garantissant l'obtention de données cohérentes en cas de mises à jours simultanées
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 251
Architecture d’un SGBD
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 252
ARCHITECTURE DES SGBD
L'architecture à serveur de fichiers
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 253
L'architecture à serveur de fichiers (2)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 254
L'architecture à serveur de bases de données (1)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 255
L'architecture à serveur de bases de données (2)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 256
L'architecture à serveur de bases de données (3)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 257
L’ARCHITECTURE À TROIS
NIVEAUX
une architecture intégrant les trois niveaux de schémas : externe,
conceptuel et interne
cette architecture permet de bien comprendre les niveaux de description
et transformation de données possible dans un SGBD
L’architecture est articulée autour du dictionnaire de données et
comporte deux parties :
1.un ensemble de modules (appelés processeurs) permettant d’assurer
la description de données et donc la constitution du dictionnaire de
données
2.une partie permettant d’assurer la manipulation des données, c’est-à-
dire l’interrogation et la mise à jour des bases.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 258
Trois couches
• Couche externe
description et manipulation des données dédiés a un groupe d’utilisateurs
Couche interne
stockage des données sur des supports physiques, gestion des structures de
mémorisation (fichiers) et d'accès (gestion des index, des clés, ...)
• Couche logique
description et manipulation abstraites des données
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 259
Trois couches (suite)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 260
Niveau conceptuel (1)
• le schéma conceptuel. Celui-ci peut donc être considéré comme la description du
contenu de la base : c'est le résultat d'un travail d'analyse et de conception d'un
système d'information automatisé.
• Un schéma conceptuel doit offrir les caractéristiques suivantes :
1.puissance de représentation : aspects structurels, contraintes existant dans
l'univers réel.
2.stabilité et flexibilité : l'ajout d'une nouvelle donnée ou d'une nouvelle contrainte
ne doit pas entraîner de changement important dans le schéma.
3.simplicité de compréhension : nombre d'éléments réduit, dissociation claire des
différents concepts.
4.simplicité d'utilisation : nombre restreint d'outils ou de primitives de
manipulation.
5.base formelle : la définition du schéma doit s'appuyer sur une méthode
rigoureuse, mathématique, pour éviter toute ambiguïté d'interprétation et pour
garantir la fiabilité des données.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 261
Niveau externe
• Le niveau externe comprend les "vues" spécifiques définies pour la
manipulation des données. Il prend en compte les contraintes d'accès
imposées par la nature des applications à considérer (indépendamment
des caractéristiques techniques) et exprime les besoins en données des
différents utilisateurs, ou applications.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 262
Niveau interne ou Physique
• Il correspond à la représentation en machine, aussi efficace que possible, du
schéma conceptuel : le schéma physique intègre les caractéristiques techniques
(choix du SGBD, du matériel, du système d’exploitation…).
• L'efficacité doit tenir compte d'une part des contraintes d'implantation (taille des
disques, optimisation du système de fichiers…), d'autre part des critères
d'utilisation (traitement interactif ou en batch, selon la fréquence d’utilisation et
la durée du traitement…).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 263
Architecture du type client-serveur (client-server architecture)
• programme d'application = client
• interface (« GUI ») + traitement du domaine d ’application
• SGBD = serveur de données « data server »
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 264
Architecture client / serveur
BD
R éseau
P rogram m e
SGBD
d'application
Logiciel Logiciel
interm édiaire interm édiaire
P ilote de P ilote de
télécom m unication télécom m unication
C lie nt S e rve ur
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 265
Architecture 3 tiers
BD
Réseau Réseau
Interface Application SG BD
Logiciel Logiciel Logiciel
interm édiaire interm édiaire interm édiaire
Pilote de Pilote de Pilote de
télécom m unication télécom m unication télécom m unication
C lient Serveur Serveur de
m ince d'application données
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 266
Base de données distribuées(1)
BD réparties:
•Les données sont distribuées et/ou dupliquées sur différents sites du réseau (ex:
internet) qui possèdent un certain degré d’autonomie. Chaque site peut comporter
une BD parallèle
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 267
Base de données distribuées(2)
BD BD
locale locale
Réseau Réseau
Program m e
SGBD réparti SGBD réparti
d'application
Logiciel Logiciel Logiciel
interm édiaire interm édiaire interm édiaire
Pilote de Pilote de Pilote de
télécom m unication télécom m unication télécom m unication
Serveur de Serveur de
Client
données données
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 268
Base de données parallèles
M ém oire vive
U nité de U nité de U nité de
traitem ent traitem ent traitem ent
D is que D is que D is que D is que D is que
BD parallèles: Les données peuvent être distribuées sur plusieurs disques d'un
même site, et l'exécution des requêtes peut être parallélisée sur les différentes
unités de traitement (CPU) du site.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 269
Entrepôt de données
• Base de données opérationnelle
• traitement des données quotidiennes et récentes
• Entrepôt de données (data wharehouse)
• grand volume de données historiques extraites de bases opérationnelles pour
le support à la prise de décision
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 270
LES TRANSACTIONS
Un utilisateur ou un programme d’application interagit avec la base de
données via des appels au SGBD exprimés sous forme de requêtes SQL.
Le SGBD garantit une qualité de service absolue dans l’exécution de ces
requêtes, garantie qui comporte quatre propriétés : atomicité, cohérence,
isolation et durabilité (ou ACID).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 271
LES TRANSACTIONS
Atomicité: L’exécution d’une requête est atomique si cette dernière, quoi qu’il
arrive, est exécutée complètement (en cas de réussite) ou pas du tout (en cas
d’échec ou d’incident).
Cohérence. Une requête de modification exécutée sur des données cohérentes
laisse celles-ci dans un état final également cohérent. Concrètement, le SGBD
garantit le respect de toutes les contraintes d’intégrité imposées aux données.
Isolation. Les opérations sur les données sont exécutées comme si chaque requête
disposait de la base de données pour elle seule.
Durabilité. Lorsque le SGBD a confirmé qu’une mise à jour a été effectuée avec
succès, il garantit qu’elle est permanente.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 272
Organisation de la mise en oeuvre d 'un SGBD
Quatre catégories de fonctions sont impliquées dans cette gestion de données :
- les tâches liées à l'architecture de données consistent à analyser, classifier et
structurer les données au moyen de modèles confirmés
- l'administration de données vise à superviser l'adéquation des définitions et des
formats de données avec les directives de standardisation et les normes internationales,
à conseiller les développeurs et les utilisateurs, et à s'assurer de la disponibilité des
données à l'ensemble des applications. L'administrateur assume en outre des
responsabilités importantes dans la maintenance et la gestion des autorisations d'accès
- les professionnels en technologie de données ont en charge l'installation, la
supervision, la réorganisation, la restauration et la protection des bases. Ils en assurent
aussi l'évolution au fur et à mesure des progrès technologiques dans ce domaine.
- l'exploitation de données consiste à mettre à disposition des utilisateurs les fonctions
de requête et de reporting (générateurs d'états), ainsi qu'à assurer une assistance aux
différents services pour qu'ils puissent gérer leur stock propre de données en
autonomie (service infocentre).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 273
CONCEPTS DES BASES DE DONNEES
• Tables, lignes et colonnes
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 274
CONCEPTS DES BASES DE DONNEES
• Tables, lignes et colonnes
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 275
Valeur null
• L'absence de valeur est indiquée par un marqueur spécial, dit valeur null.
Généralement représenté par <null> ou par rien.
Problème : plusieurs interprétations possibles
1. information pertinente mais inexistante pour l'entité
2. information non pertinente pour cette entité
3. information existante mais actuellement inconnue
• Recommandation : éviter si possible les colonnes facultatives.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 276
Identifiants et clés étrangères
• Un identifiant est un groupe de colonnes d'une table T tel qu'il ne puisse,
à tout moment, exister plus d'une ligne dans T qui possède des valeurs
déterminées pour ces colonnes. La valeur de l'identifiant permet de
désigner une ligne de T.
Une clé étrangère identifie une colonne ou un ensemble de colonnes
d'une table comme référençant une colonne ou un ensemble de colonnes
d'une autre table (la table référencée)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 277
Identifiants et clés étrangères
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 278
Identifiants et clés étrangères
• Un identifiant définit une contrainte d'unicité. Il existe d'autres moyens de définir
cette contrainte.
• Une table peut posséder plusieurs identifiants. On choisit l'un d'eux, qu'on déclare
primaire. Les autres sont dès lors secondaires
• L'identifiant primaire est constitué de colonnes obligatoires
• Un identifiant est minimal si chacune de ses colonnes est nécessaire pour garantir
la contrainte d'unicité.
• Il est possible de déclarer une table sans identifiant mais ceci n'est pas
recommandé.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 279
Identifiants et clés étrangères
• Une clé étrangère définit une contrainte référentielle. Il existe d'autres moyens de
définir cette contrainte.
• Si une des colonnes d'une clé étrangère est facultative, il est recommandé de les
rendre toutes facultatives.
• Une clé étrangère référence en principe l'identifiant primaire de la table cible.
• Une clé étrangère et l'identifiant qu'elle référence ont la même composition :
même nombre de colonnes et colonnes de mêmes types prises deux à deux.
• Il se peut qu'une clé étrangère soit également un identifiant.
• Il se peut que les colonnes d'une clé étrangère appartiennent, en tout ou en partie,
à un identifiant.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 280
Identifiants et clés étrangères
• Un identifiant minimal est aussi appelé clé candidate (candidate key). [*]
• Un identifiant primaire s'appelle aussi clé primaire (primary key).
• Il n'existe pas d'autre terme pour désigner les identifiants secondaires
• Clé étrangère = foreign key.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 281
Schéma et contenu
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 282
Schéma et contenu
Le schéma d'une table définit sa structure. Il spécifie notamment :
1. le nom de la table,
2. pour chaque colonne, son nom, son type, son caractère obligatoire,
3. l'identifiant primaire (liste des colonnes)
4. les identifiants secondaires éventuels (liste des colonnes)
5. les clés étrangères éventuelles (liste des colonnes et table cible).
Le contenu d'une table est formé d'un ensemble de lignes conformes au schéma.
•Le contenu d'une table est sujet à de fréquentes modifications. Le schéma d'une
table peut évoluer mais moins fréquemment
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 283
Exemple de base de données
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 284
Exemple de base de données
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 285
Exemple de base de données
Variantes de schéma
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 286
Modifications et contraintes d'intégrité
Une contrainte d'intégrité est une règle qui définit la cohérence d'une donnée ou
d'un ensemble de données de la BD. Le modèle relationnel impose les contraintes
structurelles suivantes :
INTÉGRITÉ DE DOMAINE
INTÉGRITÉ DE CLÉ
INTÉGRITÉ RÉFÉRENCIELLE
Il existe trois opérations élémentaires de modification :
1. insérer une ligne
2. supprimer une ligne
3. modifier une valeur de colonne d'une ligne.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 287
INTÉGRITÉ DE DOMAINE
Les valeurs d'une colonne de relation doivent appartenir
au domaine correspondant
• contrôle des valeurs des attributs
• contrôle entre valeurs des attributs
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 288
INTÉGRITÉ DE CLÉ
Les valeurs de clés primaires doivent être :
- uniques
- non NULL
• Unicité de clé
• Unicité des n-uplets
• Valeur NULL
valeur conventionnelle pour représenter une information inconnue
• dans toute extension possible d'une relation, il ne peut exister 2 n-uplets ayant
même valeur pour les attributs clés sinon 2 clés identiques détermineraient 2
lignes identiques (d'après la définition d’une clé), ce qui est absurde
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 289
INTÉGRITÉ RÉFÉRENTIELLE
Les valeurs de clés étrangères sont 'NULL' ou sont des
valeurs de la clé primaire auxquelles elles font référence
• Relations dépendantes
• LES DÉPENDANCES :
Liaisons de un à plusieurs exprimées par des attributs
particuliers: clés étrangères ou clés secondaires
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 290
Les contraintes de référence ont un impact important pour les
opérations de mises à jour, elles permettent d’éviter les anomalies de
mises à jour
Exemple :
CLIENT (no_client, nom, adresse)
ACHAT (no_produit, no_client, date, qte)
Clé étrangère no_client dans ACHAT
• insertion tuple no_client = X dans ACHAT
vérification si X existe dans CLIENT
• suppression tuple no_client = X dans CLIENT
soit interdire si X existe dans ACHAT
soit supprimer en cascade tuple X dans ACHAT
soit modifier en cascade X = NULL dans ACHAT
• modification tuple no_client = X en X’ dans CLIENT
soit interdire si X existe dans ACHAT
soit modifier en cascade X en X’ dans ACHAT
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 291
Redondances internes
Table répertoriant les livres d'une bibliothèque :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 292
Redondances internes
Observation
Les données TITRE et AUTEUR sont répétées autant de fois qu'il existe de
livres identiques.
Cette table viole le principe premier des bases de données : tout fait du
domaine d'application est enregistré une et une seule fois.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 293
Redondances internes
Problèmes
gaspillage d'espace
si on modifie la valeur d'un titre, il faut répercuter cette modification
dans toutes les lignes similaires
si on supprime l'unique exemplaire d'un livre, on perd les informations
sur son auteur et son titre
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 294
Redondances internes
Suggestion
Rassembler les données communes (ISBN, TITRE, AUTEUR) dans une table
spécifique
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 295
Redondances internes
Deux questions
1. Comment détecter les situations de redondance ?
2. Comment les corriger ?
La réponse à ces questions repose sur une nouvelle forme de
contrainte d'intégrité : la dépendance fonctionnelle.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 296
LES DÉPENDANCES FONCTIONNELLES
Dépendance fonctionnelle
•Soit R(A1, A2, ...., An) un schéma de relation
Soit X et Y des sous ensembles de {A1,A2,...An)
On dit que Y dépend fonctionnellement de X (X->Y) si à
chaque valeur de X correspond une valeur unique de Y
•on écrit : X → Y
•on dit que : X détermine Y
•Ex.:
no_client → nom_client
Un nom du client ne peut pas avoir deux numéros.
no_CIN → nom_client
On ne peux pas avoir deux citoyens qui ont le même no-CIN
La réciproque est fausse
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 297
LES DÉPENDANCES FONCTIONNELLES
• La D.F. peut porter sur la concaténation de plusieurs propriétés.
• Num_Commande + nom_Client df→ quantité_commande
• D.F. élémentaire
On dit qu’il ya une D.F. élementaire entre A et B, si A → B et si aucune partie de A ne
détermine B (l’ensemble OK)
• Exemple:
Numero Client + Nom Client df→ Adresse (ne vérifie pas la condition)
Numero Client → Adresse (OK)
• D.F.E directe
• Si cette dépendance est une dépendance élémentaire A →B et s’il n’existe pas de propriété
C tel que
A → C et C → B ( on élimine la transitivité).
Num_Cmd → Num_Clt (directe)
Num_Clt → Nom_Clt (directe)
Num_Cmd →Nom_Clt (indirecte)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 298
Redondances internes
• Notion de dépendance fonctionnelle
ISBN TITRE, AUTEUR
si deux lignes ont la même valeur de ISBN,
alors elles ont aussi les mêmes valeurs de TITRE et d’AUTEUR
On dit que :
il existe une dépendance fonctionnelle de ISBN vers TITRE et AUTEUR
ISBN détermine ou est un déterminant de TITRE et AUTEUR
TITRE et AUTEUR dépendent de ou sont déterminés par ISBN
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 299
Redondances internes
Notion de dépendance fonctionnelle
Deux observations
1. par définition, un identifiant détermine toutes les colonnes de la table
2. si un groupe de colonnes détermine chaque colonne de la table, il
constitue par définition un identifiant de la table
NUMERO TITRE, AUTEUR, ISBN, DATE_ACHAT, EMPL
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 300
Redondances internes
Comment détecter les situations de redondance ?
Réponse
Il y a redondance interne dès qu'il existe un déterminant qui n'est
pas un identifiant de la table
Une dépendance fonctionnelle dont le déterminant n'est pas un
identifiant est dite anormale
ISBN est un déterminant dans LIVRE mais il n'en est pas un
identifiant. Il entraîne donc des redondances internes.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 301
Redondances internes
Comment corriger les situations de redondance
Réponse
En décomposant la table T en deux fragments T1 et T2 :
T1(déterminant, déterminé)
T2.déterminant est une clé étrangère vers T1
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 302
Redondances
Synonyme : termes différents qui désignent le même concept du
domaine d’application.
Exemples : assuré et client dans un compagnie d'assurance
Homonyme : termes identiques, mais qui désignent des concepts
différents dans certaines parties du domaine d’application.
Exemples : adresse de commande, adresse d'expédition, adresse
de facturation; unité de fabrication, unité de soins
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 303
Redondances internes
Dernières remarques
1. Une table qui est le siège d'une dépendance fonctionnelle anormale est dite non
normalisée
2. Une table sans dépendance fonctionnelle anormale est dite normalisée
3. Décomposer une table de manière à éliminer ses dépendances anormales consiste
à normaliser cette table
4. Il est essentiel que toutes les tables d'une base de données soient normalisées
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 304
LES FORMES NORMALES
La théorie de la normalisation
La théorie de la normalisation est une théorie destinée à concevoir un bon
schéma d'une base de données sans redondance d'information et sans risques
d'anomalie de mise à jour. Elle a été introduite dès l'origine dans le modèle
relationnel. Elles traduisent des contraintes sur les données.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 305
La décomposition
Objectif:
- décomposer les relations du schéma relationnel sans perte d’informations
- aboutir au schéma relationnel normalisé
• Le schéma de départ est le schéma universel de la base
• Par raffinement successifs ont obtient des sous relations sans perte
d’informations et qui ne seront pas affectées lors des mises à jour (non
redondance)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 306
Les formes normales
Dans une base de données relationnelle, une forme normale désigne un type
de relation particulier entre les entités.
Le but essentiel de la normalisation est d’éviter les anomalies
transactionnelles pouvant découler d’une mauvaise modélisation des
données et ainsi éviter un certain nombre de problèmes potentiels tels que les
anomalies de lecture, les anomalies d’écriture, la redondance des données et
la contre-performance.
• Notion intuitive de FN
une « bonne relation » peut être considérée comme une fonction de la clé
primaire vers les attributs restants
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 307
1ère Forme Normale 1FN
•Une relation est en 1FN si tout attribut est atomique (non décomposable)
•Contiennent des valeurs non répétitives (pas de liste, tableau ……)
Contre-exemple
ELEVE (no_elv, nom, prenom, liste_notes)
Un attribut ne peut pas être un ensemble de valeurs
Décomposition
ELEVE (no_elv, nom, prenom)
NOTE (no_elv, no_matiere, note)
•Constant dans le temps (age, Date de naissance)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 308
2ème Forme Normale 2FN
Une relation est en 2FN si
- elle est en 1FN
- si tout attribut n’appartenant pas à la clé ne dépend pas d’une partie de la clé primaire
mais de la totalité
• C’est la phase d’identification des clés
• Cette étape évite certaines redondances
• Tout attribut doit dépendre fonctionnellement de la totalité de la clé
Contre-exemple
une relation en 1FN qui n'est pas en 2FN
COMMANDE (date, no_cli, no_pro, qte, prixUHT)
elle n'est pas en 2FN car la clé = (date, no_cli, no_pro), et le prixUHT ne dépend que de no_pro
Décomposition
COMMANDE (date, no_cli, no_pro, qte)
PRODUIT (no_pro, prixUHT)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 309
3ème Forme Normale 3FN
Une relation est en 3FN si
- elle est en 2FN
- si tout attribut n’appartenant pas à la clé ne dépend pas d’un attribut non clé
Ceci correspond à la non transitivité des D.F. ce qui évite les redondances.
En 3FN une relation préserve les D.F. et est sans perte.
Contre-exemple
une relation en 2FN qui n'est pas en 3FN
VOITURE (matricule, marque, modèle, puissance)
on vérifie qu'elle est en 2FN ; elle n'est pas en 3FN car la clé =matricule, et la
puissance dépend de (marque, modèle)
Décomposition
VOITURE (matricule, marque, modèle)
MODELE (marque, modèle, puissance)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 310
L’algèbre relationnelle
I. Les opérations
II. Le langage algébrique
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 311
L’Algèbre relationnelle est une collection d’opérations
OPÉRATIONS
- opérandes : 1 ou 2 relations
-résultat : une relation
DEUX TYPES D’OPÉRATIONS:
OPÉRATIONS ENSEMBLISTES
UNION
INTERSECTION
DIFFÉRENCE
OPÉRATIONS SPÉCIFIQUES
PROJECTION
RESTRICTION
JOINTURE
DIVISION
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 312
UNION
L'union de deux relations R1 et R2 de même schéma
est une relation R3 de schéma identique qui a pour n-
uplets les n-uplets de R1 et/ou R2
On notera :
R3 = R1 ∪ R2 ou UNION (R1,R2)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 313
INTERSECTION
L’intersection entre deux relations R1 et R2 de même schéma
est une relation R3 de schéma identique ayant pour n-uplets
les n-uplets communs à R1 et R2
On notera :
R3 = R1 ∩ R2 ou Intersect(R1,R2)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 314
DIFFÉRENCE
La différence entre deux relations R1 et R2 de même
schéma est une relation R3 de schéma identique ayant pour
n-uplets les n-uplets de R1 n'appartenant pas à R2
On notera :
R3 = R1 − R2 ou MINUS(R1,R2)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 315
PROJECTION
La projection d'une relation R1 est la relation R2 obtenue en
supprimant les attributs de R1 non mentionnés puis en éliminant
éventuellement les nuplets identiques
On notera :
R2 = πR1 (Ai, Aj, ... , Am)
la projection d'une relation R1 sur les attributs Ai, Aj, … , Am
La projection permet d’éliminer des attributs d’une relation
• Elle correspond à un découpage vertical :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 316
Requête 1 :
« Quels sont les références et les prix des produits ? »
PRODUIT (IdPro, Nom, Marque, Prix)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 317
Requête 2 :
« Quelles sont les marques des produits ? »
PRODUIT (IdPro, Nom, Marque, Prix)
Notez l’élimination des doublons..
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 318
RESTRICTION
La restriction d'une relation R1 est une relation R2 de même schéma n'ayant que
les n-uplets de R1 répondant à la condition énoncée
On notera :
R2 = σR1 (condition)
la restriction d'une relation R1 suivant le critère "condition"
où "condition" est une relation d'égalité ou d'inégalité entre 2 attributs ou entre un
attribut et une valeur
La restriction permet d'extraire les n-uplets qui satisfont une condition
• Elle correspond à un découpage horizontal :
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 319
Requête 3 :
« Quelles sont les produits de marque ‘IBM’ ? »
PRODUIT (IdPro, Nom, Marque, Prix)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 320
JOINTURE
La jointure de deux relations R1 et R2 est une relation R3 dont les n-uplets
sont obtenus en concaténant les nuplets de R1 avec ceux de R2 et en ne
gardant que ceux qui vérifient la condition de liaison
On notera : R3 = R1 × R2 (condition) ou JOIN(R1,R2)(condition)
la jointure de R1 avec R2 suivant le critère condition
• Le schéma de la relation résultat de la jointure est la concaténation des
schémas des opérandes (s'il y a des attributs de même nom, il faut les
renommer)
• Les n-uplets de R1 × R2 (condition) sont tous les couples (u1,u2) d'un
n-uplet de R1 avec un n-uplet de R2 qui satisfont "condition"
• La jointure de deux relations R1 et R2 est le produit cartésien des deux
relations suivi d'une restriction
• La condition de liaison doit être du type :
<attribut1> :: <attribut2>
où : attribut1 ∈ 1ère relation et attribut2 ∈ 2ème relation
:: est un opérateur de comparaison (égalité ou inégalité)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 321
La jointure permet de composer 2 relations à l'aide
d'un critère de liaison
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 322
Jointure naturelle
Jointure où l'opérateur de comparaison est l'égalité dans le résultat on
fusionne les 2 colonnes dont les valeurs sont égales
La jointure permet d'enrichir une relation
Requête 5 :
« Donnez pour chaque vente la référence du produit, sa désignation, son
prix, le numéro de client, la date et la quantité vendue »
• La normalisation conduit à décomposer ; la jointure permet de
recomposer
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 323
Auto-jointure
jointure d'une relation par elle-même
Requête 6 :
« Quels sont les noms des clients qui habitent la même ville que John ?»
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 324
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 325
DIVISION
Soit deux relations
R1 (A1, A2, … , An, B1, B2, … , Bm)
R2 (B1, B2, … , Bm)
Si le schéma de R2 est un sous-schéma de R1.
La division de R1 par R2 est une relation R3 dont :
- le schéma est le sous-schéma complémentaire de R2 par rapport à R1
-un n-uplet (a1, a2, … , an) appartient à R3 si (a1, a2, … , an, b1, b2, … , bm) appartient
à R1 pour tous (b1, b2, … , bm) ∈ R2.
On notera : R3 = R1 ÷ R2
la division de R1 par R2
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 326
la division permet de rechercher dans une relation les sous n-uplets qui sont complétés
par tous ceux d'une autre relation Elle permet de répondre à des questions qui sont
formulées avec le quantificateur universel : « pour tout ... »
Requête 6 :
« Quels sont les élèves qui sont inscrits à tous les sports ? »
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 327
Requêtes sur le schéma CLIENT, PRODUIT, VENTE
CLIENT (IdCli, nom, ville)
PRODUIT (IdPro, désignation, marque, prix)
VENTE (IdCli, IdPro, date, qte)
Requête 1 :
Donner les no des produits de marque Apple et de prix < 5000 Dhs
Requête 2 :
Donner les no des clients ayant acheté un produit de marque Apple
Requête 3 :
Donner les no des clients n'ayant acheté que des produits de marque Apple
Requête 4
Donner les no des clients ayant acheté tous les produits de marque Apple
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 328
Le langage algébrique
Le langage algébrique permet de formuler une question
par une suite d'opérations de l'algèbre relationnelle
Requêtes sur le schéma CLIENT, PRODUIT, VENTE
CLIENT (IdCli, nom, ville)
PRODUIT (IdPro, désignation, marque, prix)
VENTE (IdCli, IdPro, date, qte)
Requête 8 :
« Donner les no des produits de marque Apple et de prix
< 5000 Dhs »
R1 = σPRODUIT (marque = Apple')
R2 = σPRODUIT (prix < 5000)
R3 = R1∩R2
RESUL = πR3 (IdPro)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 329
Requête 9 :
« Donner les no des clients ayant acheté un produit de
marque Apple »
R1 = σPRODUIT (marque = 'Apple')
R2 = R1×VENTE (R1.IdPro = VENTE.IdPro)
RESUL = πR2 (IdCli)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 330
Requête 10 :
« Donner les no des clients n'ayant acheté que des
produits de marque Apple »
R1 = VENTE×PRODUIT (VENTE.IdPro =
PRODUIT.IdPro)
R2 = σR1 (marque = 'Apple')
R3 = πR2 (IdCli)
R4 = σR1 (marque ≠ 'Apple')
R5 = πR4 (IdCli)
RESUL = R3 − R5
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 331
Requête 11 :
« Donner les no des clients ayant acheté tous les
produits de marque Apple »
R1 = σPRODUIT (marque = 'Apple')
R2 = πR1 (IdPro)
R3 = πVENTE (IdCli, IdPro)
R4 = R3 ÷ R2
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 332
Les structures physiques
Les tables sont stockées sur le disque de l'ordinateur.
Si elles sont très volumineuses, l'accès aux données et leur modification risquent de
prendre un temps considérable.
Exemple :
la lecture d'une table de 2.500.000 de lignes de 400 octets prend près d'une
minute dans le meilleur des cas et une heure dans le cas contraire.
Les structures physiques garantissent de bonnes performances aux opérations de
lecture et de modification.
Deux mécanismes principaux :
les index
les espaces de stockage
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 333
Les structures physiques - Les index
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 334
Les structures physiques - Les index
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 335
Les structures physiques - Les index
Index
L'accès à une ligne d'une table via un index prend généralement
de 10 à 20 millisecondes.
En l'absence d'index, l'accès à cette ligne peut exiger la lecture de toute
la table, soit de 1 minute à 1 heure !
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 336
Les structures physiques - Les index
1. Quel est l’intérêt d’un index dans une base de données?
2. Qu’est ce qu’index de base de données?
3. Comment créer un index?
4. Quels sont les types d’index?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 337
Quel est l’intérêt d’un index dans une base
de données?
1. Le moteur de SGBD utilise les index pour rechercher rapidement
les données
2. Si les index n’existent pas, le moteur SGBD parcourt tous les
enregistrements de la table
3. L’impact des index sur les requêtes d’écriture est moins important
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 338
Qu’est ce qu’index de base de données?
1. Une base de données sans index oblige le moteur du SGBD de parcourir de A
à Z pour fournir le résultat
2. Les SGBDR créent automatiquement un index sur la clé primaire
3. Les SGBDR créent automatiquement un index la contrainte d’unicité
(UNIQUE) dans une table
4. Il n’y a pas d’index crée automatiquement par le SGBD derrière une clé
étrangère(FOREIGN KEY)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 339
Comment créer un index?
La syntaxe générale de l’ordre SQL de création d’un index:
CREATE INDEX<nom index>
ON <nom_table>(<liste_colones>)
Exemple 1: création d’un index sur une seule colonne:
CREATE INDEX idx_nomProduit
ON produit (NomProduit)
Exemple 2: création d’un index sur deux colonnes:
CREATE INDEX idx_nomCategorie
ON produit (NomProduit, categorie)
Exemple 3: création d’un index unique:
CREATE UNIQUE INDEX idx_refProduit
ON produit (RefProduit)
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 340
Quels sont les types d’index?
1. B-Tree(arbre équilibré)
2. Hash (index de hachage)
• Chaque type d’index utilise un algorithme qui convient à un type
particulier de requêtes.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 341
Les structures physiques
Espace de stockage
La table est une collection de lignes dont les éléments doivent être stockés sur un
disque. Les lignes seront rangées dans un espace spécial qui leur est réservé : un
espace de stockage. L'espace correspond à un fichier occupant tout ou partie d'un
disque (voire de plusieurs disques).
Un espace de stockage est caractérisé notamment par son adresse, son volume
initial, la manière dont il grandit ou se réduit selon les besoins, les tables dont il
accueille les lignes, la technique de rangement des lignes.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 342
Les structures physiques
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 343
Le langage SQL
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 344
Définition
SQL (Structured Query Language) est le langage de programmation utilisé pour
définir et manipuler des bases de données relationnelles organisées sous forme de
tables contenant des lignes et des colonnes.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 345
Définition
SQL est à la fois un langage de définition de données et un langage de manipulation de
données :
— D’une part, en tant que langage de définition de données, SQL permet d’implémenter
physiquement un modèle relationnel au sein d’un système de gestion de bases de données en offrant
des instructions qui permettent de créer des tables et des colonnes.
— D’autre part, en tant que langage de manipulation de données, SQL offre une multitude
d’opérations permettant de faire la recherche, l’insertion, la suppression et la mise à jour de données.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 346
Langage de définition de données
• Création d’une table
L’instruction SQL qui permet de créer une table s’appelle CREATE TABLE. Sa syntaxe est la suivante :
L’instruction CREATE TABLE permet de créer une table et de définir le nom, le type de données et les
éventuelles contraintes d’intégrité de chaque colonne.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 347
Types de données
L’ensemble des types de données utilisés dans les différents SGBDs du marché varie légèrement
d’un SGBD à un autre.
type numériques
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 348
Types de données
Date et heure Types
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 349
Types de données
type String
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 350
Contraintes d’intégrité
• Une contrainte d’intégrité est un mécanisme qui s’assure que les valeurs d’une colonne donnée
soient toujours cohérentes.
• quatre contraintes d’intégrités seront prises en considération :
1. PRIMARY KEY : Déclare la colonne comme étant la clé primaire de la table. Cette contrainte
peut être utilisée dans sa version multi-colonne pour définir une clé primaire composée de
plusieurs attributs.
2. NOT NULL : S’assure que la colonne ne contienne pas de valeurs NULL.
3. CHECK(C) : S’assure que toutes les valeurs de la colonne satisfont la condition C.
4. REFERENCES Tab(Col) : Déclare la colonne comme clé étrangère qui référence la colonne Col
de la table Tab.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 351
Exemple de création de tables
• Les instruction respectives de création des tables country, city et countryLanguage de la base de données World
sont données dans ce qui suit :
La table country contient sept colonnes :
— Code : est l’identifiant unique d’un pays e.g ’FIN’ pour Finlande, etc.
Son type est TEXT et c’est la clé primaire de la table country.
— Name : est le nom du pays e.g. ’Finland’, ’Sweden’. Son type est
TEXT et sa valeur ne peut pas être NULL.
— Continent : est le nom du continent où se trouve le pays e.g. ’Africa’,
’Europe’, etc. Son type est TEXT et sa valeur ne peut pas être NULL.
— SurfaceArea : est la superficie du pays. Son type est REAL et sa
valeur est strictement positive et ne peut pas être NULL.
— Population : est la population du pays. Son type est INTEGER et sa
valeur est strictement positive et ne peut pas être NULL.
— HeadOfState : est le nom du chef d’état du pays e.g. ’Vladimir Putin’
pour la Russie. Son type est TEXT et sa valeur ne peut pas être NULL.
— Capital : est la capitale du pays. Son type est INTEGER et c’est une
clé étrangère qui référence la colonne ID de la table city. Sa valeur ne peut
pas être NULL.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 352
Exemple de création de tables
La table city contient quatre colonnes
:
— ID : est l’identifiant unique d’une
ville. Son type est INTEGER et c’est
la clé primaire
de la table city.
— Name : est le nom de la ville
e.g.’New York City’, etc. Son type
est TEXT et sa valeur ne peut pas
être NULL.
— countryCode : est le code du
pays où se situe la ville. Son type est
TEXT, c’est une clé étrangère qui
référence la colonne Code de la table
country. Sa valeur ne peut pas être
NULL.
Population : est la population de la
ville. Son type est INTEGER, sa
valeur est strictement positive et ne
peut pas être NULL.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 353
Exemple de création de tables
La table countryLanguage contient deux
colonnes :
— CountryCode : est le code du pays où
la langue est parlée. Son type est TEXT,
c’est une clé étrangère qui référence la
colonne Code de la table country et elle
ne peut pas être NULL.
— Language : est le nom de la langue
parlée dans le pays dont le code est
countryCode e.g. ’Arabic’, ’Berberi’ pour
le Maroc. Son type est TEXT et sa valeur
ne peut pas être NULL.
• La clé primaire de la table
countryLanguage est composée des deux
colonnes CountryCode et Language.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 354
Suppression d’une table
• L’instruction SQL qui permet de supprimer une table s’appelle DROP TABLE. Sa syntaxe est la
suivante :
• DROP TABLE [ Nom_de_la_table ];
Exemple de suppression d’une table
Les instructions suivantes permettent de supprimer les tables country, city et countryLanguage:
DROP TABLE country ;
DROP TABLE city ;
DROP TABLE countrylanguage ;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 355
Langage de manipulation de données
• Insertion de données
L’instruction SQL qui permet d’insérer des données dans une table s’appelle INSERT INTO. Sa syntaxe est la
suivante :
INSERT INTO [ Nom_de_la_table ]
VALUES (v1 ,v2 , ... );
Où v1,v2, ... sont les valeurs du tuple à ajouter dans la table. Ces valeurs doivent être données dans l’ordre dans
lequel les colonnes ont été déclarées lors de l’utilisation de l’instruction CREATE TABLE
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 356
Exemples d’insertion de données
Afin d’illustrer l’utilisation de l’instruction INSERT INTO, ce qui suit est un exemple d’ajout de la ville de Tanger
dans la table city :
INSERT INTO city
VALUES (35 , ’Tanger ’, ’MA ’, 2168000);
Ce qui suit est un autre exemple d’ajout dans la table countryLanguage des langues parlées au Maroc:
INSERT INTO countrylanguage
VALUES (’MA ’,’Arabic ’);
INSERT INTO countrylanguage
VALUES (’MA ’,’Berberi ’);
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 357
Suppression de données
L’instruction SQL qui permet de supprimer des données dans une table s’appelle DELETE FROM.
Sa syntaxe est la suivante :
DELETE FROM [ Nom_de_la_table ]
WHERE [ Condition ];
Cette instruction supprime tous les tuples d’une table qui vérifient la condition qui suit le mot-clé WHERE.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 358
Exemple de suppression de données
Afin d’illustrer l’utilisation de l’instruction DELETE FROM, ce qui suit est un exemple de
suppression de tous les pays d’Afrique :
DELETE FROM country
WHERE Continent = ’Africa ’;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 359
Mise à jour de données
L’instruction SQL qui permet de mettre à jour les données d’une table s’appelle UPDATE. Sa
syntaxe est la suivante :
UPDATE [ Nom_de_la_table ]
SET [ Colonne ] = [ Valeur ]
WHERE [ Condition ];
L’instruction UPDATE effectue la modification qui suit le mot clé SET sur tous les tuples de la
table qui vérifient la condition qui suit le mot clé WHERE.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 360
Exemple de mise à jour de données
Afin d’illustrer l’utilisation de l’instruction UPDATE, ce qui suit est un exemple qui fait la mise à
jour suivante « Donald Trump est le nouveau président des USA » :
UPDATE country
SET HeadOfState = ’Donald ␣ Trump ’
WHERE Code = ’USA ’;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 361
Recherche de données
La recherche de données en SQL se fait de manière similaire à celle de l’algèbre relationnel dans la
mesure où elle s’appuie entre autres sur les opérations de projection, de restriction et de jointure.
L’instruction SQL qui permet d’effectuer une recherche de données s’appelle SELECT. Sa syntaxe
est la suivante :
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ];
— la projection sur les colonnes qui suivent le mot-clé SELECT (Le symbole * peut être utilisée pour
projeter sur toutes les colonnes).
— du produit cartésien des tables qui suivent le mot-clé FROM
— et restreint le résultat aux tuples qui satisfont la condition qui suit le mot-clé WHERE. Les opérateurs
logique AND et OR peuvent être utilisés pour construire la condition
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 362
Exemples de requêtes d’interrogations d’une seule table
Afin d’illustrer l’utilisation de l’instruction SELECT, nous allons traduire des requêtes exprimées en
langage naturel vers des requêtes exprimées en SQL :
Donner le nom de chaque pays et le nom de son chef d’état.
SELECT Name , HeadOfState
FROM country ;
Donner le nom de chaque pays et le code de sa capitale.
SELECT Name , Capital
FROM country ;
Donner le nom des pays dont la superficie dépasse 1000000m 2.
SELECT Name
FROM country
WHERE SurfaceArea > 1000000;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 363
Exemples de requêtes d’interrogations d’une seule table
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 364
Exemples de requêtes d’interrogations sur plusieurs tables
Donner le nom de toutes les villes d’Algérie. Cette requête nécessite de faire une jointure entre les
tables city et country. Elle peut être exprimée de la manière suivante :
SELECT city . Name
FROM country , city
WHERE CountryCode = Code
AND country . Name = ’Algeria ’;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 365
Les remarques concernant la recherche de données à
travers plusieurs tables
Remarque1
La jointure est exprimée comme une condition du WHERE. C’est-à-dire qu’il n’est pas nécessaire
de faire appel à une autre instruction SQL pour faire la jointure. En outre, les éventuelles restrictions
peuvent être exprimées avant (ou après) la jointure en utilisant l’opérateur AND. Cette manière
d’exprimer la jointure comme une restriction découle du fait qu’en algèbre relationnelle, une
jointure peut être vue comme un produit cartésien suivi d’une restriction
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 366
Les remarques concernant la recherche de données à
travers plusieurs tables
Remarque2
Il est éventuellement nécessaire de désambiguïser le nom des colonnes. En effet, dans l’exemple
précédent, la colonne Name existe dans deux tables différentes : city et country. Pour faire la
différence entre ces deux colonnes, il est nécessaire de précéder le nom de la colonne par le nom de
la table suivi d’un point. Par exemple city.Name pour la colonne Name de la table city et
country.Name pour la colonne Name de la table country.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 367
Exemples de requêtes d’interrogations sur plusieurs tables
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 368
Opérations ensemblistes
À l’instar de l’algèbre relationnelle, le langage SQL offre les trois principales opérations ensemblistes vues dans le
chapitre qui porte sur l’algèbre relationnelle, à savoir :
— L’union en utilisant le mot-clé UNION ;
— L’intersection en utilisant le mot-clé INTERSECT ;
— La différence en utilisant le mot-clé EXCEPT.
Ces trois opérations peuvent être utilisées entre deux instructions SELECT. Et comme en algèbre relationnelle, les
deux instructions SELECT doivent avoir les mêmes colonnes, c’est-à-dire, la même projection.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 369
Opérations ensemblistes
La syntaxe de l’utilisation des opérations ensemblistes est la suivante :
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ];
opérations ensemblistes
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ];
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 370
Exemples :
Donner le nom des pays d’Afrique et d’Asie. Nous pouvons diviser cette requête en deux requêtes
: la première retourne les pays d’Afrique et la seconde retourne les pays d’Asie. Puis, nous devons
faire l’union des résultats des deux requêtes :
SELECT Name
FROM country
WHERE Continent = ’Africa ’
UNION
SELECT Name
FROM country
WHERE Continent = ’Asia ’;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 371
Exemples :
• Quelles sont les villes du royaume uni (United Kingdom) qui ont des homonymes aux
Canada?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 372
Exemples :
• Quelles sont les langues parlées à la fois en Suisse (Switzerland) et en Belgique (Belgium)?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 373
Exemple
• Quelles sont les langues parlées uniquement en Afrique du sud (South Africa)?
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 374
Exemple
• Donner le nom des pays qui parlent uniquement l’espagnol (Spanish).
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 375
Limitation des résultats
Parfois, nous pouvons avoir besoin d’afficher seulement d’un échantillon de tuples (ou un certain
nombre de tuples) et non pas la totalité des tuples d’une requête SELECT. Le langage SQL offre
pour cela l’instruction LIMIT dont la syntaxe est la suivante :
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ]
LIMIT [ Nombre_maximum_de_tuples ];
L’instruction LIMIT limite le résultat de l’instruction SELECT à un nombre de tuples égal au
maximum au nombre qui suit le mot-clé LIMIT.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 376
Exemple
• Donner le nom de 5 pays d’Afrique.
SELECT Name
FROM country
WHERE Continent = ’Africa ’
LIMIT 5;
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 377
Tri des résultats
Contrairement à l’algèbre relationnelle, SQL offre la possibilité de trier les résultats retournés par
instruction SELECT. Le tri se fait selon l’ordre croissant ou décroissant des valeurs d’une colonne.
L’instruction qui permet de trier les résultats s’appelle ORDER BY. Sa syntaxe est la suivante :
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ]
ORDER BY [ Colonne ] ASC / DESC ;
L’instruction ORDER BY trie le résultat de l’instruction SELECT selon l’ordre croissant (ASC) ou décroissant
(DESC) des valeurs de la colonne qui suit le mot-clé ORDER BY.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 378
Exemples
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 379
Exemple
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 380
Fonctions
• Le langage SQL offre plusieurs fonctions pour effectuer des traitements sur les données. Le
tableau suivant donne la signification de chacune de ces fonctions.
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 381
Fonctions
L’appel d’une de ces fonction doit se faire directement après le mot-clé SELECT et ne peut être
utilisé que sur une et une seule colonne de projection. La syntaxe de l’utilisation des fonctions est la
suivante :
SELECT FONCTION ([ Colonne ])
FROM [ Table ], [ Table ], ...
WHERE [ Condition ]
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 382
Exemples
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 383
Fin du Module
19/08/25 ABDEK MAHAMOUD IBRAHIM, Data Scientist Engineer 384