Vous êtes sur la page 1sur 69

Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Pôle informatique 2010/2011


Ecole Nationale Supérieure des Mines de Saint-Etienne

Conception de Systèmes
d’Information

Laurent Vercouter
Laurent.Vercouter@emse.fr

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

Evaluation = moyenne de deux notes


examen écrit sur les aspects théoriques (individuel)
mise en œuvre pratique dans un mini-projet (en double binôme)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Qu’est ce qu’un Système


d’Information
Système = ensemble auto-réglable et interagissant
avec l’environnement qui fonctionne en vue d’un
objectif précis environnement

entrées sorties

régulation

Information = donnée enrichie d’un modèle


d’interprétation
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Informatique et SI
L’informatique facilite la gestion d’un SI mais ne le
couvre pas dans son ensemble.
SI Opérationnel
SI Informatisé

SIO – Système d’Information Opérationnel = toute l’activité


autour du SI
SII – Système d’Information Informatisé = uniquement le
contenu informatisé (fichiers, bases, logiciels, …)
Un exemple:
http://www.journaldunet.com/video/120031/la-contribution-de-la-dsi-a-la-valeur-de-l-entreprise/

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Evolution des SII et SIO


SIO « naturel et vivant »
SII « artificiel »

évolution

temps

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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/

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Stockage des données


L’informatisation du SI nécessite la mise en place
de supports matériels et logiciels de stockage des
données.
L’information est numérisée et conservée sous la
forme de fichiers.
Le moyen d’organiser, d’accéder à et de manipuler
ces fichiers est à définir

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Système de Gestion de Fichiers


Système utilisé pour gérer les données d’un disque
(disquette, disque dur, CD-Rom, …)
Un fichier = une suite ordonnée de données
2 types d’accès aux données d’un fichier
Séquentiel (depuis l’adresse de début du fichier)
Accès direct (selon un décalage par rapport à l’adresse de début)
Système de Gestion de Fichiers (SGF) : gère les accès aux
fichiers, application par application
Inconvénient :
Structure trop simple (applications indépendantes)
Redondance d’information

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Base de Données

Une Base de Données (BDD) est un ensemble


structuré de données accessibles par l’ordinateur
pour satisfaire simultanément plusieurs utilisateurs
La structure de la BDD dépend du modèle choisi
Hiérarchique ou réseaux (≈ 1960)
Relationnel (≈ 1970/1980)
Objet (≈ 1990)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Système de Gestion de Base de


Données
Un Système de Gestion de Bases de Données
(SGBD) est un ensemble d’outils logiciels
permettant la manipulation de BDD
Facilite la manipulation des données pour des non-
informaticiens
Fournit des fonctionnalités d’administration de la
base

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Principes fondamentaux des


SGBD (1)
Fidélité
image fidèle de la réalité qu'elle modélise
Unicité
pas de redondance d'information dans la BD
Indépendance
indépendant du modèle de stockage
Concurrence
Gestion d’accès simultanés à une même donnée.
Performance
temps d’exécution raisonnable

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Principes fondamentaux des


SGBD (2)
Confidentialité
Accessibilité des données dépendant de l’utilisateur
Intégrité
garanties de fiabilité et de cohérence.
Robustesse
tolérant aux problèmes matériels, logiciels ou humains

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Niveaux de représentation d’une BDD


niveau externe (sous-schéma conceptuels)
définition des « interfaces » d’accès aux données
géré par le concepteur de la BDD et/ou les utilisateurs
niveau conceptuel (e.g. modèle Entité-Association)
identification des concepts concrets et abstraits de la réalité
géré par le concepteur de la BDD
niveau logique (e.g. modèle relationnel)
formalisation de la structure des données
géré par le concepteur de la BDD
niveau physique (e.g. système de fichiers, index)
stockage physique des données
géré par le SGBD
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Cycle de développement en
spirale

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Cycle de vie d’une BDD


Modèle Modèle
Monde réel Conceptuel Logique
de Données de Données

Concevoir Créer la structure


Langage de
Requêtes Description
spécifiques de Données

Concepteur
Implanter
Maintenir

Administrateur Outils
Langage de Utilisateur d’indexation,
Manipulation
Manipuler Optimiser SGBD, …
de Données

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Le modèle Entité-Association (ou


EAR)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Origine du modèle Entité-


Association
Proposé par Chen en 1976
Modèle sémantique pour comprendre et visualiser
l’organisation des données
Également appelé modèle EAR (Entité-Attribut-
Relation)
Objectif : concevoir un Modèle Conceptuel de
Données (MCD)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Objectifs & démarche

Observation de la réalité

Modélisation des informations Modèle Entité-Association

Définition d’une base de


Modèle relationnel
données relationnelle

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Concepts de base : Entité &


