0% ont trouvé ce document utile (0 vote)
96 vues66 pages

Bases de données en géologie : SGBD et utilité

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
96 vues66 pages

Bases de données en géologie : SGBD et utilité

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

15/10/2020

Informatique Appliquée à la
Géologie : Base de données

Troisième bachelier géologie

Antoine Lumu 2020 1

Introduction
• Les activités humaines génèrent des données. Il
en a toujours été ainsi et, plus notre civilisation
se développe, plus le volume de ces données
croît.

• De nos jours, les données sont de plus en plus


souvent gérées par des moyens informatiques.

• Dans les entreprises, on manipule souvent des


données ayant la même structure.

Antoine Lumu 2020 2

1
15/10/2020

Introduction
L’utilisateur doit écrire un programme
souvent complexe pour une Quelles sont mes données ?
Comment les structurer?
meilleure gestion de données !!! ?
Comment y accéder ?
Comment créer un index ?
Comment les manipuler ?
?

Antoine Lumu 2020 3

Introduction
• Exemple1 : Liste des membres du personnel de
l'Université: pour chaque personne, on enregistre le
nom, le prénom, le sexe, la date de naissance,
l'adresse, la fonction dans l'entreprise, etc.

• Exemple2 : Liste des sondages de reconnaissance


d’un gisement : pour chaque sondage, on
enregistre le nom (code), l’azimut, la profondeur, la
localisation, l’inclinaison, la date de début, la date
de fin...

Antoine Lumu 2020 4

2
15/10/2020

Introduction
 d’où la nécessité d’avoir un système de stockage
des données.

 Différentes manières ont été développées pour le


stockage :

 A- avant l’ère informatique :


 Le tri manuellement : plus le volume des données
croît plus la gestion manuelle devient difficile vue la
masse et la complexité des données.

Antoine Lumu 2020 5

Introduction
B - L’ère informatique
 Utilisation des fichiers informatiques pour stocker les
informations ;

 Mais l’utilisation des fichiers impose :

• à l'utilisateur de connaître l’arborescence des


fichiers afin de pouvoir accéder aux données dont
il a besoin,

• d'écrire des programmes pour pouvoir


effectivement manipuler ces données.
Antoine Lumu 2020 6

3
15/10/2020

Introduction
• On a donc recherché des solutions
tenant compte à la fois des désirs des
utilisateurs et des progrès techniques.
Cette recherche a abouti au concept de
base de données.

• On utilise aussi le sigle BD, et le terme


anglais correspondant est DataBase !!!

Antoine Lumu 2020 7

Introduction
• Une base de données est donc un
ensemble structuré de données (1)
enregistrées sur des supports informatisés (2),
pouvant satisfaire simultanément plusieurs
utilisateurs (3) de façon sélective (4), en un
temps raisonnable (5).
 (1) : Organisation et description de données (2) :
Stockage sur disque (3) : Partage des données (4) :
Confidentialité (5) : Performance
Antoine Lumu 2020 8

4
15/10/2020

Introduction
• Dans un sens plus strict, une base de données
est un ensemble de données, possédant les
caractéristiques suivantes :

 Elles sont fortement structurées.

 Elles sont persistantes.

 Leur structure est définie dans un schéma.

 Elles sont gérées par un logiciel appelé système


de gestion de bases de données qui en gère
aussi le schéma.
Antoine Lumu 2020 9

Introduction
Un schéma est simplement la
description des données contenues
dans la base.

Cette description est conforme à un


modèle de données qui propose des
outils de description (structures,
contraintes et opérations).
Antoine Lumu 2020 10

5
15/10/2020

Introduction
 Bref : Une base de données BD, (database DB)
est un ensemble de données, stocké avec les
caractères suivants :
Exhaustif : la base contient toutes les informations
requises pour le service que l'on en attend ;

Non redondant : la même information n'est


présente qu'une seule fois (pas de doublons);

Structuré : les données ont des structures bien


définies.
Antoine Lumu 2020 11

Introduction
Utilité d’une base de donnée :

 Elle permet de mettre des données à


la disposition des utilisateurs pour :
• une consultation,
• une saisie
• une mise à jour,
tout en s'assurant des droits accordés
aux utilisateurs.
Antoine Lumu 2020 12

6
15/10/2020

Introduction
 Une base de données peut être :

 Locale, c'est-à-dire utilisable sur une


machine par un utilisateur ;

 Répartie, c'est-à-dire que les


informations sont stockées sur des
machines distantes et accessibles par
réseau et par plusieurs personnes.
Antoine Lumu 2020 13

Introduction
 L'avantage majeur de l'utilisation de bases de données
est la possibilité de pouvoir être accédées par plusieurs
utilisateurs simultanément.

 Il existe des bases de données de toutes tailles, depuis


les plus modestes :

 une liste des numéros de téléphone utilisée par une


seule personne,

• jusqu'aux plus grandes :

 la base des données commerciales d'une société à


activités multiples, avec des Géga octets de données.
Antoine Lumu 2020 14

7
15/10/2020

Introduction
• Une base de données relationnelle est une base de
données divisée en unités logiques appelées tables, en
relation les unes avec les autres au sein de la base ;

 On rajoute parfois deux conditions supplémentaires à la


définition précédente :

 Exhaustivité : la base contient toutes les informations


requises pour le service que l'on en attend ;

 Unicité : la même information n'est présente qu'une


seule fois (pas de doublons).

Antoine Lumu 2020 15

Introduction
Bases de données relationnelles

 Intérêt :

 Un stockage facile, peu volumineux des données ;

 Recherche facile et rapide d’un objet ;

 Duplication et exportation aisée des données ;

 Liens possibles entre différents types d’information ;

 Contraintes :

 Organisation stricte des données nécessaires ;

 Les erreurs ne peuvent être admises.

Antoine Lumu 2020 16

8
15/10/2020

Introduction
Remarques :

 Ces données doivent pouvoir être utilisées par des


utilisateurs différents. Ainsi, la notion de base de
données est généralement couplée à celle de
réseau.

 On parle généralement de Système d'Information


pour désigner toute la structure regroupant les
moyens mis en place pour pouvoir partager des
données.

Antoine Lumu 2020 17

Introduction
La conception d’une base de
données n’est pas un domaine
Preuve…
réservé aux informaticiens !
Les logiciels de type SGBD sont intégrés
aux suites bureautiques les plus connues.
Ex: ACCESS du pack Office.

Cependant …
La maîtrise d’un SGBD est loin d ’être aussi
facile à acquérir que celle d ’un logiciel de
traitement de texte par ex.
Antoine Lumu 2020 18

9
15/10/2020

Système de gestion de base de


données : SGBD
• Un système de Gestion de Base de données
(SGBD) :

 Ensemble des programmes et des langages de


commande qui permettent de :

 Définir des "bases de données", et des relations


entre les éléments de chaque base ;

 Spécifier le traitement de ces données :


interrogations, mises à jour, calculs, extractions...

Antoine Lumu 2020 19

Système de gestion de base de


données : SGBD
• Un système de Gestion de Base de données
(SGBD) : Logiciel qui permet d’interagir avec une
Base de Données

Antoine Lumu 2020 20

10
15/10/2020

Système de gestion de base de


données : SGBD
• Un système de Gestion de Base de données (SGBD) :

 Pour pallier aux inconvénients des méthodes classiques


de gestion de fichiers, les SGBD visent quatre objectifs :
Ces objectifs exigent une distinction
 Intégration et corrélation ;
