Вы находитесь на странице: 1из 23

Concevoir un système

d’information

Des données
à la base de données
Bernard.Andruccioli@u-bordeaux4.fr
http://andruccioli.u-bordeaux4.fr
2009 - 2010 1

Bases données mal perçues…


• « Access est difficile »
• « J’ai toujours fait avec Excel, cela suffit! »
• « Access ne sert à rien »
• « Les bases de données rendent difficile ce
qui est simple »
• « Les commerciaux utilisent TOUS Excel »
• « Dans les achats on n’utilise qu’Excel ».
• « On n’arrive à rien faire avec Access »
• « L’informatique doit faciliter la vie, pas la
compliquer »

1
Mauvaise image BD
• Pas de connaissance des concepts de base des
systèmes d’information liés aux BD
• Improvisation dans l’emploi des BD
• Méthodologie de création de BD absente
• Difficultés propres à Access (Vocabulaire, outils):
Données, tables, champs, nature et taille des champs, clés
primaires, état, requêtes, formulaires, modules, macro,
Programmation!
• ACCESS: confusion données, outils, interface
• ACCESS: client-serveur & Moteur-Interface
• ACCESS: création / Utilisation d’une application
• Confusion Table-BD-Fichier
• => Différence d’utilisation / Word, Excel, PP
3

…Sauf quand cela nous arrange.


• Environnement composé de BD
• Sites Web avec BD (Transports, commerce…)
• Nos comptes bancaires
• Identifiants au travail, au pôle, sur des sites.
• Gestion perso (collections, …)
• Application déjà prête…
• Recherche dans l’historique de certaines opérations
• Datamining, informatique décisionnelle, ERP
• Interrogation de données distantes
• Sauvegarde automatique des enregistrements
• Ce qu’on attend de l’encadrement:=> Participation au
développement de SI automatisés et d’applications
informatiques qui en découlent (en local, sur Internet): Voilà la
contribution de l’encadrement.

2
Limites des solutions bricolées

Doublons
Redondances
Saisies multiples
MAJ délicates
Risques d’erreurs
Aucune rigueur

Limites des solutions bricolées

Développements ultérieurs complexes:


 Nombre de locations de monospaces de marque Renault
entre deux dates?
 CA moyen de location des modèles sportifs pour les clients
qui n’en louent pas régulièrement?
 Certains clients ont été parrainés par d’autres. Comment
gérer ceci?
 Certains clients souhaitent acheter des véhicules tout en les
laissant dans le parc.
 Certains clients se rendent mutuellement des services que
nous devons gérer.
 Que se passe-t-il si nous souhaitons vendre d’autres produits
et services et proposer des factures?
6

3
Objectifs d’un système
d’informations
• Eviter les doublons et redondances
• Faciliter la saisie et les MAJ
• Ouverture aux traitements ultérieurs
• Réponse appropriée au problème posé dans sa globalité
• Réflexion indépendante du matériel et des logiciels
possédés
• Rigueur dans la conception, la mise en œuvre, le
portage et l’utilisation
• Eléments de remise en question => Résistances aux
changements…
• Nécessite une démarche rigoureuse comportant
plusieurs étapes

Etapes de la conception d’une BD


Dictionnaire des données (DD)
Lister l’ensemble des données, en précisant leur nature, leur taille.

Graphe des dépendances fonctionnelles (GDF)


Représenter les relations entre les données.

Modèle Conceptuel des Données (MCD)


Représentation conceptuelle SI (Entités, Associations, attributs)

Schéma relationnel (SR) ou Modèle Logique


des Données (MLD)
Description des tables à créer (tables, champs, clés permettant les relations)

Modèle Physique (MPD)


Portage sur le logiciel utilisé
8

4
Règles de gestion
• Location de voitures.
• Un client réside dans une seule ville et
appartient à une seule catégorie.
• Un client peut louer une ou plusieurs voiture, y
compris au même moment
• Une voiture appartient à une seule marque qui
est commercialisée par un seul constructeur
• Une voiture appartient à un seul type (Berline,
Monospace,…)
• Chaque client est parfaitement identifié, de
même que les voitures et les locations
9

Dictionnaire des données


• Récolte exhaustive d’informations
• Etape ingrate, longue, faisant intervenir
différents acteurs, analyse et étude de
documents
• Matière première du futur SI
• Tri dans toutes ces données
• Préciser leurs caractéristiques
• Eléments calculés ou paramètres (Ex: taux
TVA) à préciser.

10

