Vous êtes sur la page 1sur 31

1

Qu’est ce qu’une BD et un SGBD


• Base de données (BD): ensemble structuré et non redondant de données
enregistrées sur un support de stockage informatique.
• Système de gestion de base de données (SGBD): permet l’accès aux
données à plusieurs utilisateurs de manière sélective et simultanée, via des
interrogations (requêtes).
• Qualités importantes de la BD:
– Exhaustivité: contenir toutes les données requises pour le service souhaité.
– Unicité: la même donnée n'est présente qu'une seule fois (pas de doublons).
• Fonctions importantes du SGBD:
– Rechercher, insérer, sélectionner, modifier et supprimer les données. Abrégé
par SCRUD (Search, Create, Read, Update, Delete).
– Sécurité: vérifier les droits d'accès des utilisateurs sur les données.
– Intégrité: définir des règles qui maintiennent une cohérence des données
compte tenu de leur structure (unicité, type, …).
– Concurrence d'accès: détecter les cas où il y a conflit d'accès entre plusieurs
utilisateurs et les traiter correctement.
2
Qu’est ce que Microsoft Access
• Access est un SGBD relationnel* (SGBD-R) lancé en 1992.
• Fonctionne sous Microsoft Windows et est l'un des SGBD-R les plus simples et les
plus utilisés actuellement. Il existe d'autres SGBD-R plus puissants (Oracle et SQL
Server)
• Les données y sont organisées en ensembles structurés (tables) reliés entre
eux (relations). Le MLD est directement implémenté dans le SGBD Access.
• Les informations souhaitées sont obtenues en interrogeant (par des requêtes) la
BD.
• Access est un logiciel intégré dans le package de MS Office (avec Word et Excel)
• On enregistre une BD réalisée avec Access sous forme de fichier. Son extension
dépend de la version utilisée d'Access:
• sous Access 2007 ou plus, l'extension est .accdb, pour « access database »
• sous Access 2003, l'extension est .mdb, pour "microsoft database"
• Une BD est un objet, pouvant lui-même contenir d'autres types d'objets (tables,
requêtes, formulaires, états, macros et modules).

* Un SGBD-R est utilisé pour une BD-R (basée sur les tables) 3
Objectifs de la manipulation sous Access 2013:
1. Création d’une BD
2. Création, paramétrage et saisie des enregistrements d’une
table
3. Les requêtes de sélection, d’ajout, de mise à jour et de
suppression
4. Les relations
5. Requêtes sur une relation
6. Les formulaires
7. Les états

MLD utilisé (MLD-exercice 1 avec plus de champs):


Client(NumClt,CiviliteClt,NomClt,PrenomClt,AdresseClt, CPClt,VilleClt,TelClt,DateNaissanceClt)

4
1- Créer une BD

Ouvrir Access 2013 – clic Base


de données du Bureau vide –
Nom de ficher = BDClient
choisir l’emplacement de
stockage - clic créer

5
1- Créer une BD

Access crée automatiquement une table nommée Table 1, ouverte en mode feuille de
données. Ce mode permet la saisie directe des données. 6
2- Création et paramétrage d’une table
• Clic onglet Accueil – Affichage - Choisir
mode création. Ce mode permet de
paramétrer la table.
• Saisir nom de la table = Client
• Ajouter les champs de Client (voir MLD)
en précisant leur type souhaité (texte,
numérique, date/heure, ….).

• CiviliteClt: uniquement 3 choix


possibles: Mme., Mlle. et M:
- Onglet Liste de choix – Contrôle de
l’affichage choisir Zone de liste
déroulante
- Origine source choisir Liste valeurs
- Contenu remplir les choix
- Limite à liste oui, interdire d’enter du
texte libre
- Autoriser plusieurs valeurs non,
choisir une seule valeur à la fois
- Autoriser la modification non,
interdire l’ajout d’éléments dans la liste
2- Création et paramétrage d’une table
• NomClt et PrenomClt : Type=Texte court,
propriété Taille du champ = 30 et ne peuvent
être vides (propriété Null interdit = Oui)
• AdresseClt : Type=Texte court, Taille du
champ = 50 et peut être vide (propriété Null
interdit = Non)
• VilleClt: Type=Texte court, Taille du champ =
30

• Pour CPClt (exemple 80000) : Type=Texte court,


Taille du champ = 5, propriété Masque de
saisie=99999. Cette propriété permet de définir un
format bien précis ( ici 5 chiffres).
• TelClt : Masque de saisie=99 99 99 99 99. possibilité
de mettre « - » ou « . » à la place des espaces.

• N.B: le masque de saisie ne fonctionne qu’avec type


texte ou date et permet de préciser la forme que
prendra le champ.

