Vous êtes sur la page 1sur 6

Systèmes d’information – 7A.

Conception des données - ORM


Chapitre 7A
Conception des données – modèle ORM

OBJECTIFS
L'étude de l'existant au sein de l'entreprise a permis de dégager plusieurs éléments concernant les
données :
1) le dictionnaire décrivant la totalité des données manipulées,
2) l'ensemble des règles de gestion appliquées.
De ce dictionnaire, épuré des synonymes et des polysèmes, ne seront ici utilisées que les données de
niveau conceptuel.
Les règles de gestion, éventuellement enrichies de l'expression de nouveaux objectifs, mettent en
évidence d'une façon non formalisée les rapports instaurés entre les données. Négligeant pour
l'instant les tâches qu'elles expriment aussi, nous n'analyserons ici que la sémantique qu'elles
contiennent, liant indispensable à la vie de l'entreprise.
Le développement du modèle ORM (Object Role Modelling) a commencé avec les langages NIAM
et BRM. Cette présentation est faite d’après le manuel de Terry Halpin « Conceptual Schema &
Relational Database Design ».

La procédure de conception du schéma


Après étude de l’existant, on peut pour la clarté du discours distinguer quelques étapes, dont la
séparation dans le temps n’est pas stricte :

Etape 1 : Transformer des exemples familiers en faits élémentaires et les


vérifier
Le concept fondamental dans le modèle ORM est le fait élémentaire. C’est un prédicat qui ne peut
pas être décomposé en prédicats plus simples sans perte d’information. Par exemple :
« Anne emploie Jean ».
« L’étudiant de nom ‘Georges’ a obtenu la note 15 pour le sujet dont le code ‘I132’. »
Mais le prédicat
« Anne fume  et Jacques fume »
peut être décomposé en «Anne fume » et «Jacques fume »
et  «La personne nommée Wirth a conçu le langage algorithmique PASCAL en l'année 1970 ap. J.-C.
»
peut être décomposé en
« La personne de nom Wirth a conçu le langage algorithmique PASCAL » et
« Le langage algorithmique PASCAL a été conçu en l'année 1970 ap. J.-C.»
Les faits élémentaires affirment que les objets jouent des rôles. Nous n’examinerons que deux
genres d’objets : entités et valeurs. Les valeurs les plus simples sont les constantes de
types numérique et chaîne de caractères.
Dans un système d’information une entité (une personne ou une voiture) est référencée par une
description précise. Par exemple «L'animal nommé 'kangourou' saute dans un pays nommé
'Australie' ». Nous parlons très souvent pour des entités en les référençant par des valeurs. Par
exemple :
« La France a 90 départements»

7A.1
Systèmes d’information – 7A. Conception des données - ORM
« ‘France’ a six lettres »
Dans le premier cas le mot ‘France’ a été utilisé comme une étiquette d’une entité. Dans le
deuxième cas le mot fait mention de soi-même.
La description doit spécifier le type d’entité – c’est l’ensemble de toutes les instances possibles,
mode de référence, c’est à dire le moyen par lequel la valeur fait référence à l’entité. On va décrire
chaque entité par :
Exemples
Type d’entité Patient Température
Mode de référence Nom Degrés Celsius
Valeur ‘Dupont’ 37
Les rôles sont spécifiés à l’aide de prédicats logiques. Le prédicat est une phrase avec des places
libres pour les objets. Pour compléter la phrase ces places sont remplies par des objets-termes.
Chaque objet-terme réfère à un seul objet du monde réel. Les valeurs sont désignées par des
constantes (qui sont parfois précédées par le nom de type) et les entités sont désignées par des
descriptions qui établissent un lien entre valeurs et entités. Examinons la phrase suivante :
«  La Personne dont le surnom est ‘Anne’  fume. »
Ici l’objet-terme est «La Personne dont le surnom est ‘Anne’» et le prédicat est en gras. Le dernier
peut être écrit comme :
....fume
C’est un prédicat unaire avec une place libre. On peut avoir des prédicats binaires, ternaires etc.
Voici des exemples des phrases :
« La Personne dont le surnom est 'Anne' emploie la personne dont surnom est ‘Jean’ »
« La Personne dont le surnom est ‘Cédric’ a travaillé dans le département nommé
‘Ventes’ pendant 10 années »
Les prédicats sont : « … emploie … » et «… a travaillé dans… pendant… »

