Vous êtes sur la page 1sur 84

Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Ple informatique 2013/2014


cole Nationale Suprieure des Mines de Saint-tienne

Conception de Systmes
dInformation

Antoine Zimmermann
antoine.zimmermann@emse.fr
(adapt du cours de Laurent Vercouter)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

Evaluation = moyenne de deux notes


examen crit sur les aspects thoriques (individuel)
mise en uvre pratique dans un mini-projet (en double binme)

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Quest ce quun Systme


dInformation
Systme = ensemble auto-rglable et interagissant
avec lenvironnement qui fonctionne en vue dun
objectif prcis environnement

entres sorties

rgulation

Information = donne enrichie dun modle


dinterprtation
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Informatique et SI
Linformatique facilite la gestion dun SI mais ne le
couvre pas dans son ensemble.
SI Oprationnel
SI Informatis

SIO Systme dInformation Oprationnel = toute lactivit


autour du SI
SII Systme dInformation Informatis = uniquement le
contenu informatis (fichiers, bases, logiciels, )

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

mais un SI sans informatique a peu dintrt car les


tches ne peuvent tre automatises (le SI doit
tre exploit par un oprateur humain)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Mon projet C est-il un SI ?

En un sens oui mais trs limit.


Un SI exige une continuit de linformation
(linformation nest pas perdue quand on quitte
lapplication)
Un SI implique gnralement de plusieurs
applications exploitant la mme information
Exemple du transport ferroviaire

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Stockage des donnes


Linformatisation du SI ncessite la mise en place
de supports matriels et logiciels de stockage des
donnes.
Linformation est numrise et conserve sous la
forme de fichiers.
Le moyen dorganiser, daccder et de manipuler
ces fichiers est dfinir

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

SGF: inconvnients par


lexemple
Exemple : Comment stocker les relations damiti dans des
fichiers?
1 fichier pour toutes les relations
Problme defficacit (fichier trs gros)
Problme daccs (comment trouver les relations de
Jules ou de Jim seulement)
Problme de droit (qui a accs quoi ?)
1 (petit) fichier par utilisateur
Problme de redondance
Problme de cohrence

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Base de Donnes (suite)


La structure de la BdD dpend du modle choisi
Hirarchique ou rseaux ( 1960)
Relationnel ( 1970/1980)
Objet ( 1990)
XML (arborescent) ( 2000)
Graphe (en particulier RDF)
Une BdD peut avoir nimporte quelle taille (agenda
personnel 100 entres ; Facebook 600+ millions
dutilisateurs)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Au-del des fichiers : Systme


de Gestion de Base de Donnes
Un Systme de Gestion de Bases de Donnes
(SGBD) est un ensemble doutils logiciels
permettant la manipulation de BdD
Facilite la manipulation des donnes pour des non-
informaticiens
Fournit des fonctionnalits dadministration de la
base

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Principes fondamentaux des


SGBD (1)
Fidlit
image fidle de la ralit qu'elle modlise
Unicit
pas de redondance d'information dans la BdD
Indpendance
indpendant du modle de stockage
Concurrence
Gestion daccs simultans une mme donne.
Performance
temps dexcution raisonnable

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Principes fondamentaux des


SGBD (2)
Confidentialit
Accessibilit des donnes dpendant de lutilisateur
Intgrit
garanties de fiabilit et de cohrence.
Robustesse
tolrant aux problmes matriels, logiciels ou humains

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Niveaux de reprsentation dune


BDD
niveau externe (sous-schma conceptuels)
dfinition des interfaces daccs aux donnes
gr par le concepteur de la BdD et/ou les utilisateurs
niveau conceptuel (e.g. modle Entit-Association)
identification des concepts concrets et abstraits de la ralit
gr par le concepteur de la BDD
niveau logique (e.g. modle relationnel)
formalisation de la structure des donnes
gr par le concepteur de la BDD
niveau physique (e.g. systme de fichiers, index)
stockage physique des donnes
gr par le SGBD
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Niveaux de reprsentation dune


BDD Dans ce cours,
niveau externe (sous-schma conceptuels) On ne soccupe
dfinition des interfaces daccs aux donnes Que de a
gr par le concepteur de la BdD et/ou les utilisateurs
niveau conceptuel (e.g. modle Entit-Association)
identification des concepts concrets et abstraits de la ralit
gr par le concepteur de la BdD
niveau logique (e.g. modle relationnel)
formalisation de la structure des donnes
gr par le concepteur de la BdD
niveau physique (e.g. systme de fichiers, index)
stockage physique des donnes
gr par le SGBD
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Le modle Entit-
Association (ou EA)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Origine du modle Entit-