Occurence
Entité : type d'objet abstrait ou concret provenant de
l'observation du monde réel et pour lequel nous
souhaitons enregistrer et connaître des informations

Une occurrence est une instance d’une entité

Ex: la Peugeot 206 immatriculée « 1234 WW 42 » est une occurrence


de l'entité Vehicule, et la personne prénommée « Paul Martin »
née le 4 fevrier 1980 une occurrence de Propriétaire
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Concepts de base : attributs


Attribut : caractéristique d'une entité (ou d'une
association) que le concepteur juge nécessaire de
répertorier

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

Concepts de base : clé


Clé : attribut ou un ensemble d'attribut qui permet
d'identifier de manière unique une occurrence d'une
entité parmi toutes ses occurrences

Plus d’une occurrence de Véhicule avec une même


immatriculation ne peut pas exister
Plus d’une occurrence de Propriétaire avec un même nom,
prénom et date de naissance ne peut pas exister
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Concepts de base : association


Association : lien entre des entités présentant un
intérêt pour la conception que l'on souhaite réaliser

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Concepts de base : association


(2)
Une association peut :
relier plus de 2 entités
bénéficier d’attributs

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Cardinalité d’une association

La cardinalité d'une association indique le nombre


d'occurrences de chaque entité qui peuvent être
impliquées dans une même association

@ 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.

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Exemple : les entités

On représente les entités suivantes :


Élève
Enseignant
Promotion
Groupe Pédagogique
Unité Pédagogique

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Exemples : les associations

On représente les associations suivantes :


Un élève appartient à une promotion
Une promotion donne accès à certains groupes
pédagogiques
Un élève suit plusieurs groupes pédagogiques et y
obtient une note
Un élève suit plusieurs unités pédagogiques et y
obtient une note
Les GP et UP sont enseignés par un enseignant
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Exemple : le modèle E-A


donne
accès à 1:1
Élève Groupe Pédagogique
suit 1:N nom: string
no_etudiant: int 1:N
nom: string note : réel
1:N 1:1
prenom: string
1:N dirige
1:1
donne accès 0:N
appartient suit
Enseignant
note : réel
nom: string
1:N 1:N 1:1 prenom: string

1:N
Promotion Unité Pédagogique 1:1 0:N
nom: string nom: string
enseigne

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Le modèle Relationnel

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Motivation d’un MLD

Un Modèle Conceptuel de Données n’est pas


directement implantable car indépendant de tout
choix technologique
Traduction nécessaire vers un Modèle Logique de
Données
Suit une approche spécifique de modélisation
(hiérarchique, objet, relationnelle, …)
Utilise un langage formel de spécification de la structure
logique des données

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Origine du modèle relationnel

Proposé par Codd en 1970


Application de la théorie des relations à la gestion
de fichiers informatiques
Le modèle relationnel fournit un support
mathématique cohérent à la manipulation de
données : l’algèbre relationnelle
Modèle dominant dans les offres commerciales de
SGBD
Oracle, DB2, Sybase, Ingres, Postgres, MySQL, …
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

Relation & attribut

Un attribut Ai est une variable qui prend ses valeurs dans un


domaine Di
Soit U = {A1 , A2, ..., An}
Une relation r définie sur U est un sous-ensemble du produit
cartésien D1 × D2 × … × Dn
Le schéma de relation de r s’écrit R(A1:D1, A2:D2, ...,
Ak:Dk). Les attributs constituant la clé de r sont écrits en
premier dans le schéma de relation et sont soulignés.
Une BD relationnelle est un ensemble de relations r1,r2,...,rm

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Tuple & clé


Un tuple est une ligne d’une relation
Soit u un tuple de la relation r, on note u.Ai la valeur de
l'attribut Ai du tuple u. Chaque tuple est distinct :
∀u, v ∈ r, ∀i ∈ (1,2,..., n ) si u. Ai = v. Ai alors u = v
une clé de la relation r est un ensemble minimal d'attributs K
tels que les valeurs de ces attributs permettent de distinguer
tout tuple des autres
K ∈ ( A1, A2,..., An )
∀u, v ∈ r, si u.K = v.K alors u = v
La clé retenue est dite clé primaire
La clé d’une relation est utilisée comme attribut dans une autre
relation quand une association doit être créée

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Exemple de relations

numero nom prenom naissance


5 Martin Paul 04-févr-80
13 Dupont Marcel 15-mai-76
76 Durand Pierre 29-nov

immatriculation marque proprietaire


3452 AZ 13 BMW 13
9835 EI 07 Renault 76
1234 WW 42 Peugeot 5
9878 DG 94 BMW 76

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Opérateurs relationnels unaires

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Projection

La projection d’une relation R sur un ensemble


d’attributs (A1,…, Ak) se note : (R )∏
( )
A1,..., Ak

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Sélection
La sélection sur une relation R selon une condition C
se note: σC (R )

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Opérateurs relationnels binaires