nette entre les données et les
 Flexibilité (indépendance) ; procédures de manipulation de ces
 Disponibilité ; données : aux données, on
associera une fonction
 Sécurité.
d'administration des données, aux
procédures de manipulation une
fonction de programmation.
Antoine Lumu 2020 21

Système de gestion de base de


données : SGBD
 Intégration et corrélation :

• Dans les systèmes classiques, chaque application gère ses données


dans ses propres fichiers, d’où :

 Un risque de redondance, et un danger d'incohérence des données ;

 La même donnée peut appartenir à plusieurs applications, induisant


une déperdition de stockage ;

 Toute modification de cette donnée est à enregistrer plusieurs fois : si


cette mise à jour multiple n'est pas effectuée correctement, les
données deviennent incohérentes ;

 Le coût de la mise à jour augmente du fait de la multiplication des


entrées-sorties physiques.

Antoine Lumu 2020 22

11
15/10/2020

Système de gestion de base de


données : SGBD
 Intégration et corrélation :

 Une difficulté pour créer de nouveaux


traitements :

 Les nouvelles applications entraînent des


duplications supplémentaires de données.

 Leur intégration avec les applicatifs en


exploitation entraîne des modifications
importantes.
Antoine Lumu 2020 23

Système de gestion de base de


données : SGBD
 Intégration et corrélation :

• Dans l'approche SGBD, un "réservoir" commun (intégration)


est constitué, représentant une modélisation (corrélation)
aussi fidèle que possible de l'organisation réelle de
l'entreprise :

 Toutes les applications puisent dans ce réservoir, les


données qui les concernent, évitant ainsi les duplications ;

 Mais le partage des données entre les utilisateurs pose le


problème de la synchronisation des accès concurrents.

Antoine Lumu 2020 24

12
15/10/2020

Système de gestion de base de


données : SGBD
 Flexibilité ou indépendance

 Dans les systèmes classiques, tout changement intervenant


dans le stockage des données (support, méthode d'accès
physique) entraîne des modifications lourdes des
applications correspondantes.

 L'approche SGBD poursuit trois objectifs, pour assurer


l’indépendance des données par rapport aux traitements :

 Indépendance physique: tout changement de support, de


méthode d'accès reste transparent au niveau de
l'utilisateur ;
Antoine Lumu 2020 25

Système de gestion de base de


données : SGBD
 Flexibilité ou indépendance

 Indépendance logique : les programmes d'application sont


rendus transparents à une modification dans l'organisation
logique globale, par la définition de sous-schémas couvrant
les besoins spécifiques en données ;

 Indépendance vis-à-vis des stratégies d'accès : l'utilisateur n'a


plus à prendre en charge l'écriture des procédures d'accès
aux données. Il n'a donc pas à intégrer les modifications
tendant à optimiser les chemins d'accès (ex: création
d'index).

Antoine Lumu 2020 26

13
15/10/2020

Système de gestion de base de


données : SGBD
 Sécurité

 La sécurité des données recouvre deux aspects :

 Intégrité, ou protection contre l'accès invalide (erreurs


ou pannes), et contre l'incohérence des données vis-à-
vis des contraintes de l'entreprise.

 Confidentialité, ou protection contre l'accès non


autorisé ou la modification illégale des données.

 Pour ne pas trop affecter les performances, la sécurité


doit également être prise en compte dès la phase de
conception. Antoine Lumu 2020 27

Système de gestion de base de


données : SGBD
 Disponibilité :

 Le choix d'une approche SGBD ne doit pas se traduire par des


temps de traitement plus longs que ceux des systèmes antérieurs ;

 L’utilisateur doit ignorer l'existence d'utilisateurs concurrents ;

 L'aspect performance est donc crucial dans la mise en œuvre


d'une base de données. Un tel objectif ne peut être atteint que si
la conception d'une base de données est menée de façon
rigoureuse avec un découpage fonctionnel adéquat. Les règles
et contraintes inhérentes sont évoquées lors de l'apprentissage
d'une méthodologie d'analyse (exemple MERISE).

Antoine Lumu 2020 28

14
15/10/2020

Système de gestion de base de


données : SGBD
 Que doit-on savoir pour utiliser un SGBD ?

• L ’utilisation d’un SGBD suppose de comprendre (et donc de savoir


utiliser) les fonctionnalités suivantes :

• Définition du schéma de données en utilisant les modèles de


données du SGBD;

• Opérations sur les données : recherche, mises-à-jour, etc. ;

• Partager les données entre plusieurs utilisateurs (Mécanisme de


transaction) ;

• Optimiser les performances, par le réglage de l’organisation


physique des données. Cet aspect relève plutôt de l’administration
et ne sera évoqué dans ce cours.

Antoine Lumu 2020 29

Système de gestion de base de


données : SGBD
 Quelques SGBD (relationnels du marché) :

 Micro : ACCESS, Paradox, Dbase, PostSQL,


MySQL, …

 Gros système : DB2, ORACLE, SYBASE, …

 Dans le cadre de cours, nous allons étudié le


SGBD Access.

Antoine Lumu 2020 30

15
15/10/2020

Construction de base de
données
Définir précisément les
besoins (i.e. pourquoi
créer une base de
données?)

Antoine Lumu 2020 31

Construction de base de
données : Méthode Merise
 La méthode Merise (créée en France dans les années 1970) : utilise le
système dit d'entités- relations. Il s'agit d'un outil et d'une technique
d'analyse permettant de construire des schémas théoriques de
raisonnement sur des applications tournant avec des bases de
données dite relationnelles (comme celles d'Access).

 Dans ce cours nous ne présenterons qu'une partie de la méthode


Merise: la méthode Merise générale traite de l'intégralité de la
conception de la base de données (elle ne s'intéresse pas
uniquement de la partie correspondant au stockage des données,
mais également à leur traitement).

Antoine Lumu 2020 32

16
15/10/2020

Construction de base de
données : Méthode Merise
 4 phases :
• Analyse : étude de l'existant et enquête;
• Conceptuelle : création du MCD;
• Logique : création du MLD;
• Physique : conception de la base de
données dans Access.

Antoine Lumu 2020 33

Construction de base de
données : Méthode Merise
 La phase d'analyse qui est la phase essentielle qui
consiste à étudier l'existant :

• Y – a – t – il un système qui gère déjà tout ou partie


de l'information, qu'il s'agisse d'un logiciel ou d'un
ensemble de documents papiers ?

• Comment ces informations sont elles stockées ?

• Quelles sont les informations stockées ?

• Que manque – t – il ?
Antoine Lumu 2020 34

17
15/10/2020

Construction de base de
données : Méthode Merise
 La phase d'analyse qui est la phase essentielle qui
consiste à étudier l'existant :

• Qu'est ce qui convient ou ne convient pas aux utilisateurs


: interroger les futurs utilisateurs : Qu'attendent-ils du futur
SGBD ? Quelles sont les opérations qu'ils désirent
automatiser ?

• Recueillir les informations existantes, étudier les divers liens


qui peuvent exister entre ces informations, mettre en
évidence les règles de gestion employées ;
Antoine Lumu 2020 35

Construction de base de
données : Méthode Merise
 La phase conceptuelle qui consiste à représenter l'organisation des
données de manière générale. Elle aboutit sur la création du modèle
conceptuel des données (MCD) dans lequel les données sont
représentées sous forme d'entités liées entre elles par des relations.

• Une Entité est un élément du problème et elle est définie par un


ensemble de propriétés: chacune des propriétés est l'un des
éléments qui caractérise l'entité.

• Il faut distinguer une entité et une occurrence d'entité (ou instance).

• Une entité correspond au type général d'une donnée (ex : le type


« roche ») alors qu'une occurrence d'une entité est un représentant
particulier de cette entité (la roche magmatique).
Antoine Lumu 2020 36