5
Dictionnaire des données
Nom des données Caractéristiques Nom des données Caractéristiques
num_client entier long auto incrémenté code_postal entier long auto incrémenté
nom_raison_sociale texte 50 caractères ville texte 40 caractères
prenom texte 30 caractères
adresse texte 50 caractères
telephone texte 10 caractères id_categorie entier long auto incrémenté
fax texte 10 caractères categorie texte 15 caractères
mail texte 80 caractères commentaire texte
solde numérique réel

immatriculation texte 12 caractères


modele texte 15 caractères id_marque entier long auto incrémenté
date_mise_circulation date marque texte 15 caractères
moteur texte 12 caractères
couleur texte 12 caractères id_contructeur entier long auto incrémenté
prix_neuf numérique réel constructeur texte 15 caractères
prix_location numérique réel
comment_auto texte Taux TVA paramètre
montants HT Calculés
id_type entier long auto incrémenté montants TTC Calculés
type_auto texte 15 caractères montants TVA Calculés
Net à payer Calculés
date_emprunt date
date_reservation date
date_retour date
arrhes numérique réel

Liste des propriétés


11

Choix des identifiants


• Identifiant (ou attribut): propriété qui
permet d’identifier formellement et sans
aucune ambiguïté chaque occurrence, donc
chaque voiture, chaque client
• Chaque identifiant permet donc de
connaître le client concerné ou la voiture
identifiée.
• => Dépendance fonctionnelle entre ces
identifiants et certains propriétés.

12

6
Choix des identifiants

Convention d’écriture: identifiant


13

Graphe des dépendances


fonctionnelles

Non concernés
par la suite.
Ne découlent pas
d’une dépendance
fonctionnelle

14

7
Modèle Conceptuel des Données
MCD: représentation du système
d’information en utilisant deux
objets/concepts: Entités et Associations.
Entité: ensemble cohérent d’informations
Un client, une voiture, un truc, un machin,…

Association: liens, relations entre ces


entités
Appartenir, posséder, louer,…

15

Modèle Conceptuel des Données


Nom de l’entité
Identifiant

Autres propriétés

Cardinalités: voir plus loin.

Convention de représentation
16

8
Les entités découlent du GDF
Nom des données Nom des données
num_client
nom_raison_sociale
code_postal
ville
VILLE
prenom
CLIENT adresse
telephone id_categorie
fax
mail
categorie
commentaire
CATEGORIE
solde

immatriculation
modele id_marque
date_mise_circulation marque MARQUE
VOITURE moteur
couleur id_contructeur
prix_neuf constructeur CONSTRUCTEUR
prix_location
comment_auto

TYPE id_type
type_auto

date_emprunt
date_reservation
date_retour
arrhes

17

MCD: placement des entités

18

9
Cardinalités: précisions dans la
nature des relations entre entités
• Les cardinalités expriment le nombre de valeurs minimum et
maximum que l’entité peut prendre dans l’association. Les
cardinalités font partie des associations.

Cardinalités Traduction Exemple


0,1 Aucun ou un Un enfant n'a pas de père, ou il n'a qu'un père
Type époux-épouse: un époux n'a qu'une épouse
1,1 Un et un seul
(légale) et une épouse n'a qu'un époux (légal)
Une personne peut n'avoir aucune voiture, mais
0,n Aucun ou plusieurs peut en avoir plusieurs.
Un couple peut avoir plusieurs enfants.
1,n Un ou plusieurs
Un enfant n'a qu'une mère, ou qu'un père.
Un enfant a plusieurs loisirs
n,n Plusieurs à plusieurs
Un loisir est pratiqué par plusieurs enfants

19

Cardinalités
Les cardinalités découlent directement des règles et procédures de
fonctionnement en vigueur dans l’organisation, et ont donc avoir par la
suite des incidences dans la conception des modèles logiques et
physiques des données.

ETUDIANT FORMATION
1,1 INSCRIT 1,n Un étudiant est inscrit dans une
seule formation (1,1) (IUT)

ETUDIANT FORMATION
1,n INSCRIT 1,n
Un étudiant est inscrit dans
une ou plusieurs formations
(1,n). (Université)

20

10
MCD

21

Quel logiciel pour créer des MCD?


DB-Main disponible gratuitement à cette adresse: http://www.db-main.be/
Avantages:Petit, gratuit , portable (pas d’installation), mode texte, performant.
Inconvénients: Mode texte, ergonomie, notations.

22

11
Quel logiciel pour créer des MCD?
WinDesign: Logiciel Commercial
Avantages: Performant, complet, formats d’export, qualité des schémas..
Inconvénients: Cher, assez lourd..

