Académique Documents
Professionnel Documents
Culture Documents
systèmes
d’informations
Filière: DSI
Lycée Hassan 2 Marrakech
(2020/2021)
M. LACHHAB
L'information est aujourd'hui une ressource stratégique pour la plupart
des entreprises, dans lesquelles de très nombreuses activités reposent sur
l'exploitation d'applications informatiques. Pour ces entreprises, la
fiabilité de leur système informatique et la qualité des logiciels utilisés
sont donc cruciales.
.
Parallèlement, on constate que :
la part du logiciel est aujourd'hui prépondérante dans le coût total d'un
système informatique .
la demande d'applications nouvelles, et de plus en plus complexes, ne
cesse de croître .
les utilisateurs sont de plus en plus exigeants en termes de fiabilité et
de sécurité.
Définition de logiciel :
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.
.
.
Un système d'Information (noté SI) représente l'ensemble des éléments participant
à la gestion, au traitement, au transport et à la diffusion de l'information au sein de
l'organisation.
La saisie ou collecte de l'information
La mémorisation de l'information à l'aide de fichier ou de base de
données
Le traitement de l'information afin de mieux l'exploiter
(consultation, organisation, mise à jour, calculs pour obtenir de
nouvelles données, ...)
La diffusion de l'information
Prenons un exemple.
Vous connaissez tous le service de cartographie de Google appelé Google Maps. Pour simplifier,
c’est un site de cartographie en ligne qui vous permet de rechercher un lieu, n’importe où dans le
monde, depuis la barre de recherche sur le site.
Mais c’est aussi un système d’information parce que Google Maps est un
ensemble de ressources humaines, matérielles et immatérielles :
des ressources humaines, car Google Maps c’est une équipe de développeurs, de
cartographes, de géomètres, mais aussi les chauffeurs des voitures Google qui
prennent les rues en photos et encore bien d’autres personnes !
des ressources matérielles, car des ordinateurs, serveurs, caméras, satellites sont
utilisés pour acquérir et stocker les données cartographiques.
enfin, des ressources immatérielles car Google Maps c’est aussi des photos
satellites, des cartes, mais aussi des brevets créés et exploités par Google pour
mettre en œuvre ce service.
Eh bien en plus d’être un service de Google, Google Maps est un système
d’information à part entière.
Parce que tout d’abord, il permet de :
et les distribuer, c’est-à-dire vous les afficher sur le site lors de vos
recherches .
Le SI est le véhicule des différents services d’une entreprise. En
structurant les échanges, il les coordonne ainsi que les activités de
l’organisation. Il lui permet ainsi d'atteindre ses objectifs stratégiques.
(1) COLLECTER => (2) STOCKER => (3) TRAITER => (4)
DIFFUSER
En résumé :
Le SI a 4 fonctions : collecter, stocker, traiter et diffuser l’information.
Les BDD et fichiers peuvent être stockés physiquement sur un serveur, une
aire de stockage au sein de l’organisation ou bien dans le Cloud.
MERISE est une méthode française née dans les années 70, développée
initialement par Hubert Tardieu. Elle fut ensuite mise en avant dans les années
80, à la demande du Ministère de l'Industrie qui souhaitait une méthode de
conception des SI.
MERISE est donc une méthode d'analyse et de conception des SI basée sur le
principe de la séparation des données et des traitements .
Elle possède un certain nombre de modèles (ou schémas) qui sont
répartis sur 3 niveaux :
Le niveau conceptuel .
Le niveau logique ou organisationnel .
Le niveau physique.
Le dictionnaire de données
Le graphe de dépendances fonctionnelles (matrice df)
Le modèle conceptuel de donnes(MCD)
Le modèle logique de données (MLD)
Le passage sur un logiciel de SGBDR
Les apports de Merise
La force de la méthode Merise est de structurer les besoins des décideurs de façon simple et
compréhensible.
Merise améliore la communication entre les différents acteurs du processus de
développement.
Cette méthode, grâce à ses modèles, encadre le projet et de ce fait protège les intervenants
d’un possible développement hors sujet.
Les apports de Merise
Suivre ce cheminement intellectuel peut aussi aider l’entreprise à mieux se
connaître, mieux se comprendre et ainsi mieux communiquer.
Le projet Merise s’articule autour d’un schéma directeur qui détermine et
planifie le projet et ses enchaînements.
Présentation de la méthode Merise
Tout d’abord cette étape et très importante pour commencer la collection des données se fait grâce
« au dictionnaire de données » .
Le dictionnaire des données est un document qui permet de recenser,
de classer et de trier toutes les informations (les données) collectées lors des
entretiens ou de l’étude des documents.
Le dictionnaire peut être plus ou moins élaboré selon le niveau de granularité
souhaité. En voici un exemple :
Tout d’abord cette étape et très importante pour commencer la collection des
données se fait grâce « au dictionnaire de données » .
Exemple d’un dictionnaire de données (client et les articles):
Nom Commentair Entité type Identifiant
e
NumClient Numéro de Client Numérique oui
client
nom Nom client Client Texte Non
prénom Prénom client Client Texte non
Adresse Adresse client Client texte Non
NumArticle Numero Article Numérique oui
Article
Désignation Désignation Article Texte non
Article
……………. …………….. ………….. …………….. ……………..
Niveau conceptuel
Le Modèle Conceptuel des Données introduit la notion d’entités, de relations et de propriétés. Nou
s allons commencer par voir certains aspects « théoriques» avant de plonger dans la pratique.
Il décrit de façon formelle les données utilisées par le système d’information. La représentation
graphique, simple et accessible, permet à un non informaticien de participer à son élaboration .
Les éléments de base constituant un modèle conceptuel des données sont :
les propriétés
les entités
les relations
Les propriétés
Les propriétés sont les informations de base du système d’information.
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. Par exemple:
le nom est une propriété de type alphabétique et de longueur 50, c’està
dire que la valeur saisie ne comportera aucun chiffre et ne dépassera pas cinquante
caractères.
Les types ne sont pas décrits au niveau conceptuel, car ce niveau est trop
proche de la définition du système physique. Nous y reviendrons plus tard.
Les entités ou objets
Comme il est aisé de le constater, les clients sont définis par certaines propriétés (numéro, nom,
prénom…).
Le fait de les regrouper amène naturellement à créer une entité Clients. Le
symbolisme retenu est le suivant :
L’identifiant
Une de ces propriétés a un rôle bien précis, c’est l’identifiant nommé aussi la clé.
L’identifiant permet de connaître de façon sûre et unique l’ensemble des propriétés qui participent à
l’entité. Par exemple, le fait de connaître la ville d’un client permet il de connaître son
nom ? La réponse est non.
La connaissance du nom du client perme telle de connaître sa ville ? La réponse est
toujours non.
Il faut donc trouver, ou inventer, une propriété qui lorsque sa valeur est connue permet la
connaissance de l’ensemble des valeurs qui s’y rattachent de façon formelle.
Voici le schéma modifié de l’entité Clients
Les relations ou associations
Un client peut commander des articles
Les cardinalités
Elles expriment le nombre de fois ou l’occurrence d’une entité participe aux occurrences de l
a relation.
Dans notre exemple on peut se poser les questions suivantes :
Une cardinalité minimale de 1 doit se justifier par le fait que les individus de l'entité en question ont
besoin de l'association pour exister (un client n'existe pas avant d'avoir commandé quoique ce soit,
donc la cardinalité minimale de l'entité clients dans l'association commander est 1).
Définitions
La cardinalité minimale (0 ou 1) exprime le nombre de fois minimum qu’une
occurrence d’une entité participe aux occurrences d’une relation.
La cardinalité maximale (1 ou n) exprime le nombre de fois maximal qu’une
occurrence d’une entité participe aux occurrences de la relation.
Si le maximum est connu, il faut inscrire sa valeur. Par exemple, si dans les règles
de gestion le client n’a le droit de commander qu’un maximum de 3 articles
en tout et pour tout, dans ce caslà les cardinalités s’exprimeront de cette
façon : 1,3.
Exercice :
Exercice
Modélisons le fait qu’une mère élève des enfants.
Nous avons deux entités Mères et Enfants :
Des cardinalités :
Une mère peut élever un ou plusieurs enfants.
Un enfant peut être élevé par une et une seule mère.
Exercice
Professeurs/Etudiants
On veut gérer les étudiants et les professeurs d’un
ensemble de formations dispensés par une université.
Un étudiant est identifié par son prénom, son nom et son
âge. Un étudiant suit une formation. Chaque formation a
un nom et une durée (nombre d’années). Elle est assurée
par un ensemble d’enseignants. Chaque enseignant est
connu par son nom, son prénom et la matière qu’il
enseigne.
Exercices
Exercices
Entreprise/Employés
Entreprise/Employés
Exercices
Au service de l'intendance :
Chaque ordinateur est identifié par un N° d'inventaire crée par l'intendant.
Sa date d'achat doit être conservée, ainsi que son nom générique et sa marque.
Les informations courantes sur le fournisseur de l'ordinateur sont notées.
Certains sont couverts par un contrat de maintenance. Le type de garantie la date de
signature, sa durée sont indispensables. Un contrat peut couvrir plusieurs ordinateurs
et a un coût forfaitaire.
Un contrat est toujours signé auprès d'une société dont on désire garder toutes les
coordonnées. Celle-ci est bien souvent le fournisseur.
Exercices
.
Les relations porteuses
Définition
Voici le modèle conceptuel correspondant :
Une relation faisant intervenir deux entités est dite binaire.
Les relations porteuses
Si nous désirons connaître la date d’achat, il nous suffit de créer une entité Date à la relation
Commander.
Une relation faisant intervenir trois entités est dite ternaire.
Associations plurielles
Dans cet exemple issu d'une agence immobilière, une personne peut être
propriétaire, résider principalement ou résider secondairement dans un logement
géré par l'agence. Les logements qui ne sont pas gérés par l'agence ne figurent
pas dans l'entité des logements, ce qui explique certaines cardinalités 0 du
schéma. Nous supposons également qu'un logement n'est détenu que par une
seule personne et que ce propriétaire figure obligatoirement dans l'entité des
personnes.
Les relations réflexives
Définition
Une relation réflexive est une relation d’une entité sur ellemême.
Par exemple, on désire modéliser le fait qu’un employé peut diriger d’autres employés.
À la lecture de ce schéma, nous interprétons donc qu’un employé peut diriger zéro ou
plusieurs personnes et qu’un employé est dirigé par un et un seul autre employé.
Les relations réflexives
Définition
Il est permis à une association d'être branchée plusieurs fois à la même entité, comme
l'association binaire réflexive de la figure ci-dessus.
Dans cet exemple, tout employé est dirigé par un autre employé (sauf le directeur général) et
un employé peut diriger plusieurs autres employés, ce qui explique les cardinalités sur le
schéma.
Associations non binaires
Lorsqu'autour d'une entité, toutes les associations ont pour cardinalités maximales 1 au centre et n à
l'extérieur, cette entité est candidate pour être remplacée par une association branchée à toutes les
entités voisines avec des cardinalités identiques 0,n.
La deuxième condition qu'il faut impérativement satisfaire est la règle de normalisation des attributs
des associations (section suivante). Cette règle conduit parfois à l'apparition d'associations qui
établissent un lien sémantique entre trois entités ou plus.
Associations non binaires
Sur l'exemple de la figure suivante issu d'un cinéma, l'entité projections est uniquement entourée
d'associations dont les cardinalités maximales sont : 1 côté projections et n de l'autre côté. De plus, la
donnée d'un créneau, d'un film et d'une salle suffit à déterminer une projection unique. On peut donc
la remplacer par une association projeter branchée aux trois entités salles, créneaux horaires et films.
On parle alors d'association ternaire.
Règles de normalisation
Normalisation des entités (importante) : toutes les entités qui sont remplaçables par
une association doivent être remplacées (comme sur la figure précédente).
Normalisation des noms : le nom d'une entité, d'une association ou d'un attribut doit
être unique.
Conseils :
pour les entités, utiliser un nom commun au pluriel (par exemple : clients) ;
Pour les associations, utiliser un verbe à l'infinitif (par exemple : effectuer,
concerner) éventuellement à la forme passive (être commandé) et accompagné
d'un adverbe (avoir lieu dans, pendant, à) ;
pour les attributs, utiliser un nom commun singulier (par exemple : nom, numéro,
libellé, description), éventuellement accompagné du nom de l'entité ou de
l'association dans laquelle il se trouve (par exemple : nom de client, numéro
d'article).
Les bonnes pratiques dans un schéma entités-associations
Conseils :
éviter les identifiants composés de plusieurs attributs (comme un identifiant formé par les
attributs nom et prénom), car d'une part c'est mauvais pour les performances et d'autres part,
l'unicité supposée par une telle démarche finit tôt ou tard par être démentie ;
préférer un identifiant court pour rendre la recherche la plus rapide possible (éviter notamment
les chaînes de caractères comme un numéro de plaque d'immatriculation, un numéro de sécurité
sociale ou un code postal) ;
éviter également les identifiants susceptibles de changer au cours du temps (comme les plaques
d'immatriculation ou les numéros de sécurité sociale provisoires).
Conclusion : l'identifiant sur un schéma entités-associations (et donc la future clé primaire dans
le schéma relationnel) doit être un entier, de préférence incrémenté automatiquement .
Les bonnes pratiques dans un schéma entités-associations
En effet, d'une part, les attributs en plusieurs exemplaires posent des problèmes d'évolutivité
du modèle (sur la figure ci-dessus à gauche, comment faire si un employé a deux adresses
secondaires ?) et d'autre part, les attributs calculables induisent un risque d'incohérence entre
les valeurs des attributs de base et celles des attributs calculés, comme sur la 2eme figure
Les bonnes pratiques dans un schéma entités-associations
D'autres d'attributs calculables classiques sont à éviter, comme l'âge (qui est calculable à partir
de la date de naissance) ou encore le département (calculable à partir d'une sous-chaîne du
code postal).
Normalisation des attributs des associations (importante) : les attributs d'une association
doivent dépendre directement des identifiants de toutes les entités en association.
Par exemple, sur la figure 5 la quantité commandée dépend à la fois du numéro de client et du
numéro d'article, par contre la date de commande non. Il faut donc faire une entité
commandes à part, idem pour les livraisons (figure ci dessus. )
Les bonnes pratiques dans un schéma entités-associations
L'inconvénient de cette règle de normalisation est qu'elle est difficile à appliquer pour les associations qui
ne possèdent pas d'attribut. Pour vérifier malgré tout qu'une association sans attribut est bien normalisée,
on peut donner temporairement à cette association un attribut imaginaire (mais pertinent) qui permet de
vérifier la règle.
Par exemple, entre les entités livres et auteurs de la figure précédente, l'association écrire ne possède pas
d'attribut. Imaginons que nous ajoutions un attribut pourcentage qui contient le pourcentage du livre écrit
par chaque auteur (du même livre). Comme cet attribut pourcentage dépend à la fois du numéro de livre et
du numéro d'auteur, l'association écrire est bien normalisée.
Autre conséquence de la normalisation des attributs des associations : une entité avec une cardinalité de 1,1
ou 0,1 aspire les attributs de l'association
Les bonnes pratiques dans un schéma entités-associations
Normalisation des associations (importante) : il faut éliminer les associations fantômes (figure (a)),
redondantes (figure (b)) ou en plusieurs exemplaires (figure (c)).
(a) Les cardinalités sont toutes 1,1 donc c'est une association fantôme .
(b) Si un client ne peut pas régler la facture d'un autre client, alors l'association payer est inutile et doit
être supprimée (dans le cas contraire, l'association payer doit être maintenue).
Les bonnes pratiques dans un schéma entités-associations
(c) Une association suffit pour remplacer les quatre associations participer en tant que…
En ce qui concerne les associations redondantes, cela signifie que s'il existe deux chemins pour se rendre d'une
entité à une autre, alors ils doivent avoir deux significations ou deux durées de vie différentes. Sinon, il faut
supprimer le chemin le plus court, car il est déductible à partir de l'autre chemin. Dans notre exemple de la
figure 15(b), si on supprime l'association payer, on peut retrouver le client qui a payé le règlement en passant par
la facture qui correspond.
Remarque : une autre solution pour le problème de la figure 15(b) consiste à retirer l'entité règlements et d'ajoute
une association régler avec les mêmes attributs (sauf l'identifiant) entre les entités clients et factures.
Les bonnes pratiques dans un schéma entités-associations
Normalisation des cardinalités : une cardinalité minimale est toujours 0 ou 1 (et pas 2,
3 ou n) et une cardinalité maximale est toujours 1 ou n (et pas 2, 3…).
Cela signifie que si une cardinalité maximale est connue et vaut 2, 3 ou plus (comme
sur la figure 15(c) à droite, ou pour un nombre limité d'emprunts dans une
bibliothèque), alors nous considérons quand même qu'elle est indéterminée et vaut n.
Cela se justifie par le fait que même si nous connaissons n au moment de la
conception, il se peut que cette valeur évolue au cours du temps. Il vaut donc mieux
considérer n comme une inconnue dès le départ.
Les bonnes pratiques dans un schéma entités-associations
Cela signifie également qu'on ne modélise pas les cardinalités minimales qui valent
plus de 1, car ce genre de valeur est aussi amené à évoluer. Par ailleurs, avec une
cardinalité maximale, l'association n'aurait aucune signification.
Dans un SGBD relationnel, nous pourrions assurer les cardinalités valant 2, 3 ou plus,
via l'utilisation de déclencheurs. Mais cette notion n'est pas abordée dans ce cours qui
se contente, au contraire, de décrire ce qu'il est possible de faire sans utiliser de
déclencheur.
Les formes normales
À ces six règles de normalisation, il convient d'ajouter les trois premières formes
normales traditionnellement énoncées pour les schémas relationnels, mais qui
trouvent tout aussi bien leur place en ce qui concerne les schémas entités-
associations.
Première forme normale : à un instant donné dans une entité, pour un individu, un
attribut ne peut prendre qu'une valeur et non pas, un ensemble ou une liste de valeurs.
Si un attribut prend plusieurs valeurs, alors ces valeurs doivent faire l'objet d'une
entité supplémentaire, en association avec la première (figure ci -dessus).
Les formes normales
Deuxième forme normale : l'identifiant peut être composé de plusieurs attributs, mais les
autres attributs de l'entité doivent dépendre de l'identifiant en entier (et non pas une partie de
cet identifiant).
Cette deuxième forme normales peut être oubliée si on suit le conseil de n'utiliser que des
identifiants non composés et de type entier. En vérité, elle a été vidée de sa substance par la
règle de normalisation des attributs des associations (paragraphe « Normalisation des attributs
des associations »).
Considérons malgré tout le contre-exemple suivant : dans une entité clients dont l'identifiant
est composé des attributs nom et prénom, la date de fête d'un client ne dépend pas de son
identifiant en entier mais seulement de prénom. Elle ne doit pas figurer dans l'entité clients, il
faut donc faire une entité calendrier à part, en association avec l'entité clients.
Les formes normales
Troisième forme normale de Boyce-Codd (importante) : tous les attributs d'une entité doivent dépendre
directement de son identifiant et d'aucun autre attribut. Si ce n'est pas le cas, il faut placer l'attribut
pathologique dans une entité séparée, mais en association avec la première.
Il y a redondance (et donc risque d'incohérence) dans les colonnes constructeur
et capacité
Les formes normales
Par exemple, l'entité avions (figure ci-dessus à gauche) dont les valeurs sont données dans le
tableau 17, n'est pas en troisième forme normale de Boyce-Codd, car la capacité et le
constructeur d'un avion ne dépendent pas du numéro d'avion mais de son modèle. La solution
améliorée est donnée figure 18 à droite.
En toute rigueur, la colonne constructeur ne doit pas être maintenue dans l'entité modèles
d'avion, mais doit être placée dans une entité séparée constructeurs (en association avec
modèles d'avion), afin d'éviter la redondance du nom d'un constructeur pour tous ses modèles.
4. Règles d’usages
Toute entité doit comporter un identifiant
Toutes les propriétés de l’entité dépendent fonctionnellement de l’identifiant.
Cas pratique :
Monique, sa fille Rachel et son gendre Marc gèrent un camping dans les Pyrénées orientales
. Le camping est ouvert du 1er juin au 30 septembre. Ils disposent de cinquante
emplacements sur un terrain d’une superficie totale de quarante hectares.
Ils sont équipés d’un logiciel spécialisé dans la réservation des emplacements qui fonctionn
e très bien mais qui ne permet pas de gérer les achats de l’épicerie
selon leurs règles de gestion. En effet, les vacanciers ne payent leurs achats qu’à la fin
de leur séjour. Concrètement, les achats sont inscrits manuellement sur une fiche bristol
créée pour chaque famille
de vacanciers. À la fin du séjour, les cumuls sont réalisés et une facture manuelle concernan
t les achats est établie. Les propriétaires du camping souhaiteraient disposer d’un
logiciel permettant d’automatiser
la création de la facture grâce à la saisie journalière des achats.
Voici une représentation de la fiche bristol :
1) Dictionnaire des données
À la lecture du dictionnaire nous pouvons déduire deux groupes d’informations
distinctes. Un groupe caractérise les clients, l’autre les produits.
Les dépendance fonctionnelles :
Numcli → Nom
Voici maintenant l’ensemble des DF élémentaires :
Numcli → Prénom
Numcli → Adresse
Numcli → Code Postal
Numcli → Ville
Dépendances fonctionnelles pour les articles :
CodeArticle → Désignation
CodeArticle → PrixUnitaire
Les dépendance fonctionnelles :
Rappel
Les dépendances fonctionnelles ne concernent que les données non
déduites. C’est pour cela que n’apparaissent pas les données concernant
le total par ligne et le total global de la facture qui sont des informations
déduites par calcul.
Les dépendance fonctionnelles :
4. Matrice des dépendances fonctionnelles
Une autre façon de représenter les dépendances fonctionnelles est de créer
une matrice. Cependant,
cette représentation ne présente pas le même intérêt que le graphe, qui lui perme
t une vision plus graphique du futur modèle conceptuel des données.
Sources
But 1 2 3 4 5 6 7 8 9 10 11 12
1 Numcli
2 Nom 1
3 Prénom 1
4 Adresse 1
5 Code Postal 1
6 Ville 1
7 CodeArticle
8 Désignation 1
9 Prix 1
10 Date
11 Qté 1
12 Numcli, CodeArticle
, Date
Une version simplifiée consiste à ne laisser que les colonnes sources ayant un « 1 » d’inscrit
Sources
But 1 7 12
1 Numcli
2 Nom 1
3 Prénom 1
4 Adresse 1
5 Code Postal 1
6 Ville 1
7 CodeArticle
8 Désignation 1
9 Prix 1
10 Date
11 Qté 1
12 Numcli, CodeArticle
, Date
Conclusion
1. Cas (0, n), (1,1) ou (1,n), (0,1) :
Nous devons supprimer la relation Elever, cela se réalise de façon tout à fa
it mécanique.
L’entité ayant la cardinalité de type 1,1 ou 0,1 absorbe l’identifiant de l’entité
la plus forte (0, n ou 1, n). Cet identifiant est alors appelé la clé étrangère.
Introduction au Modèle Logique des Données
Voici le Modèle Logique des Données découlant du Modèle conceptu
el précédent :
Introduction au Modèle Logique des Données
Modèle Logique des Données sur une relation réflexive
Reprenons ce Modèle Conceptuel des Données :
Introduction au Modèle Logique des Données
Règles simples de passage du MCD au MLD :
L’entité qui possède la cardinalité maximale égale à 1, recevra l’identifiant ou les
Les relations ayant toutes leurs entités reliées avec des cardinalités maximales
Toute relation porteuse de propriétés se transformera en entité et
absorbera comme clé étrangère les identifiants des entités qui lui sont
liées.
Introduction au Modèle Logique des Données
Conclusion :
Exercice «KaafKaaf»
Transformez le MCD suivant, qui représente la facturation de la société
«KaafKaaf» en un MLD en respectant toutes les règles du passage MCD
à MLD.
Introduction au Modèle Logique des Données
Exercice: bibliothèque
Une bibliothèque de prêts utilise les documents suivants
Introduction au Modèle Logique des Données
Questions :
Etablir :
1) le dictionnaire des données. (DD)
2) le graphe de dépendance fonctionnel (GDF)
3) le Modèle Conceptuel des Données M C D
4) le Modèle Logique des Données MLD
Solution de l’Exercice :
1. dictionnaire de données
2. GDF
3. MCD