8
2- Création et paramétrage d’une table
• DateNaissanceClt : Type=date/heure ,
Masque de saisie clic sur les pointillés,
plusieurs formats possibles. Choisir date
abrégée
• Possibilité de choisir pour propriété
Format=Date, abrégé

• NumClt : possède le symbole de la clé primaire.


Ainsi, ce numéro ne peut ni être changé ni
supprimé.
• NumClt de type NumeroAuto: Access génère
automatiquement un numéro unique (augmenté
de 1 du précédent) à la création de chaque
enregistrement (même si l’enregistrement
précédent est supprimé). 9
2- Saisie des données d’une table

• Choisir onglet Affichage - mode feuille de données.


• Saisir des enregistrements de Client.
• Access attribue automatiquement NumClt après chaque saisie. Il ne peut être ni modifié
ni supprimé.
• Même après suppression d’un enregistrement, NumClt est incrémenté (augmenté de 1)
sans tenir compte de la suppression.
• Rappel: NomClt et PrenomClt ne peuvent pas être vide. CPClt, TelClt et DateNaissanceClt
ont des masques de saisie qui imposent leur forme.

10
3- Les requêtes
Requêtes: interroger la BD pour obtenir une information.

• Clic Onglet Créer- Création de requête.


• Sélectionner les tables de la requête (ici
Client).
• On obtient une fenêtre Requête 1 qu’on
peut renommer en l’enregistrant.

• On a plusieurs types de requêtes qui s’affichent sous l’onglet Créer.


• Après le paramétrage de chaque requête, clic sur exécuter pour afficher le résultat
11
3.1 – Requêtes de sélection (1)
Requêtes de sélection: sélectionner les enregistrements suivant certains critères

• Objectif 1: Afficher toutes les informations sur les clients habitant Agadir, sauf NumClient.
• Double clic sur chaque champ Client pour l’afficher dans la liste des choix. Pour ne pas
afficher NumClt, il faut décocher la case Afficher.
• Champ VilleClt : critère: Agadir. Enregistrer la requête comme SelectAgadir.
• Clic exécuter pour afficher le résultat.

12
3.1 – Requêtes de sélection (2)
• Objectif 2: connaitre les clients qui habite
Agadir ou Rabat.
• Même requête, mais ajouter dans la ligne
Ou: Rabat, puis exécuter

• Objectif 3: connaitre tous les clients nés entre 1958 et 1978.


• Créer- Création de requête, Sélectionner Client – Sélectionner tous les champs de Client,
saisir dans DateNaissanceClt, critère: >=01/01/1958 Et <=31/12/1978
• clic exécuter

N.B: Quand on exécute une requête à nouveau, leurs résultats se mettent à jour
automatiquement en incluant les nouveaux enregistrements ajoutés et adaptés aux critères.

13
3.2 – Requêtes de suppression
Requêtes de suppression: supprimer un ou plusieurs enregistrements d’une table

• Objectif: Supprimer le client avec NumClt 3 (on peut choisir n’importe quel critère)
• Onglet Créer - Création de requête – choisir table Client - choisir type suppression
• propriété Champ: sélectionner NumClt. Propriété Table: sélectionner Client. Propriété
Supprimer Choisir Où. Propriété Critère taper 3
• Nommer Supprime. Clic exécuter. Un message demande si on souhaite effectivement
supprimer des lignes. Clic sur Oui

14
3.3 – Requêtes de mise à jour (1)
Requêtes de mise à jour: modifier un ou plusieurs enregistrements d’une table selon un ou
plusieurs critères.

• Objectif 1: modifier le CPClt 10000 par 10002 (on peut choisir n’importe quel critère)
• Onglet Créer - Création de requête – choisir table Client - choisir type mise à jour
• Propriété Champ: sélectionner CPClt. Propriété Table: sélectionner Client. Propriété Mise à
jour: 10002 (nouvelle valeur). Propriété Critère: 10000 (valeur à modifier).
• Nommer la requête MajCP. Clic exécuter
• Un message demande si on souhaite effectivement mettre à jour des lignes, Clic Oui

15
3.3 – Requêtes de mise à jour (2)

• Objectif 2: mettre à jour DateNaissanceClt de FALAHA Aicha avec la date 01/05/1964


• Onglet Créer - Création de requête – choisir table Client - choisir type mise à jour
• Propriété Champ: sélectionner DateNaissanceClt. Propriété Table: sélectionner Client.
Propriété Mise à jour : 01/05/1964
• La propriété critère concerne NomClt et PrenomClt et non pas DateNaissanceClt qui est le
champ à mettre à jour:
- Mettre entre [ ] le champ sur lequel va porter le critère, puis = valeur du critère.
- On met un ‘et’ car on introduit 2 critères (on met un ‘ou’ si l’un ou l’autre des critères est
valable).
- Ainsi, la propriété critère prend la valeur [NomClt]=FALAHA et [PrenomClt]=Aicha
• Nommer la requête MajDate. Clic exécuter
• Un message demande si on souhaite effectivement mettre à jour des lignes, Clic Oui

