Introduction à MERISE et SQL
Introduction à MERISE et SQL
Youness MADANI
Université Sultan Moulay Slimane
Faculté Polydisciplinaire
Licence Fondamentale(Tronc Commun) : Mathématiques - Informatique - Physique −→ Informatique
16 mars 2025
1 / 44
Plan
2 / 44
Système d’information
3 / 44
Système d’information
Les Quatre Fonctions Essentielles du SI
Un système d’information remplit quatre fonctions fondamentales :
• La collecte de l’information : Il s’agit de l’enregistrement des données, qui peut se
faire par divers moyens (saisie manuelle, formulaires en ligne, capteurs automatiques,
etc.).
• La mémorisation de l’information : Les données collectées doivent être stockées de
manière organisée et sécurisée. Autrefois conservées sous format papier (dossiers, ar-
chives), elles sont aujourd’hui majoritairement enregistrées dans des fichiers numériques
ou des bases de données.
• Le traitement de l’information : Le SI permet d’exploiter les données via différentes
opérations : consultation, tri, mise à jour, calculs ou analyses pour générer de nouvelles
informations utiles.
• La diffusion de l’information : Une fois traitées, les données sont partagées avec les
utilisateurs concernés sous différentes formes (rapports, tableaux de bord, notifications,
etc.).
4 / 44
Système d’information
5 / 44
La Conception des Systèmes d’Information
6 / 44
La Conception des Systèmes d’Information
• Pourquoi concevoir un SI ?
Une conception bien pensée permet :
• D’éviter les erreurs dès le départ (incohérences, pertes de données. . . ).
• D’optimiser la performance en organisant les données efficacement.
• D’adapter le système aux besoins des utilisateurs.
• De faciliter la maintenance du système.
• D’assurer l’évolutivité du système pour qu’il puisse s’adapter aux changements futurs.
• Exemple : Imaginons qu’une université souhaite mettre en place un système de gestion
des étudiants. Avant de créer une base de données, il faut concevoir le SI en définissant :
• La modélisation est une étape clé de la conception. Elle permet de représenter visuel-
lement et logiquement les données et les processus du système avant de le développer.
• Cette représentation facilite la compréhension et l’optimisation du SI.
• Les Types de Modélisation : Il existe plusieurs types de modélisation, en fonction
des aspects du SI que l’on souhaite représenter :
• Modélisation des données : Représente les données du système et leurs relations (ex. :
diagramme de base de données).
• Modélisation des traitements : Décrit comment les données sont manipulées et quelles
opérations sont effectuées (ex. : flux de travail).
• Modélisation des interactions : Met en évidence la manière dont les utilisateurs inter-
agissent avec le système.
8 / 44
Modélisation des Systèmes d’Information
• Exemple : Dans notre exemple de l’université, la modélisation des données peut être
représentée par un diagramme où :
• Une entité Étudiant est liée à une entité Cours via une relation S’inscrire.
• Chaque Cours est associé à un ou plusieurs Professeurs.
• Ce type de modélisation permet de clarifier la structure du SI avant de passer à la phase
de développement.
• Importance de la Modélisation avant la Mise en Place du SI
• Facilite la communication entre les développeurs, les analystes et les utilisateurs.
• Permet d’anticiper les problèmes et d’améliorer la conception avant l’implémentation.
• Assure une meilleure organisation des données pour une utilisation efficace.
• Dans ce cours, nous allons apprendre à modéliser une base de données de manière
rigoureuse avant de la mettre en place sous SQL.
• Pour cela, nous utiliserons la méthode MERISE, qui fournit une structure logique et
cohérente pour la conception des bases de données relationnelles.
9 / 44
Introduction à MERISE et son rôle dans le cours
10 / 44
Introduction à MERISE et son rôle dans le cours
• Niveau conceptuel :
• Identification des entités, des associations et des règles de gestion sans considérer les
contraintes techniques.
• Décrire ce que le système doit faire sans se préoccuper des aspects techniques.
• Focus : Les besoins métier, les règles de gestion et les interactions entre les acteurs.
• Niveau logique :
• Transformation du modèle conceptuel en un modèle logique adapté à une base de données
relationnelle.
• Décrire comment le système fonctionne en termes de structures de données et de traite-
ments.
• Focus : La modélisation des données (tables, relations)
• Exemple : Convertir les entités et associations du MCD en relations.
• Niveau physique :
• Implémentation finale dans un SGBD (Système de Gestion de Base de Données).
• Décrire comment le système est implémenté techniquement.
• Exemple : Implémenter les tables dans un SGBDRs comme MySQL ou PostgreSQL.
• Dans ce cours, nous nous concentrerons uniquement sur certains schémas utilisés pour
concevoir une base de données relationnelle, puis la mettre en œuvre sur un SGBDR.11 / 44
Introduction à MERISE et son rôle dans le cours
12 / 44
Introduction à MERISE et son rôle dans le cours
13 / 44
Introduction à MERISE et son rôle dans le cours
14 / 44
Introduction à MERISE et son rôle dans le cours
• Pourquoi utiliser MERISE pour concevoir une base de données ?
• Analyser et structurer les besoins des utilisateurs.
• Standardiser la conception des bases de données.
• Assurer la cohérence et la normalisation des données.
• Faciliter la communication entre les développeurs et les utilisateurs.
• Exemple : Prenons l’exemple d’une université souhaitant gérer les inscriptions des
étudiants, les enseignements et les notes. En appliquant MERISE, nous allons :
• Identifier les entités principales (ex. : Étudiant, Enseignant, Cours, Notes).
• Déterminer les relations entre ces entités (ex. : Un étudiant s’inscrit à plusieurs cours,
un enseignant dispense plusieurs cours).
• Créer un modèle conceptuel de données (MCD) représentant ces informations sous
forme de diagramme.
• Passer au niveau logique et physique pour implémenter la base de données sous SQL.
• Dans les prochaines sections, nous explorerons en détail le modèle conceptuel de
données (MCD) et les règles de transformation vers le modèle logique (MLD) puis
physique (MPD).
15 / 44
Modélisation d’une base de données au niveau conceptuel
• L’objectif principal de la modélisation conceptuelle est de créer une vision globale et
cohérente du système, en identifiant les éléments clés et leurs interactions.
• Cette étape sert de base pour les niveaux suivants (logique et physique) et facilite
la communication entre les différents acteurs du projet, qu’ils soient experts métier,
analystes ou développeurs.
• Cela consiste à élaborer le modèle conceptuel des données (MCD), une représentation
graphique et structurée des informations stockées dans un système d’information. Le
MCD repose sur deux notions fondamentales : les entités et les associations, d’où
sa seconde appellation : le schéma Entité/Association.
• L’élaboration du MCD passe par les étapes suivantes :
• L’établissement des règles de gestion (si elles ne sont pas fournies) : Comprendre les
contraintes et les processus métier à respecter.
• L’élaboration du dictionnaire des données.
• L’identification des dépendances fonctionnelles entre les données : Identifier les
relations entre les attributs pour garantir la cohérence des données.
• La création du MCD en suivant ces étapes : définition des entités→établissement
des associations→ puis ajout des cardinalités. 16 / 44
Les règles de gestion métier
• Avant de créer vos tables (ou même vos entités et associations dans un cadre
conceptuel), il est essentiel de recueillir les besoins des futurs utilisateurs de l’applica-
tion. Ces besoins vous permettront ensuite de définir les règles de gestion des données
à conserver.
• Une règle de gestion est une contrainte ou une directive qui régit le fonctionnement
d’un système d’information (SI) en fonction des besoins de l’organisation. Elle définit
ce qui est autorisé, interdit ou obligatoire dans un processus métier.
• Pourquoi sont-elles essentielles pour le MCD ? ?
• Garantir la cohérence des données dès la conception.
• Respect des contraintes métiers – Elles garantissent que les données respectent les
règles propres à l’organisation.
• Déterminer les cardinalités des associations.
• Prévoir les contraintes d’intégrité à appliquer plus tard en base de données.
• Exemple : Un étudiant ne peut s’inscrire qu’à une seule formation par année académique.
Cette règle doit être respectée au niveau du système et intégrée dans la modélisation
des données.
17 / 44
Les règles de gestion métier
18 / 44
Les règles de gestion métier
• Règles de Gestion sur les Enseignants
• Règles métier :
• Chaque enseignant est identifié par un numéro unique, et on doit mémoriser son nom,
prénom, adresse, téléphone et adresse e-mail .
• Un enseignant peut enseigner plusieurs matières.
• Une matière peut être enseignée par un ou plusieurs enseignants.
• Impact sur le MCD
• Une entité Enseignant avec IdEns comme Identifiant.
• Une association Enseigner entre Enseignant et Matière, avec une cardinalité (1,N) côté
Enseignant et (1,1) côté Matière.
• Règles de Gestion sur les Cours et Inscriptions
• Règles métier :
• Une formation est composée de plusieurs cours.
• Chaque cours appartient à une seule formation.
• Un étudiant doit être inscrit à une formation pour suivre un cours.
• Impact sur le MCD
• Une entité Cours liée à Formation.
• Une association Suivre entre Étudiant et Cours, et une association Contient entre Formation
et Cours.
19 / 44
Le dictionnaire des données
22 / 44
Le dictionnaire des données
23 / 44
Le dictionnaire des données
• Les données qui figurent dans le Modèle Conceptuel de Données (MCD) et, par exten-
sion, dans le dictionnaire des données, doivent respecter certaines règles pour garantir
leur qualité et leur utilité.
• Les données doivent être élémentaires :Les données stockées dans la base de
données doivent être élémentaires, c’est-à-dire qu’elles ne doivent pas être calculées
ou composées.
• Les données calculées ne doivent pas être stockées directement dans la base de données.
Elles doivent être obtenues par des calculs à partir de données élémentaires.
• Les données composées doivent être obtenues par concaténation de données élémentaires.
• Lorsqu’une donnée numérique n’est jamais utilisée pour des calculs, elle doit être
stockée comme une donnée de type (AN) plutôt que comme un nombre.
• Exemple : Un numéro de téléphone est une donnée numérique, mais il ne doit pas être
stocké comme un nombre (type N), car on ne fait jamais de calculs dessus.
24 / 44
Les dépendances fonctionnelles
• Définition 1 :
• Une dépendance fonctionnelle décrit une relation entre deux ensembles d’attributs dans
une table.
• Elle indique que la valeur d’un ensemble d’attributs (appelé déterminant) détermine de
manière unique la valeur d’un autre ensemble d’attributs (appelé dépendant).
• Notation : Si X détermine Y, on note X → Y
• Exemple : Dans une entité Étudiant, l’attribut ID détermine les attributs Nom et
Prénom. On note : ID → Nom, Prénom
• Définition 2 :
• Deux propriétés (ou données) P1 et P2 sont dites en dépendance fonctionnelle (DF) si,
et seulement si, une valeur de P1 permet de déterminer de manière unique une valeur
de P2.
• Cette dépendance est représentée comme ceci : P1 → P2
• On dit que P1 est la source de la DF et que P2 en est le but.
25 / 44
Les dépendances fonctionnelles
26 / 44
Les dépendances fonctionnelles
27 / 44
Les dépendances fonctionnelles
• À partir de cette entité, on peut déduire la règle de gestion suivante : un auteur est
identifié par un identifiant unique (id) et possède comme caractéristiques un nom, un
prénom et une date de naissance.
31 / 44
Les Entités
• Une entité peut n’avoir aucune, une ou plusieurs occurrences. voici un exemple de
table d’occurrences de l’entité ”Auteur” :
32 / 44
Les associations
• Une association est un lien sémantique entre une ou plusieurs entités. Elle permet
de traduire les règles de gestion qui ne peuvent pas être exprimées uniquement par la
définition des entités.
• Exemple : Une association peut relier l’entité Étudiant à l’entité Cours pour représenter
l’inscription d’un étudiant à un cours.
• Le formalisme d’une association est le suivant :
• Le nom d’une association est généralement un verbe qui décrit la nature du lien entre
les entités.
• Exemple :
Inscrit : Lien entre un étudiant et un cours.
Enseigne : Lien entre un enseignant et un cours.
33 / 44
Les associations
• Exemple :
• Exemple :
Entités : Département, Enseignant.
Association : Appartient.
Cardinalités :
• Département : (1,N) (un département doit avoir au moins un enseignant et peut en avoir
plusieurs).
• Enseignant : (1,1) (chaque enseignant appartient à un seul département).
• Cardinalité (0,N) : Zéro ou plusieurs occurrences sont possibles.
• Exemple :
Entités : Étudiant, Cours.
Association : Inscrit. Cardinalités :
• Étudiant : (0,N) (un étudiant peut s’inscrire à zéro ou plusieurs cours).
• Cours : (0,N) (un cours peut avoir zéro ou plusieurs étudiants).
37 / 44
Les associations : Les cardinalités
38 / 44
Les associations porteuses de données
• Une association porteuse de données est une association qui contient des attributs(données
portées par l’association). Ces attributs décrivent des informations spécifiques à la re-
lation entre les entités.
• Exemple : L’association Inscription entre Étudiant et Cours peut contenir des attri-
buts comme la date d’inscription ou le statut de l’inscription.
• Pourquoi les associations porteuses de données sont-elles importantes ?
• Décrire la relation : Elles permettent de stocker des informations spécifiques à la relation
entre les entités.
• Éviter les redondances : Elles évitent de dupliquer des informations dans les entités.
• Structurer les données : Elles aident à organiser les données de manière logique et
cohérente.
39 / 44
Les associations porteuses de données
• Exemple : Association Inscrit entre Étudiant et Cours
Entités : Étudiant, Cours.
Association : Inscrit.
Données portées par l’association :
• Date Inscription : La date à laquelle l’étudiant s’est inscrit au cours.
• Statut Inscription : Le statut de l’inscription (ex. : En cours, Validée, Annulée).
• L’association Inscrit peut donc être identifiée par la concaténation des propriétés
ID Cours et ID Etudiant. Ainsi, le couple ID Cours,ID Etudiant doit être unique pour
chaque occurrence de l’association. On peut également définir la dépendance fonc-
tionnelle suivante : ID Cours,ID Etudiant → Date inscription, Statut Inscription 40 / 44
Élaboration du MCD pour la Gestion des Étudiants
• Objectif du système
• Le système doit permettre la gestion des étudiants au sein d’un établissement universitaire.
Il devra couvrir :
• La gestion des étudiants (inscription, informations personnelles, formation suivie).
• La gestion des formations et des enseignants.
• L’organisation des cours et des enseignements.
• Règles de gestion métier :
• Un étudiant est identifié par un numéro unique. Il possède un nom, un prénom, une
date de naissance et une adresse e-mail.
• Une formation est identifiée par un code et possède un intitulé.
• Un étudiant peut s’inscrire à une seule formation.
• Un enseignant est identifié par un numéro unique et possède un nom, un prénom et une
spécialité.
• Un cours est identifié par un code et possède un intitulé.
• Un cours est dispensé par un enseignant.
• Une formation peut regrouper plusieurs cours.
• Un étudiant peut être inscrit à aucun ou à plusieurs cours, et un Cours peut être suivi
par plusieurs Étudiants. 41 / 44
Élaboration du MCD
42 / 44
Élaboration du MCD
43 / 44
Élaboration du MCD
Pour que le MCD soit sémantiquement valide, toute entité doit être reliée à au moins une
association.
44 / 44