18
15/10/2020

Construction de base de données :


Méthode Merise
• Après avoir fait une analyse aussi complète que possible du
problème à informatiser, la construction du MCD se fait en quatre
étapes :

 Repérage des entités;

 Construction des entités, choix des propriétés : On commence par


donner un nom à chacune des entités et il faut ensuite rechercher
les propriétés de ces entités;

 Construction des relations;

 Choix des cardinalités : une fois les relations établies, il convient


ensuite de caractériser le nombre de fois ou chacune de ces
relations peut apparaitre réellement. Ceci se fait à l'aide des
cardinalités ;
Antoine Lumu 2020 37

Construction de base de données :


Méthode Merise
• Après avoir fait une analyse aussi complète que
possible du problème à informatiser, la construction
du MCD se fait en quatre étapes :

 Repérage des entités : Exemple :

 Une société qui vend des produits de forage


(couronne, fluide de forage, tiges, trépan,…) veut
informatiser la gestion des commandes de ses
clients. Chaque commande d’un client peut
comporter plusieurs produits différents.
Antoine Lumu 2020 38

19
15/10/2020

Construction de base de
données : Méthode Merise
 Repérage des entités : Exemple :

• Dans cet exercice, nous pouvons définir les entités


suivantes :

• Produits: un produit commercialisé par la société ;

• Clients: une personne qui achète des produits à la


société ;

• Commandes: une liste de produits commandés par


un client à la société.

Antoine Lumu 2020 39

Construction de base de
données : Méthode Merise
• Construction des entités

 Après le repérage des entités, l’on doit donner un nom à


chacune des entités et ensuite rechercher les propriétés
(ou attributs) de ces entités.

 Une propriété est une donnée élémentaire que l’on


perçoit sur une entité. Chacune des propriétés d’une
entité prend une valeur parmi une variété de valeurs
possibles (le domaine de l’attribut).

 Une propriété peut être obligatoire ou facultative. On


devra garder à l’esprit les points suivants :
Antoine Lumu 2020 40

20
15/10/2020

Construction de base de
données : Méthode Merise
• Construction des entités

 Toute propriété est élémentaire. Elle n’est pas la composition


d’éventuelles propriétés plus petites : plutôt qu’une propriété
unique « adresse », il est préférable d’avoir des propriétés rue,
code postal, ville, pays....

 Une propriété ne doit pas être "instable" ou "calculable" : si une


propriété peut être obtenue par calcul à partir d’autres
éléments qui vont apparaître dans la base de donnée
(notamment d’autres propriétés), on ne doit pas la considérer : il
est inutile d’avoir une propriété montant de la commande si
celui-ci peut être calculé à partir d’autres propriétés.
Antoine Lumu 2020 41

Construction de base de données :


Méthode Merise
• Construction des entités

 Toute entité doit posséder une propriété particulière appelée


sa clé (ou identifiant). Une clé doit caractériser de manière
unique chaque occurrence de l’entité. L’identifiant d’une
entité est une propriété de l’entité telle qu’à chaque valeur
de la propriété corresponde une et une seule occurrence de
l’entité.

 Par exemple, le nom de famille d’une personne ne peut pas


être considéré comme une clé d’une entité "personne"
puisque deux personnes peuvent avoir le même nom de
famille.
Antoine Lumu 2020 42

21
15/10/2020

Construction de base de données :


Méthode Merise
• Construction des entités

 Le numéro de sécurité sociale est par contre tout à fait


acceptable. Il vaut mieux éviter les identifiants trop longs (on
préférera un code de quelques chiffres à un intitulé d’une
vingtaine de lettres par exemples).

 Une « bonne » clé ne doit pas comprendre un sous-ensemble


qui pourrait lui-même être une clé (notion de minimalité).

 si aucune des propriétés "naturelles" ne peut servir de clé, on


en rajoute une artificiellement (par exemple "CodeProduit" ou
"IdClient").
Antoine Lumu 2020 43

Construction de base de données :


Méthode Merise
• Construction des entités

 Une entité se représente ensuite graphiquement sous la forme


d’une boîte dans laquelle on indique en titre le nom de
l’entité suivi de toutes ses propriétés. On indique d’une
manière particulière l’identifiant.

 Chaque propriété ne doit dépendre que d’une seule entité.

ENTITE
Identifiant
Propriété 1
Propriété 2

Antoine Lumu 2020 44

22
15/10/2020

Construction de base de données :


Méthode Merise
• Construction des entités

 Dans l’exemple de la gestion des commandes de la


société, on peut construire les entités suivantes (les
propriétés sont indiquées après le nom de l’entité,
l’identifiant est en gras) :

 Clients : IdClient, nom, prénom, rue, code postal, ville,


pays, tél, email....

 Produits : CodeProduit, libellé, prixHT, quantité en stock...

 Commandes : NumCommande, date, mode de


paiement.... Antoine Lumu 2020 45

Construction de base de données :


Méthode Merise
• Construction des entités

 Il est également possible de transformer la propriété « ville »


de l’entité Clients, en une entité Villes dont l’identifiant
serait le code postal. On aurait dans ce cas quatre entités :

 Clients : IdClient, nom, prénom, rue, code postal, pays, tél,


email....

 Produits : CodeProduit, libellé, prixHT, quantité en stock...

 Commandes : NumCommande, date, mode de paiement

 Villes : CodePostal, Nom_ville

Antoine Lumu 2020 46

23
15/10/2020

Construction de base de données :


Méthode Merise
• Construction des relations

• Dans la description de la situation à informatiser les


relations correspondent souvent aux verbes.

• Une relation se représente de la manière suivante :

Entité A Entité B

Identifiant A Identifiant B

Propriété 1 Propriété 1
Relation
Propriété 2 Propriété 2

Antoine Lumu 2020 47

Construction de base de données :


Méthode Merise
• Construction des relations

 On notera les points suivants :

 Une relation est en général entre deux entités. Il est possible d’avoir
des relations entre plus que deux entités.

 Par exemple, une relation Vente entre Acheteur, Vendeur et Lieu


pour une base de données de transactions immobilières. Il est
néanmoins souvent possible (et préférable!!!) de se restreindre à des
relations entre deux entités.

 Dans le cas ici, la relation Vente pourrait être remplacée par une
entité Acte de vente qui est en relation avec l’acheteur, le vendeur
et le lieu. Il est tout à fait possible d’avoir plusieurs relations entre
deux entités.
Antoine Lumu 2020 48

24
15/10/2020

Construction de base de données :


Méthode Merise
• Construction des relations

• Il est également possible d’avoir une relation dite réflexif, c’est-à-dire


entre une entité et elle-même. Par exemple, on peut avoir une
relation Responsable entre une table employée et elle-même.

• Dans ce cas, il convient tout de même de remarquer que chacune


des "pattes" de la relation a une signification différente. Ici, l’une des
"pattes" signifiera est responsable de et l’autre signifiera a comme
responsable. A comme responsable …
EMPLOYES
IdEmployé
Responsable
Nom
Prénom Est responsable de …

Antoine Lumu 2020 49

Construction de base de données :


Méthode Merise
• Construction des relations

 Une relation peut avoir des propriétés. Par exemple, si une relation
