19 SGBDR
19 SGBDR
19 SGBDR
Pr. M.CHERGUI
Département Mathématique Informatique
ENSEM- Casablanca
1
Plan
Introduction
Modélisation Entité/Association
Modèle relationnel
SQL
2
INTRODUCTION
3
Introduction
L’entreprise est un système complexe contenant un
très nombreux flux d’informations.
Quelque soit le type de l’entreprise elle doit avoir un
système destiné à collecter, mémoriser, traiter et
distribuer efficacement l’information.
Ce système d’information assurera le lien entre deux
autres systèmes de l’entreprise :
le système opérant
Système de pilotage
le système de pilotage
Système d’information
Système opérant
4
Introduction
Organisation d’un Système d’information
5
Introduction
Exemples de SI:
Application
Applications Web : Banques, ONCF, Sites marchands,
Réseaux Sociaux, etc.
CRM : Customer Relationship Management :
ERP : Entreprise Ressource Planning : SAP, SAGE…etc
Architecture
Client - Serveur
3 tiers/ n tiers
BD : Oracle, MySQL, SQL Server, PostrgreSQL, …
6
Introduction
Un Système d’Information permet de:
1. Distinguer entre données et traitements
2. Garantir l’intégrité des données
3. Fournir une performance acceptable de
l’activité de l’entreprise.
7
Distinguer entre données et traitements
Modèle des données indépendant des traitements
Traitements rationalisés appliqués aux données
Données Traitement
Système d’Information
8
Distinguer entre données et traitements
Garantir l’intégrité des données :
Intégrité des données
9
Distinguer entre données et traitements
Dénormalisation et indexation:
SGBD et matériels: physique
logique
10
QU’EST CE QU’UNE
BASE DE DONNÉES?
11
Base de données
Ensemble structuré de données qui
modélisent le monde réel.
Enregistrement des faits, des opérations
au sein d'un organisme (administration,
banque, université, hôpital, ...)
Regroupement de données
(d’informations) en grand nombre. Ces
données décrivent des objets qu’on veut
manipuler
12
Exemples de BD
Une bibliothèque : les adhérents et le catalogues, le
retrait, le retour des livres par codes à barres, les
informations (livres disponibles, livres actuellement
empruntés par l’adhérents, etc.)
13
Allure de BD
14
Système de Gestion de Base de
Données (SGBD)
Le SGBD, Système de Gestion de Base de Données, en
anglais Database Managment System ( DBMS), est le
logiciel qui fournit les outils de gestion de la base de
données.
Il permet essentiellement de :
◦ Définir les données qu’on veut manipuler,
◦ Ajouter, modifier, supprimer des données
◦ Consulter des données
Exemple de SGBD:
MySQL, Oracle, PostgreSQL, Access mais pas Excel
15
Architecture SGBD
Modèle fondamental Client/Serveur
Application 1
BD dans le
SGBD DD
Application 2
16
Architecture SGBD…A retenir
Une BD est stockée sur un ou plusieurs disques durs.
Pour une BD, il y a un SGBD et un seul.
Le SGBD et la BD sont en général sur la même machine.
Le SGBD peut gérer plusieurs BD.
Chaque application est un client.
Plusieurs clients peuvent communiquer avec le serveur.
Une application est un programme qui envoie des
commandes au SGBD pour manipuler les données de la BD
sur le disque dur.
Par exemple : un programme PHP enregistre une donnée dans
la BD ou récupère des informations dans la BD
17
Un SGBD… que manipule t-il?
il?
Bases de données : pour distinguer des applications
différentes.
Tables : pour mettre les données.
Index : pour optimiser les requêtes.
Contraintes d’intégrité : pour garantir la cohérence
des données.
Utilisateurs : pour se connecter à la BD.
Droits : pour limiter l’accès des utilisateurs à la BD.
18
SGBD..qui l’utilise
l’utilise??
L’administrateur :
les accès et les droits des utilisateurs : problème de
sécurité.
le bon fonctionnement des bases de données :
problème d’efficacité.
Le développeur:
Programme une application qui sera cliente du SGBD.
Accès à la BD à travers l’application cliente dite : «
calculette SQL ».
L’utilisateur final:
utilise une application cliente du SGBD. Il n’a accès à
la BD qu’à travers une application cliente spécifique.
19
Les SGBD les plus populaires
20
MODÉLISATION DE BD
21
Méthodologie générale de conception
d'une base de données
Analyse de la situation existante et des besoins
(clarification): création de Dictionnaire de données
22
Conception et implémentation de BD
23
Un mot sur la méthode MERISE
Merise: Méthode de conception SI 1978-1979.
24
Cycle d’abstraction MERISE
SI manuel : Monde réel
Modèle Conceptuel
Modèle Logique
Modèle Physique
SI informatisé
25
Cycle d’abstraction MERISE
L'expression des besoins MCC (Modèle
conceptuel de la communication)+ Dictionnaires
de données + graphe de dépendances fonctionnel.
MCD (Modèle conceptuel des données) décrit les
règles et les contraintes à prendre en compte, en E/A.
MLD (Modèle logique des données) qui
représente un choix logiciel pour le système
d'information.
Le modèle physique reflète un choix de SGBD et
implémentation de la BD ou logiciel et matériel pour SI.
26
LE MODELE CONCEPTUEL DE LA
COMMUNICATION
27
Définition de l‘Organisation
Etape1:
Délimiter le système ( l’isoler) et les éléments
avec les quels il échange des flux d’information (
acteurs externes)
28
Définition de l‘Organisation:
Etape 2:
découper l'organisation en acteurs internes
(ou domaines).
Si les domaines d'une organisation sont
importants, on les décompose eux-
mêmes en sous-domaines.
29
Définition de l‘Organisation:
Etape 3
Analyser les flux d’information processus
Définition de l’organisation
Acteur1 Acteur3
Acteur2
Diagramme de Contexte
30
Diagramme de contexte:
Représenter les flux d'informations entre l'organisation et les acteurs
externes selon une représentation standard dans laquelle chaque
objet porte un nom
l'organisation est représentée par un rectangle
les acteurs externes sont représentés par des ellipses en pointillés.
les flux d'information sont représentés par des flèches dont
l'orientation désigne le sens du flux d'information
31
Exercice
une industrie de fabrication automobile marocaine fait le
montage des pièces automobile pour une marque X, elle
nécessite:
les ensembliers ou constructeurs, qui construisent les
véhicules par assemblage des pièces détachées fournies par
les équipementiers ;
les équipementiers, qui fabriquent les pièces nécessaires aux
véhicules telles que les châssis, les moteurs, les carrosseries,
les sièges, les équipements électriques, les pneumatiques ;
les designers, qui dessinent les nouveaux modèles ;
les organismes de législation et de contrôle, qui définissent
les pratiques autorisées et les pratiques interdites, par
exemple en termes sécurité routière et de gestion des
véhicules usagés.
Tracer le diagramme de contexte pour un éventuel SI qui
gère l’activité de cette industrie
32
Dictionnaire de données
document qui regroupe toutes les données que vous aurez à
conserver dans votre base (et qui figureront donc dans le
MCD). Pour chaque donnée, il indique :
Le code mnémonique : il s'agit d'un libellé désignant une
donnée (par exemple «titre_l» pour le titre d'un livre)
La désignation : il s'agit d'une mention décrivant ce à quoi
la donnée correspond (par exemple «titre du livre»)
Le type et taille de donnée :
◦ A ou Alphabétique : lorsque la donnée est uniquement
composée de caractères alphabétiques (de 'A' à 'Z' et de 'a' à 'z')
◦ N ou Numérique : lorsque la donnée est composée
uniquement de nombres (entiers ou réels)
◦ AN ou Alphanumérique : lorsque la donnée peut être
composée à la fois de caractères alphabétiques et numériques
◦ Date : lorsque la donnée est une date (au format AAAA-MM-JJ)
◦ Booléen :Vrai ou Faux
33
Exercice:: Dictionnaire de données
Exercice
: Un laboratoire de photo effectue le développement et le
tirage de films de clients. Les clients sont des points de
ventes qui confient leur films au laboratoire.les films à
développer sont placés dans une enveloppe individuelle
et numérotée sur laquelle on retrouve le nom, l’adresse,
le code postal et la ville du client ou du point de vente.
Chaque Client est identifié par un numéro unique. De
même, on retrouve sur l’enveloppe le type de film (
24*36, APS, CD) le type de travail à effectuer (
développement et tirage, tirage seul, développement
seul) le format ( 10*15,13*18,20*30) et la qualité (mat,
brillant) du tirage, le nombre d’exemplaire.
34
Correction: Dictionnaire de données
35
Dépendances Fonctionnelles
B dépend fonctionnellement de A si étant
donné une valeur de A, il existe une seule
valeur de B qui lui correspond et on note:
A B.
Exemple:
CIN nomCitoyen, prénomCitoyen
CodeBarre intituleLivre
CNE nomEtudiant, prenomEtudiant
36
Graphe de dépendances fonctionnelles
Un graphe qui fait apparaître les dépendances
fonctionnelles entre les données.
Il permet de regrouper les propriétés
Une DF n’est pas réversible
Exemple de GDF
37
FAISONS UN CAS RÉEL
ENSEMBLE?
38
39
Etape 1: ETABLIR LE DICTIONNAIRE DES DONNEES.
40
Dictionnaire de données
41
Etape 2: Elaborer la MATRICE DES DEPENDANCES
FONCTIONNELLES SIMPLES
42
Résultat
43
Etape 3: Elaborer la MATRICE DES DEPENDANCES
FONCTIONNELLES Réduite
44
45
Etape 4: Elimination des dépendances fonctionnelles
transitives
Principe : Une dépendance fonctionnelle (notée A B ) est dite transitive si
il existe une donnée C telle que A C et C B
Repérer les dépendances transitives :
Il y a un risque important de présence de dépendances fonctionnelles
transitives s'il existe plusieurs 1 sur la même ligne dans la matrice des
dépendances fonctionnelles.
Sur la ligne nom client, il y a deux 1. Cela signifie que :
Pour un numéro client, il y a un seul nom client
Pour un n° de facture, il y a un seul nom client
Eliminer les dépendances transitives
Cherchons laquelle de ces deux dépendances fonctionnelles peut être
supprimée.
Existe-t-il une donnée C telle que N° client à C et C à Nom client ? Non
Existe-t-il une donnée C telle que N° facture à C et C à Nom client ? Oui,
c'est N° client
En effet, N° facture N° client et N° client Nom client
Dans la colonne N° facture , on supprime le 1 sur la ligne Nom client On
répète l'opération pour les autres lignes.
46
47
Etape 5: RECHERCHE DES DEPENDANCES
FONCTIONNELLES COMPOSEES
Certaines données ne contiennent pas de 1 ni dans la ligne, ni dans la
colonne. Ces données ne sont donc pas reliées aux autres données.
Il n'existe pas de dépendances fonctionnelles simples entre ces données et
les autres données têtes de colonnes. Il s'agit donc de dépendances
fonctionnelles composées: ces données dépendent de 2 ou de plusieurs
données têtes de colonnes.
Dans l'exemple, la donnée Quantité n'est pas reliée aux données têtes de
colonnes; il s'agit donc d'une donnée qui va dépendre de plusieurs données
têtes de colonnes.
Une dépendance fonctionnelle composée est de la forme : A, B C
, elle se lit : Pour une valeur de A ET une valeur de B, on a une seule valeur
de C.
La donnée Quantité : Pour un N° de facture et une référence, il y a une
seule quantité. Elle se note : N° facture, référence Quantité.
48
Etape 6: Passage GDF MCD
49
MODÈLE CONCEPTUEL DE DONNÉES
50
Présentation du Modèle E/A
Le modèle E/A est un Formalisme graphique pour la
modélisation de données.
Succès dus à :
◦ langage graphique
◦ concepts simples
◦ Choses (objets)->entités
◦ liens entre les choses (objets)-> association
◦ regroupement des choses de même nature : classes
d’entités, classes d’association.
51
Entité
Entité: Chose ou objet identifiable sans
ambiguïté.
◦ Exemple : le cinéma ABC, le cinéma le
GAUMONT, l’acteur Woody Allen, le film « le
bonheur est dans le pré », le film « coups de
feu sur Broadway »,
Classe d’entités : regroupement d’entités de
même nature.
◦ Exemple : Cinéma, Acteurs, Films, etc.
Formalisme de classe d ’entité : représentation
graphique
52
Association
Une association : lien entre 2 ou plusieurs
entités
Exemple :
woody allen a joué dans “ Coups de feu sur brodway ”
Tannenbaum a écrit l’ouvrage Réseaux Informatique
Classe d’association : lien entre 2 ou plusieurs
classes d’entités.
Exemple : Jouer (entre FILMS et ACTEURS),
Affiche(entre CINEMA et FILMS),. REALISE
(entre REALISATEURS et FILMS)
Chaque Entité joue un rôle dans une
association
53
Modèle E/A
54
Propriété
Donnée élémentaire que l ’on perçoit sur une
entité ou une association
Exemple :
Pour les entités
◦ Nom, prénom pour l’entité ACTEURS
◦ Titre et Metteur en scène pour l’entité FILMS
◦ Nom et Adresse Pour l’entité CINEMA
Pour les associations : propriétés que l’on
met dans une association doivent
obligatoirement relier les entités:
durée/quantité…etc.
55
Identifiant
Chaque occurrence doit pouvoir être
repérée de manière unique et sans
ambiguïté, pour être distinguée de toutes
les autres par une propriété : Identifié.
non variable dans le temps.
Identifié d’association: implicite, obtenu en
juxtaposant les identifiants des entités qui
participent à la liaison.
56
Cardinalité
lien qui existe entre une entité et la relation à
laquelle elle est reliée.
Composé d'un couple comportant une borne
maximale et une borne minimale, intervalle dans
lequel la cardinalité d'une entité peut prendre sa
valeur:
la borne minimale (généralement 0 ou 1) décrit le nombre
minimum de fois qu'une entité peut participer à une relation
la borne maximale (généralement 1 ou n) décrit le nombre
maximum de fois qu'une entité peut participer à une relation
57
Cardinalité
58
Exemple modèle entité Association
59
Modèle conceptuel de données
C’est un schéma conceptuel représente :
Les faits et les évènements qui décrivent le monde à
modéliser. Exemple : une compagnie aérienne, ses
avions et ses pilotes.
Certaines contraintes. Exemple : un pilote ne doit volé
que s’il détient une licence en cours de validité et une
qualification correspondant au type d’avion.
60
A VOS MARQUES
MARQUES……
PRÊTS…
PRÊTS … MODÉLISER
MODÉLISER….
….
61
TD 1
TD 2 TD 2Bis
62
Associations réflexives
L’association réflexive est une association
binaire qui relie une entité à elle-même.
Une occurrence de l’association établit donc un
lien entre une occurrence de l’entité et une
autre occurrence de cette même entité.
Dans le cas d’une association non symétrique,
on doit faire porter le rôle sur chacun des
segments.
63
Associations réflexives
64
Exercice: Tracer GDF et MCD
Dans le cadre de la gestion des adhésions à un
club sportif , une personne peut s’inscrire en tant
que membre unique comme elle peut inscrire ses
enfants. Un adhérent a un nom, prénom, date de
naissance, CIN. Une personne peut s’inscrire pour
pratiquer un ou plusieurs sports identifiés par (
N°, intitulé du sport, entraineur) , l’adhésion
caractérisée par Id Adésion, peut être
semestrielle, mensuelle ou annuelle (type
d’adhésion), elle est caractérisée en plus du type
par ses frais, et année d’adhésion. Une adhésion
concerne un ou plusieurs sport.
65
Heritage
Quand le concepteur s’aperçoit que plusieurs
entités, proches mais distinctes, partagent un
ensemble de caractéristiques, il doit mettre en
œuvre un processus de création d’entités
génériques (ou entités sur-types) et d’entités
spécialisées (ou entités sous-types) appelé
«héritage ». Ce concept qui permet de
représenter le lien « est-un » ou « IS-A » entre
deux entités A et B (une occurrence de A est
une occurrence de B) est représenté
graphiquement par une flèche double allant de
A vers B.
66
Heritage::
Heritage
67
Exercice:
68
CORRECTION:
69
MODÈLE LOGIQUE DE DONNÉES
MODÈLE RELATIONNEL
70
Modèle Logique de données:
71
Modèle Relationnel
Manière de modéliser les relations existantes entre
plusieurs informations, et de les ordonner entre elles.
Cette modélisation repose sur des principes
mathématiques mis en avant par E.F. Codd et
implémentés dans une base de données relationnelle.
72
Modèle Relationnel
Relationnel:: Terminologie
Domaine : ensemble de valeurs caractérisé par un
nom
Relation : sous-ensemble du produit cartésien d'une
liste de domaines caractérisé par un nom unique
◦ représentée sous forme de table à deux dimensions
◦ colonne = un domaine du produit cartésien
◦ un même domaine peut apparaître plusieurs fois
◦ ensemble de tuples sans doublon
Attribut : une colonne dans une relation
◦ caractérisé par un nom et dont les valeurs appartiennent à
un domaine
◦ les valeurs sont atomiques
tuple : une ligne d'une relation correspondant à un
enregistrement.
73
Table
Une table de base de données est un tableau
lignes-colonnes.
Les colonnes sont des attributs (=caractéristique =
propriété = champ)
Les lignes sont les tuples de la table (tuple =
élément = individu = objet)
La table est aussi appelée : relation
74
Clé primaire
Un champ ou un ensemble de champs –
qui permet d’identifier chaque ligne dans
la table de façon unique – Deux
enregistrements ne doivent pas avoir la
même valeur pour la clé.
75
Clé étrangère
Un champs (ou ensemble de champs) est
clé étrangère dans une table s’il fait
référence à une clé primaire dans une
autre table.
76
Modèle Logique de données:
Règles de passage MCD MLD
Chaque ligne correspond aux données d'un
objet enregistré.
Chaque colonne correspond à une propriété de
cet objet.
Son identifiant devient la clé primaire de la
relation.
Les autres propriétés deviennent les attributs
de la relation.
77
Modèle Logique de données:
Le passage MCD-MLD se fait selon les
cardinalités des classes d'entité participant à
la relation:
◦ R1:si une des classes d'entités possède une
cardinalité faible: la table aura en plus de ses
attributs le/ les identifiant(s) de la seconde classe.
◦ R2: si les deux classes d'entités possèdent une
cardinalité forte: on crée une table qui aura
comme attributs, les attributs des deux classes de
relation précédés des noms des classes
respectives, puis le (ou les) attribut(s) de relation
78
Règles de passage:
79
Règles de passage:
80
Régles de passage:
Héritage:
81
Types de contraintes
Nom de contraintes Explication
82
LE LANGAGE SQL
83
SQL
Structured Query Language
LDD
Les instructions SQL:
LMD
8415
SQL: LANGAGE DE
SQL:
DESCRIPTION DE
DONNÉES
85
Langage de définition de données
Le langage de définition de données (LDD) est un langage
orienté au niveau de la structure de la base de données
permettant de/d’:
◦ créer, modifier, supprimer des objets.
◦ définir le domaine des données (nombre, chaîne de caractères,
date, booléen, . . .) et d’ajouter des contraintes de valeur sur les
données.
◦ autoriser ou interdire l’accès aux données.
88
Création de table
89
Création de table
Syntaxe:
Contrainte:
NOT NULL : empêche d’enregistrer une valeur nulle pour une colonne.
PRIMARY KEY : indiquer si cette colonne est considérée comme clé
primaire.
FOREIGN KEY : indique si cette colonne est considéré comme clé
étrangère
90
SQL AUTO_INCREMENT
Syntaxe
Cas particulier:
ALTER TABLE `nom_de__la_table` AUTO_INCREMENT=50;
Exemple:
91
Modification de table existante
Objectif: modifier une table existante.: ajouter une
colonne, supprimer une colonne ou modifier une
colonne existante, par exemple pour changer le type.
Syntaxe:
92
Modification de table existante: Instructions
Exemple
93
Modification de table existante: Instructions
94
Modification de table existante: Instructions
95
Supprimer /vider une table
Syntaxe:
◦ Supprimer table
◦ Vider table
Exemple
96
SQL: LANGAGE DE
SQL:
MANIPULATION DE
DONNÉES
97
Insérer une /plusieurs ligne (s)
Syntaxe
Exemple:
98
Mettre à jour une ligne
Syntaxe
Exemple:
99
Supprimer une ligne
Syntaxe
Exemple
100
Construction d'une requête SQL
Le raisonnement est le suivant :
101
I. La projection
Thème - Requête n° 1 :
Afficher la liste des adhérents (Nom,
Prénom, Code postal, Ville)
Où ? FROM ADHERENT
102
La projection
103
La restriction
Thème - Requête n° 2 :
Afficher la liste des adhérents (numéro,
nom, prénom, index) dont l’index est
inférieur à 20
Où ? FROM ADHERENT
105
Le tri
Thème - Requête n° 3 :
Afficher la liste des adhérents (nom,
prénom, code postal, ville) dans
l’ordre alphabétique du nom.
Où ? FROM ADHERENT
ORDER BY Nom_adh
Tri sur le nom
106
Le tri
ORDER BY
C’est une clause qui décrit les critères de TRI.
L’ordre croissant est traduit par ASC.
L’ordre décroissant est traduit par DESC.
En l’absence de paramètre, c’est ASC qui est
retenu par défaut.
107
Différents types de jointures SQL
(INNER) JOIN: Retourne les enregistrements ayant
des valeurs correspondantes dans les deux tables
108
Différents types de jointures SQL
RIGHT (OUTER) JOIN: Renvoie tous les
enregistrements de la table de droite et les
enregistrements correspondants de la table de gauche.
109
Fonctions d’agrégation statistiques
AVG() pour calculer la moyenne sur un
ensemble d’enregistrement
COUNT() pour compter le nombre
d’enregistrement sur une table ou une
colonne distincte
MAX() pour récupérer la valeur maximum
d’une colonne sur un ensemble de ligne.
Cela s’applique à la fois pour des données
numériques ou alphanumérique
MIN() pour récupérer la valeur minimum de
la même manière que MAX()
SUM() pour calculer la somme sur un
ensemble d’enregistrement
110
Fonctions d’agrégation statistiques
Syntaxe :
SELECT fonction(colonne) FROM table
Exemple:
SELECT COUNT(*) FROM table;
SELECT client, SUM(tarif) FROM achat GROUP BY client;
SELECT id, nom, MAX(prix) FROM produit
111
MODÈLE PHYSIQUE DE DONNÉES:
EXEMPLE : SGBD MS ACCESS
112
Access VS Excel
Access est un SGBDR qui permet de
gérer des volumes importants répartis
par nature dans des entités.
Les relations entre ses entités permettent
de rechercher d’imprimer des éléments
répartis dans différentes entités.
113
Access VS Excel
Dans les filtres Excel on manipule une seule table.
On fait appel à Access lorsqu’on manipule plusieurs tables.
L’intérêt est de ne jamais saisir des informations
redondantes.
Si les coordonnées client sont déjà là on ne saisi que le code
au niveau de ses commandes
Client Commande
114
Objets Access
Il existe 6 types d’objet Access:
115
Objets Access
116
Table
Ensemble de données relatives à un sujet
spécifique.
La table organise les données en colonne (
champs) et en ligne ( enregistrements).
Champ
Enregistrement
Nom Prénom Age
Hourmi Kamal 24
Nouri Salwa 13
117
Requêtes
Questions qu’on pose à la Base de
Données et dont on obtient la réponse
dans une feuille dynamique.
On peut afficher les données de la réponse,
les mettre à jour…
Access permet de faire des requêtes via
SQL ou via interface graphique.
118
Formulaire
Il sert à afficher et à modifier les
enregistrements d’une où plusieurs tables
un par un.
Il permet de faire des contrôles sur des
champs provenant des requêtes
Il contient des champs textes, listes
déroulantes, étiquettes, cases à
cocher…etc.
119
Etat
Sert à afficher et à imprimer les données
de la bases.
Permet de faire des regroupement et des
calculs provenant des champs d’un table
ou d’une requête
120
Macro
Ensemble de taches automatisés.
On peut associer une macro à un
formulaire ou un état au niveau des
contrôle sur des champs.
Access fournit un assistant de création de
macro simple VBA permet de créer
des macro complexe.
121
Prise en main ACCESS
Types de données
Texte : Réservé pour les libellés, maxi 255 caractères
Mémo : Texte long de 32000 car maxi, ils ne peuvent pas être
indexés.
Numérique : Type numérique
Date/heure : Type numérique date ou heure
Monétaire : Type numérique, précision jusqu’à 15 chiffres à gauche
de la virgule et 4 à droite.
NuméroAuto : Nombre automatiquement incrémenté par Access
à chaque nouvel enregistrement. On ne peut pas les mettre à jour.
Oui/Non : Type de données pouvant être Actif ou Inactif (case à
cocher).Ils ne peuvent pas être indexés.
Liaison OLE : Pour lier l’enregistrement à une image (visible en
formulaire et état). Ils ne peuvent pas être indexés.
Pièce jointe : Permet de pointer un ou plusieurs fichiers
Lien hypertexte: Pour permettre une saisie d'adresse qui sera
liée directement.
122
Prise en main ACCESS
Clé primaire
Création:
Si vous ne définissez pas vous même une clé, Access propose lors du 1er
enregistrement de la table de la rajouter, il rajoute un champ contenant un
incrément automatique.
Sélectionnez la ligne ou les lignes par CTRL et cliquez sur le bouton Ou
Ruban Outils de tables – création – bouton Clé Primaire
Suppression:
Activez le menu Ruban Outils de tables – création – bouton Index
Sélectionnez la ligne de la clé primaire
Activez la touche Suppr
Particularité :
Une clé primaire est un champs indexé sans doublon
Champ indexé : champ inscrit dans la table des index dans Access. Cela
permet d'accélérer la recherche sur ce champ.
Sans doublon : Deux enregistrements dans cette table ne pourront pas
avoir la même valeur dans le champ déclaré en clé primaire.
123
Prise en main ACCESS
Relation entre tables:
Création:
1/ Fermer toutes les tables
2/ Menu OUTILS DE BASES DE DONNEES – RELATIONS
3/Choisir par double-clique les tables ou requêtes voulues et fermer la
fenêtre
4/ Cliquez sur le champ de la table père et faire glisser la souris vers le champ
correspondant dans la table fils
5/ Activez l’option Appliquer l’intégrité référentielle dans la mesure ou vous
désirez interdire la saisie d’une valeur dans le champ de la clé étrangère de
la table fils qui n’a pas encore été saisi dans le champ de la clé primaire de
la table père.
6/ Activez éventuellement les options mettre à jour en cascade et /ou Effacer
en cascade.
124
Prise en main ACCESS
METTRE A JOUR EN CASCADE
Si actif : La modification de la valeur de la clé
primaire dans la table père implique la
modification de la clé étrangère dans la table fils.
Si inactif : Il n’est pas possible de modifier le
contenu d’une clé primaire dans la table père.
EFFACER EN CASCADE
Si actif : La suppression d’un enregistrement côté
table père implique la suppression de tous les
enregistrements côté table fils.
Si inactif : La suppression d’un enregistrement
côté table père est interdite.
125
Les Requêtes
Une requête permet de définir des
critères de sélection afin d'afficher les
données qui vous intéresse dans la base.
La requête est une question posée à
la base de données
Extraire les Ajout ou modification
informations dans une Table
126
Les Requêtes
Les types de requêtes:
Requête SELECTION
Requête ACTION (Mise à jour, Ajout,
Création de table, Suppression)
Requête ANALYSE CROISE pour des
analyses à double entrée
127
Requêtes
128
Définition des critères
> Strictement supérieur >= Supérieur ou égal
< Strictement inférieur <= Inférieur ou égal
<> Différent de
* remplace une chaîne de caractère et peut être
utilisé avec les champs déclarés en type texte et
date.
129
Définition des critères
130
Requête paramétrée
Quand le critère varie à chaque ouverture de la
requête, on définit une variable en lieu et place. Le
critère sera saisi dans une boite de dialogue à
l’ouverture.
Dans la ligne critère du champ à renseigner, tapez :
[Entrez la valeur voulue pour ce champ]:une donnée
Comme [Entrez la valeur voulu]: *une donnée
Entre [Saisir la 1ère valeur] Et [Saisir la dernière valeur]:
une sélection
131
Champs calculés
Méthode manuelle: Nom de la colonne :
[Champ]opérateur[Autre champ] Ou
Nom de la colonne : [Champ]opérateur
Constante
132
Types de Requêtes
➢ Requête création de table
Une table sera automatiquement créer lors de son
exécution. Si une table du même nom existe déjà, elle
sera écrasée après confirmation dans une boite de
dialogue.
➢ Requête ajout
Les enregistrements sélectionnés seront ajoutés à une
table existante. (Attention à la gestion automatique
des clés dans la table de destination).
➢ Requête mise à jour
Les enregistrements sélectionnés seront mis à jour dans
la table concernée. La formule ou les nouvelles
données se tape dans la ligne Mise à jour.
➢ Requête suppression
Les enregistrements sélectionnés seront supprimés.
133
Etapes de création;
1/ On génère la requête sélection avec les
champs et les critères de sélection
2/ On exécute une fois la requête pour
vérifier la cohérence des critères
3/ On choisit dans le menu Requête le type de
requête voulu et on termine l'information de
la requête suivant la nature de celle-ci.
4/ On exécute la requête par le menu Outils
de requête – Exécuter ou le bouton
On peut afficher la feuille de données qui va
être concernée par cette requête sans
l'exécuter immédiatement.
134
Formulaires
Trois modes d'affichage :
Mode création : pour modifier la
structure
Mode formulaire : pour saisir dans un
écran personnalisé
Mode feuille de données : pour saisir ou
visualiser en mode tableau
135
Mode création
136
Menu création
137
138
LES SOUS-
SOUS-FORMULAIRES
Le sous-formulaire permet de saisir
simultanément des informations dans deux
tables liées par une relation de 1 à n.
La table située côté 1 dans la relation
sera associée au formulaire principal.
Celle située côté n sera associée au
sous-formulaire.
Ces 2 formulaires seront visibles sous deux
noms différents, il est judicieux de leur
donner le même nom avec un suffixe pour
les différencier.
139
LES Etats
Un état permet de paramétrer un mode
d'impression.
Le mode état permet de visualiser l’état
à l’écran, avec une possibilité de se
déplacer par la touche Tabulation.
Le mode Aperçu permet d’effectuer un
aperçu avant impression.
le mode Page permet de paramétrer
cet état après l’avoir créer.
140
LES Etats
En-tête d'état : S'imprime une seule fois sur la
1ère page de l'état
En-tête de page : S'imprime en haut de chaque
page
En-tête de groupe : S'imprime en haut de
chaque groupe demandé
Détail : S'imprime une fois par enregistrement
Pied de groupe : S'imprime une fois en bas du
groupe effectué
Pied de page : S'imprime une fois pas page en
pied de page
Pied d'état : S'imprime une fois sur la dernière
page de l'état
141
Etiquettes
142
A l’application
143
Tutoriel de prise en main:
https://www.fbotutos.com/creer
https://www.fbotutos.com/creer--
base--de
base de--donnees
donnees--access.html
144
Mini Projet
Gestion des achats
Gestion des jeux olympiques de l’école
Gestion d’une bibliothèque
Gestion des voyages dans une agence
Gestion d’un hôtel
Libre choix…à condition qu’il soit
consistant
145