Académique Documents
Professionnel Documents
Culture Documents
Conception de Systmes
dInformation
Antoine Zimmermann
antoine.zimmermann@emse.fr
(adapt du cours de Laurent Vercouter)
Contenu du cours
Partie Base de Donnes Partie Dveloppement dun
Novembre/Dcembre 2013 SI
Objectif : savoir concevoir un Janvier/Fvrier 2013
modle de BDD et limplanter avec Objectif : savoir appliquer une
un langage de manipulation de mthode de dveloppement dun
donnes SI
Outils : modle E-A, relationnel,
SQL, OpenOffice Base, PHP
Plan
Introduction sur les Systmes dInformation
Notions de base
Mise en uvre technique
Le Modle Entit-Association
Concepts
Exemple
Le modle relationnel
Concepts
Algbre relationnelle
entres sorties
rgulation
Fonctions du SI
Un SI a deux fonctions principales :
La production dinformation
Collecter des informations
Traiter et transmettre des informations
Mmoriser des informations
La mise en uvre doutils de gestion
Fonction technologiques (matriels, logiciels,
mthodes, savoir-faire, )
Fonction conomique
Fonction sociale
Informatique et SI
Linformatique facilite la gestion dun SI mais ne le
couvre pas dans son ensemble.
SI Oprationnel
SI Informatis
SI sans Informatique
Les bibliothques et administrations utilisaient des
SI bien avant linvention de lordinateur
Un SI peut tre mis en uvre laide de cahiers,
registres, indexes, etc
Communication entre SI
Les SI dentreprises partenaires (associes, filiales,
client/fournisseur) doivent communiquer
par des moyens classiques (courrier, )
par des outils informatiques : EDI (Echange de Donnes
Informatises)
Le(s) Systme(s) dInformation peut atteindre une taille
et une envergure gigantesque
Facebook, > 1 000 000 000 de comptes, des centaines de
milliards de mises jours depuis sa cration
Google > 100 000 000 000 de documents indexs, on estime
plusieurs milliers de milliards de requtes depuis sa cration
Transport ferroviaire
La SNCF a besoin de grer linformation sur les
gares, les voies, les trains, les wagons, les places, les
classes, les horaires, les tarifs, les distances, les
conducteurs, les contrleurs, les rservations, etc.
Qui a besoin de linformation ?
Guichetiers, et par ce biais, le client
Voyages-sncf.com, et par ce biais, linternaute
Les crans daffichage des trains larrive et au dpart
Le systme de gestion daiguillage
Le gestionnaire comptable
Le service de maintenance
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
Plan
Introduction sur les Systmes dInformation
Notions de base
Mise en uvre technique
Le Modle Entit-Association
Concepts
Exemple
Le modle relationnel
Concepts
Algbre relationnelle
Systme de Gestion de
Fichiers
Systme utilis pour grer les donnes dun disque
(disquette, disque dur, CD-Rom, )
Un fichier = une suite ordonne de donnes
2 types daccs aux donnes dun fichier
Squentiel (depuis ladresse de dbut du fichier)
Accs direct (selon un dcalage par rapport ladresse de dbut)
Systme de Gestion de Fichiers (SGF) : gre les accs aux
fichiers, application par application
Inconvnient :
Structure trop simple (applications indpendantes)
Redondance dinformation
Base de Donnes
Une Base de Donnes (BdD) est un ensemble
structur de donnes ayant un sens et accessibles
par lordinateur pour satisfaire simultanment
plusieurs utilisateurs
nom, tl., ml., adresse, relation sociale
Une BdD est conue, construite et remplie avec
des donnes dans un but prcis
Exemple SNCF
Plusieurs utilisateurs :
BdD dentreprise
(employs, salaires, etc)
Guichetier
SGBD SNCF
BdD horaires, trajets
Internaute
BdD statistiques
(usage, retards,
Usager
satisfaction, etc)
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
Plan
Introduction sur les Systmes dInformation
Notions de base
Mise en uvre technique
Le Modle Entit-Association
Concepts
Exemple
Le modle relationnel
Concepts
Algbre relationnelle
Le modle Entit-
Association (ou EA)
Observation de la ralit
Concepts de base :
attributs
Attribut : caractristique d'une entit (ou d'une
association) que le concepteur juge ncessaire de
rpertorier
Remarques :
Les attributs sont typs
Une entit dfinit les attributs par leur type
Une occurrence affecte une valeur chaque attribut
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
Concepts de base : cl
Cl : attribut ou un ensemble d'attribut qui permet
d'identifier de manire unique une occurrence d'une
entit parmi toutes ses occurrences
Concepts de base :
association
Association : lien entre des entits prsentant un
intrt pour la conception que l'on souhaite raliser
Concepts de base :
association (2)
Une association peut :
relier plus de 2 entits
bnficier dattributs
Cardinalit dune
association
La cardinalit d'une association indique le nombre
d'occurrences de chaque entit qui peuvent tre
impliques dans une mme association
Exemple de modlisation
Entit-Association
On souhaite concevoir le SI correspondant la gestion de la
scolarit de lEMSE. La scolarit fonctionne de la manire
suivante :
Un lve appartient une promotion (1A, 2A ou 3A).
Les lves dune promotion suivent plusieurs groupes
pdagogiques (GP). Chaque groupe pdagogique est
constitu dunits pdagogiques (UP).
A chaque GP et UP est affect un enseignant responsable.
Un lve obtient une note par UP et par GP quil suit.
1:N
Promotion Unit Pdagogique 1:1 0:N
nom: string nom: string
enseigne
Plan
Introduction sur les Systmes dInformation
Notions de base
Mise en uvre technique
Le Modle Entit-Association
Concepts
Exemple
Le modle relationnel
Concepts
Algbre relationnelle
Le modle Relationnel
1
Relational Algebra Operations
Unary Operations UnOp ( Table1 ) Table2
Selection (or restriction) : choice of rows
Projection : choice of columns
Binary Operations ( Table1 ) BinOp ( Table2 ) Table3
On tables with the same structure: set-operators
Union
Intersection
Difference
On tables with different structure
Cartesian Product
Join
2
Some definitions
A table is a set of rows
A row L is a sequence of values Vi, L = (V1, ... , Vi, ..., Vn)
The row (Vi) built from L is denoted L(i)
Let be two rows L1 = (V1, ..., Vn) and L2 = (W1, ..., Wm), the
concatenation of L1 and L2, denoted L1L2 is:
3
Selection
Choice of rows according to a Boolean condition
condition ( Table )
4
Selection
Choice of rows according to a Boolean condition
condition ( Table )
Person Name Age Address Birthplace
James B. 47 London, UK London, UK
Clark K. 35 Metropolis, USA Krypton
Lois L. 28 Metropolis, USA Metropolis, USA
Tarzan 25 London, UK Forest, Benin
5
Selection
Choice of rows according to a Boolean condition
condition ( Table )
Person Name Age Address Birthplace
James B. 47 London, UK London, UK
Clark K. 35 Metropolis, USA Krypton
Lois L. 28 Metropolis, USA Metropolis, USA
Tarzan 25 London, UK Forest, Benin
this is a table
7
Selection (contd.)
Persons being less than 30 y.o.:
Name Age Address Birthplace
Age<30(Person) Lois L. 28 Metropolis Metropolis
Tarzan 25 London, UK Forest, Benin
8
Selection (contd.)
People less than 30 y.o.: Name Age Address Birthplace
Lois L. 28 Metropolis Metropolis
Age<30(Person) Tarzan 25 London, UK Forest, Benin
Address="London, UK"(Age<30(Person))
Name Age Address Birthplace
Tarzan 25 London, UK Forest, Benin
9
Selection (contd.)
People less than 30 y.o.: Name Age Address Birthplace
Lois L. 28 Metropolis Metropolis
Age<30(Person) Tarzan 25 London, UK Forest, Benin
Address="London, UK"(Age<30(Person))
Conjunction of selection:
10
Formalism for the selection operation
Selection / constant:
column(s) ( Table )
12
Projection
Choice of columns in a table
column(s) ( Table )
Person Name Age Address Birthplace
James B. 47 London, UK London, UK
Clark K. 35 Metropolis, USA Krypton
Lois L. 28 Metropolis, USA Metropolis, USA
Tarzan 25 London, UK Forest, Benin
Name,Age(Person) Clark K.
Lois L.
35
28
Tarzan 25
13
Projection (contd.)
Name of people living in London:
Name(Address="London, UK"(Person))
Name Age Address Birthplace
James B. 47 London, UK London, UK
Tarzan 25 London, UK Forest, Benin
14
Projection (contd.)
Name of people living in London:
Name(Address="London, UK"(Person))
Name Age Address Birthplace
James B. 47 London, UK London, UK
Tarzan 25 London, UK Forest, Benin
Name
James B.
Tarzan
15
Formalism for the projection operation
Projection onto columns:
16
Cartesian Product
Each row of the first table is combined with all the rows of
the second table
Table1 Table2
17
Cartesian Product
Each row of the first table is combined with all the rows of
the second table
Table1 Table2
Name Address Name Address
Man James B. London
Woman
Lois L. Metropolis
Clark K. Metropolis
Catwoman Gotham City
Tarzan London
18
Cartesian Product (contd.)
Name Address CName Population Country
Man James B. London City
London 7,556,900 UK
Clark K. Metropolis
Metropolis 8,391,881 USA
Tarzan London
19
Cartesian Product (contd.)
2) Followed by a selection:
Address=CName(Man City)
Name Address CName Population Country
James B. London London 7,556,900 UK
James B. London Metropolis 8,391,881 USA
Clark K. Metropolis London 7,556,900 UK
Clark K. Metropolis Metropolis 8,391,881 USA
Tarzan London London 7,556,900 UK
Tarzan London Metropolis 8,391,881 USA
20
Cartesian Product (contd.)
Man-woman pairs living in the same city:
21
Cartesian Product (contd.)
Man-woman pairs living in the same city:
22
Formalism for the cartesian product operation
T1 T2 is the set of all rows that can be obtained by
concatenating a row of table T1 with a row of table T2
1 2 = { L1L2 | L1 T1 and L2 T2 }
The cartesian product T1 T2 is often followed by
a selection in which one column from T1 and
! one column from T2 are equalled
23
Join
Cartesian product followed by a selection
2
24
Join
Cartesian product followed by a selection
2
Address=CName(Man City)
Name Address CName Population Country
James B. London London 7,556,900 UK
Clark K. Metropolis Metropolis 8,391,881 USA
Tarzan London London. 7,556,900 UK
25
Join (contd.)
Couple man-woman of the same city
Man Name Address Woman Name Address
James B. London Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London
26
Formalism for the join operation
L2(j) }
T 2 = i = j+m(T1 T2)
27
Union
Man Name Address Woman Name Address
James B. London Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London
Name Address
The set of people: James B. London
Clark K. Metropolis
Man Woman Tarzan London
Lois L. Metropolis
Catwoman Gotham City
28
Union
Man Name Address Woman Name Address
James B. London Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London
Name Address
The set of people: James B. London
Clark K. Metropolis
Man Woman Tarzan London
Lois L. Metropolis
Catwoman Gotham City
29
Difference
Man Name Address Woman Name Address
James B. London Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London
What are the cities for which we know at least one woman and
no man?
Address
Address(Woman) Address(Man) Gotham City
30
Formalism for these two operations
Let T1 and T2 be 2 tables with same number of columns
and columns have the same domain.
Formalising union
T1 T2 is the set containing the rows of T1 and those of T2.
T1 T2 = { L | L T1 or L T2 }
Formalising difference
T1 T2 is the set containing the rows of T1 that are not in T2.
T1 T2 = { L | L T1 and L T2 }
31
Query Tree
What are all the possible couples with a man from London
and a woman from Metropolis?
OR
32
Query Tree
What are all the possible couples with a man from London
and a woman from Metropolis?
Name ,Name
1 2
4 col., 2 rows
4 col., 6 rows
2 col., 3 rows 2 col., 2 rows
Man Woman
2*3+2*2+4*6+4*2 = 42 cells manipulated
33
Query Tree
What are all the possible couples with a man from London
and a woman from Metropolis?
Name ,Name
1 2
1 col., 2 rows 1 col., 1 row
4 col., 2 rows
2 col., 3 rows
2 col., 2 rows
Address ="London"
1
Address ="Metropolis"
2
34
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
Du modle Entit-Association
vers le modle relationnel
Un modle Entit-Association peut se traduire
simplement en un modle relationnel
Schma de donnes plus formalis
Possibilit dutiliser lalgbre relationnel pour exprimer
des requtes
3 rgles simples de transformation
Rgle 1
Toute entit est traduite par une relation
contenant les mmes attributs et cls que l'entit
Se traduit par :
Vehicule(immatriculation: string, marque: string)
Proprietaire(nom: string, prenom; string, naissance: date)
Rgle 2
Toute association depuis une entit R vers une entit R'
ayant une cardinalit 0:1 ou 1:1 se traduit par l'ajout, dans
la relation rsultat de la traduction de R, de la cl de R' avec
le statut d'attributs
Se traduit par :
Vehicule(immatriculation: string, marque: string, nom_prop:
string, prenom_prop; string, naissance_prop: date)
Rgle 3
Toute association entre entits ayant des cardinalits 0:N ou 1:N chaque
extrmit se traduit par la cration d'une relation contenant comme attributs
les cls des entits associes ainsi que dventuels attributs de l'association.
La cl de la relation cre est l'ensemble des attributs reprsentant les cls
des entits associes.
Conduit Chauffeur
0:N
Se traduit par :
Achete(immatriculation: string, nom_cond: string, prenom_cond:
string, naiss_cond: date)
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
Introduction de cls
numriques
Quand la cl dune entit est compose de
plusieurs attributs, il peut tre efficace dintroduire
une cl artificielle numrique
Cette cl ne correspond aucun attribut rel mais
facilite les jointures et slection
Ex: Proprietaire(numero: int, nom: string, prenom;
string, naissance: date)
! Le numro de scurit sociale serait idal mais
interdit par la CNIL !
Dpendances fonctionnelles
(1)
Une dpendance fonctionnelle (DF) reprsente le
fait qu la valeur d'un ou plusieurs attributs, on
associe une valeur pour un autre attribut
Soit R(A1,A2,, An) et une DF de Ai vers Aj se note :
Ai Aj
Par exemple, il existe une DF entre le numro et le
nom dun propritaire
numero nom
Dpendances fonctionnelles
(2)
Une DF A B est dite lmentaire si un sous-
ensemble de la cl n'est pas source de la DF
a A, A {a} B
Suite du cours
Jeu. 14/11, 10h00 : TD1 modlisation E.-A.
2013
Lun. 18/11, 8h15 : TD2 algbre rel. / 10h00 : TP1 modle rel.
Jeudi. 21/11, 8h15 : TD3 SQL / 10h00 : TP2 SQL
Jeu. 05/12, 8h15 : TD modlisation E.-A. projet (3h) PROJET
Jeu. 19/12, 8h15 : TD4 SQL / TP3 SQL
Jeu. 16/01, 8h15 : prsentation partie dv. projet PROJET
Jeu. 16/01, 10h00 : implm. modle projet PROJET
2014
Le projet CSI
Concevoir une application de gestion dhpital
Projet alternatif
Nous avons un projet avec un vrai client ayant un
besoin en systme dinformation
Le travail effectuer est de lordre de difficult dun
projet CSI
Projet tuteur par Philippe Beaune, qui est en contact
avec le client
Seulement quelques groupes volontaires peuvent
choisir ce projet
Attention : le travail effectuer nest pas forcment
quitable par rapport au projet minesbook mais
correspond une situation relle dingnieur
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE
http://www.emse.fr/~zimmermann/Teaching/CSI/