Comporte lie l’entité Commandes et l’entité Produit, elle possède
certainement la propriété "quantité" (une facture contient un produit
x en quantité y).

 D’ailleurs, si une propriété dépend de plus d’une entité (comme


c’est le cas ici avec la quantité qui dépend à la fois de la facture et
du produit), c’est certainement qu’elle dépend d’une relation, et
non pas d’une entité.

 Il faut éviter les relations que l’on peut déduire d’autres relations par
transitivité.

Antoine Lumu 2020 50

25
15/10/2020

Construction de base de données :


Méthode Merise
• Construction des relations

 Par exemple, dans une base de données gérant une


université, si on dispose d’entités étudiant, formation et cours.

 On a les relations fait partie entre formation et cours (un cours


fait partie d’une formation) et inscription entre étudiant et
formation.

 Il est inutile d’avoir en plus une relation inscription entre


étudiant et cours : tout étudiant inscrit à une formation est
systématiquement inscrit à tous les cours qui composent la
formation.

Antoine Lumu 2020 51

Construction de base de
données : Méthode Merise
• Construction des relations

 Dans l’exemple de la gestion des commandes de la société,


on a les relations suivantes. La relation « commande comporte
produits » a une propriété « quantité » qui correspond à la
quantité d’un produit qui a été commandé.

Antoine Lumu 2020 52

26
15/10/2020

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Une fois les relations établies, il convient ensuite de caractériser le nombre de


fois où chacune de ces relations peut apparaître réellement. Ceci se fait à
l’aide des cardinalités. Dans une relation classique (i.e. entre deux entités),
quatre cardinalités sont à déterminer.

 les liens fonctionnels notés n : 1

• On a un lien fonctionnel n:1 de A vers B si toute occurrence de A détermine


au plus une occurrence de B, et si à toute occurrence de B, correspond un
nombre quelconque d’occurrences de A.

• Exemple : Dans une compagnie aérienne, connaissant le numéro d'un vol, on


en déduit d'une manière unique la destination, mais plusieurs vols peuvent
avoir la même destination.

Antoine Lumu 2020 53

Construction de base de
données : Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Les liens hiérarchiques notés 1 : n.

• On a un lien hiérarchique 1:n de A vers B si une occurrence de A


peut déterminer un nombre quelconque d’occurrences de B et si, à
une occurrence de B, correspond au plus une occurrence de A.

• Exemple : la polygamie est un lien 1 : n de "homme" vers "femme".


• les liens maillés notés n : m.
• On a un lien maillé de A vers B s'il n'existe aucune restriction sur le
nombre d'occurrences de A et B intervenant dans le lien.

Antoine Lumu 2020 54

27
15/10/2020

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Exemple : Dans une université donnée, un professeur peut dispenser des


cours dans plusieurs matières différentes; de la même façon, une matière
peut être dispensée par plusieurs Professeurs.

• min A est le nombre minimal de fois où une occurrence de l’entité A


participe à une relation du type considéré. Il s’agit en général de 0 ou 1.

• max A est le nombre maximal de fois où une occurrence de l’entité A


participe à la relation. Il s’agit en général de 1 ou n (n pour plusieurs fois,
ou un nombre quelconque de fois).

• min B et max B fonctionnent de la même manière, mais en considérant


l’entité B. Antoine Lumu 2020 55

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Notons qu’il est souvent difficile de choisir entre une cardinalité de type 0:n et une
cardinalité de type 1:n. Dans le premier cas, la participation à la relation est
facultative pour les occurrences de l’entité, alors qu’elle est obligatoire dans le
second cas : toute occurrence de l’entité participe à la relation. Il faut toutefois
souligner que ce choix a souvent peu d’importance.

• Pour illustrer la notion de cardinalité, prenons l’exemple d’une base de données


destinée à enregistrer les mariages entre les hommes et les femmes dans des
sociétés ayant des régimes matrimoniaux différents. Nous avons deux entités (les
hommes et les femmes) et une relation (« est marié à ») avec une propriété « date
du mariage ».

Antoine Lumu 2020 56

28
15/10/2020

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Les cardinalités minimales seront égales à 0 si l’on prend en compte tous les
hommes et toutes les femmes (y compris les célibataires) et à 1 si l’on ne prend en
compte que les hommes et les femmes mariés. Les cardinalités maximales seront
différentes selon le régime matrimonial en vigueur :

• 1 :dans une société interdisant la polygamie et la polyandrie

• Remarque : si seule la bigamie était autorisée, la cardinalité maximale pour l’entité


Hommes serait 2 (et non pas n).

Antoine Lumu 2020 57

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• 2- dans une société autorisant la polygamie mais interdisant la polyandrie

• 3- dans une société autorisant la polyandrie mais interdisant la polygamie

Antoine Lumu 2020 58

29
15/10/2020

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• 4. dans une société autorisant la polyandrie et la polygamie

• Autre exemple : la relation réflexive Responsable entre une table employés et elle -
même.

• Il faut distinguer le cas où un employé ne peut avoir qu’un seul supérieur


