2.
NOTIONS ET DE SYSTEME D’INFORMATION ET DE BASE DE DONNEES
2.1. Système d’information :
Un système d’information est un ensemble organisé de ressources (Matérielle, humaine …)
permettant de collecter, traiter, stocker et diffuser l’information au sein d’une organisation.
Un système d’information peut être :
- Manuel : Lorsque le traitement de l’information n’est pas automatisé. C’est-à-dire que
le traitement de l’information se fait manuellement par l’homme.
- Informatisé : Lorsque le traitement de l’information est automatisé par l’outil et les
procédures informatiques.
Dans un système d’information informatisé, on trouve généralement un réseau
informatique, une base de données au centre et les programmes d’application pour
permettre aux utilisateurs du système d’exploiter (insérer, lire, modifier, supprimer …)
la base de données en suivant leurs privilèges.
NB :
L’informatisation ou l’automatisation d’un système d’information « manuel » se fait
par les spécialistes (informaticiens : Architecte système, analyste programmeur,
technicien ou ingénieur réseau, ingénieur SI & DBA …) formés.
Dans la procédure d’informatisation d’un système d’information « manuel », la base
de données est créée pour permettre le stockage de l’information. La base de données
est considérée comme la pièce centrale des systèmes d’informations informatisés et
des programmes informatiques.
2.2. Base de données :
Une base de données (anglais database) est un conteneur informatique permettant de stocker
l'intégralité des informations structurées en rapport avec une activité.
En d’autres termes, la base de données est un ensemble d’informations structurées,
cohérentes et non redondantes, stockées sur un support de stockage de masse et gérées par
un ordinateur via un Système de Gestion de Base de Données (SGBD). Elle représente la
mémoire permanente d’un système d’information informatisé ou d’un programme
informatique.
2.2.1. Système de Gestion de Bases de Données : Programme ou ensemble de programmes
permettant la gestion et l’accès à une base de données.
Exemples : Mysql, POSTGREsql, Hiperfile, OracleDB …
NB : Il existe plusieurs modèles de données, qui sont caractérisés par leurs manières
d’organiser les données. Parmi ces modèles, nous avons :
- Le modèle hiérarchique ;
- Le modèle réseau ;
- Le modèle relationnel ;
- Le modèle objet ;
- Le modèle relationnel- objet.
Dans ce cours, nous étudierons le modèle relationnel qui est le modèle le plus utilisé.
3. APPROCHES DE CONCEPTION DES BASES DE DONNEES :
Il existe plusieurs approches de modélisation des bases de données, parmi lesquelles :
UML, Express-G, Merise, IDEF1X …
Il est à noter que dans ce cours, nous utiliserons l’approche Merise, qui est basée sur la
séparation des données () et des traitements () en vue de créer un système d’information
informatisé. Cette approche propose donc plusieurs modèles de données et de traitements.
Merise est une méthode qui vise à analyser, concevoir et réaliser un système d’information
informatisé. La base de données fait partie du système d’information informatisé.
En ce qui nous concerne, nous nous attarderons plus sur les modèles de données proposé par
la méthode Merise car ces derniers favorisent la création de la base de données. Ces modèles
sont :
- Modèle conceptuel de données (MCD) ;
- Modèle logique de données (MLD) ;
- Modèle physique de données (MPD).
4. ETAPES DE CONCEPTION D’UNE BASE DE DONNEES
Les étapes clefs du cycle de vie d'une base de données sont la conception et la mise en service.
4.1. Préparation avant la conception (recueil des informations)
Avant la conception, les utilisateurs et les producteurs des informations du SI à étudier sont
interviewés en vue de prendre connaissance des caractéristiques des informations du monde
réel, des relations entre les informations, ainsi que les caractéristiques du système
informatique qui accueillera la base de données.
L'objectif de cette étape est de recueillir les caractéristiques des informations dans la pratique,
et les besoins des usagers, et de les formuler d'une manière simple, compréhensible autant
par les usagers que les administrateurs de base de données.
4.2. Modèle conceptuel de données
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, attributs et des relations.
Le formalisme utilisé pour la réalisation du MCD est le modèle entités-associations.
2.1- Les éléments du MCD
Entité : Une entité est la représentation d'un élément matériel ou immatériel ayant un
rôle dans le système que l'on désire décrire.
Exemple : Peugeot 607
Classe d’entité :
On appelle classe d'entité un ensemble composé d'entités de même type, c'est-à-dire
dont la définition est la même. Une entité est une instanciation de la classe. Chaque
entité est composée de propriétés, données élémentaires permettant de la décrire.
Les classes d'entités sont représentées par un rectangle. Ce rectangle est séparé en deux
champs :
Le champ du haut contient le nom de l’entité. Ce nom est parfois une abréviation pour une
raison de simplification de l'écriture. Il s'agit par contre de vérifier qu'à chaque classe d'entité
correspond un et un seul libellé.
Le champ du bas contient la liste des propriétés de la classe d'entité.
Exemple : Ford Fiesta, une Renault Laguna et une Peugeot 607. Il s’agit de trois (3)
entités faisant partie d'une classe d'entité que l'on pourrait appeler voiture. Chaque
entité peut posséder les propriétés : marque, couleur, année et modèle.
Classe d’entité 3 entités de la classe
Voiture Voiture
1 FORD Rouge FIESTA 2002
2 RENAULD Bleu LAGUNA 2000
instanciation
3 PEUGEOT Vert 607 2005
Propriété : Une propriété est une caractéristique associée à une classe d’entité.
Un client possède un numéro de client, un nom, un prénom, habite à une adresse
précise, etc. Ces informations élémentaires essentielles sont des propriétés. Les
propriétés disposent d’un type. Elles peuvent être numériques, représenter une date,
leur longueur peut être aussi définie.
Exemple : Le nom d’une personne, la marque d’une voiture, le titre d’un livre …
Identifiant : ensemble minimal d’attributs qui permet d’identifier chaque entité. C’est
une propriété particulière d'un objet telle qu'il n'existe pas deux occurrences de cet
objet pour lesquelles cette propriété pourrait prendre une même valeur.
Les attributs d'une classe d'entité permettant de désigner de façon unique chaque
instance de cette entité sont appelés identifiants absolus. Le modèle conceptuel des
données propose de les souligner.
Association (ou relation) : représente les liens sémantiques qui peuvent exister entre
plusieurs entités.
Exemple :
Voici les dénominations des relations :
Relation récursive (ou réflexive) : relie la même classe d'entité à elle-même.
Relation binaire : relie deux classes d'entité
Relation ternaire : relie trois classes d'entité
Relation n-aire : relie n classes d'entité
Cardinalité :
Elles expriment le nombre de fois ou l’occurrence d’une entité participe aux occurren
ces de la relation.
Dans notre exemple on peut se poser les questions suivantes :
- Combien de fois au minimum un client peut-il commander un article ?
- Combien de fois au maximum un client peut-il commander un article ?
À la première question, nous pouvons répondre qu’un client, pour être client, doit co
mmander au moins un article.
À la deuxième question, nous pouvons répondre qu’un client peut commander plusie
urs articles.
Voici comment symboliser cet état :
Exemple 2 : Une mère peut élever un ou plusieurs enfants.
Un enfant peut être élevé par une et une seule mère.
Exemple de MCD complet : Gestion de logement
Une agence immobilière souhaite mettre en place une base de données pour la gestion des
biens en location. Les caractéristiques d’un logement sont : son adresse, sa superficie, son
loyer et son type F1, F2 … Un logement est situé dans un quartier, lui-même situé dans une
ville. Enfin l’agence souhaite connaitre le propriétaire du bien pour pouvoir le contacter.
TAF : Etablir le modèle conceptuel de données
4.3. Modèle logique de données
Le modèle MCD est transformé en respectant les règles de passage du MCD vers le MLD
(Modèle logique de données). Ces règles bien définies sont basées sur les relations entre les
tables.
4.3.1. Règles simples de passage du MCD au MLD
- Les entités deviennent des relations, c’est-à-dire des tables.
- Les identifiants deviennent des clés primaires.
- Les autres propriétés deviennent des attributs de la relation.
- L’entité qui possède la cardinalité maximale égale à 1, recevra l’identifiant ou les
identifiants des entités ayant les cardinalités maximales les plus fortes.
- Les relations ayant toutes leurs entités reliées avec des cardinalités maximales
supérieures à 1, se transformeront en entité en absorbant les identifiants des entités
jointes.
- Toute relation porteuse de propriétés se transformera en table et absorbera comme
clé étrangère les identifiants des entités qui lui sont liées.
Voici la procédure à suivre cas par cas :
1. Cas : (0, n) ou (1, n) d’un côté et (1, 1) ou (0,1) de l’autre coté
Exemple :
Voici un modèle conceptuel de départ :
Ici l’entité faible (1,1) hérite de la clé primaire de l’entité forte (1, n). C’est-à-dire que
l’identifiant de l’entité forte (Mères : 1, n) migre vers l’entité faible (Enfants : 1,1) et devient
la clé étrangère dans la table d’accueil.
Voici le Modèle Logique des Données découlant du Modèle conceptuel précédent :
Mères (NuméroMère, Nom_Mère, Prénom_Mère)
Enfants (NuméroEnfant, Nom_Enfant, Prénom_Enfant, #NuméroMère)
2. Cas : (0, n) ou (1, n) d’un côté et (1, n) ou (0, n) de l’autre coté
Exemple :
Illustrons ce cas sur le Modèle Conceptuel des Données suivant :
Dans le cas où la cardinalité maximale est n de chaque côté de la relation, celle-ci se
transforme en entité et absorbe les identifiants de chaque entité reliée. Les identifiants ainsi
absorbés forment la nouvelle clé de l’entité. Cette nouvelle clé est donc formée par la
concaténation des clés étrangères des entités reliées.
Clients (Numéro_Client, Nom, Prénom, Adresse, CodePostal, Ville)
Articles (Numéro_Article, Désignation, PrixAchat, PrixDeVente)
Commander (#NuméroClient, # NuméroArticle)
3. Cas d’une relation ternaire
La relation se transforme en entité et hérite les identifiants des entités
reliées.
Exemple :
Le modèle logique de données qui en découlera :
Classe (idClasse, NomClasse, Effectif)
Professeur (IdProf, Nom, Prénom)
Matière (IdMatère, Désignation)
Enseigner (#idClasse, # IdMatère, # IdProf, Heure)
4. Cas de relation réflexive (récursive)
Exemple :
Les règles de passage du MCD au MLD s’appliquent toujours aussi mécaniquement. L’entité
ayant la cardinalité la plus faible absorbe l’identifiant de l’entité reliée. Ici, nous n’avons
qu’une seule entité, mais le principe est le même.
Employés (Numéro_Employé, Nom, Prénom, Adresse, CodePostal, Ville, Téléphone,
#NuméroEmployé1)
Exemple de MLD complet : En reprenant l’exemple du MCD « Gestion de logement ». Le
modèle logique de données se présente comme suit :
PROPRIETAIRE (PR_ID, PR_NOM, PR_PRENOM, PR_TELEPHONE)
TYPE_LOGEMENT (TY_ID, TY_NOM)
LOGEMENT (LO_ID, LO_SUPERFICIE, LO_ADRESSE, #Q_ID, #TY_ID, #PR_ID)
QUARTIER (Q_ID, Q_NOM, #VI_ID)
VILLE (VI_ID, #VI_NOM)
4.4. Modèle physique
A ce stade, le MLD est transformé en instructions formulées dans le langage de commande
(Langage SQL : LDD) du SGBD retenu et les instructions sont exécutées dans le SGBD en vue
de créer la structure de la base de données et la rendre opérationnelle.
Voici le script SQL(LDD) permettant de créer la structure de la base de données « Gestion de
logements » dans le SGBD sql server :
CREATE TABLE Propriétaire(
PR_ID INT,
PR_NOM VARCHAR(50),
PR_PRENOM VARCHAR(50),
PR_TELEPHONE VARCHAR(50),
PRIMARY KEY(PR_ID)
);
CREATE TABLE TYPE_LOGEMENT(
TY_ID INT,
TY_NOM VARCHAR(50),
PRIMARY KEY(TY_ID)
);
CREATE TABLE VILLE(
VI_ID INT,
VI_NOM VARCHAR(50),
PRIMARY KEY(VI_ID)
);
CREATE TABLE QUARTIER(
Q_ID INT,
Q_NOM VARCHAR(50),
VI_ID INT NOT NULL,
PRIMARY KEY(Q_ID),
FOREIGN KEY(VI_ID) REFERENCES VILLE(_VI_ID)
);
CREATE TABLE Logement(
LO_ID INT,
LO_SUPERFICIE VARCHAR(50),
LO_ADRESSE VARCHAR (50),
Q_ID INT NOT NULL,
TY_ID INT NOT NULL,
PR_ID INT NOT NULL,
PRIMARY KEY(LO_ID),
FOREIGN KEY(Q_ID) REFERENCES QUARTIER(_Q_ID),
FOREIGN KEY(TY_ID) REFERENCES TYPE_LOGEMENT(TY_ID),
FOREIGN KEY(PR_ID) REFERENCES Propriétaire(PR_ID)
);
EXERCICE : Une bibliothèque municipale souhaite gérer les prêts de ses ouvrages aux
personnes inscrites. Un ouvrage a un titre et une date de publication. Afin de pouvoir faciliter
les recherches, les ouvrages sont classés par catégorie : aventure, policier, historique. De plus
un ouvrage peut être écrit par un ou plusieurs auteurs. Pour bénéficier de prêts, une personne
doit payer une adhésion annuelle à la bibliothèque. Les adhérents peuvent emprunter l’un des
exemplaires d’un ouvrage. Chaque exemplaire est identifié par un numéro. Afin de suivre les
prêts, le personnel de la bibliothèque souhaite connaitre la date d’emprunt et restitution. Les
ouvrages de la bibliothèque sont généralement disponibles en plusieurs éditions. Chaque
édition est identifiée par sa date d’édition.
Etablir le MCD et le MLD
SOLUTION
a) Représentons le Modèle Conceptuel de Données
b) Représentons le Modèle Logique de Données
ADHERER (#Id_PERSONNE, ANNEE)
PERSONNE (Id_PERSONNE, P_NOM, P_PRENOM)
EMPRUNTER (#Id_PERSONNE, #NUM_EXP, DATE_EMPRUNT, DATE_RESTITUTION)
EDITION (ID_EDITION, DATE_EDITION, # ID_OUVRAGE)
OUVRAGE (ID_OUVRAGE, NOM_OUVRAGE, DATE_PUBLICATION, #ID_CATEG)
CATEGORIE (ID_CATEG, NOM_CATEG)
ECRIRE (#ID_OUVRAGE, #ID_AUT)
AUTEUR (ID_AUT, NOM_AUT, PRENOM_AUT)
NB : Lorsqu’une entité ne possède pas d’attribut en dehors de sa clé, il ne faut pas
nécessairement en faire une table au niveau du MLD. C’est le cas de l’entité Année.
Devoir
Exercice 1 :
Un club de programmeurs souhaite suivre les utilisations d’applications de ses membres.
Chaque membre dispose de plusieurs appareils de différents types (ordinateur, smartphone,
tablette …). L’adresse MAC permet d’identifier un appareil quel que soit son type. Chaque
membre dispose d’un compte pour pouvoir installer ses applications. En plus du nom et du
prénom, l’email sert d’identifiant du compte. Le membre peut ensuite noter et commenter
noter les applications en fonction de des appareils utilisés.
TAF : Présenter le MCD et le MLD
Exercice 2 :
Un garage automobile souhaite gérer un catalogue de pièces utilisées pour les réparations.
Chaque pièce est caractérisée par une catégorie (moteur, carrosserie …) et un prix d’achat.
Une référence permet d’identifier les pièces. Une pièce peut être utilisé pour certain type de
véhicule. Un type de véhicule est caractérisé par une marque (PORSHE …), un modèle(SUV) et
un millésime.
TAF : Présenter le MCD et le MLD
NB : Devoir à faire en groupe de cinq (5). A rendre le mercredi 13 décembre 2023 en PDF.