Académique Documents
Professionnel Documents
Culture Documents
1
Introduction
Objectif
2
Analyse et conception des systèmes
d’information
3
Notion de systémique- cycle de vie- typologie des méthodes
modèles- Démarches.
4
Introduction
5
Vision globale d’un entreprise
Collecter,
mémoriser,
traiter, Système
distribuer, d’INFORMATION
l’information.
6
Analyse Systémique de l’Entreprise
Chaque système apporte des services à l’autre
7
Système découpage
• On peut distinguer 3 sous-systèmes :
• Le système de pilotage : direction, régulation, contrôle, décisions,
définition des objectifs
• Le système opérant : Réalisation des tâches, donne des informations sur
l’état du système
• Le système d'information : Interface entre les deux systèmes précédents.
Le SI est la mémoire de l'organisation.
• Le système de pilotage : Contrôle et dirige l'ensemble
Élaborer des règles de gestions et produire des décisions
• Le système opérant : transforme les flux d'entré es et flux de sorties
La transformation des flux
• Le SI transmet les ordres au système de production (ou système opérant)
et renvoie au système de pilotage
8
Analyse Systémique de l’Entreprise
9
Exemples de flux d’information
10
L’information…?
11
Approches pour étudier le SI
12
Système d’information - Définition
13
Et la grande question est…
•Analyse
• de l’existant et des besoins de l’utilisateur.
•Conception
• du système et du logiciel.
•Réalisation
• Traduction des algorithmes dans un langage choisi.
•Tests du logiciel
• Vérification et validation du logiciel.
• Tests de non régression.
•Exploitation
• Utiliser le logiciel une fois installé.
•Maintenance
• Correction des erreurs.
• Ajouts de fonctionnalité.
•… 14
Qualités d’un SI
15
Qualités d’un SI
16
Qualités d’un SI
17
Qualités d’un SI
Pertinence de l’information
– Filtrer l’information en fonction de l’utilisateur
• Ex: Le directeur commercial n’a pas besoin de connaître
le détail de chaque commande, mais simplement le
montant des commandes en cours
• Sécurité de l’information
– Sauvegarde
• Système critique => machine à tolérance de panne
élevée
– Malveillance, attaques extérieures
• Routeurs filtrants, anti-virus, pare-feu, détecteurs
d’intrusions
18
Qualités d’un SI
Confidentialité de l’information
–Aspect crucial, espionnage industriel, …
– Moyens matériels
•Lecteurs de cartes, de badges
•Lecteurs d’empreintes
– Moyens logiciels
•Identification
•Permissions sur des fichiers ou des BDD
•Cryptage des canaux de transmission
•Terminaux mobile : qui le consulte ? Attention!!!!!
19
Analyse et Conception de Système
d’Information
On doit :
• avoir une vision abstraite du fonctionnement,
• garantir les délais, la pertinence, l’efficacité,
• faciliter la maintenance,
• prolonger la durée de vie,
• …
20
Modèle…c’est quoi ?
formel.)
• Informel : description en langage naturel.
Modèle…pourquoi ?
Les principales motivations sont (Vernadat, 2000) :
- justifier les choix d'implantation sur des critères liés aux ressources et
aux coûts (méthodes de comptabilité par activités, par exemple) ;
23
Méthodologie…Typologie
• Approche cartésienne.
• Orientée traitements.
• Approche systémique.
• Orientée données.
• Approche Objet.
• Orientée données et traitements.
Méthodologie…exemples
• MERISE : Méthode d’Etude et de Réalisation Informatique pour les
Systèmes d’Entreprises (Tardieu, 83).
Elaborés séparément.
27
Merise…cycle d’abstraction
Système d’information
manuel
•Recueil des informations
•Délimiter le système.
Expression des Besoins •…
Système d’information
28
automatique
Recueil de l’information
• Sources externes (Environnement du système)
• Flux en provenance des partenaires (Clients, Fournisseurs,
Administration, …)
• Être à l’écoute pour anticiper les changements et adapter son
fonctionnement
• Sources internes
• Flux générés par les acteurs du système (Approvisionnements,
Production, Gestion des salariés, Comptabilité, Ventes, …)
• Flux formalisés par des procédures
• Flux informels (climat social, savoir faire, …)
Difficiles à recueillir et à exploiter, mais grande importance
29
Recueil de l’information
• Alimenter le SI
– La saisie de l’information est généralement onéreuse
•Nécessite souvent intervention humaine
– Efforts pour automatiser le recueil d’information
• Systèmes en temps réel
• Lecture optique (questionnaires, …)
• Numérisation, Robots d’analyse de contenus, …
•L’info est précieuse, vitale pour l’entreprise
– Mais elle a aussi un coût
30
Mémorisation de l’information
31
Traitement de l’information
32
Diffusion de l’information
33
Système d’information
34
Système exemple
• Ou en terme de flux
• Flux physiques : produits acheter, produits vendus
• Flux d'information : paiements clients/fournisseurs
35
Système exemple
36
SI en bref
37
Infrastructure logicielle du SI
• Démarche globale d’informatisation :
analyse du problème
conception de la solution
réalisation du système
38
La notion multidimensionnelle du SI
39
La dimension
INFORMATIONNELLE
40
La dimension informationnelle
41
La dimension informationnelle
42
La dimension informationnelle
• Le bilan et le compte de résultat sont des représentations
possibles de l’entreprise…
• …un site Internet est une représentation de l’entreprise…
• …une carte géographique est une représentation d’un territoire
d’un pays…
(*)Ces supports sur lesquels apparaissent des signes, des
signaux…sont des représentations du monde réel…
Une représentation est une image du monde réel : cette
image est composée de signaux pouvant être perçus par
nos sens.
43
La dimension informationnelle
1. Conservation de l’information à laquelle nous
n’aurons plus directement accès : une photographie par
exemple est une représentation d’un moment, d’un paysage
auquel nous n’aurons plus accès direct ou nous n’allons
plus revivre…
45
La dimension
TECHNOLOGIQUE
46
La dimension technologique
• Introduction
Matériel :
Collecte
Hardware
Saisie
ordinateur
Stockage
Traitement Logiciel :
Stockage programme
Communication software
47
La dimension technologique
Fonction de base Exemple de dispositifs technologiques
Saisie
Obtenir des données sous une
forme permettant leur Clavier d'ordinateur, lecteur de codes à barres, scanner,
stockage, leur traitement et enregistreur de sons (magnétophone), caméra vidéo, appareil
leur transmission photographique, etc…
Transmission
Réseau téléphonique, réseau spécialisé dans la transmission des
Déplacement des données données, réseau local, réseau de télévision, réseau radio, réseau
dans l'espace Internet…
Stockage
Conservation organisée des Imprimé (papier), bande magnétique audio et vidéo, CD (compact
données permettant de les Disc), clé USB, mémoire centrale d'ordinateur, disque dur
retrouver ultérieurement d'ordinateur…
Traitement
1. Compression du Temps : traiter des données revient à les trier, les calculer, les
sélectionner, les transmettre...pour produire des représentations pertinentes. Les nouveaux
outils de traitement électronique ont permis l’automatisation des opérations avec des
performances de vitesse sans aucune mesure avec celle d’un opérateur humain.
2. Compression de l’espace : à l’heure actuelle, il est possible de transmettre des
volumes considérables à l’aide d’internet entre deux points, quelque soit leur emplacement
dans le globe. L’émergence du télétravail, du bureau à distance, l’entreprise virtuelle, le
phénomène de la globalisation des marchés…sont des conséquences directes de cette
élimination de la distance par le recours aux techniques électronique de communication.
3. L’expansion de l’information stockée : les nouveaux procédés de stockage
permettent aujourd’hui de stocker et d’archiver des volumes importants de données.
49
La dimension
ORGANISATIONNELLE
50
La dimension organisationnelle
• 1 - Le SI est un élément déterminant dans le fonctionnement d’une
organisation :
Le SI fournit dans des conditions déterminées, des représentations nécessaires
aux différents acteurs d’une organisation. Les formes évoluées des technologies
de l’information confèrent au SI des rôles de structuration, d’intégration, de
coordination et d’automatisation du travail susceptibles de modifier
considérablement les conditions du fonctionnement de l’organisation.
51
Conception & mise en place d’un SI
52
Conception & mise en place d’un SI
• Introduction…
53
Conception & mise en place d’un SI
Les objectifs :
Un système d’information doit répondre aux besoins spécifiques
de ses futures utilisateurs. Un travail préliminaire consiste à définir
un CAHIER DES CHARGES qui exprime de façon structurée, les
besoins que doit satisfaire le futur SI…
…ce cahier des charges va ensuite être interprété par des
spécialistes, analystes, concepteurs en un schéma de système à
réaliser…
…ce schéma doit intégré de manière cohérente les choix relatives
aux trois dimensions composantes d’un SI « informationnelle,
technologique & organisationnelle ».
54
Conception & mise en place d’un SI
1.1 Les choix informationnels :
• Correspondent aux choix relatifs aux représentations souhaitées. Il s’agit ici de
choisir quelles sont les représentation à produire pour chaque utilisateur ce qui
conduira à la définir des MODÈLES de données et les règles de transformation
de ces données par des modèles de traitements.
55
Conception & mise en place d’un SI
56
Conception & mise en place d’un SI
• …pour résumer :
57
Conception & mise en place d’un SI
La démarche
Pour les SI de dimension très limitée, la construction peut prendre des formes
d’essais, d’erreurs, de tâtonnements, de modifications... Au-delà d’une certaine
dimension, cette approche empirique n’est pas possible et il est indispensable de
PLANIFIER le SI « Schéma directeur » et d’ORGANISER le processus de sa
construction et sa mise en place de manière MÉTHODIQUE…
…cette démarche méthodique peut être schématisée comme suit (cycle de vie du
projet) :
58
Conception & mise en place d’un SI
59
Conception & mise en place d’un SI
2. 1 Schéma directeur
Schéma directeur
Plans d’action
Projets à réaliser Moyens à utiliser
par projet
60
Conception & mise en place d’un SI
2. 1 Schéma directeur (suite)
Schéma directeur
Plans d’action
Projets à réaliser Moyens à utiliser
par projet
Traduction des Définition des moyens Pour chaque projet
objectifs assignés au nécessaires pour la inscrit dans le schéma
SI en objectifs. réalisation des projets directeur, le plan
Les applications que (matériels, logiciels et d’action explicite les
l’entreprise cherche à humains). Ce volet choix essentiels :
développer sont permet d’évaluer objectifs, moyens
décrites par leur l’adéquation alloués, contraintes à
caractéristiques ressources disponibles respecter, délais,
principales : objectifs à dans l’entreprise et limites…
satisfaire, champs permet leur ajustement
couvert, en cas d’insuffisance.
fonctionnalités
principales… 61
Conception & mise en place d’un SI
Dans le cas de l’existence d’un schéma directeur, l’objectif de l’analyse préalable est :
Par ailleurs, en l’absence d’un schéma directeur, cette phase est l’occasion pour
l’entreprise de définir et mettre en place l’AVANT PROJET de la solution à
concevoir.
62
Conception & mise en place d’un SI
2.3 La conception
La phase de conception est le « pont » entre la définition du besoin (problème) et la
réalisation...
elle comporte généralement 2 phases :
Phase 1 Phase 2
64
Conception & mise en place d’un SI
2. 3 Le développement
Cette étape correspond à l’intégration totale de la dimension technologique. L’analyse, la
programmation et les tests sont les principales sous étapes…on peut distinguer deux grandes
phases.
Phase 1 Phase 2
Il s’agit d’établir une description détaillée Une fois bien décris, les programmes sont
des traitements d’une part (programmes), écrits et testés (cette phase peut être réduite
des données d’autre part en tenant compte si on utilise des logiciels achetés).
des particularités du matériel et logiciel
Les tests du programme sont effectués à
utilisés.
partir d’un échantillon de données, d’une
situation bêta…
65
Conception & mise en place d’un SI
2. 3.1 L’implantation : Travaux à mener en parallèle
Installation des matériels : peut être lourde si la solution exige un saut technologique ;
Installation et tests des logiciels : toutes les applications doivent être installées dans
leurs conditions normales de fonctionnement ;
Constitution des bases de données : dans le cas où la solution fait appel à de
nouvelles bases de données ;
Formation des utilisateurs aux nouvelles procédures de travail tant pour les parties
manuelles (inputs) que pour les tâches assistés par ordinateurs (graphiques, tableaux,
…). Cette phase de formation est indispensable !
66
Conception & mise en place d’un SI
67
Conception & mise en place d’un SI
2. 3 L’implantation en schéma
68
Conception & mise en place d’un SI
2. 3.1 Conséquences de l’implantation
En général :
69
Conception & mise en place d’un SI
70
Conclusions
1. La notion de SI est une notion multidimensionnelle comprenant trois dimension :
informationnelle, technologique & organisationnelle …pour bien comprendre la
notion de SI, il est indispensable de prendre simultanément ces trois dimensions !
2. Le SI doit répondre de manière efficace aux besoins exprimés par ses futurs
utilisateurs…le SI n’est qu’un INSTRUMENT devrant faciliter, organiser,
structurer, coordonner le travail en organisation !
3. La mise en place d’un SI doit s’inscrire dans une démarche durable et constitue
donc un objet qu’il faut PLANIFIER, ORGANISER, FINALISER, ANIMER,
MAINTENIR et CONTRÔLER.
4. Les usages d’un SI peuvent prendre plusieurs formes, pouvant être regroupées en
2 grandes catégories, les usages fonctionnels et les usages pour l’aide à la
décision
71
Les applications fonctionnelles du SI
72
Introduction
Usages des SI
Applications
Applications Applications
Applications d’aide à la
d’aide à la d’aide à la
fonctionnelles gestion des
décision communication
connaissances
APPLICATION FONCTIONNELLE
Une application informatique est un ensemble de logiciels articulés entre eux pour
automatiser et faciliter le traitement des informations…
Une application fonctionnelle désigne des réalisations informatiques conçues pour assister
la conduite des fonctions essentielles de toute entreprise. On peut donc parler de :
Problème à
résoudre
MODÉLISATION
Recherches des actions
possibles
CHOIX
Application de règles pour
choisir une action
ÉVALUATION
Test du choix retenu
SATISFAISANT exécution
NON OUI
?
Modèle IMC
1. Intelligence :
répondre à la question « de quoi s’agit-il?, le mot intelligence correspond ici
au sens militaire du terme : recherche et renseignement.
C’est une phase de sondage de l’environnement et de repérage des
événements requérant des décisions.
Modèle IMC
2. Modélisation :
C’est une phase de conception et de formulation des voies de solutions
possibles…
Il s’agit de définir des scénarii de réponse à travers des modèles d’action
3. Choix :
C’est une phase de prise de position et de sélection d’un choix entre ceux
possibles, explorés durant la phase précédente.
Modèle IMC
2. Évaluation
C’est une phase importante dans la mesure où elle détermine si le choix
retenu est adapté donc validé, sinon il est remis en cause et entraîne un
retour en arrière vers une ou plusieurs phase du processus IMC
1.Intelligence :
Un SIAD permet à l’aide d’un ordinateur, de rechercher des données,
de faire des traitements et de déceler toute anomalie ou détecter tout
écart …
Un ordinateur équipé d’un logiciel d’alerte peut alerter le décideur soit
par un message, soit en éditant un mail d’une situation de dépassement,
d’insuffisance, de rupture,…
Outre cette fonction, un ordinateur permet le stockage des données et
leurs restitution pour toute éventuelle réutilisation dans des cas
similaires.
SI & Aide à la Décision
2.Modélisation :
Un SIAD à travers une base de données de modèles de tableaux de calculs, de
logiciels de traitement, permet une aisance dans l’utilisation du modèle, dans la
modification, dans l’enregistrement des versions et de garder une traçabilité quant
aux modèles utilisés
3.Choix \ évaluation :
Une fois le modèle adapté est choisi ou conçu, on passe au test du choix retenu en
procédant d’une manière rétroactive. Autrement dit, l’essor des systèmes
d’information a permis l’évaluation des choix et le test des scénarii envisageables
avant toute prise de décision.
SI & Aide à la Décision
Un SIAD est un système d’information :
1. Un système fournissant une assistance aux décideurs essentiellement
pour des problèmes non totalement structurés
2. Combinant le traitement automatisé de l’information et le jugement
humain
3. Améliorant la qualité et l’efficacité du processus de prise de décision
« contrôle, coût, temps)…
DIFFERENTS MODELES DE CYCLE DE
VIE DE LOGICIEL
90
DIFFERENTS MODELES DE CYCLES DE VIE
INTRODUCTION
91
Justification du cycle de vie
permanence assurer:
92
LES DIFFERENTES PHASES DU CYCLE DE VIE
C'est pendant cette phase qu'est défini un schéma directeur dans le cas de la
création ou de la rénovation d'un système d'information complet d'une
entreprise prenant en compte la stratégie de l'entreprise (voir méthode
Merise).
93
Définition des Besoins
• Un cahier des charges est établi par le client après consultation des
divers intervenants du projet ( utilisateurs, encadrement...), un appel
d'offres est éventuellement lancé.
94
Définition du Produit
Les spécifications précises du produit sont décrites ainsi que les contraintes
de réalisation. A l'issue de cette phase, les fournitures intermédiaires sont
le dossier de spécifications fonctionnelles et une première version du
manuel utilisateur.
On peut également désigner cette phase par le terme analyse des besoins. A
l'issue de cette phase, le client et le fournisseur sont d'accord sur le produit
à réaliser et les contraintes auxquelles il doit obéir ainsi que sur la façon de
l'utiliser et en particulier sur l'interface utilisateur qu'il s'agisse d'une
interface homme-machine ou d'une API.
95
Planification et gestion de projet
Il est évident que le client comme le développeur doivent être d'accord sur
les coûts et la durée du projet. La phase de planification permet de
découper le projet en tâches, de décrire leur enchaînement dans le
temps, d'affecter à chacune une durée et un effort calculé en
homme*mois.
96
Conception globale
- le dossier de conception
- le plan d'intégration
- les plans de tests
- le planning mis à jour
97
Codage et tests unitaires
A l'issue de cette phase les produits intermédiaires sont
98
Intégration
Chaque module testé est intégré avec les autres suivant le plan d'intégration
et l'ensemble est testé conformément au plan de tests.
- le logiciel testé
- le manuel d'installation
99
Qualification
Lorsque le logiciel est terminé et les phases d'intégration
matériel/logiciel achevées, le produit est qualifié, c'est à dire testé en
vraie grandeur dans des conditions normales d'utilisation. Cette phase
termine le développement. A l'issue de cette phase le logiciel est prêt
à la mise en exploitation
100
Maintenance
Lorsque le produit a été accepté, il passe en phase de maintenance jusqu'à son
retrait. C'est pendant cette phase que tous les efforts de documentation faits pendant
le développement seront particulièrement appréciés de même que la transparence
de l'architecture et du code.
101
Durée de cycle de vie
102
Durée de cycle de vie
103
Facteurs d'instabilité
Le modèle de cycle de vie n'est pas une panacée, malgré les précautions
prises, des facteurs d'instabilité subsistent:
Facteurs externes: l'utilisateur évolue, l'environnement évolue
- Environnement modifié par le logiciel,
- Evolution de la législation,
- Evolution de la technologie,
- Evolution du marché et de la concurrence.
Facteurs internes: l'équipe de développement évolue
- Individus membres de l'équipe,
- Qualification de ces individus,
- Organisation qui gère le projet.
104
Récapitulation : Les tâches d'un projet logiciel par
activités et par phases
105
CYCLE DE VIE DES LOGICIELS EN
CASCADE ET EN V
Modèle en cascade
106
CYCLE DE VIE DES LOGICIELS EN
CASCADE ET EN V
Modèle en V
107
Analyse de ces modèles de cycle de vie
La représentation en V tient d'avantage compte de la réalité, le processus de développement n'est pas
réduit à un enchaînement de tâches séquentielles.
- c'est en phase de conception globale que l'on se préoccupe des procédures d'intégration
- c'est en phase de conception détaillée que l'on prépare les tests unitaires
Le modèle de cycle de vie en V permet d'anticiper sur les phases ultérieures de développement du
produit. En particulier le modèle en V permet de commencer plus tôt:
Les deux modèles permettent de développer parallèlement différents modules lorsque la phase de
conception globale est validée
108
Analyse de ces modèles de cycle de vie
109
MODÈLE EN SPIRALE (BOEHM 1988)
• Proposé par B. Boehm en 1988, ce modèle de cycle de vie tient compte de la possibilité de
réévaluer les risques en cours de développement.
La démarche:
− développer une série de prototypes pour identifier les risques en commençant par le plus
grand risque
110
MODÈLE EN SPIRALE (BOEHM 1988
111
MODÈLE EN SPIRALE (BOEHM 1988
112
Analyse des risques
• risques humains:
− défaillance du personnel ; surestimation des compétences
− travailleur solitaire, héroisme, manque de motivation
• risques processus
− pas de gestion de projet
− calendrier et budget irréalistes ;
− calendrier abandonné sous la pression des clients
− composants externes manquants ;
− tâches externes défaillantes ;
− insuffisance de données
− validité des besoins ;
− développement de fonctions inappropriées
− développement d'interfaces utilisateurs inappropriées
113
Analyse des risques
• risques technologiques
− produit miracle, "plaqué or";
− changement de technologie en cours de route
− problèmes de performance
− exigences démesurées par rapport à la technologie
− incompréhension des fondements de la technologie
114
Conditions d'application
Le modèle en spirale s'applique essentiellement en interne , lorsque les
clients et les fournisseurs font partie de la même entreprise, si l'analyse
de risque démontre que le projet doit être continué, une équipe peut être
réaffectée au projet. Alors que dans une relation client-fournisseur
ordinaire, il y a eu signature de contrat et donc l'effort doit être estimé à
115
Modèles de données
schéma entité- association
116
organisation des informations
117
Modèle Conceptuel de Données (MCD)
• Un formalise de référence :
118
Modèle Conceptuel de données
119
Concepts de base
• Modèle entité-association (EA)
base qui sont l’identifications des objets, des liens entre ces objets et des
120
Définitions
• Entités
Une entité est un objet concret ou abstrait du monde réel à propos duquel on veut
enregistrer des informations.
ex : M. Dupont, Mme Dupont, un crayon, l’atelier de distribution, le bureau du
directeur…
Un type d’entité (TE) est un ensemble d’entités qui possèdent les mêmes
caractéristiques.
ex : Personne (représentation de l’ensemble des personnes telles que les entités M.
Dupont et Mme Dupont), Employé (représentation de l’ensemble des employés),
Article (représentation de l’ensemble des articles tels que les crayons et les livres)
…
Un attribut d’une entité est une propriété associée à un TE. L’ensemble des
attributs d’un TE
représente l’ensemble des informations inhérentes que l’on souhaite conserver sur
les entités du TE.
ex : (nom, prénom, salaire) sont des attributs du TE Employé…
121
Entités
122
Entités
On distingue deux types d’entités :
- Entité forte = entité qui n’a pas besoin d’une autre entité pour exister.
- Entité faible = entité qui a besoin d’une autre entité pour pouvoir être
définie. Elles sont
notées avec un double rectangle. On distingue deux cas:
1er cas :
Employé est une entité faible car
l’ensemble des numéros de
sécurité sociale des élèves est
contenu dans l’ensemble des
numéros de sécurité sociale des personnes.
On dit qu’il y a un lien d’héritage entre
les deux entités.
123
Entités
2nd cas :
Appartement est une entité
faible car sa clé est
composée de l’attribut clé de
Bâtiment (N°Bâtiment) et d’un
autre attribut (N°Appart.).
On dit qu’il y a un lien
d’identification entre les deux
Entités.
124
Associations
Une association (ou une relation) est un lien entre plusieurs entités, où
chaque entité liée joue un rôle déterminé ; si l’association lie des entités
du même type, elle est dite cyclique ou réflexive et, dans ce cas, la
spécification des rôles est indispensable.
125
Associations
Un type d’association (TA) est un ensemble d’associations qui
possèdent les mêmes caractéristiques (liant des entités de mêmes types
avec mêmes rôles et mêmes propriétés, respectifs)
ex : le TA « fabrique » lie le TE « Atelier de fabrication » au TE «
Article », le TA « travaille » lie « Employé » à « Service », le TA « est-
marié-avec » lie « Personne » à lui-même.
Un attribut d’une association est une propriété associée à un TA.
L’ensemble des attributs d’un TA représente l’ensemble des
informations inhérentes que l’on souhaite conserver sur les
associations du TA.
ex : (quantité-en-fabrication) est un attribut du TA fabrique…
126
Association (Bref)
127
Propriétés – Attribut
• Dans les associations, l’attribut doit obligatoirement relier les entités (Le role relie, un acteur
et le film dans le quel il a joué,
• Une propriété (attribut) peut-être
o Monovaluée : nom, c’est une composante atomique
o Composée ; adresse=ville, rue, numéro , code-pPostal → multivaluée
• La valeur de l’attribut est son occurrence
• Un attribut est constitué de :
o D’un identifiant qui sert d’identifiant à l’ensemble des attributs
o De propriétés qui sont les attributs hors identifiant
128
identifiant
• Identifiant d’une entité
➢ Chaque occurrence doit être identifié d’une manière unique ; clé naturelle
➢ L’identifiant est une valeur qui identifie sans ambiguïté une entité
➢ L’identifiant peut être artificiel, c’est une surrogate Key
➢ L’identifiant naturel est la clé primaire
➢ Généralement la clé d’identifiant est un attribut souligné
129
Clé artificielle
130
Identifiant d’une association
131
Exemple:
Schéma
global
132
Typologie des associations : cardinalités des rôles (1)
Une association permet de relier, une ou plusieurs entités. Le rôle
détermine la façon dont les entités sont reliées.
— 3 types d’association
133
Typologie des associations : cardinalités des
rôles (2)
Le rôle d’une association est défini par deux nombres (min, max)
représentant le nombre de fois minimum et le nombre de fois
maximum qu' ’une entité participe à une association.
Les valeurs possibles sont : (0,1), (1,1); (0,N), (1,N)
134
Exemple (1)
Schéma globale
135
Exemple (2)
Commentaires :
Acteurs vers Films : le rôle de type 1,N
- (1) un acteur a joué dans au moins un film
- (N) un acteur peut avoir joué dans plusieurs films
De Films vers Acteurs 0,N:
-(0) : un film n’ayant pas d’acteurs, possible si c’est un film
documentaire
-(N) : un film peut avoir plusieurs acteurs
De Films vers Réalisateurs :
-Un film a au moins un réalisateur min=1 d’ailleurs souvent
- Il y a au plus un réalisateur (max=1). Un film a un seul réalisateur
136
Règles de complétude
137
Démarche de conception
138
Contraintes d ’Intégrité
• Dans une base de données, une contrainte d'intégrité permet de garantir
la cohérence des données lors des mises à jour de la base. En effet, les
données d'une base ne sont pas indépendantes, mais obéissant à des
règles sémantiques, après chaque mise à jour, le SGBD contrôle
qu'aucune contrainte d'intégrité n'est violée.
Il existe deux types de contraintes :
sur une colonne unique,
139
SYNTHAXE EXEMPLE
140
Lien entre le modèle Entité Association et
le modèle relationnel
141
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
142
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
143
Passage d’un schéma Entité/Association à un Schéma Relationnel (1)
144
OPTIMISATION
145
Passage d’un schéma Entité/Association à un Schéma Relationnel (3)
146
Exemple a réaliser
147
Exemple 2
148
149
Exemple3: Etablir Le MCD
150
MCD
151
MLD
152
Exemple 4 : Examens
• Les Examens nationaux sont gérés par l'Inspection Académique et
concernent les élèves de cette académie. Les élèves doivent
obligatoirement remplir un dossier d'inscription numéroté avant le 31
décembre de l'année scolaire en cours. Ce dossier comprend le nom, la date
de naissance, l’établissement de l’élève et le nom de l'examen. Un
établissement est défini par son code, son nom, son adresse et la ville. •
Chaque examen, comprend une série d'épreuves qui lui est propre, chacune
dotée d'un coefficient. Chaque épreuve d'examen se déroule donc à la
même date dans toute l’académie l’académie.
• La gestion de ces examens comprend aussi la convocation d'une dizaine
d'enseignants de l'académie à la commission de rédaction du sujet de
chaque épreuve. Cette commission se réunit à l'inspection académique au
plus tard 2 mois avant la date de l'épreuve. Les corrections ont lieu le
lendemain de l'épreuve. Un enseignant est connu par son matricule, son
nom, son téléphone, adresse, ville et son établissement.
• La centralisation des notes de l'élève est faite sur un bordereau transmis
au jury chargé d'examiner l'admission définitive du candidat.
153
154
155
Extension
• associations réflexives
Catégorie des associations réflexives
156
reflexives (n,n)
• reflexives (n,n) Symétriques
157
reflexives (n,n)
• relation récursives (n,n) non symétrique
158
reflexives (n,n)
• Association réflexive (n, n) avec propriétés
159
reflexives (n,n)
• Associations réflexives [1, n]
elles sont non symétriques
RG1: un salarié peut être encadrant de 0 ou plusieurs salariés
RG2: un salarié peut avoir 0 ou 1 encadrant
160
Exemples association réflexive
161
Exemples association réflexive
162
Entité faible
• On appelle une entité faible, une entité dépendante d’une autre entité
de cardinalité max de 1. On entoure sa cardinalité avec des
parenthèses. L’entité dont elle dépend s’appelle une entité forte
(cardinalité max de n).Son identifiant devient un identifiant relatif car
lors du passage au MLD, la relation récupère l’identifiant de l’entité
forte, ce qui donne pour clef primaire l’identifiant de l’entité forte et
l’identifiant de l’entité faible. Cet identifiant ne suffit pas à lui-même,
il est relatif.
163
Entité faible
• Exemple : immeuble et appartement
Un appartement à un numéro dans l’immeuble.
164
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
165
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
166
Dépendances fonctionnelles CIF –
Contrainte d’intégrité fonctionnelle
• Une contrainte d’intégrité fonctionnelle (CIF) est définie par le fait que l’une
association.
167
Relation CIF inter relations
168
Relation CIF inter relations
169
Le passage au modèle logique des données : MLD
170
Modèle Logique de Données (MLD)
permet de modéliser la structure selon laquelle les données seront stockées
dans la future base de données
171
Passage du MCD au MLR
172
Règle 1 : transformation d’une entité
173
Règle 2 : Transformation d’une association
sans propriété type (*,n)-(1,1)
Une commande est passé par un seul client
• Un client peut n’avoir passé aucune commande
• On duplique dans la table COMMANDE, l’identifiant du CLIENT
• Commande est une entité faible car elle dépend de client
• Client est une entité forte
174
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
175
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
176
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
Exemple2: l’association est porteuse d’un attribut
L’attribut de l’association est dans l’entité correspondant
177
Règle 3 – transformation d’une association
(1, n) -(*, n) [*=0 ,1]
Exemple3 : supporte la valeur nulle
178
Cas particulier – associations 1,1
Association : 1,1 – 1,1
Exemple : course à la voile : 3 solutions
179
Association binaire 0,1-0,1
180
Associations ternaires ( n-aires)
C’est la généralisation de l’association (1,n)/(1,n)
• L’association gère une table , qui reçoit en clé étrangère , les
clés primaires des tables associées
• La composition des clés étrangères devient la clé primaire de
la table association
• Les données éventuelles de l’association deviennent les
attributs de la table association
181
Associations ternaires ( n-aires)
182
Associations ternaires ( n-aires)
• Qui se traduit en
183
Traduction des associations réflexives en relation
• traduction des associations réflexives [n , n]
• Une association réflexive [n,n] sur une entité E est traduite en une relation de
même nom avec deux clefs étrangères. L'une d'elles porte le nom de l'identifiant
de l'entité et l'autre, le nom de l'association. La clef primaire de cette relation est
constituée de ces deux attributs
• Exemple :
184
Traduction des associations réflexives [1,n]
• Une association réflexive [1 , n] est traduite en une clé étrangère dans la
relation représentant cette entité. Le nom de cette clé étrangère est celui
de l’association si c’est le nom de l’association qui étiquette le trait de
cardinalité maximale 1, sinon c’est le nom de l’association réciproque
185
Traduction des associations réflexives [1 ,
1]
• Une association réflexive [1,1] sur une entité est traduite en une clé
étrangère dans la relation représentant cette entité. Le nom de cette clé
étrangère est celui de la relation
186
extensions du formalisme Entité-relation
• sous type – sur type
187
extensions du formalisme Entité-relation
• Définition:
• Une Contrainte d’intégrité est une propriété que doivent satisfaire les
données appartenant à la base de données, permet de limiter les
occurrences et assurer la cohérence des données.
• Une Contrainte d’intégrité peut être appliquer aux:
• Attributs: des conditions limitant les valeurs de ce dernier
• Entité se sont les contraintes issues de la théorie
• Associations des ensembles
• Une contrainte ne peut être définie que sur des objets de même
nature, de même identifiant.
188
extensions du formalisme Entité-relation
• Pour les entités on ne peut appliquer des contraintes que dans le cas
d’héritage
• Pour les contraintes entre les entités et les associations on distingue 5:
1.Partition
2.Totalité
3.Exclusion
4.Inclusion
5.Unicité
• Deux principes mathématiques:
• Couverture : A U B = C
• Disjonction : A ∩ B = ∅
189
extensions du formalisme Entité-relation
• Exemple : schéma de spécialisation (sous type)
• Un assuré est un particulier ou une entreprise, mais pas les deux à la fois
190
extensions du formalisme Entité-relation
La contrainte consiste à vérifier que les assurés de type "particulier" et ceux des
"sociétés forment une intersection vide :
PARTICULIER ∩ SOCIÊTÈ = ∅
La spécialisation consiste à
•Modéliser l’entité ASSURÊ dont les caractéristiques sont communes aux
PARTICULIERS et aux SOCIÊTÊS
•Considérer les entités PARTICULIER et SOCIÈTÈ comme des spécialisations de
l’entité ASSURÊ
•Seule l’entité possède un identifiant apparait dans le MLD (ajout de la contrainte
d’intégrité)
•Il y a , dans cet exemple une contrainte d’exclusion entre les entités du sous-type
191
extensions du formalisme Entité-relation
• exemple 2 ; schéma de généralisation (sur type)
• on fait apparaitre le groupe des étudiant-salarié à partir des étudiants et
des salariés . le groupe des étudiant-salariés est un sous-type des entités
salaries et étudiants , qui sont un sur type de l’entité étudiant-salarié
193
contraintes d’héritage – contrainte
d’interrelations
Exclusion X : disjonction et non couverture
194
contraintes d’héritage – contrainte
d’interrelations
Totalité : T – pas de disjonction et couverture
195
contraintes d’héritage – contrainte
d’interrelations
aucune contrainte
196
contraintes d’héritage – contrainte
d’interrelations
contrainte interrelations : contrainte sur les associations
Les types de contraintes d’intégrité relatives aux associations sont les suivants :
• Contrainte de partition :XT
• Contrainte de totalité : T
• Contrainte d’exclusion : X
• Contrainte d’égalité (ou simultanéité) :S
• Contrainte d’inclusion. :I
Pour chaque contrainte, il est nécessaire de préciser
• Son type
• L’entité concernée par la contrainte (on l’appelle pivot)
• Les 2 associations liées par la contrainte
Ces règles ne sont pas implantées au niveau relationnel, mais à travers des triggers
ou équivalents
197
contraintes d’héritage – contrainte
d’interrelations
Contrainte de partition (+ ou XT)
198
contraintes d’héritage – contrainte
d’interrelations
Contrainte de Totalité (T)
199
contraintes d’héritage – contrainte
d’interrelations
Contrainte d’exclusion (X)
200
contraintes d’héritage – contrainte
d’interrelations
Il y a deux contraintes supplémentaires : l'inclusion (une occurrence d'une
association doit exister dans une autre association) et l'égalité (inclusion dans les
deux sens, une occurrence doit exister dans les deux relations).
201
contraintes d’héritage – contrainte
d’interrelations
Contrainte d’inclusion ( I )
Un client réserve mais ne loue pas forcément un voilier. Toute location a fait l'objet
d'une réservation préalable. La contrainte d'inclusion va de louer qui est incluse
dans réserver le pivot est le voilier. Il y a la notion de pivot
Exemple : Un voilier ne peut être loué que s'il a été réservé. Si un locataire loue,
c'est qu'il a réservé.
Il y a une contrainte d'inclusion de 'Louer' dans ' Réserver' avec Locataire comme
pivot.
202
ANNEXE
• Différents modes de représentation du modèle entité – relation
203
Modèle conceptuel de communication
204
Acteurs
205
Flux d’information
206
Acteurs externes
207
Acteurs internes
208
MCC: Exemple
209
Réalisation d’un MCC
210
Réalisation d’un MCC
211
Réalisation d’un MCC
212
MCC
213
Exemple d’application
214
Résultat
215
Modèle Conceptuel des Traitements
216
Exemple d’un MCT
217
Les quatre niveaux de la méthode Merise
218
Une approche par niveaux
219
Définition du MCT
220
Définition du MCT
Le Modèle Conceptuel des Traitements (MCT ) permet de décrire les activités qui sont
effectuées dans le domaine d'étude, c'est-à-dire comment l'entreprise doit interagir
avec son environnement en faisant abstraction des aspects organisationnels.
En d'autres termes le MCT permet de dire comment l'entreprise doit réagir aux sollicitations
externes sans dire qui fait quoi, ou avec quels moyens.
221
Définition du MCT
222
Formalisme de modélisation conceptuelle des
traitements
du système d’information.
2.La deuxième étape consiste à traduire votre texte sous forme d’une
223
Formalisme de modélisation conceptuelle des
traitements
• Acteur: Client
224
Qu’est ce qu’un acteur?
• Exemple:
Comptable
• Client Vendeurs
Stock
225
L’événement/Résultat
226
L’événement/Résultat
227
L’état
• Commande en attente,
• Commande traitée,
228
L’état
• Commande en attente,
• Commande traitée,
229
L’opération
230
L’opération
231
L’opération
de façon graphique une opération est représentée par un rectangle:
232
Synchronisation
La synchronisation associée à une opération est une proposition logique définie sur
233
règles d'émission
234
concept d'action:
• Il permet d'appréhender toute entité active qui présente un intérêt pour le domaine
d'étude.
• Une action est représentée graphiquement de la façon suivante:
235
Modèle Organisationnel des traitements
• MOT= MCT + lieu + moment + nature
• Lieu
• Qui exécute ? Acteurs (MCC)
• Moment
• Quand exécute t on l’opération?
• Agencement temporel
• Nature
• Manuelle
• Automatique
• Interactive
• Différé
236
Du MCT au MOT
237
1 – Import de la liste des acteurs
Période Acteur A Acteur B Acteur C Type
238
2 - Import du MCT
239
Répartition des opérations en les acteurs
240
Division des traitements répartis entre
plusieurs acteurs
241
Division des traitements répartis sur
plusieurs périodes
242
Introduction aux Bases de données
243
Introduction
244
Qu'est-ce qu'une base de données ?
245
Système de Gestion de Base de Données
forcément informaticiens).
246
Ob j e c t i f s d 'un SGBD
247
Ob j e c t i f s d 'un SGBD
248
Propriétés d'un SGBDr
249
Composants des SGBD
250
Architecture d’un SGBD
ARCHITECTURE DES SGBD
• Couche externe
Couche interne
stockage des données sur des supports physiques, gestion des structures de
mémorisation (fichiers) et d'accès (gestion des index, des clés, ...)
• Couche logique
Niveau interne ou Physique
• L'efficacité doit tenir compte d'une part des contraintes d'implantation (taille des
disques, optimisation du système de fichiers…), d'autre part des critères
d'utilisation (traitement interactif ou en batch, selon la fréquence d’utilisation et
la durée du traitement…).
Architecture du type client-serveur (client-server architecture)
B D
R éseau
P ro g ra m m e
SG B D
d 'a p p l i c a t i o n
L o g ic ie l L o g ic ie l
in te r m é d ia ir e in te r m é d ia ir e
P ilo te d e P ilo te d e
té lé c o m m u n ic a tio n té lé c o m m u n ic a tio n
C lie n t S e rv e u r
Architecture 3 tiers
BD
R éseau R éseau
L o g ic ie l L o g ic ie l L o g ic ie l
in te r m é d ia ir e in te r m é d ia ir e in te r m é d ia ir e
P ilo te d e P ilo te d e P ilo te d e
té lé c o m m u n ic a tio n té lé c o m m u n ic a tio n té lé c o m m u n ic a tio n
C lie n t S e rv e u r S e rv e u r d e
m in c e d 'a p p lic a t io n données
Base de données distribuées(1)
BD réparties:
•Les données sont distribuées et/ou dupliquées sur différents sites du réseau (ex:
internet) qui possèdent un certain degré d’autonomie. Chaque site peut comporter
une BD parallèle
Base de données distribuées(2)
BD BD
lo c a le lo c a le
R éseau R éseau
P ro g ra m m e
S G B D ré p a rti S G B D ré p a rti
d 'a p p l i c a t i o n
L o g ic ie l L o g ic ie l L o g ic ie l
in te r m é d ia ir e in te r m é d ia ir e in te rm é d ia ir e
P ilo te d e P ilo te d e P ilo te d e
té lé c o m m u n ic a tio n té lé c o m m u n ic a tio n té lé c o m m u n ic a tio n
S e rv e u r d e S e rv e u r d e
C lie n t
données données
Base de données parallèles
M é m o ir e v iv e
U n it é d e U n it é d e U n it é d e
t r a it e m e n t t r a it e m e n t t r a it e m e n t
D is q u e D is q u e D is q u e D is q u e D is q u e
BD parallèles: Les données peuvent être distribuées sur plusieurs disques d'un
même site, et l'exécution des requêtes peut être parallélisée sur les différentes
unités de traitement (CPU) du site.
Entrepôt de données
données via des appels au SGBD exprimés sous forme de requêtes SQL.
270
LES TRANSACTIONS
Atomicité: L’exécution d’une requête est atomique si cette dernière, quoi qu’il
arrive, est exécutée complètement (en cas de réussite) ou pas du tout (en cas
d’échec ou d’incident).
Cohérence. Une requête de modification exécutée sur des données cohérentes
laisse celles-ci dans un état final également cohérent. Concrètement, le SGBD
garantit le respect de toutes les contraintes d’intégrité imposées aux données.
Isolation. Les opérations sur les données sont exécutées comme si chaque requête
disposait de la base de données pour elle seule.
Durabilité. Lorsque le SGBD a confirmé qu’une mise à jour a été effectuée avec
succès, il garantit qu’elle est permanente.
271
Organisation de la mise en oeuvre d 'un SGBD
272
CONCEPTS DES BASES DE DONNEES
273
CONCEPTS DES BASES DE DONNEES
• Tables, lignes et colonnes
274
Valeur null
• L'absence de valeur est indiquée par un marqueur spécial, dit valeur null.
Généralement représenté par <null> ou par rien.
275
Identifiants et clés étrangères
276
Identifiants et clés étrangères
277
Identifiants et clés étrangères
• Une table peut posséder plusieurs identifiants. On choisit l'un d'eux, qu'on déclare
primaire. Les autres sont dès lors secondaires
• Un identifiant est minimal si chacune de ses colonnes est nécessaire pour garantir
la contrainte d'unicité.
• Il est possible de déclarer une table sans identifiant mais ceci n'est pas
recommandé.
278
Identifiants et clés étrangères
• Une clé étrangère définit une contrainte référentielle. Il existe d'autres moyens de
définir cette contrainte.
• Si une des colonnes d'une clé étrangère est facultative, il est recommandé de les
rendre toutes facultatives.
• Une clé étrangère référence en principe l'identifiant primaire de la table cible.
• Une clé étrangère et l'identifiant qu'elle référence ont la même composition :
même nombre de colonnes et colonnes de mêmes types prises deux à deux.
• Il se peut qu'une clé étrangère soit également un identifiant.
• Il se peut que les colonnes d'une clé étrangère appartiennent, en tout ou en partie,
à un identifiant.
279
Identifiants et clés étrangères
• Un identifiant minimal est aussi appelé clé candidate (candidate key). [*]
• Un identifiant primaire s'appelle aussi clé primaire (primary key).
• Il n'existe pas d'autre terme pour désigner les identifiants secondaires
• Clé étrangère = foreign key.
280
Schéma et contenu
281
Schéma et contenu
1. le nom de la table,
2. pour chaque colonne, son nom, son type, son caractère obligatoire,
Le contenu d'une table est formé d'un ensemble de lignes conformes au schéma.
•Le contenu d'une table est sujet à de fréquentes modifications. Le schéma d'une
table peut évoluer mais moins fréquemment
282
Exemple de base de données
283
Exemple de base de données
284
Exemple de base de données
Variantes de schéma
285
Modifications et contraintes d'intégrité
INTÉGRITÉ DE DOMAINE
INTÉGRITÉ DE CLÉ
INTÉGRITÉ RÉFÉRENCIELLE
286
INTÉGRITÉ DE DOMAINE
• Valeur NULL
valeur conventionnelle pour représenter une information inconnue
• dans toute extension possible d'une relation, il ne peut exister 2 n-uplets ayant
même valeur pour les attributs clés sinon 2 clés identiques détermineraient 2
lignes identiques (d'après la définition d’une clé), ce qui est absurde
INTÉGRITÉ RÉFÉRENTIELLE
• Relations dépendantes
• LES DÉPENDANCES :
Liaisons de un à plusieurs exprimées par des attributs
particuliers: clés étrangères ou clés secondaires
Les contraintes de référence ont un impact important pour les
opérations de mises à jour, elles permettent d’éviter les anomalies de
mises à jour
Exemple :
CLIENT (no_client, nom, adresse)
ACHAT (no_produit, no_client, date, qte)
Clé étrangère no_client dans ACHAT
• insertion tuple no_client = X dans ACHAT
vérification si X existe dans CLIENT
• suppression tuple no_client = X dans CLIENT
soit interdire si X existe dans ACHAT
soit supprimer en cascade tuple X dans ACHAT
soit modifier en cascade X = NULL dans ACHAT
• modification tuple no_client = X en X’ dans CLIENT
soit interdire si X existe dans ACHAT
soit modifier en cascade X en X’ dans ACHAT
Redondances internes
291
Redondances internes
Observation
Les données TITRE et AUTEUR sont répétées autant de fois qu'il existe de
livres identiques.
Cette table viole le principe premier des bases de données : tout fait du
domaine d'application est enregistré une et une seule fois.
292
Redondances internes
Problèmes
gaspillage d'espace
si on modifie la valeur d'un titre, il faut répercuter cette modification
dans toutes les lignes similaires
si on supprime l'unique exemplaire d'un livre, on perd les informations
sur son auteur et son titre
293
Redondances internes
Suggestion
Rassembler les données communes (ISBN, TITRE, AUTEUR) dans une table
spécifique
294
Redondances internes
Deux questions
1. Comment détecter les situations de redondance ?
2. Comment les corriger ?
295
LES DÉPENDANCES FONCTIONNELLES
Dépendance fonctionnelle
•Soit R(A1, A2, ...., An) un schéma de relation
Soit X et Y des sous ensembles de {A1,A2,...An)
On dit que Y dépend fonctionnellement de X (X->Y) si à
chaque valeur de X correspond une valeur unique de Y
•on écrit : X → Y
•on dit que : X détermine Y
•Ex.:
no_client → nom_client
Un nom du client ne peut pas avoir deux numéros.
no_CIN → nom_client
On ne peux pas avoir deux citoyens qui ont le même no-CIN
La réciproque est fausse
LES DÉPENDANCES FONCTIONNELLES
• La D.F. peut porter sur la concaténation de plusieurs propriétés.
• Num_Commande + nom_Client df→ quantité_commande
• D.F. élémentaire
On dit qu’il ya une D.F. élementaire entre A et B, si A → B et si aucune partie de A ne
détermine B (l’ensemble OK)
• Exemple:
Numero Client + Nom Client df→ Adresse (ne vérifie pas la condition)
Numero Client → Adresse (OK)
• D.F.E directe
• Si cette dépendance est une dépendance élémentaire A →B et s’il n’existe pas de propriété
C tel que
A → C et C → B ( on élimine la transitivité).
On dit que :
il existe une dépendance fonctionnelle de ISBN vers TITRE et AUTEUR
ISBN détermine ou est un déterminant de TITRE et AUTEUR
TITRE et AUTEUR dépendent de ou sont déterminés par ISBN
298
Redondances internes
Deux observations
1. par définition, un identifiant détermine toutes les colonnes de la table
2. si un groupe de colonnes détermine chaque colonne de la table, il
constitue par définition un identifiant de la table
299
Redondances internes
Réponse
Il y a redondance interne dès qu'il existe un déterminant qui n'est
pas un identifiant de la table
300
Redondances internes
Comment corriger les situations de redondance
Réponse
En décomposant la table T en deux fragments T1 et T2 :
T1(déterminant, déterminé)
T2.déterminant est une clé étrangère vers T1
301
Redondances
303
LES FORMES NORMALES
La théorie de la normalisation
Objectif:
• Notion intuitive de FN
une « bonne relation » peut être considérée comme une fonction de la clé
primaire vers les attributs restants
1ère Forme Normale 1FN
•Une relation est en 1FN si tout attribut est atomique (non décomposable)
•Contiennent des valeurs non répétitives (pas de liste, tableau ……)
Contre-exemple
ELEVE (no_elv, nom, prenom, liste_notes)
Un attribut ne peut pas être un ensemble de valeurs
Décomposition
ELEVE (no_elv, nom, prenom)
NOTE (no_elv, no_matiere, note)
•Constant dans le temps (age, Date de naissance)
2ème Forme Normale 2FN
Contre-exemple
Décomposition
Ceci correspond à la non transitivité des D.F. ce qui évite les redondances.
En 3FN une relation préserve les D.F. et est sans perte.
Contre-exemple
une relation en 2FN qui n'est pas en 3FN
VOITURE (matricule, marque, modèle, puissance)
on vérifie qu'elle est en 2FN ; elle n'est pas en 3FN car la clé =matricule, et la
puissance dépend de (marque, modèle)
Décomposition
VOITURE (matricule, marque, modèle)
MODELE (marque, modèle, puissance)
L’algèbre relationnelle
I. Les opérations
OPÉRATIONS
- opérandes : 1 ou 2 relations
-résultat : une relation
OPÉRATIONS SPÉCIFIQUES
PROJECTION
RESTRICTION
JOINTURE
DIVISION
UNION
L'union de deux relations R1 et R2 de même schéma
est une relation R3 de schéma identique qui a pour n-
uplets les n-uplets de R1 et/ou R2
On notera :
R3 = R1 ∪ R2 ou UNION (R1,R2)
INTERSECTION
L’intersection entre deux relations R1 et R2 de même schéma
est une relation R3 de schéma identique ayant pour n-uplets
les n-uplets communs à R1 et R2
On notera :
R3 = R1 ∩ R2 ou Intersect(R1,R2)
DIFFÉRENCE
La différence entre deux relations R1 et R2 de même
schéma est une relation R3 de schéma identique ayant pour
n-uplets les n-uplets de R1 n'appartenant pas à R2
On notera :
R3 = R1 − R2 ou MINUS(R1,R2)
PROJECTION
La projection d'une relation R1 est la relation R2 obtenue en
supprimant les attributs de R1 non mentionnés puis en éliminant
éventuellement les nuplets identiques
On notera :
R2 = πR1 (Ai, Aj, ... , Am)
la projection d'une relation R1 sur les attributs Ai, Aj, … , Am
La projection permet d’éliminer des attributs d’une relation
• Elle correspond à un découpage vertical :
Requête 1 :
« Quels sont les références et les prix des produits ? »
PRODUIT (IdPro, Nom, Marque, Prix)
Requête 2 :
« Quelles sont les marques des produits ? »
PRODUIT (IdPro, Nom, Marque, Prix)
<attribut1> :: <attribut2>
où : attribut1 ∈ 1ère relation et attribut2 ∈ 2ème relation
:: est un opérateur de comparaison (égalité ou inégalité)
La jointure permet de composer 2 relations à l'aide
d'un critère de liaison
Jointure naturelle
Jointure où l'opérateur de comparaison est l'égalité dans le résultat on
fusionne les 2 colonnes dont les valeurs sont égales
La jointure permet d'enrichir une relation
Requête 5 :
« Donnez pour chaque vente la référence du produit, sa désignation, son
prix, le numéro de client, la date et la quantité vendue »
-un n-uplet (a1, a2, … , an) appartient à R3 si (a1, a2, … , an, b1, b2, … , bm) appartient
à R1 pour tous (b1, b2, … , bm) ∈ R2.
On notera : R3 = R1 ÷ R2
la division de R1 par R2
la division permet de rechercher dans une relation les sous n-uplets qui sont complétés
par tous ceux d'une autre relation Elle permet de répondre à des questions qui sont
formulées avec le quantificateur universel : « pour tout ... »
Requête 6 :
« Quels sont les élèves qui sont inscrits à tous les sports ? »
Requêtes sur le schéma CLIENT, PRODUIT, VENTE
Requête 1 :
Donner les no des produits de marque Apple et de prix < 5000 Dhs
Requête 2 :
Donner les no des clients ayant acheté un produit de marque Apple
Requête 3 :
Donner les no des clients n'ayant acheté que des produits de marque Apple
Requête 4
Donner les no des clients ayant acheté tous les produits de marque Apple
Le langage algébrique
Le langage algébrique permet de formuler une question
par une suite d'opérations de l'algèbre relationnelle
Requête 8 :
« Donner les no des produits de marque Apple et de prix
< 5000 Dhs »
R1 = σPRODUIT (marque = Apple')
R2 = σPRODUIT (prix < 5000)
R3 = R1∩R2
RESUL = πR3 (IdPro)
Requête 9 :
« Donner les no des clients ayant acheté un produit de
marque Apple »
R1 = VENTE×PRODUIT (VENTE.IdPro =
PRODUIT.IdPro)
R2 = σR1 (marque = 'Apple')
R3 = πR2 (IdCli)
R4 = σR1 (marque ≠ 'Apple')
R5 = πR4 (IdCli)
RESUL = R3 − R5
Requête 11 :
« Donner les no des clients ayant acheté tous les
produits de marque Apple »
332
Les structures physiques - Les index
333
Les structures physiques - Les index
334
Les structures physiques - Les index
Index
335
Les structures physiques - Les index
336
Quel est l’intérêt d’un index dans une base
de données?
les données
enregistrements de la table
3. L’impact des index sur les requêtes d’écriture est moins important
337
Qu’est ce qu’index de base de données?
4. Il n’y a pas d’index crée automatiquement par le SGBD derrière une clé
étrangère(FOREIGN KEY)
338
Comment créer un index?
339
Quels sont les types d’index?
1. B-Tree(arbre équilibré)
2. Hash (index de hachage)
340
Les structures physiques
Espace de stockage
La table est une collection de lignes dont les éléments doivent être stockés sur un
disque. Les lignes seront rangées dans un espace spécial qui leur est réservé : un
espace de stockage. L'espace correspond à un fichier occupant tout ou partie d'un
disque (voire de plusieurs disques).
Un espace de stockage est caractérisé notamment par son adresse, son volume
initial, la manière dont il grandit ou se réduit selon les besoins, les tables dont il
accueille les lignes, la technique de rangement des lignes.
341
Les structures physiques
342
Le langage SQL
Définition
données :
— D’une part, en tant que langage de définition de données, SQL permet d’implémenter
physiquement un modèle relationnel au sein d’un système de gestion de bases de données en offrant
— D’autre part, en tant que langage de manipulation de données, SQL offre une multitude
L’instruction CREATE TABLE permet de créer une table et de définir le nom, le type de données et les
éventuelles contraintes d’intégrité de chaque colonne.
Types de données
L’ensemble des types de données utilisés dans les différents SGBDs du marché varie légèrement
d’un SGBD à un autre.
type numériques
Types de données
type String
Contraintes d’intégrité
• Une contrainte d’intégrité est un mécanisme qui s’assure que les valeurs d’une colonne donnée
soient toujours cohérentes.
• quatre contraintes d’intégrités seront prises en considération :
1. PRIMARY KEY : Déclare la colonne comme étant la clé primaire de la table. Cette contrainte
peut être utilisée dans sa version multi-colonne pour définir une clé primaire composée de
plusieurs attributs.
2. NOT NULL : S’assure que la colonne ne contienne pas de valeurs NULL.
3. CHECK(C) : S’assure que toutes les valeurs de la colonne satisfont la condition C.
4. REFERENCES Tab(Col) : Déclare la colonne comme clé étrangère qui référence la colonne Col
de la table Tab.
Exemple de création de tables
• Les instruction respectives de création des tables country, city et countryLanguage de la base de données World
sont données dans ce qui suit :
• L’instruction SQL qui permet de supprimer une table s’appelle DROP TABLE. Sa syntaxe est la
suivante :
• DROP TABLE [ Nom_de_la_table ];
Exemple de suppression d’une table
Les instructions suivantes permettent de supprimer les tables country, city et countryLanguage:
• Insertion de données
L’instruction SQL qui permet d’insérer des données dans une table s’appelle INSERT INTO. Sa syntaxe est la
suivante :
Où v1,v2, ... sont les valeurs du tuple à ajouter dans la table. Ces valeurs doivent être données dans l’ordre dans
lequel les colonnes ont été déclarées lors de l’utilisation de l’instruction CREATE TABLE
Exemples d’insertion de données
Afin d’illustrer l’utilisation de l’instruction INSERT INTO, ce qui suit est un exemple d’ajout de la ville de Tanger
dans la table city :
Ce qui suit est un autre exemple d’ajout dans la table countryLanguage des langues parlées au Maroc:
L’instruction SQL qui permet de supprimer des données dans une table s’appelle DELETE FROM.
WHERE [ Condition ];
Cette instruction supprime tous les tuples d’une table qui vérifient la condition qui suit le mot-clé WHERE.
Exemple de suppression de données
Afin d’illustrer l’utilisation de l’instruction DELETE FROM, ce qui suit est un exemple de
L’instruction SQL qui permet de mettre à jour les données d’une table s’appelle UPDATE. Sa
syntaxe est la suivante :
UPDATE [ Nom_de_la_table ]
WHERE [ Condition ];
L’instruction UPDATE effectue la modification qui suit le mot clé SET sur tous les tuples de la
table qui vérifient la condition qui suit le mot clé WHERE.
Exemple de mise à jour de données
Afin d’illustrer l’utilisation de l’instruction UPDATE, ce qui suit est un exemple qui fait la mise à
La recherche de données en SQL se fait de manière similaire à celle de l’algèbre relationnel dans la
mesure où elle s’appuie entre autres sur les opérations de projection, de restriction et de jointure.
L’instruction SQL qui permet d’effectuer une recherche de données s’appelle SELECT. Sa syntaxe
est la suivante :
SELECT [ Colonne ] , [ Colonne ], ...
FROM [ Table ], [ Table ], ...
WHERE [ Condition ];
— la projection sur les colonnes qui suivent le mot-clé SELECT (Le symbole * peut être utilisée pour
projeter sur toutes les colonnes).
— du produit cartésien des tables qui suivent le mot-clé FROM
— et restreint le résultat aux tuples qui satisfont la condition qui suit le mot-clé WHERE. Les opérateurs
logique AND et OR peuvent être utilisés pour construire la condition
Exemples de requêtes d’interrogations d’une seule table
Afin d’illustrer l’utilisation de l’instruction SELECT, nous allons traduire des requêtes exprimées en
langage naturel vers des requêtes exprimées en SQL :
Donner le nom de chaque pays et le nom de son chef d’état.
SELECT Name , HeadOfState
FROM country ;
Donner le nom de chaque pays et le code de sa capitale.
SELECT Name , Capital
FROM country ;
Donner le nom des pays dont la superficie dépasse 1000000m 2.
SELECT Name
FROM country
WHERE SurfaceArea > 1000000;
Exemples de requêtes d’interrogations d’une seule table
Exemples de requêtes d’interrogations sur plusieurs tables
Donner le nom de toutes les villes d’Algérie. Cette requête nécessite de faire une jointure entre les
tables city et country. Elle peut être exprimée de la manière suivante :
Remarque1
La jointure est exprimée comme une condition du WHERE. C’est-à-dire qu’il n’est pas nécessaire
de faire appel à une autre instruction SQL pour faire la jointure. En outre, les éventuelles restrictions
peuvent être exprimées avant (ou après) la jointure en utilisant l’opérateur AND. Cette manière
d’exprimer la jointure comme une restriction découle du fait qu’en algèbre relationnelle, une
jointure peut être vue comme un produit cartésien suivi d’une restriction
Les remarques concernant la recherche de données à
travers plusieurs tables
Remarque2
Il est éventuellement nécessaire de désambiguïser le nom des colonnes. En effet, dans l’exemple
précédent, la colonne Name existe dans deux tables différentes : city et country. Pour faire la
différence entre ces deux colonnes, il est nécessaire de précéder le nom de la colonne par le nom de
la table suivi d’un point. Par exemple city.Name pour la colonne Name de la table city et
À l’instar de l’algèbre relationnelle, le langage SQL offre les trois principales opérations ensemblistes vues dans le
chapitre qui porte sur l’algèbre relationnelle, à savoir :
Ces trois opérations peuvent être utilisées entre deux instructions SELECT. Et comme en algèbre relationnelle, les
deux instructions SELECT doivent avoir les mêmes colonnes, c’est-à-dire, la même projection.
Opérations ensemblistes
opérations ensemblistes
Donner le nom des pays d’Afrique et d’Asie. Nous pouvons diviser cette requête en deux requêtes
: la première retourne les pays d’Afrique et la seconde retourne les pays d’Asie. Puis, nous devons
faire l’union des résultats des deux requêtes :
SELECT Name
FROM country
WHERE Continent = ’Africa ’
UNION
SELECT Name
FROM country
WHERE Continent = ’Asia ’;
Exemples :
• Quelles sont les villes du royaume uni (United Kingdom) qui ont des homonymes aux
Canada?
Exemples :
• Quelles sont les langues parlées à la fois en Suisse (Switzerland) et en Belgique (Belgium)?
Exemple
• Quelles sont les langues parlées uniquement en Afrique du sud (South Africa)?
Exemple
WHERE [ Condition ]
LIMIT [ Nombre_maximum_de_tuples ];
Contrairement à l’algèbre relationnelle, SQL offre la possibilité de trier les résultats retournés par
instruction SELECT. Le tri se fait selon l’ordre croissant ou décroissant des valeurs d’une colonne.
L’instruction qui permet de trier les résultats s’appelle ORDER BY. Sa syntaxe est la suivante :
WHERE [ Condition ]
L’instruction ORDER BY trie le résultat de l’instruction SELECT selon l’ordre croissant (ASC) ou décroissant
(DESC) des valeurs de la colonne qui suit le mot-clé ORDER BY.
Exemples
Exemple
Fonctions
• Le langage SQL offre plusieurs fonctions pour effectuer des traitements sur les données. Le
tableau suivant donne la signification de chacune de ces fonctions.
Fonctions
L’appel d’une de ces fonction doit se faire directement après le mot-clé SELECT et ne peut être
utilisé que sur une et une seule colonne de projection. La syntaxe de l’utilisation des fonctions est la
suivante :
WHERE [ Condition ]
Exemples
Fin du Module
383