Association
Propos par Chen en 1976
Modle smantique pour comprendre et visualiser
lorganisation des donnes
galement appel modle EAR (Entit-Attribut-
Relation)
Objectif : concevoir un Modle Conceptuel de
Donnes (MCD)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Objectifs & dmarche

Observation de la ralit

Modlisation des informations Modle Entit-Association

Dfinition dune base de


Modle relationnel
donnes relationnelle

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Concepts de base : Entit &


Occurence
(Type d)entit(s) : type d'objet abstrait ou concret
provenant de l'observation du monde rel et pour
lequel nous souhaitons enregistrer et connatre des
informations

Une entit est une instance dun type dentits. Souvent,


le terme entit est utilis la place de type dentits ,
auquel cas on parle doccurrence pour les instances
Ex: la Peugeot 206 immatricule 1234 WW 42 est une occurrence
de l'entit Vehicule, et la personne prnomme Paul Martin
ne le 4 fevrier 1980 une occurrence de Propritaire
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

Plus dune occurrence de Vhicule avec une mme


immatriculation ne peut pas exister
Plus dune occurrence de Propritaire avec un mme nom,
prnom et date de naissance ne peut pas exister
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Concepts de base :
association
Association : lien entre des entits prsentant un
intrt pour la conception que l'on souhaite raliser

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Concepts de base :
association (2)
Une association peut :
relier plus de 2 entits
bnficier dattributs

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Cardinalit dune
association
La cardinalit d'une association indique le nombre
d'occurrences de chaque entit qui peuvent tre
impliques dans une mme association

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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.

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Exemple : les entits

On reprsente les entits suivantes :


lve
Enseignant
Promotion
Groupe Pdagogique
Unit Pdagogique

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Exemples : les associations

On reprsente les associations suivantes :


Un lve appartient une promotion
Une promotion donne accs certains groupes
pdagogiques
Un lve suit plusieurs groupes pdagogiques et y
obtient une note
Un lve suit plusieurs units pdagogiques et y
obtient une note
Les GP et UP sont enseigns par un enseignant
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Exemple : le modle E-A


donne
accs 1:1
lve Groupe Pdagogique
suit 1:N nom: string
no_etudiant: int 1:N
nom: string note : rel
1:N 1:1
prenom: string
1:N dirige
1:1
donne accs 0:N
appartient suit
Enseignant
note : rel
nom: string
1:N 1:N 1:1 prenom: string

1:N
Promotion Unit Pdagogique 1:1 0:N
nom: string nom: string
enseigne

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Le modle Relationnel

2013, Antoine Zimmermann


Querying Databases
What is a query?
an expression in relational algebra, i.e., operations on tables
The result of a query on one or more table(s) is a table
Operations for filtering:
Selection (filter / criteria) = selection of rows
Projection = selection of columns
Operations for combining 2 tables:
Cartesian product (all possibilities)
Join (bridging between related rows)
Union (union of sets of rows)
Difference (elimination of rows)

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:

L1L2 = (V1, ..., Vn, W1, ..., Wm)

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

People living in London:


Name Age Address Birthplace
James B. 47 London, UK London, UK
Address="London, UK"(Person) 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

People living in London:


Name Age Address Birthplace
James B. 47 London, UK London, UK
Address="London, UK"(Person) Tarzan 25 London, UK Forest, Benin

People living where they were born:


Name Age Address Birthplace
Address=Birthplace(Person) James B.
Lois L.
47
28
London, UK
Metropolis
London, UK
Metropolis
6
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

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

this is a table too!

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

Composition of selection: people less than 30 living in London:

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

Composition of selection: people less than 30 living in London:

Address="London, UK"(Age<30(Person))
Conjunction of selection:

Address="London, UK" and Age<30(Person))


equivalent to the composition
Name Age Address Birthplace
Tarzan 25 London, UK Forest, Benin

10
Formalism for the selection operation
Selection / constant:

i = a(T) is the set of rows L of the table T where L(i) = a


i = a(T) = { L | L T and L(i) = a }
Selection / inter-columns:

i = j(T) is the set of rows L of the table T where L(i) = L(j)


i = j(T) = { L | L T and L(i) = L(j) }
Comparison operators , <, >, , can be used
Boolean operators AND, OR
11
Projection
Choice of columns in a table

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 and age of people: Name Age


James B. 47

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:

i1,...,ik(T) is the set of rows of the table T obtained by


keeping columns i1, i2, ..., ik