23

Quel logiciel pour créer des MCD?


Analyse SI: Logiciel libre et gratuit disponible http://analysesi.free.fr
Avantages: Simple, relativement complet, qualité des schémas, respect de la
démarche..
Inconvénients: Plus développé

24

12
Quel logiciel pour créer des MCD?
Open Modelsphere: Logiciel libre et gratuit
Avantages: Performant, complet, qualité graphisme, exports
Inconvénients: Complexe, prise en main délicate

25

Exercice
Vous êtes responsable d’une bibliothèque universitaire, et décidez de structurer les
services de consultation et d’emprunt des ouvrages. Ceux-ci sont placés dans
des rayons par centres d’intérêt (Economie, Histoire, Géographie, Finances,…). Ils
sont écrits par un ou plusieurs auteurs, et édités dans une collection par un
éditeur. Une collection appartient à un seul éditeur. Il arrive qu’un titre soit
(ré)-édité par plusieurs éditeurs différents dans des collections différentes
(C’est souvent le cas pour les classiques de la littérature par exemple). Un même
titre peut être possédé en plusieurs exemplaires par la bibliothèque si celui-ci
est très utilisé par les adhérents.
Un étudiant est inscrit dans une seule filière universitaire pour une année
universitaire (DUT, DEUG, MSG,…).
Il faut être inscrit avec son nom et son numéro de téléphone pour pouvoir
fréquenter la bibliothèque. On est alors autorisé à consulter l’ensemble des
ouvrages par auteur, titre de document et centre d’intérêt. L’emprunt, de un à cinq
ouvrages, peut se faire pour une durée de 15 jours maximum.
Sachant cela :
1°) Quels sont les domaines de gestion concernés par cette application ?
2°) Concevoir le Modèle Conceptuel des Données (DD => GDF =>MCD )
26

13
Du MCD au MLD (ou SR)
• MCD: étape conceptuelle
• MLD (SR): Plus concret: tables, clés, relations

MCD
MCD MLD
MLDou
ouSR
SR
Entité
Entité Table
Table
Propriété
Propriétéde
del’entité
l’entité Colonne
Colonneou
ouattribut
attributdedela
la
table
table
Identifiant
Identifiantde
del’entité
l’entité Clé
Cléprimaire
primairede
delalatable
table
Relations
Relations (0,n
(0,nou
ou Table
Table
1,n)plusieurs
1,n)plusieursààplusieurs
plusieurs
(0,n
(0,nou
ou1,n)
1,n)
Relation
Relationbinaire
binaire(0,1
(0,1ou
ou Exportation
Exportationclécléétrangère
étrangère
1,1)
1,1)ààplusieurs
plusieurs(0,n
(0,nouou et
etattributs.
attributs.
1,n)
1,n) 27

Du MCD au MLD (ou SR)


Traitement des entités:

 Chaque entité devient une table


 Chaque propriété devient une colonne (un champ) de cette table
 L’identifiant devient la clé primaire de cette table.

VILLE (code_postal, ville)

MCD Schéma Relationnel Modèle physique (Access)


28

14
Du MCD au MLD (ou SR)
Traitement des associations 1,1 – 1,n ou 0,n:

 Ajout d’une clé primaire dans la table du côté 1,1 de l’association


 Rien à faire dans l’autre table.

MCD MCD

