Académique Documents
Professionnel Documents
Culture Documents
Conception de Systèmes
d’Information
Laurent Vercouter
Laurent.Vercouter@emse.fr
Contenu du cours
Partie « Base de Données » Partie « Développement d’un
Novembre/Décembre 2010 SI »
Objectif : savoir concevoir un Janvier/Février 2011
modèle de BDD et l’implanter avec Objectif : savoir appliquer une
un langage de manipulation de méthode de développement d’un
données SI
Outils : modèle E-A, relationnel,
SQL, OpenOffice Base, PHP
Plan
Introduction sur les Systèmes d’Information
Notions de base
Mise en œuvre technique
Le Modèle Entité-Association
Concepts
Exemple
Le modèle relationnel
Concepts
Algèbre relationnelle
Théorie des dépendances et de la normalisation
entrées sorties
régulation
Définition
Selon Le Moigne, le système d’information est vu
comme un sous-système de l’entreprise lié au
système opérant et au système de décision
Flux de matières premières,
Système de pilotage
argent, information
argent, information
Flux de produits,
Système d’information
Système opérant
Un exemple :
http://www.journaldunet.com/video/110447/le-role-de-la-dsi-dans-l-entreprise/
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Fonctions du SI
Un SI a deux fonctions principales [Dumoulin]
La production d’information
Collecter des informations
Traiter et transmettre des informations
Mémoriser des informations
La mise en œuvre d’outils de gestion
Fonction technologiques (matériels, logiciels, méthodes,
savoir-faire, …)
Fonction économique
Fonction sociale
Informatique et SI
L’informatique facilite la gestion d’un SI mais ne le
couvre pas dans son ensemble.
SI Opérationnel
SI Informatisé
évolution
temps
Communication entre SI
Les SI d’entreprises partenaires (associées, filiales,
client/fournisseur) doivent communiquer
par des moyens « classiques » (courrier, …)
par des outils informatiques : EDI (Echange de Données
Informatisées)
Le(s) Système(s) d’Information peut atteindre une
taille et une envergure gigantesque
Un (dernier) exemple :
http://www.journaldunet.com/video/137326/une-refonte-des-systemes-d-information-comme-chantier-cle/
Plan
Introduction sur les Systèmes d’Information
Notions de base
Mise en œuvre technique
Le Modèle Entité-Association
Concepts
Exemple
Le modèle relationnel
Concepts
Algèbre relationnelle
Théorie des dépendances et de la normalisation
Base de Données
Acteurs du développement
Maître d’ouvrage
Partie porteuse du besoin qui définit l’objet du projet, le
calendrier et le budget
Maître d’œuvre
Partie en charge de la réalisation technique du projet
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Cycle de développement en V
Cycle de développement en
spirale
Concepteur
Implanter
Maintenir
Administrateur Outils
Langage de Utilisateur d’indexation,
Manipulation
Manipuler Optimiser SGBD, …
de Données
Plan
Introduction sur les Systèmes d’Information
Notions de base
Mise en œuvre technique
Le Modèle Entité-Association
Concepts
Exemple
Le modèle relationnel
Concepts
Algèbre relationnelle
Théorie des dépendances et de la normalisation
Observation de la réalité
Remarques :
Les attributs sont typés
Une entité définit les attributs par leur type
Une occurrence affecte une valeur à chaque attribut
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Exemple de modélisation
Entité-Association
On souhaite concevoir le SI correspondant à la gestion de la
scolarité de l’EMSE. La scolarité fonctionne de la manière
suivante :
Un élève appartient à une promotion (1A, 2A ou 3A).
Les élèves d’une promotion suivent plusieurs groupes
pédagogiques (GP). Chaque groupe pédagogique est
constitué d’unités pédagogiques (UP).
A chaque GP et UP est affecté un enseignant responsable.
Un élève obtient une note par UP et par GP qu’il suit.
1:N
Promotion Unité Pédagogique 1:1 0:N
nom: string nom: string
enseigne
Plan
Introduction sur les Systèmes d’Information
Notions de base
Mise en œuvre technique
Le Modèle Entité-Association
Concepts
Exemple
Le modèle relationnel
Concepts
Algèbre relationnelle
Théorie des dépendances et de la normalisation
Le modèle Relationnel
Généralités
Organisation des données en tables 2D
Une table 2D = une relation
Une colonne d’une table = un attribut
Une ligne d’une table = un tuple
Manipulation des données par des opérateurs
L’algèbre relationnelle
Cohérence des données gérée par des règles et
normes
Dépendances fonctionnelles
Théorie de la normalisation
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Exemple de relations
Projection
Seule une partie des attributs est considérée
Sélection
Seule une partie des tuples est considérée
Complément (noté –R)
Tous les tuples possibles n’existant pas dans une
relation sont construits
Projection
Sélection
La sélection sur une relation R selon une condition C
se note: σC (R )
Union
L’union de deux relations R et R’ se note : R U R'
Différence
La différence de deux relations R et R’ se note : R − R'
Produit cartésien
Le produit cartésien de deux relations R et R’ se note :
R × R'
jointures
Jointure naturelle
Thêta-produit dont la condition est une égalité de valeurs entre des
attributs de deux relations
Jointure extérieure
Jointure naturelle à laquelle on ajoute les tuples de chaque relation
n’ayant pas trouvé de correspondance dans l’autre
Semi-jointure
Jointure naturelle à laquelle on ajoute les tuples de la première relation
n’ayant pas trouvé de correspondance dans l’autre
Jointure naturelle
La jointure naturelle de deux relations R et R’ selon
une condition C se note : R >< C R'
Combinaison d’opérateurs
∏ (σ {
immatriculation
}( vehicule × σ {nom = " Durand "}( proprietaire)))
proprietaire = numero
Du modèle Entité-Association
vers le modèle relationnel
Un modèle Entité-Association peut se traduire
simplement en un modèle relationnel
Schéma de données plus formalisé
Possibilité d’utiliser l’algèbre relationnel pour exprimer
des requêtes
3 règles simples de transformation
Règle 1
Toute entité est traduite par une relation contenant
les mêmes attributs et clés que l'entité
Se traduit par :
Vehicule(immatriculation: string, marque: string)
Proprietaire(nom: string, prenom; string, naissance: date)
Règle 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 résultat 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)
Règle 3
Toute association depuis entre entités ayant une cardinalité autre que 0:1 ou
1:1 se traduit par la création d'une relation contenant comme attributs les clés
des entités associées ainsi que d‘éventuels attributs de l'association. La clé de
la relation créée est l'ensemble des attributs représentant les clés des entités
associées
Se traduit par :
Achete(immatriculation: string, nom_prop: string, prenom_prop;
string, naiss_prop: date, nom_conc: string, dateAchat: string)
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Normalisation
Lors de la conception d’une BDD, plusieurs possibilités de
modélisation existent (dont plusieurs bonnes !)
La qualité d’un modèle dépend de plusieurs facteurs
quantité d'information à stocker
facilité d'expression des requêtes
prévention d'erreur de mise à jour et d'incohérences
La normalisation d’une BDD implique le respect de critères
de protection de l’intégrité des données
6 formes normales existent
1ère, 2ème, 3ème, 4ème, 5ème formes normales + celle de Boyce-Codd
La 3ème, voire celle de Boyce-Codd, est largement suffisante
Inconvénient :
Les DF des attributs hors clé ne sont pas respectées
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE
Ex:
R(no_el: int, nom_eleve: string)
R'(no_prof: int, nom_prof: string, matiere: string)
R''(no_el: int, matiere: string, note: int)
Suite du cours
Lundi 29/11
TD/TP « modélisation de BDD »
Jeudi 2/12, jeudi 16/12
TD/TP sur le langage SQL
Jeudi 6/1
TD/TP « approches de la performance »
Jeudi 13/1
Modélisation du projet à réaliser
Jeudi 20/1
TP d’interfaçage (OpenOffice Base, php)
Jeudi 27/1, Jeudi 2/2
Développement du projet
Références
Plus de détails sur les supports suivants :
« Les bases de données relationnelles », A. Flory, F. Laforest,
ed. Economica, 2005
« Bases de données et systèmes d’information », N.
Boudjlida, ed. Dunod, 1999
Quelques cours en ligne :
http://www.metz.supelec.fr/metz/personnel/vialle/course/SI/index.htm
http://www.crescenzo.nom.fr/CMBasesDeDonnees/
http://www.emse.fr/~juganaru/CSI/index.html
http://www.volle.com/rennes2/index.htm
Ce cours s’est largement inspiré de ces supports
http://www.emse.fr/~vercouter/cours/csi