Etape 2 : Dessiner le schéma et l’illustrer


Le schéma conceptuel est en général représenté par un diagramme. Les symboles de base utilisés
dans les diagrammes ORM sont :

A Type d'entités A B Type de valeurs B

A A identifiée par 1:1 A A identifiée par une


( ref ) mode de référence ref ( ref )+ valeur numérique

Prédic at unaire (1 rôle) Prédicat ternaire (3 rôles)


R R

Type d'objet s imbriqué


Prédicat binaire (2 rôles)
(prédicat objectivé)
R … has …/… has …

A Rôle joué par A


R

7A.2
Systèmes d’information – 7A. Conception des données - ORM
Dans le schéma chaque rôle est connecté avec juste un type d’entités. Le schéma complet contient
et des différents contraintes qui seront expliquées plus tard.
Exemple : Il y a les faits élémentaires :
La Personne nommée ‘Gispert J.’ conduit l’Automobile immatriculée ‘2345 FG 13’
La Personne nommée ‘Aperghis C.’ conduit l’Automobile immatriculée ‘5896 SQ 13’
La Personne nommée ‘Margot N.’ conduit l’Automobile immatriculée ‘5896 SQ 13’
Le schéma correspondant est :

Personne Automobile
Conduit/est conduite

posseède
possède

Nom de N°d'immatriculat
personne ion