hiérarchique direct du cas où il peut en avoir plusieurs (par exemple le technicien
informatique du SRI (Service des Ressources Informatiques de l'Unilu) a deux
responsables hiérarchiques directs : le directeur du SRI et le directeur local de la
Coopération Universitaire de Développement CUD).

Antoine Lumu 2020 59

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

 Le MCD complet est donc :

Antoine Lumu 2020 60

30
15/10/2020

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Cas particuliers et pièges

• Quelques points particuliers sont à garder à l’esprit lors de la réalisation d’un MCD.

• Un identifiant est obligatoire pour chaque entité.

• Il ne doit pas y avoir de redondance d’informations : une information quelconque


ne doit pas être représentée plus d’une fois dans le MCD.

• Évitez autant que possible les relations entre plus de deux entités. Souvent, il est
possible de remplacer la relation par une entité.

• Restez dans la mesure du possible avec des cardinalités de valeurs 0, 1 ou n. Il est


de toute manière souvent possible de se ramener à ce cas dans les rares cas où
des cardinalités d’un autre type semblent plus naturelles.
Antoine Lumu 2020 61

Construction de base de données :


Méthode Merise
• Choix des cardinalités ou liens fonctionnels

• Cas particuliers et pièges

• Dans l’idéal, il faut trouver un bon compromis entre niveau de détail et "taille" de
la base de données. Il est toujours possible de multiplier les entités, mais il vaut
mieux le faire que si cela a vraiment du sens et un intérêt dans le problème.

• Par exemple, si on a une entité personne, on peut considérer l’adresse comme une
entité séparée (reliée à personne par une relation "habite à") ou comme une
propriété de la personne (ce qui est fait usuellement).

• En règle générale, il est plus économique de définir l’adresse comme une


propriété, mais dans un cas où il est fréquent que des personnes habitent au
même endroit, la règle de non-redondance incite plutôt à utiliser une nouvelle
entité.
Antoine Lumu 2020 62

31
15/10/2020

Construction de base de données :


Méthode Merise
 Le modèle logique de données, ou MLD montre l'organisation des
données sous forme de tables et est très proche de la manière dont
les données vont être effectivement organisées dans Access par
exemple. L'étape de transformation du MCD en MLD est assez
simple et passe par trois étapes :

• Transformation des entités en tables (sans modification);

• Transformation des relations en liens en fonction des cardinalités ;

• Suppression des tables inutiles: il s'agit essentiellement des tables à


un seul champ (leur clé) ;
Antoine Lumu 2020 63

I. Bases de données relationnelles


Modèle logique de données : MLD
 les entités sont transformées en tables (sans modification);
 les relations sont transformées en lien en fonction de leurs cardinalités:
 pour une relation de type 1:1 entre une entité A et une entité B se traduit par
une importation de la clé primaire de l'entité B dans la table de A, et on ajoute
un lien entre les deux clés;
 une relation autre (sans 1:1 se transforme en table dans laquelle on retrouve
les clés primaires de A et B.
 les tables inutiles sont supprimées : il s'agit essentiellement des tables à un seul
champ (leur clé).

Antoine Lumu 2020 64

32
15/10/2020

I. Bases de données relationnelles


Modèle logique de données : MLD
Entités transformées en tables :
Cette transformation est directe : il suffit de recopier les entités. Il s’agit
essentiellement d’un changement de vocabulaire :
 une entité : table;
 une propriété : champ;
 un identifiant : clé primaire;
 une occurrence d’une entité : enregistrement de la table.
A noter toutefois qu’il est essentiel qu’il n’y ait pas deux tables qui aient le
même nom.

Antoine Lumu 2020 65

I. Bases de données relationnelles

Modèle logique de données : MLD : Transformation des relations du MCD en liens du MLD.

Deux grands cas peuvent se présenter :

 le cas où l’une des branches de la relation a une cardinalité maximale de 1 (1:1 ou 0:1) ,
la transformation de la relation se fait de la manière suivante :

 On ramène dans la table correspondant à l’entité "du côté du 1:1" (ou du 0:1) la clé
primaire de l’autre table ainsi que toutes les éventuelles propriétés de la relations;

 On lie la clé primaire ainsi importée avec la clé primaire de la deuxième table;

 Si la relation contenait des propriétés, celle-ci se retrouve également importées du côté


du 1:1.

Antoine Lumu 2020 66

33
15/10/2020

I. Bases de données relationnelles

Modèle logique de données : MLD : Transformation des relations

du MCD en liens du MLD.

 A noter que la clé importée (ici Identifiant B qui se retrouve


dans table A) ne devient pas une clé de la table : c’est une
propriété comme une autre. Notons aussi que le lien se fait
entre champs (on relie IdentifiantA à IdentifiantB) et non pas,
comme dans le MCD, entre les tables.

Antoine Lumu 2020 67

I. Bases de données relationnelles

Modèle logique de données : MLD : Transformation des relations du


MCD en liens du MLD.
 le cas où les deux branches de la relation ont une cardinalité maximale de n (1:n ou
0:n) : On crée une nouvelle table correspondant à la relation. Cette table contient toutes
les éventuelles propriétés de la relation.
 On intègre à cette table les clés primaires des entités impliquées dans la relation;
 On relie les clés primaires des tables avec les clés importées dans la nouvelle table;
 On choisit enfin la ou les clés primaires de la nouvelle table. L’idée générale est que
chaque occurrence de cette entité doit pouvoir être identifiée de manière unique par ses
clés primaires. Cela revient en général à choisir comme clé primaire l’ensemble des
clés importées des autres tables.

Antoine Lumu 2020 68

34
15/10/2020

I. Bases de données relationnelles

Modèle logique de données : MLD : suppression de tables inutiles

 supprimer simplement les tables inutiles : en général (mais pas


toujours), une table qui ne contient qu’un seul champ (sa clé) est
inutile : elle ne nous apporte aucune information.

Antoine Lumu 2020 69

I. Bases de données relationnelles

Modèle physique : Construction d’une base de données sous le SGBD

Access

 Etape finale de la méthode Merise consiste à concevoir le Modèle

physique de nos données. Il s'agit ni plus ni moins que d'intégrer le MLD

au sein du SGBD (Access).

 Cette opération comprend trois phases essentielles:

 Création de la base de données : il s'agit simplement d'ouvrir Access et

de choisir Nouvelle base de données;

Antoine Lumu 2020 70

35
15/10/2020

I. Bases de données relationnelles

Modèle physique : Construction d’une base de données sous le SGBD

Access

 Création des tables : toutes les tables du MLD doivent être créées. Les données

peuvent éventuellement provenir d'un logiciel extérieur (feuille Excel, document

textuel...). Il faut également spécifier le type de donnée que doit contenir chaque

champ de la table et préciser quelle est la ou les clé(s) de la table;

 Création des liens : tous les liens qui apparaissent dans le MLD doivent

apparaitre dans la base de données.

Antoine Lumu 2020 71

I. Bases de données relationnelles

Modèle physique : le SGBD Access

Ce logiciel permet une conception aisée de bases de données de petite taille avec un nombre

restreint d'utilisateurs.

Access est basé sur le modèle relationnel et fonctionnent sur le même principe général (comme

les autres SGBD):

 les informations sont stockées dans des tables qui sont reliées entre elles par des relations;

 L'interrogation de la base de données se fait à l'aide de requêtes écrites à l'aide d'un


langage : le SQL (Structured Query Language).

Access a comme avantage par rapport à la plupart de ses concurrents:

 de permettre une écriture en mode graphique des tables, de leurs relations et de la plupart
des requêtes.

Antoine Lumu 2020 72

36
15/10/2020

I. Bases de données relationnelles

Modèle physique : le SGBD Access

L’interface graphique du SGBD Access:

 Tables, pour stocker les données ;

 Requêtes, pour retrouver les données ;

 Formulaires, pour saisir les données ou les visualiser à l'écran ;

 Etats, pour imprimer les données ;

 Pages, pour communiquer avec la BDD via un navigateur (Internet Explorer


uniquement) ;

 Macros, pour automatiser des opérations répétitives effectuées sur la base ;

 Modules, pour rajouter des fonctionnalités grâce à de la programmation en VBA


(Visual Basic for Applications).

Antoine Lumu 2020 73

I. Bases de données relationnelles

Modèle physique :

le SGBD Access

Antoine Lumu 2020 74

37
15/10/2020

I. Bases de données relationnelles : création d’une base de données sous


Access

Antoine Lumu 2020 75

I. Bases de données relationnelles : création d’une base de données sous


Access

Antoine Lumu 2020 76

38
15/10/2020

I. Bases de données relationnelles : création d’une base de données sous


Access

Antoine Lumu 2020 77

I. Bases de données relationnelles

Modèle physique : Création de tables sous le SGBD Access

Deux principales méthodes pour créer une table dans Access:

 Soit la table est créée directement dans Access (avec ou sans

aide);

 Soit elle provient d'un logiciel extérieur (importation de la table).

Quels sont les types de données d’une table?

Antoine Lumu 2020 78

39
15/10/2020

I. Bases de données relationnelles

Création de tables sous le SGBD Access : type de données


Type Propriétés Taille

Texte Ce champ peut contenir n'importe quel caractère < 256


caractères
alphanumérique (chiffre, lettre, signe de ponctuation). Ce
type de données est utilisé pour le texte, mais aussi pour
les nombres sur lesquels on n'effectue pas de calculs
(code postal, numéro de téléphone

Numérique Données numériques (non monétaires) susceptibles 1 à 16 octets


d'être utilisées dans des opérations mathématiques

Date/Heure Données de date et/ou d'heure (pour les années 8 octets


comprises entre 100 et 9999)
Antoine Lumu 2020 79

I. Bases de données relationnelles

Création de tables sous le SGBD Access : type de données

Type Propriétés Taille


Monétaire Données monétaires, présentées avec deux chiffres 8 octets

après la virgule, et le symbole monétaire du pays (€ pour


la France)
NuméroAuto Numérotation automatique, séquentielle (commençant à 4 octets (entier long)
1) ou aléatoire. Souvent utilisée pour générer le code des
enregistrements
Oui/Non Variable booléenne (deux valeurs possibles uniquement) 1 bit

Antoine Lumu 2020 80

40
15/10/2020

I. Bases de données relationnelles

Création de tables sous le SGBD Access : type de données


Type Propriétés Taille
Objet OLE Pour lier un objet extérieur, ou incorporer un objet < 1 Go
dans la base. Souvent utilisé pour les données
multimédia. Peut servir pour tout fichier binaire
(document Word, feuille de calcul Excel, etc.)
Mémo Le champ peut contenir n'importe quel caractère < 65.536 caractères

alphanumérique. Le type mémo est réservé aux


champs de type texte susceptibles de contenir plus de
255 caractères
Lien Permet d'enregistrer des URL de sites web et des < 2049 caractères
hypertexte
adresses de courrier électronique

Antoine Lumu 2020 81

I. Bases de données relationnelles

Création de tables sous le SGBD Access : type de données

Antoine Lumu 2020 82

41
15/10/2020

I. Bases de données relationnelles

Création de tables sous le SGBD Access : propriétés de champs


 Taille du champ ;
 Format : définit la manière dont les informations s'affichent. Exemple : le format monétaire
affiche deux chiffres après la virgule, puis un espace et le symbole de l'euro ;
 Masque de saisie : guide la saisie des données et exerce un contrôle: le code postal français
est composé de cinq chiffres ;
 Légende : définit le nom de l'étiquette dans le formulaire associé à la table. Il est préférable
d'implémenter cette propriété au niveau du formulaire lui-même ; d'implémenter cette
propriété au niveau du formulaire lui-même ;
 Valeur par défaut : valeur qui s'affiche dans le champ avant saisie par l'utilisateur ;
 Valide si : condition de validité du champ. Exemple : une notation sur 20 doit être comprise
entre 0 et 20 ;

Antoine Lumu 2020 83

I. Bases de données relationnelles

Création de tables sous le SGBD Access : propriétés de champs


 Message si erreur : ce message s'affiche si la condition de validité précédente
n'est pas satisfaite ;
 Null interdit : le champ correspondant ne peut rester vide lors de la saisie d'un
enregistrement ;
 Chaîne vide autorisée : le champ peut contenir une chaîne ne comportant
aucun caractère ;
 Indexé : un fichier index est associé au champ de telle sorte que les recherches
d'information s'effectuent plus rapidement ;
 Compression unicode : un octet suffit pour saisir un caractère (pour les
alphabets utilisés dans l'Europe de l'ouest et dans le monde anglophone).

Antoine Lumu 2020 84

42
15/10/2020

I. Bases de données relationnelles

Création de tables sous le SGBD Access : propriétés de champs

Antoine Lumu 2020 85

I. Bases de données relationnelles

Création et suppression de tables sous le SGBD Access : sous SQL

Création de table : clause CREATE TABLE

Syntaxe:

CREATE TABLE NOM_TABLE (CHAMP1 TYPE DONNEES [NOTNULL],

CHAMP2 TYPE DONNEES [NOT NULL], CHAMP3 TYPE DONNEES [NOT

NULL], CHAMP4 TYPE DONNEES [NOT NULL], CHAMP5 TYPE DONNEES

[NOT NULL]);

Exemple :

CREATE TABLE Sondages (DH_ID CHAR (15), Azimuth INTEGER (15);

Antoine Lumu 2020 86

43
15/10/2020

I. Bases de données relationnelles

Création et suppression de tables sous le SGBD Access : sous SQL

Suppression de table : clause DROPTABLE

Syntaxe:

DROP TABLE Sondages;

La table sondages est supprimée.

Pour modifier une table existante, en ajoutant une colonne ou en

supprimant une colonne existante, on utilise la commande suivante :

 ALTER TABLE Sondages ADD Drill DATE;

 ALTER TABLESondages ADD COLUMN DRILL DATE;

Antoine Lumu 2020 87

I. Bases de données relationnelles

Création et suppression de tables sous le SGBD Access : sous SQL

Pour supprimer la colonne que nous venons de créer, nous utilisons la commande

suivante :

ALTER TABLE Sondages DROP DRILL

Pour empêcher un champ de rester vide, nous utilisons la clause NOT NULL :

CREATE TABLE Sondages (DH_ID CHAR(15) NOT NULL, Azimuth CREATE TABLE

Sondages (DH_ID CHAR(15) NOT NULL, Azimuth INTEGER(15) ;

Pour qu'un champ soit indexé sans doublons, nous utilisons la clause UNIQUE:

CREATE TABLE Sondages (DH_ID CHAR (15) UNIQUE, Azimuth INTEGER (15);

Antoine Lumu 2020 88

44
15/10/2020

I. Bases de données relationnelles

Création et suppression de tables sous le SGBD Access : sous SQL

Pour poser une clé primaire sur un champ, nous utilisons la clause

PRIMARY KEY:

CREATE TABLE Sondages (DH_ID CHAR (15) PRIMARY KEY, Azimuth

INTEGER (15);

Pour appliquer la clé à deux champs, nous utilisons la syntaxe suivante :

CREATE TABLE Sondages (DH_ID CHAR (15), Azimuth INTEGER (15),

CONSTRAINT essai_index PRIMARY KEY (DH_ID, Azimuth)

Antoine Lumu 2020 89

I. Bases de données relationnelles

Création des index


Un index est un ensemble de pointeurs vers les données d’une table.
Avantages :
 il accélère les recherches d'information. En effet, l'index est une
représentation de la table, triée sur un champ donné. On peut donc lui
appliquer les méthodes connues de recherche rapide sur un ensemble
ordonné (c'est le SGBD qui se charge de l'opération, laquelle est transparente
pour l'opérateur) ;
 il est de taille très inférieure à celle de la table : on peut le remettre à jour en
temps réel à chaque modification de cette dernière ;
 il peut servir à empêcher l'opérateur de créer des enregistrements dupliquées
en saisissant deux fois, par erreur, les mêmes données.

Antoine Lumu 2020 90

45
15/10/2020

I. Bases de données relationnelles

Création des index


Inconvénients :
 chaque fois que nous demandons au système de créer (et de maintenir) un
index, nous augmentons sa charge de travail, et par conséquent nous le
freinons. Ainsi, les opérations de saisie et de maintenance sont ralenties par la
présence d'index, car ces derniers doivent être mis à jour immédiatement ;
 un index occupe de la place en mémoire sur le disque. En fait, ce dernier
argument a beaucoup perdu de sa valeur avec le temps, parce que la mémoire
de masse des ordinateurs ne cesse de croître rapidement, et qu'elle est
devenue si bon marché (son coût à l'octet est divisé par deux tous les deux ans
environ) qu'on la gaspille allégrement.

Antoine Lumu 2020 91

I. Bases de données relationnelles

Création des index


Pour créer un index multichamps, il faut se trouver en mode création de la table,
et cliquer sur l'icône
 dans la colonne de gauche, on donne un nom à l'index multi-champ ;
 dans la colonne médiane, on écrit les uns sous les autres les noms des champs
constitutifs de l'index ; constitutifs de l'index ;
 dans la colonne de droite, on précise l'ordre de tri. Par défaut, on conserve
"Croissant" ;
 on clique sur le nom de l'index puis, dans la moitié inférieure de la boîte,
intitulée "Propriétés de l'index", on fixe à "Oui" la propriété "Unique" si l'on
désire interdire les doublons.

Antoine Lumu 2020 92

46
15/10/2020

I. Bases de données relationnelles

Création des index

Antoine Lumu 2020 93

I. Bases de données relationnelles

Création des index

Antoine Lumu 2020 94

47
15/10/2020

I. Bases de données relationnelles

Création des index

Antoine Lumu 2020 95

I. Bases de données relationnelles

Création des index en SQL


Syntaxe de l’instruction CREATE INDEX
CREATE INDEX NOM_INDEX ON NOM_TABLE
 Sur une colonne : CREATE INDEX NOM_INDEX ON NOM_TABLE
(NOM_COLONNE)
 Index unique: CREATE UNIQUE INDEX NOM_INDEX ON
NOM_TABLE (NOM_COLONNE)
 Index composés: CREATE INDEX NOM_INDEX ON NOM_TABLE
(COLONNE1, COLONNE2)

Antoine Lumu 2020 96

48
15/10/2020

I. Bases de données relationnelles

Création des index : Quand éviter les index ?

 N’indexez pas les tables de petite taille;

 N’indexez pas les colonnes qui retournent un pourcentage élevé


de lignes de données lorsqu’elles sont exploitées comme
condition de filtrage dans la clause WHERE d’une requête;

 N’indexez pas les colonnes contenant un grand nombre de


valeurs NULL;

 N’indexez pas les colonnes dont vous modifiez souvent les


entrées.

Antoine Lumu 2020 97

I. Bases de données relationnelles : Les requêtes

Les requêtes servent à afficher uniquement certaines données contenues

dans les tables selon certains critères.

Elles peuvent aussi :

 faire des calculs sur vos données;

 créer des sources de données pour les formulaires, les états ou même

d'autres requêtes (on peut faire une requête sur le résultat d'une autre

requête);

 modifier des tables existantes ou à en créer des nouvelles.

Antoine Lumu 2020 98

49
15/10/2020

I. Bases de données relationnelles : Les requêtes

Types de requêtes:

 La requête sélection : permet de sélectionner des enregistrements, de faire des calculs et des

regroupements. Elles ressemblent beaucoup aux filtres, mais permettent, en plus, de travailler

sur plusieurs tables simultanément;

 La requête d'Analyse croisée : présente ses résultats sous forme de tableau (de type Excel).

Utilisée pour comparer des valeurs, dégager des tendances;

 La requête de Création de table crée une table à partir des données qu'elle a extraites dans une

ou plusieurs autres tables;

 La requête Mise à Jour: modifie le contenu d'un ou plusieurs champs d'une ou plusieurs tables.

C'est le moyen le plus efficace pour mettre à jour un grand nombre d'enregistrements en une

seule opération;

Antoine Lumu 2020 99

I. Bases de données relationnelles : Les requêtes

Types de requête:

 La requête Ajout : ajoute les données qu'elle a extraites à la fin d'une


table déjà existante;

 La requête Suppression : supprime un ou plusieurs enregistrements


dans une ou plusieurs tables.

 La requête SQL direct;

 La requête de définition de données ;

 La requête UNION : combine les résultats de deux ou plusieurs


requêtes ou tables indépendantes.

Antoine Lumu 2020 100

50
15/10/2020

I. Bases de données relationnelles : Les requêtes

Création de requêtes

Access nous propose 5 façons de créer une requête :

 Mode création: nous allons créer la requête de A à Z par nous-mêmes ;

 Assistant de Requête simple : crée une requête simple sur une ou plusieurs tables,
on pourra, dans cette requête simple, faire des calculs, des regroupements ;

 Assistant de Requête d'analyse croisée : aide à la création d'une requête d'analyse


croisée ;

 Assistant de Requête trouver les doublons : Localise les enregistrements doublons


dans une table ou une requête ;

 Assistant de Requête de non - correspondance : localise les enregistrements d'une


table auxquels ne correspond aucun autre enregistrement d'une autre table.

Antoine Lumu 2020 101

I. Bases de données relationnelles : Les requêtes

Types de requête

Antoine Lumu 2020 102

51
15/10/2020

I. Bases de données relationnelles : Les requêtes

Requête en mode
création

Antoine Lumu 2020 103

I. Bases de données relationnelles : Les requêtes

Dans la partie supérieure de la fenêtre


se trouvent la ou les tables avec la listes
de leur champs, c'est sur ces tables que
vont porter les requêtes.
Dans la partie inférieure, se trouve la
description de la requête.

Antoine Lumu 2020 104

52
15/10/2020

I. Bases de données relationnelles : Les requêtes

Pour ajouter un champ, on peut:


 soit le sélectionner dans la table et l'amener avec la souris sur une colonne;
 soit on clique sur la ligne "Champ", la liste de tous les champs s'affiche alors et on en
sélectionne un dans la liste.
Un des champs proposé s’appelle '*', ce champ signifie "tous les champs de la table", si
on choisi ce champ, tous les champs de la table apparaitront dans le résultat de la
requête, en plus des autres champs que vous aurez choisis.
Antoine Lumu 2020 105

I. Bases de données relationnelles : Les requêtes

Création de requêtes

 La ligne "Table" sert à sélectionner la table à laquelle appartient le

champ sélectionné;

 La colonne "Tri" indique de quelle façon vont être triés les champs dans

le résultat de la requête : il y a trois sortes de tri : Croissant (de A à Z),

Décroissant (de Z à A) et non trié.

 La colonne "Afficher" indique si le champ doit être affiché ou non ;

 La colonne "Critères " va indiquer le critère de la requête.

Antoine Lumu 2020 106

53
15/10/2020

I. Bases de données relationnelles : Les requêtes

Exécuter la requête

Antoine Lumu 2020 107

I. Bases de données relationnelles : Les requêtes

Création de requêtes

 Le résultat de la requête s'affiche sous la forme d'une table que

l'on peut modifier comme si il s'agissait d'une table normale, on

peut ajouter des enregistrements, les modifier, faire des filtres,

des tris, etc.

Antoine Lumu 2020 108

54
15/10/2020

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 109

I. Bases de données relationnelles : Les requêtes

Création de requêtes

Les résultats des requêtes, même s’ils sont présentés sous forme de

tables ne sont pas de véritables tables qu’aurait généré la requête.

Ils ne sont qu'une "vue" faite à partir des tables qui ont servi à faire

la requête.

Autrement dit, si vous modifiez quelque chose dans le résultat de la

requête, la modification se répercutera dans la table qui a servi à

faire la requête.

Antoine Lumu 2020 110

55
15/10/2020

I. Bases de données relationnelles : Les requêtes

Type de requêtes : Analyse croisée


Les requêtes d'analyse croisée permettent de répondre à des questions du type "qui à

commandé combien de quoi ?". Elles retournent le résultat sous forme d'un tableau

comportant des champs en abscisse et en ordonnée, avec, dans chaque case la réponse à

notre question.

Entête Qui Qui

Quoi Combien Combien

Quoi Combien Combien

Antoine Lumu 2020 111

I. Bases de données relationnelles : Les requêtes

Type de requêtes : Analyse croisée

 D'abord on crée une requête standard (de sélection) ;

 On transforme la requête de sélection en requête d'analyse croisée en allant


dans le menu "Requête" et en choisissant « Analyse croisée » ;

 Une nouvelle ligne apparaît dans la requête : la ligne « Analyse » ;

 Dans cette ligne, on va indiquer si le champ qu'on a choisi va être l'entête des
colonnes, l'entête des lignes ou la valeur contenue dans les cases du tableau;

 L'Opération pour les entêtes est toujours « Regroupement » ;

 L'Opération pour les valeurs des cases dépend de ce qu'on cherche (i.e.:
Somme ).

Antoine Lumu 2020 112

56
15/10/2020

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 113

I. Bases de données relationnelles : Les requêtes

Type de requêtes : Analyse croisée

 D'abord on crée une requête standard (de sélection) ;

 On transforme la requête de sélection en requête d'analyse croisée en allant


dans le menu "Requête" et en choisissant « Analyse croisée » ;

 Une nouvelle ligne apparaît dans la requête : la ligne « Analyse » ;

 Dans cette ligne, on va indiquer si le champ qu'on a choisi va être l'entête des
colonnes, l'entête des lignes ou la valeur contenue dans les cases du tableau;

 L'Opération pour les entêtes est toujours « Regroupement » ;

 L'Opération pour les valeurs des cases dépend de ce qu'on cherche (i.e.:
Somme ).

Antoine Lumu 2020 114

57
15/10/2020

I. Bases de données relationnelles : Les requêtes

Type de requêtes : Les requêtes ACTION

ces requêtes vont permettre de :

 Créer une table à partir du résultat d'une requête ;

 Ajout des enregistrements à une table à partir des résultats de la


requête ;

 Mettre à Jour une table en fonction de certains critères ;

 Supprimer des enregistrements répondant aux critères de la


requête ;

Antoine Lumu 2020 115

I. Bases de données relationnelles : Les requêtes

Type de requêtes : requêtes création

Elle crée une table à partir des résultats qu'elle produit à partir

d'une table existante.

 Créer la requête normalement (de sélection);

 On la transforme en requête Création (Menu Requête / Requête Création de table) ;

 Access nous demande le nom de la table à créer ;

 Exécutez la requête avec l 'icône point d'exclamation : la table va être créée avec le résultat de la requête
;

 Si vous vous voulez vérifier avant de créer la table quel sera le résultat de la requête, cliquez sur l'icône:

 Une fois que le résultat sera conforme à vos attentes, vous pourrez cliquer sur l'icône point
d'exclamation.

Antoine Lumu 2020 116

58
15/10/2020

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 117

I. Bases de données relationnelles : Les requêtes

Type de requêtes : requêtes d’ajout

Elle copie tout ou partie des enregistrements d'une table (la table

source) à la fin d'une autre table (la table cible).

 Création de la requête normale (de sélection);

 On la transforme en requête Ajout (Menu Requête / Requête Ajout)

 Access nous demande le nom de la table à laquelle il faut ajouter le résultat de


la requête ;

Comme précédemment, avec les icônes Affichage et point d'exclamation, vérifiez

et validez votre requête.

Antoine Lumu 2020 118

59
15/10/2020

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 119

I. Bases de données relationnelles : Les requêtes


Type de requêtes : requêtes d’ajout

Attention:

 Les enregistrements sont COPIES de la table source vers la table cible et non pas

déplacés ;

 Les deux tables doivent avoir des noms de champs identiques (et les mêmes types de

données), les deux structures ne doivent pas nécessairement être identiques ;

 Si la table source comporte plus de champs que la table cible, les champs

supplémentaires sont ignorés ;

 Si la table source comporte moins de champs que la table cible, les champs dont les

noms sont identiques sont copiés, les autres sont laissés vides ;

 Access ne copie QUE les champs que vous avez déclarés dans la requête (d'ou le champ

*). Antoine Lumu 2020 120

60
15/10/2020

I. Bases de données relationnelles : Les requêtes

Type de requêtes : requêtes de mise à jour

Les requêtes mise à jour permettent de modifier rapidement tous

les enregistrements d'une table ou un groupe d'entre eux.

 On crée une requête de sélection, et dans le menu Requête, on

clique sur « Requête Mise à Jour » ;

 Un champ "Mise à jour" apparaît dans la requête, c'est là qu'on

va indiquer la modification qui va avoir lieu.

Antoine Lumu 2020 121

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 122

61
15/10/2020

I. Bases de données relationnelles : Les requêtes


Type de requêtes : requêtes de suppression

Les requêtes suppression vous permettent de supprimer un groupe

d'enregistrements qui répondent à un critère donné.

 On crée une requête standard, puis dans le menu Requête, on clique sur

Requête Suppression;

 On exécute la requête ou on vérifie avant que le résultat est conforme à ce

que l'on attend.

Attention:

 Vérifiez bien le résultat avant d'exécuter la requête, il n'est pas possible de

revenir en arrière après avoir effacé des enregistrements.


Antoine Lumu 2020 123

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 124

62
15/10/2020

I. Bases de données relationnelles : Les requêtes


Type de requêtes : requêtes multitables

 Il est possible de faire des requêtes qui portent sur plusieurs tables

simultanément. Dans ce cas, les requêtes peuvent être très complexes;

 Toutes les tables intervenant dans la requêtes doivent être reliées entre elles, il

ne doit pas y avoir de tables isolées, sinon, Access va essayer de trouver lui -

même les relations entre ces tables isolées et parfois le résultat peut être

erroné;

 Il ne doit pas y avoir de tables n'ayant rien à faire dans la requête, sinon, Access

va se baser sur les relations entre ces tables n'ayant rien à voir avec la

choucroute et celles ayant à voir et va donner des résultats erronés.

Antoine Lumu 2020 125

I. Bases de données relationnelles : Les requêtes


Type de requêtes : Définition des critères de sélection

On peut utiliser dans les requêtes les opérateurs suivants :

Antoine Lumu 2020 126

63
15/10/2020

I. Bases de données relationnelles : Les requêtes


Type de requêtes : Définition des critères de sélection

Access met à notre disposition d'autres opérateurs :

Antoine Lumu 2020 127

I. Bases de données relationnelles : Les requêtes


Type de requêtes : Définition des critères de sélection

Les fonctions :

 On peut intégrer des fonctions dans les critères de sélection.

 Access met à notre disposition un très grand nombre de fonctions (pour en avoir la liste

complète, consultez l'aide intégrée à Access). Ce sont les mêmes fonctions que celles

qui sont utilisé s dans les contrôles des formulaires (et d’ailleurs dans tous les logiciels

de la gamme Microsoft Office) .

Notes:

 On peut avoir plusieurs critères de sélection, ces critères étant séparés entre eux par des

OU ou des ET.

 Si deux critères sont séparés par des ET, on les place sur la même ligne;

 Si deux critères sont s éparés par desAntoine


OU, Lumu
on les place sur des lignes différentes.
2020 128

64
15/10/2020

I. Bases de données relationnelles : Les requêtes

Type de requêtes : Requête paramétrée

Les critères de chaque requête que nous avons fait étaient indiqués explicitement dans la

requête.

 Supposons maintenant que nous voulions faire une requête du type : « On cherche les

essais géomécaniques qui ont été fait sur tel type de roche ».

 On ne connaît pas par avance le nom de la roche, et on ne va pas préparer autant de

requêtes qu'il peut y avoir de roches, la solution la plus simple est alors de demander à

l'utilisateur d'entrer le nom de la roche, et de faire la requête en fonction de ce qu'il a

entré.

Antoine Lumu 2020 129

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 130

65
15/10/2020

I. Bases de données relationnelles : Les requêtes

Antoine Lumu 2020 131

66

Vous aimerez peut-être aussi