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
Novembre/Dcembre 2013
Objectif : savoir concevoir un
modle de BDD et limplanter avec
un langage de manipulation de
donnes

Partie Dveloppement dun


SI
Janvier/Fvrier 2013
Objectif : savoir appliquer une
mthode de dveloppement dun
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 noninformaticiens
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


Dans ce cours,
BDD
niveau externe (sous-schma conceptuels)
dfinition des interfaces daccs aux donnes

On ne soccupe
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)

Internaute

Usager
2013, Antoine Zimmermann

SGBD SNCF

Guichetier

BdD horaires, trajets

BdD statistiques
(usage, retards,
satisfaction, etc)

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 EntitAssociation (ou EA)

2013, Antoine Zimmermann

Conception de Systmes dInformation, Ple Informatique, ENSM-SE

Origine du modle EntitAssociation


Propos par Chen en 1976
Modle smantique pour comprendre et visualiser
lorganisation des donnes
galement appel modle EAR (Entit-AttributRelation)
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

Dfinition dune base de


donnes relationnelle

2013, Antoine Zimmermann

Modle Entit-Association

Modle relationnel

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
lve
no_etudiant: int 1:N
nom: string
prenom: string
1:1
appartient

1:1

Groupe Pdagogique

suit

1:N nom: string

note : rel

1:N

dirige

1:N

1:N

suit

Enseignant
1:N

1:1

Promotion

Unit Pdagogique 1:1

nom: string

nom: string

2013, Antoine Zimmermann

0:N

donne accs

note : rel
1:N

1:1

nom: string
prenom: string
0:N
enseigne

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)

Selection
Choice of rows according to a Boolean condition

condition ( Table )

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:

Address="London, UK"(Person)

Name

Age

Address

Birthplace

James B.

47

London, UK

London, UK

Tarzan

25

London, UK

Forest, Benin

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:

Address="London, UK"(Person)

Name

Age

Address

Birthplace

James B.

47

London, UK

London, UK

Tarzan

25

London, UK

Forest, Benin

Name

Age

Address

Birthplace

James B.

47

London, UK

London, UK

Lois L.

28

Metropolis

Metropolis

People living where they were born:

Address=Birthplace(Person)

Selection (contd.)
Persons being less than 30 y.o.:

Age<30(Person)

Name

Age

Address

Birthplace

Lois L.

28

Metropolis

Metropolis

Tarzan

25

London, UK

Forest, Benin

this is a table

Selection (contd.)
Persons being less than 30 y.o.:

Age<30(Person)

Name

Age

Address

Birthplace

Lois L.

28

Metropolis

Metropolis

Tarzan

25

London, UK

Forest, Benin

this is a table too!

Selection (contd.)
People less than 30 y.o.:

Age<30(Person)

Name

Age

Address

Birthplace

Lois L.

28

Metropolis

Metropolis

Tarzan

25

London, UK

Forest, Benin

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

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

Age

Address

Birthplace

25

London, UK

Forest, Benin

Selection (contd.)
People less than 30 y.o.:

Age<30(Person)

Name

Age

Address

Birthplace

Lois L.

28

Metropolis

Metropolis

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
Tarzan

Age

Address

Birthplace

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(Person)

Name

Age

James B.

47

Clark K.

35

Lois L.

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

Man

Name
James B.

Address
London

Clark K.

Metropolis

Tarzan

London

All man-woman pairs:


Man Woman

Woman

Name
Lois L.
Catwoman

Name1

Address1

Address
Metropolis
Gotham City

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

18

Cartesian Product (contd.)


Man

Name
James B.

Address
London

Clark K.

Metropolis

Tarzan

London

City

CName

Population

Country

London

7,556,900

UK

Metropolis

8,391,881

USA

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


1)

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

19

Cartesian Product (contd.)


2) Followed by a selection:

Address=CName(Man City)
Name

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

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

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

Name1

Name1
Clark K.

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

Address1
Metropolis

Name2
Lois L.

Address2
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

Man

James B.

Address

City

London

Clark K.

Metropolis

Tarzan

London

CName

Population

Country

London

7,556,900

UK

Metropolis

8,391,881

USA

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

Name

Address

Address=CName(Man City)
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
James B.

Woman

Address

Lois L.

London

Clark K.

Metropolis

Tarzan

London

Catwoman

Name1
Clark K.

Name

Address1
Metropolis

Address
Metropolis
Gotham City

Address =Address (Man Woman)


1

Name2
Lois L.

Address2
Metropolis

26

Formalism for the join operation

L2(j) }
Let m be the number of columns of T1
T

i = j+m(T1 T2)

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


!
can be used as well as boolean operators
27

Union
Man

Name
James B.

Address

Woman

London

Clark K.

Metropolis

Tarzan

London

Lois L.
Catwoman

Name

The set of people:

Man Woman

Name

James B.

Metropolis
Gotham City

Address
London

Clark K.

Metropolis

Tarzan

London

Lois L.

Metropolis

Catwoman

Address

Gotham City

28

Union
Man

Name
James B.

Address

Woman

London

Clark K.

Metropolis

Tarzan

London

Lois L.

Man Woman

James B.

Gotham City

Address
London

Clark K.

Metropolis

Tarzan

London

Lois L.

Metropolis

Catwoman

Address
Metropolis

Catwoman

Name

The set of people:

Name

Gotham City

People living in Metropolis:

Address="Metropolis"(Man Woman)

Name

Address

Clark K.

Metropolis

Lois L.

Metropolis

29

Difference
Man

Name
James B.

Address
London

Clark K.

Metropolis

Tarzan

London

Woman

Name
Lois L.
Catwoman

Address
Metropolis
Gotham City

What are the cities for which we know at least one woman and
no man?

Address(Woman) Address(Man)

Address
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

OR

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


1

32

Query Tree
What are all the possible couples with a man from London
and a woman from Metropolis?

Name ,Name
1

4 col., 2 rows

Address ="Metropolis" and Address ="London"


2

4 col., 6 rows

2 col., 3 rows

Man

2 col., 2 rows

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

4 col., 2 rows

Address ="Metropolis" and Address ="London"


2

4 col., 6 rows

2 col., 3 rows

2 col., 2 rows

1 col., 2 rows

Name

2 col., 2 rows

Address ="London"
1

2 col., 3 rows

Man

Woman

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

Man

1 col., 1 row

Name

2 col., 1 row

Address ="Metropolis"
2

2 col., 2 rows

Woman

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 sousensemble 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
2013

Jeu. 14/11, 10h00 : TD1 modlisation E.-A.


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

2014

Jeu. 16/01, 10h00 : implm. modle projet PROJET


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