Union
La fusion de deux relations est considérée
Différence
Les tuples d’une relation qui n’existent pas dans une seconde relation sont considérés
Produit cartésien
Toutes les combinaisons entre tuples de 2 relations sont considérées
Intersection (notée R I R ' )
Seuls les tuples présents dans 2 relations sont considérés
Division (notée R ÷ R' )
Seuls les tuples d’une relation qui apparaissent associés à tous les tuples d’une autre
relation sont considérés
Thêta-produit (noté R ΘC R ' )
Produit cartésien suivi d’une sélection
Jointures
Thêta-produit où la condition est une égalité d’attributs entre relations
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Union
L’union de deux relations R et R’ se note : R U R'

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Différence
La différence de deux relations R et R’ se note : R − R'

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Produit cartésien
Le produit cartésien de deux relations R et R’ se note :
R × R'

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

La jointure naturelle est l’opérateur le plus utilisé avec les


sélections et projections, car le plus intéressant

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Jointure naturelle
La jointure naturelle de deux relations R et R’ selon
une condition C se note : R >< C R'

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Combinaison d’opérateurs

La puissance de l'algèbre relationnelle s'exprime dans


la combinaison d’opérateurs permettant d'exprimer des
requêtes précises.

Ex: on chercher l’immatriculation des véhicules possédés par la


personne dont le nom est « Durand »

∏ (σ {
immatriculation
}( vehicule × σ {nom = " Durand "}( proprietaire)))
proprietaire = numero

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

Introduction de clés numériques


Quand la clé d’une entité est composée de plusieurs
attributs, il peut être efficace d’introduire une clé
artificielle numérique
Cette clé ne correspond à aucun attribut réel mais
facilite les jointures et sélection
Ex: Proprietaire(numero: int, nom: string, prenom;
string, naissance: date)
! Le numéro de sécurité sociale serait idéal mais
interdit par la CNIL !

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Cohérence des données


Les relations définissent la structure des données
mais pas la cohérence de contenu.
Exemple de contenu incohérent : une même
personne enregistrée avec deux dates de naissance
différentes
La gestion de la cohérence des données consiste à
rendre impossible la saisie de données incohérente
2 concepts clés
Dépendances fonctionnelles
Formes normales
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Dépendances fonctionnelles (1)

Une dépendance fonctionnelle (DF) représente 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 numéro et le
nom d’un propriétaire
numero → nom

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Dépendances fonctionnelles (2)

Une DF A → B est dite élémentaire 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

@ 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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

1ère forme normale


Une relation est dite normalisée si un même attribut n'est pas
présent plusieurs fois dans une relation et si aucun attribut n'est
décomposable en d'autres attributs.
Toute relation normalisée est en première forme normale (1FN)
Ex: R(no_el: int, no_prof: int, matiere: string, nom_eleve: string,
nom_prof: string, note: int)
no_el no_prof matiere nom_eleve nom_prof note
1 11 Physique Dupont Tournesol 17
1 12 Maths Durand Farnsworth 12
2 25 Maths Martin Farnsworth 4
Inconvénient :
Les DF ne sont pas respectées
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

2ème forme normale


Une relation est dite en deuxième forme normale (2FN) si
Elle est en 1FN
Toutes les DF issues de sa clé sont élémentaires
Ex: R(no_el: int, no_prof: int, matiere: string, nom_eleve: string,
nom_prof: string, note: int)
no_el no_prof matiere nom_eleve nom_prof note
1 11 Physique Dupont Tournesol 17
1 12 Maths Dupont Farnsworth 12
2 12 Maths Martin Tournesol 4

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

3ème forme normale


Une relation est dite en troisième forme normale (3FN) si
Elle est en 2FN
Toutes les DF issues de sa clé sont directes
Ex: R(no_el: int, nom_eleve: string), R'(no_prof: int, nom_prof:
string) et R''(no_el: int, no_prof: int, matiere: string, note: int)
no_el nom_eleve no_prof nom_prof
1 Dupont 11 Tournesol
2 Martin 12 Farnsworth
no_el no_prof matiere note
1 11 Physique 17
1 12 Maths 12
Inconvénient : 2 11 Maths 4
Les DF dont la source n’est pas dans la clé ne sont pas respectées
@ 2010, Laurent Vercouter
Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

forme normale de Boyce-Codd


Une relation est dite en forme normale de Boyce-Codd (FNBC) si
Elle est en 2FN
La source de chaque DF est la clé de la relation

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)

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

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

@ 2010, Laurent Vercouter


Conception de Systèmes d’Information, Pôle Informatique, ENSM-SE

Tous les supports de ce cours sont


disponibles ici :

http://www.emse.fr/~vercouter/cours/csi

@ 2010, Laurent Vercouter

Vous aimerez peut-être aussi