i1,...,ik(T) = { ( L(i1), ..., L(ik) ) | L T }


The result of any operation on tables is also a table
! different operations can be combined

The result of selections or projection


! can be an empty table

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

All man-woman pairs: Name1 Address1 Name2 Address2


James B. London Lois L. Metropolis
Man Woman James B. London Catwoman Gotham City
Clark K. Metropolis Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London Lois L. Metropolis
Tarzan London Catwoman Gotham City

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

In which country do the men of the Man table live?


Name Address CName Population Country
1) Man City 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

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

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

20
Cartesian Product (contd.)
Man-woman pairs living in the same city:

Address =Adrress (Man Woman)


1 2

Name1 Address1 Name2 Address2


James B. London Lois L. Metropolis
James B. London Catwoman Gotham City
Clark K. Metropolis Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London Lois L. Metropolis
Tarzan London Catwoman Gotham City

21
Cartesian Product (contd.)
Man-woman pairs living in the same city:

Address =Adrress (Man Woman)


1 2

Name1 Address1 Name2 Address2


James B. London Lois L. Metropolis
James B. London Catwoman Gotham City
Clark K. Metropolis Lois L. Metropolis
Clark K. Metropolis Catwoman Gotham City
Tarzan London Lois L. Metropolis
Tarzan London Catwoman Gotham City

Name1 Address1 Name2 Address2


Clark K. Metropolis Lois L. Metropolis

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

So much so that there is an operation for this called Join

23
Join
Cartesian product followed by a selection
2

24
Join
Cartesian product followed by a selection
2

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

In which country do the men of the Man table live?

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

Address =Address (Man Woman)


1 2

Name1 Address1 Name2 Address2


Clark K. Metropolis Lois L. Metropolis

26
Formalism for the join operation

L2(j) }

Let m be the number of columns of T1

T 2 = i = j+m(T1 T2)

As for selection, comparison operators , <, >, ,


! can be used as well as boolean operators

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

People living in Metropolis:


Name Address
Address="Metropolis"(Man Woman) Clark K. Metropolis
Lois L. Metropolis

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?

Name ,Name (Address ="Metropolis"(Address ="London"(Man Woman)))


1 2 2 1

OR

Name (Address ="London"(Man)) Name (Address ="Metropolis"(Woman))


1 1 2 2

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

Address ="Metropolis" and Address ="London"


2 1

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

Address ="Metropolis" and Address ="London"


2 1
Name 1
Name 2
4 col., 6 rows
2 col., 2 rows 2 col., 1 row

2 col., 3 rows

2 col., 2 rows
Address ="London"
1
Address ="Metropolis"
2

2 col., 3 rows 2 col., 2 rows

Man Woman Man Woman


2*3+2*2+4*6+4*2 = 42 cells manipulated 2*3+2*2+2*2+2*1+1*2+1*1 =
19 cells manipulated

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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)

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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 !

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Cohrence des donnes


Les relations dfinissent la structure des donnes
mais pas la cohrence de contenu.
Exemple de contenu incohrent : une mme
personne enregistre avec deux dates de naissance
diffrentes
La gestion de la cohrence des donnes consiste
rendre impossible la saisie de donnes incohrente
2 concepts cls
Dpendances fonctionnelles
Formes normales
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

Une DF A B est dite directe s'il n'existe pas


d'ensemble d'attributs C tel que
A C et C B

2013, Antoine Zimmermann


Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

Jeu. 23/01, 8h15 : TP4 dv. PHP / TP dv. projet PROJET


Jeu. 30/01, 8h15 : TP dv. projet (3h) PROJET
Lun. 03/02, 10h00 : TP dv. projet (1h30) PROJET
Mer. 05/02, 8h15 : finalisation projet (3h) PROJET
Jeu. 06/02, 10h00 : Exam
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Le projet CSI
Concevoir une application de gestion dhpital

Le systme doit permettre de grer des informations sur


des chambres, lits, patients ainsi que le personnel de
lhpital. Limplmentation utilisera un BdD relationnel et
une interface Web code en PHP.
Une modlisation dtaille du domaine sera demande,
puis une implmentation partielle des fonctionnalits.
Le projet se fait par quadrinme dfinir dici vendredi.
Pour limplmentation des fonctionnalits, les groupes
se diviseront en binmes.
2013, Antoine Zimmermann
Conception de Systmes dInformation, Ple Informatique, ENSM-SE

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

Tous les supports de ce cours sont


disponibles ici :

http://www.emse.fr/~zimmermann/Teaching/CSI/

2013, Antoine Zimmermann

Vous aimerez peut-être aussi