16
4- Les relations
Requêtes des relations: Lier deux tables entre elles.
Client(NumClt,CiviliteClt,NomClt,PrenomClt,AdresseClt, CPClt,VilleClt,TelClt,DateNaissanceClt)

• En plus de la table Client déjà créée, on crée les deux tables Commande et Article
(en ignorant, pour le moment, les clés étrangères précédées par un #).

Prix unitaire: Null interdit: Oui DateCmd: Null interdit: Oui


Type: Monétaire Format: Date, abrégé et Masque de saisie: date, abrégé

• Ensuite, on remplit ces 2 tables avec quelques enregistrements.

17
4- Les relations
• Objectif 1: Ajouter NumClt comme une clé étrangère dans la
table Commande (Cas de la Règle 2: Association x:1-x:n).
• Ajoute dans Commande un champ NumClt type numérique.
Enregistrer et fermer Client et Commande.
• Clic Onglet Outils de base de données – Relations –
sélectionner par double clic les tables à mettre en relation
(Client et Commande).
• Sélectionner et Glisser le champ NumClt de Client vers le
champ qui porte le même nom dans Commande. Cocher
appliquer l’intégrité référentielle.

• Rôle de l’intégrité référentielle: garantir que les relations entre les enregistrements dans les
tables liées sont valides. Empêche les données liées d’être modifiées ou effacées par erreur.
18
4- Les relations
• Clic sur créer. Fermer l’éditeur des relations et
enregistrer
• Attention! Le schéma obtenu n’est pas une
cardinalité.

• Ouvrir Commande, remplir NumClt par des numéros de client déjà existants.
• En cas de sélection de l’intégrité référentielle, Il est impossible de renter dans Commande
un NumClt qui n’existe pas dans déjà dans Client. Un message d’erreur empêche cela.

19
4- Les relations
Remarque importante
• Dans la configuration actuelle, il est possible d’ajouter une commande sans préciser NumClt.

• Dans notre schéma MCD, la cardinalité est de (1,1) du côté


Commande. Il faut que chaque Commande dispose d’un
NumClt. Pour cela, sélectionner Commande – mode
création - NumClt – propriété Null interdit – Oui

• Avec ce nouveau paramétrage, le MCD conçu pour notre


base de données sera respecté. Un message d’erreur
interdira d’enregistrer une commande sans saisir NumClt.

20
4- Les relations
• Après l’ajout de la relation entre Client et
Commande, un symboles « + » apparait près
de chaque enregistrement de Client.
• Au Clic sur +, les enregistrement de
Commande relatifs à ce client apparaissent
(s’il a déjà passé des commandes)

Remarque importante:
• Grâce à l’intégrité référentielle, un message d’erreur
rend impossible de supprimer un client s’il a effectué des
commandes. On a donc deux choix pour ce faire:
- Soit on supprime d’abord ses commandes, puis le
client. Il n’est pas pratique de faire cela tout le temps.
- Soit on sélectionne outils de base de données –
Relations – double clic sur la relation actuelle -
sélectionner les deux derniers champs. Après cela et à
la suppression d’un client, un message nous informe
que des lignes d’autres tables seront supprimées.

21
4- Les relations
• Objectif 2: Créer la nouvelle table Concerne, composée
du NumCmd, RefArt et quantite (Cas de la Règle 3:
Association x:n-x:n). Les 3 de type numérique et null
interdit oui. On ne met pas de clé primaire. Enregistrer
et Fermer la table.
• Clic Onglet Outils de base de données – Relations –
sélectionner par double clic les tables à mettre en
relation (Article et Concerne, Commande est déjà
sélectionnée).
• Sélectionner et Glisser le champ RefArt d’Article et
NumCmd de Commande vers les champs qui portent le
même nom dans Concerne. Cocher les 3 cases dans le
fenêtre. Enregistrer et Fermer.
• Ouvrir Concerne- mode création - sélectionner les 2
clés étrangères en même temps – leur appliquer la clé
primaire.
• Saisir quelques lignes dans cette table.
• Impossible d’entrer des RefArt ou NumCmd qui
n’existent pas déjà,
• Impossible d’entrer deux lignes avec le même
NumCmd et RefArt à la fois.
22
5 – Requête sur une relation

• Objectif: afficher les numéros (NumCmd) et les dates des commandes (DateCmd) de chaque
client (NumClt, NomClt et PrenomClt) ainsi que le libellé des articles inclus (LibelleArt) et leur
quantité (Quantite), avec tri selon NomClt
• Clic Créer - Création de Requête - sélectionner Client, Commande, Article et Concerne.
• Sélectionner: Dans Client: NumClt, NomClt (Trie) et PrenomClt. Dans Commande: NumCmd et
DateCmd. Dans Article: LibelleArt. Dans Concerne: Quantite. Enregistrer sous ReqRelation
puis Exécuter.
• Remarque: Seuls les enregistrements ayant une valeur pour toutes les clés primaires des
tables sélectionnées sont affichées.

23
6– Les formulaires
Formulaire: permet de saisir des données d’une façon conviviale par l’utilisateur final. Il peut
aussi servir à la recherche, la modification ou la suppression des données.

• Objectif: Créer un formulaire pour saisir les clients par un utilisateur final.
• Clic onglet Créer – Formulaire. Access 2013 affiche un formulaire avec tous les champs de la
table sélectionnée.
• Supprimer des champs du formulaire en cliquant dessus – touche clavier supprimer (ici
supprimer NumClt qui est saisi automatiquement).
• Clic onglet création –bouton ajouter champs existants - lien afficher tous les tableaux24 pour
ajouter des champs d’autres tableaux.
6– Les formulaires
• 3 modes d’affichage: formulaire pour la saisie des données, création
pour le paramétrage, page pour modifier la conception alors que les
données sont affichées
• Clic onglet création – clic zone de liste et tracer un rectangle en dessous
des champs, qui contiendra les enregistrements déjà effectués. Un
assistant est affiché (suivant, suivant, sélectionner tous les champs, Tri
par NumClt ordre croissant, désélectionner colonne clé cachée, suivant,
suivant, étiquette Liste Clients, terminer).
• Inclure bouton de commande d’ajout: Clic onglet création – clic bouton
et tracer un rectangle en dessous des champs. Un assistant est affiché
(select opération sur enrg. et ajouter un nouvel enreg., Texte= Ajouter
Client, Nom bouton AjoutClt, terminer)

25
6– Les formulaires

26
6– Les formulaires

• Ajouter une action au bouton: Clic bouton Ajouter Client –création –feuille de propriétés –
Evènement - sur clic - … L’outils de macro s’affiche pour sélectionner le catalogue d’actions
possibles
• Ajouter l’action Actualiser en double cliquant - enregistrer – fermer. Cela permet
d’actualiser la liste des clients juste après l’ajout.
• Macros: ensemble d'actions prédéfinies qui vont s'exécuter automatiquement 27
et
successivement à l'appel de la macro.
6– Les formulaires

• A l’ajout d’un nouveau Client, clic sur bouton Ajouter client, entrer les informations puis clic
sur Ajouter Client une autre fois. La nouvelle entrée apparait directement en dessous de la
liste.

28
7– Les états
Etats: mettre en page et synthétiser les données afin de les visualiser et les imprimer

N.B: L'utilisateur d'une BD (autre que le concepteur), ne manipule que les formulaires et les
états. Il ne voit ni les tables, ni les requêtes.

• Sélectionner l’onglet créer – Etat. Access 2013 affiche un état avec tous clients saisis.
• On peut supprimer les champs non désirable de la même manière que pour le formulaire.
• 4 modes d’affichage: état pour l’affichage de l’état, création et page (même fonction que le
formulaire) et aperçu avant impression
• Comme pour les formulaires, possibilité d’ajout de champs d’autres tables.
• On peut trier par NumClt: mode Création – onglet création – bouton Regrouper et Trier –
Ajouter un tri – Choisir NumClt.
• Modifier l’état en mode création pour donner une bonne présentation 29
Remarques générales

• Toutes les manipulations réalisées depuis le début de ce chapitre sont effectuées par
l’administrateur (le créateur) de la BD.
• L'utilisateur d'une BD (autre que le concepteur) ne manipule que les formulaires et les
états. Il ne voit ni les tables, ni les requêtes.
• Les formulaires et les états sont créés et paramétrés par le concepteur et mis à
disposition de l’utilisateur final, dans une application ou un site web, pour les manipuler.
• Chaque requête dispose d’un mode SQL, qui permet de visualiser et modifier la requête
dans le langage SQL (Structured Query Language, en français langage de requête
structurée)
• SQL est un langage informatique servant à interroger toutes les BD relationnelles
quelque soit le SGBD utilisé.
• Exemple de requête de sélection en SQL de tous les champs des clients habitant Agadir:
select * from Client where VilleClt=Agadir

30
Conclusion
Points à retenir:

- Etapes de création d’une base de données

- Etapes de création d’une table et différence entre mode feuille de


données et mode création

- Saisie des données dans les tables et les types de données les plus
importants

- Requêtes de sélection, de suppression et de mise à jour

- Construction des relations

- Création des formulaires et états et leurs rôles


31

Vous aimerez peut-être aussi