Dans cet exemple chaque personne possède exactement un nom et chaque voiture une
immatriculation. D’autre part chaque nom désigne au maximum une personne et chaque N°
d’immatriculation ne peut s’appliquer qu’au maximum à une voiture. Dans ces deux cas il y a une
simple relation 1 :1 ou mode de référence 1 :1 et nous pouvons dessiner un schéma concis. Les
modes de référence sont de trois classes : populaires, basés aux unités, et généraux. Les modes
populaires sont : Nom, Code, Titre, N° ou Nr ou #, et Id. Pour former le nom du type de valeurs
populaire on ajoute son nom au nom de l’entité. Par exemple : Personne(Nom)->PersonneNom. Les
modes de référence basés aux unités incluent une liste d’unités de mesure physiques (kg, m, s, t),
unités monétaires (FRF, BGL $, £) et autres (ap. J.C.). Tous les autres modes de référence sont
appelés modes généraux. Chaque schéma doit être illustré par une table des faits qui contient au
moins un fait pour vérifier que le schéma est correct.
2345 FG 13
Personne Automobile
(Nom) (N°d'immat)
Conduit/est conduite

Gispert J.
Aperghis C 5896 SQ 13
Margot N. 5896 SQ 13

On peut ajouter encore un type de faits élémentaires : La Personne possède un Permis de conduire
Gispert J. 2345 FG 13 Automobile
(N°d'immat)
Aperghis C 5896 SQ
Conduit/est13
conduite
Margot N. 5896 SQ 13
Personne
(Nom)

Gispert J. A3050
Aperghis C A4098 Permis
(N° de permis)
Margot N. A2345
Possède/est possédé par

Quand il y a un fait unaire par exemple : Soit il y a le tableau suivant :

7A.3
Systèmes d’information – 7A. Conception des données - ORM
Un moyen d’exprimer les faits dans la ligne 1 est : La Personne
Fumeurs Non-Fumeurs nommée Jacques fume ; La Personne nommée Jacques ne fume
Jacques Marie pas. Les deux faits sont de différents types de faits. Le schéma est
Jean Basile dessiné au-dessous.
Nicolas

Jean
Jacques fume
Nicolas
Personne
(Prénom)

Marie
Basile ne fume pas
Ici il y a deux rôles appartenant aux types de faits différents. On peut exprimer les mêmes faits en
définissant un nouveau type d’entités – Etat-fumeur codé par deux valeurs : ‘F’ pour fumeurs et ‘N’
pour non-fumeurs.
Jacques F
Marie N
Personne Etat-fumeur Jean F
a
(Prénom) (code) Basile N
Nicolas F
Chacun des exemples binaires qu’ont été examinés lie deux types d’entités
Personne
(Prénom)
différentes. Ces types de faits sont appelés types de faits hétérogènes. Quand le
fait lie deux entités du même type il est appelé fait homogène. Un exemple est
montré à gauche :

Adam Eva
époux de épouse de
Paul Marie

Type d’objets imbriqué


On peut examiner une relation comme un objet. Dans ce cas on parle pour 'objet imbriqué' ou
'relation objectivée'. L'exemple suivant explique cette notion :
Examinons le report dans le tableau à droit : La sont Etudiant N° Sujet Note
donnés les résultats des étudiants : les étudiants sont 1001 IN100 15
identifiés par leur numéro et les sujets par leur code. Le 1002 IN100 12
1002 IN104 16
schéma conceptuel est dessiné au-dessous. Un rôle est
associé avec chacun des
colonnes du tableau. On peut Sujet
transformer le schéma en (code)
définissant un objet obtenu
de la relation Etudiant <->
Sujet. On peut écrire Etudiant Note
(N° étudiant) (nr)+
l'information dans la . .pour.. a note..
première ligne comme deux
phrases : 1001 IN100 15
« L'Etudiant '1001' s'est 1002 IN100 12
inscrit au Sujet 'IN100' » 1002 IN104 16
« Cette inscription a donné
comme résultat la Note 15 »
L’inscription est un objet obtenu de la relation Etudiant <-> Sujet.

7A.4
Systèmes d’information – 7A. Conception des données - ORM

Sujet
(code)

Etudiant Note
est inscrit à
(N° étudiant) (nr)+
a comme résultat
inscription
1001 IN100 (1001,IN100) 15
1002 IN100 (1002,IN100) 12
1002 IN104 (1002,IN104) 16
Etape 3 : Vérifier s’il n'y a pas de types d’entités qui peuvent être combinés
et noter les calculs arithmétiques
Cette étape sera illustrée par des exemples :
Exemple 1 : Dans chaque modèle il y a toujours
Acteur
(Nom) des types d’entités primitifs, qui sont disjoints.
a pour vedette Par ailleurs les types de valeurs se chevauchent
Film souvent. Dans le schéma a gauche les types
(Nom) «Acteur» et «Réalisateur» sont dessinés comme
des types primitifs séparés. Ca veut dire que les
Réalisateur
deux types s’excluent l’un l’autre (aucun acteur
(Nom)
est réalisé par ne peut devenir un réalisateur). Mais on voit que
dans la vie ce n’est pas vrai et on doit corriger le
schéma en unissant les deux types d’entités.
a pour vedette Article Prix en gros(F) Prix en detail(F) Majoration(F)
Film Personne A1 200 280 80
(Nom) (Nom) A2 320 420 100
A3 200 250 50
A4 870 1020 150
est réalisé par Exemple 2 : Examinons le tableau au-dessus. On
Prix en gros peut dessiner le schéma à gauche, mais on voit
(FRF)+ que les trois types sont des montants d’argent et
possède
en plus on peut calculer la majoration comme la
différence des deux prix. Donc on obtient le
Article Prix en det. schéma au-dessous avec un texte qui explique le
(code)
possède
(FRF)+ calcul.

Prix en gros Article a prix en gros de Montant


(FRF)+ (code) (FRF)+
possède

est vendu pour


Article a une majoration m ssi a a un prix en gros de r
et a est vendu pour v
et m = r - v
Exemple 3 : Parfois on peut laisser les faits déduits (calculés) dans le schéma main on doit les noter
explicitement, comme dans le schéma représentant les dimensions des bureaux d’un département.

7A.5
Systèmes d’information – 7A. Conception des données - ORM

est longue

Bureau Dimension
(N°)+ (m)+
est large

Surface
(m²)+
a *
Bureau b a une surface de s(m²) ssi b est longue l
et b est large w
et s = l x w

7A.6

Vous aimerez peut-être aussi