CLIENT (num_client, nom_raison_sociale, …,solde,


#code_postal)

Schéma Relationnel

Modèle pysique (Access) 29

Du MCD au MLD (ou SR)


Traitement des associations 1,n ou 0,n – 1,n ou 0,n:

 L’association se traduit par la création d’une table


 Les clés primaires des tables en relation sont (le plus souvent) ensemble
clés primaires de cette nouvelle table.
 Certaines propriétés (porteuses de sens) de l’association peuvent aussi
intégrer la clé primaire

MCD

MLD
30

15
Du MCD au MLD (ou SR)
Traitement des associations 1,n ou 0,n – 1,n ou 0,n:

LOUER ( #immatriculation, #num_client, date_emprunt, date_retour,


date_reservation, arrhes)

Schéma Relationnel

Convention: TABLE (clé primaire, champ_1, …, champ_n, #clé étrangère)

31
Modèle pysique (Access)

MLD du cas

MLD
32

16
Schéma relationnel du cas
• VILLE( code_postal, ville)

• CATEGORIE(id_categorie, categorie, commentaire)

• TYPE(id_type, type_auto)

• CONSTRUCTEUR(id_constructeur, constructeur, pays)

• MARQUE(id_marque, marque, #id_constructeur)

• VOITURE(immatriculation, modele,annee_mise_circulation, moteur,


couleur, prix_location, prix_neuf, comment_auto, #id_marque, #id_type)

• CLIENT(num_client, nom_raison_sociale, prenom, adresse, telephone,


fax, email, solde, #code_postal, #id_categorie)

• LOUER(#immatriculation, #num_client, date_emprunt, date_retour,


date_reservation, arrhes)

33

Vocabulaire et concepts
MCD MLD (SR)
• Entité • Tables
• Attributs • Champs
• Propriétés • Colonnes
• Identifiants • Clés primaires
• Associations • Clés étrangères
• Cardinalités • Enregistrements
• Occurences (tuples)
• Relations

34

17
Associations particulières
Une association peut relier plus de deux entités.
L’association peut donc avoir plus de deux pattes.

LOUER permet une


association entre VOITURE,
CLIENT et TARIF

35

Associations particulières
Une association peut relier plus de deux entités.
L’association peut donc avoir plus de deux pattes.

D’où ce MLD

Et ce Schéma
Relationnel:

LOUER
(#immatriculation,
#num_client,
#code_tarif,
date_emprunt,
date_reservation,
date_retour, arrhes)

36

18
Associations particulières
Entité en relation avec elle-même.
Association d’une entité avec elle-même: Associations réflexives

Cas 1,1 – 1,n. Exemple: un client est parrainé par un seul autre
client plus ancien, qui peut en parrainer plusieurs.

Traitement particulier sous Access


et en SQL de manière générale.

MCD

CLIENT (num_client, nom_raison_sociale, prenom, adresse, telephone,


fax, email, solde, #num_parrain)

Schéma Relationnel 37

Associations particulières
Entité en relation avec elle-même.
Association d’une entité avec elle-même: Associations réflexives

Cas 1,n – 1,n. Exemple: un client est en affaires avec aucun, un


ou plusieurs autres clients.

Traitement particulier sous Access


et en SQL de manière générale.

Une date ou d’autres propriétés peuvent être ajoutée dans


MCD l’association, ce qui se traduira dans la table par une ou plusieurs
autres clés primaires.

PARRAINER(#num_client_1, #num_client_2)

Schéma Relationnel 38

19
Associations particulières
Plusieurs associations peuvent réunir deux entités.

MCD
Aucun problème pour le Schéma Relationnel:

39

Associations particulières
Plusieurs associations peuvent réunir deux entités.

MLD

Aucun problème pour le MLD et le Schéma Relationnel: La table acheter


s’obtient de la même manière que la table LOUER
40

20
Les Formes Normales (FN)
La normalisation permet :
• D’éliminer les données redondantes
• Vérifier que les données sont associées à
l’entité ou l’association qui convient
• Eviter les valeurs nulles
• Rendre la base de données cohérente et
robuste.
=> Vérifier plusieurs Formes Normales
41

Les Formes Normales (FN)


Relation(attribut_1, attribut_2, attribut_3,…)

Relation: table, entité

Dépendance fonctionnelle entre deux attributs A et B d ’une relation R si à


toute valeur de A on ne peut associer à tout instant qu ’une et une seule
valeur de B.
Principe utilisé dans le Graphe des Dépendances Fonctionnelles.

Dépendance fonctionnelle:
L’immatriculation d’une voiture
permet de connaître le modèle,
la motorisation, …, sans
ambiguité.

42

21
Première Forme Normale (1FN)
Une relation est 1FN si:
- elle possède une clé
- tous ses attributs sont non atomiques (attribut atomique, n ’ayant à un
instant donné qu’une seule valeur, ou ne regroupe pas un ensemble de
valeurs)

immatriculation Voiture moteur couleur prix


1114SW33 C4, Citoën Diesel Jaune 125
1235SX33 807, Peugeot Diesel Bleu 190
1325SR33 Coupé, Hyundaï Essence Noir 200
2341SR33 Clio, Renault Essence Rouge 105
4231SZ33 Avensis, Toyota Diesel Gris 150
4232SZ33 Avensis, Renault Essence Blanc 155

43

Deuxième Forme Normale (2FN)


Une relation est en 2FN si:
- elle est 1FN
- toutes les DF sont élémentaires

=> Une table CLIENT et une table AUTOMOBILE…

44

22
Troisième Forme Normale (3FN)
Une relation est 3FN si
- elle est 2FN
- toutes les DF sont directes

=> Une table CLIENT et une table AUTOMOBILE…en


plus de la table LOUER!
45

23

Вам также может понравиться