Vous êtes sur la page 1sur 40

Pr CHARANI FSJESM

Cours de Bases de donnes 1









Cours de Bases de Donnes
et
Travaux pratiques sous Access

Pr Charani
Pr CHARANI FSJESM
Cours de Bases de donnes 2
Objectifs
(Bases de Donnes)
Partage:
Les activits humaines gnrent de plus en plus
de donnes
Tout le monde veut y accder
Accs:
On veut un accs facile ces donnes
Ces donnes ont souvent la mme structure

Pr CHARANI FSJESM
Cours de Bases de donnes 3
Dfinition dune base de
donnes BD
Structure de donnes permettant de stocker, et de
fournir la demande, des donnes de multiples
utilisateurs.
Exemple 1 :
Organisation : Bibliothque
Donnes : Livres, Emprunts, Adhrents
Exemple 2 :
Organisation : Universit
Donnes : Etudiants, Enseignants, Cours, Notes,
..etc.
Pr CHARANI FSJESM
Cours de Bases de donnes 4
Dfinition dune base de
donnes

Une base de donne est un ensemble d informations
structures sous forme de Tables.
Une table est constitue des colonnes reprsentent les
champs de la table et les lignes reprsentent les
enregistrements de la table.

Pr CHARANI FSJESM
Cours de Bases de donnes 5
Proprits, attributs ou champs
Une table est constitue des colonnes
reprsentent les champs.
Un champ peut tre:
Naturel (le nom d'un employ, adresse, ...)
Artificiel (Num_Client)
Pr CHARANI FSJESM
Cours de Bases de donnes 6
Champs: Cls

Parmi, les champs dune table, il faut dsigner un ou
plusieurs champs cls de cette table.

Une cl est une combinaison minimale de proprits qui
permet d identifier d une manire unique un
enregistrement
Une cl peut tre simple (un seul champ) ou compose
(plusieurs champs)
Il y a deux types de cls :
Cl primaire (table principale)
Cl trangre (table secondaire)
Exemple: la cl primaire de la table clients(cin)

Pr CHARANI FSJESM
Cours de Bases de donnes 7
Dfinition d un SGBD
Systmes de Gestion de Bases de Donnes (DataBase
Management Systems - DBMS) :
Ensemble doutils permettant aux utilisateurs
de crer, insrer, modifier , supprimer et rechercher
efficacement des donnes spcifiques dans une grande
masse d'informations (pouvant atteindre plusieurs
milliards d'octets) et partage par de multiples
utilisateurs
Pr CHARANI FSJESM
Cours de Bases de donnes 8
Exemples de SGBDR
Un SGBD qui permet les relations entre les tables
de la base est dit un Systme Gestionnaire de
bases de donnes relationnelles SGBDR.

Exemple de SGBDR:
ACCESS
INFORMIX
ORACLE
SQLSERVER
etc.

Pr CHARANI FSJESM
Cours de Bases de donnes 9
SGBDR: ACCESS
Pr CHARANI FSJESM
Cours de Bases de donnes 10
Objets dACCESS
les tables: pour stocker des donnes ;
les formulaires: pour saisir des donnes et les visualiser
l'cran ;
les requtes: pour consulter et mettre jour des donnes ;
les tats: pour imprimer des donnes ;
les pages, pour communiquer avec la BD via un navigateur
(exemple: Internet Explorer uniquement) ;
les macros: pour automatiser des oprations rptitives
effectues sur la base ;
les modules: pour rajouter des fonctionnalits grce la
programmation VBA (Visual Basic for Applications).
Et dautres
Pr CHARANI FSJESM
Cours de Bases de donnes 11
Cration dune table
Mode cration

En mode cration, une fentre s'ouvre qui permet de dfinir la
table champ par champ, en prcisant le nom du champ et le
type de donnes qu'il contient.
Pr CHARANI FSJESM
Cours de Bases de donnes 12
Type de donnes dun champ
Chaque champ a un type de donnes
Pr CHARANI FSJESM
Cours de Bases de donnes 13
Type Proprits Taille
Texte
Le champ peut contenir n'importe quel caractre alphanumrique (chiffre,
lettre, signe de ponctuation).
< 256
caractres
Mmo
Le champ peut contenir n'importe quel caractre alphanumrique.
< 65.536
caractres
Numrique
Donnes numriques (non montaires)
1 16 octets
Date/heure
Donnes de date et/ou d'heure
8 octets
Montaire
Donnes montaires, prsentes avec deux chiffres aprs la virgule
8 octets
NumroAuto
Numrotation automatique, squentielle (commenant 1)
4 octets (entier
long)
Oui/non
Variable boolenne (deux valeurs possibles uniquement)
1 bit
Objet OLE
Pour lier un objet extrieur: tout fichier (document Word, feuille de calcul
Excel, etc.)
< 1 Go
Lien hypertexte Des URL de sites web et des adresses de courrier lectronique < 2049
caractres
Pr CHARANI FSJESM
Cours de Bases de donnes 14
Proprits
Pr CHARANI FSJESM
Cours de Bases de donnes 15
Proprits
Taille du champ : dfinit le nombre de caractres ;

Format : dfinit la manire dont les informations
s'affichent.

Masque de saisie : guide la saisie des donnes et
exerce un contrle.

Lgende : dfinit le nom de l'tiquette dans le
formulaire associ la table;

Valeur par dfaut : valeur qui s'affiche dans le
champ avant saisie par l'utilisateur ;
Pr CHARANI FSJESM
Cours de Bases de donnes 16
Proprits
Valide si : condition de validit du champ. Exemple : une
notation sur 20 doit tre comprise entre 0 et 20 ;
Message si erreur : ce message s'affiche si la condition de
validit prcdente n'est pas satisfaite ;
Null interdit : le champ correspondant ne peut rester vide
lors de la saisie d'un enregistrement ;
Chane vide autorise : le champ peut contenir une chane ne
comportant aucun caractre ;
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
caractre (pour les alphabets utiliss dans l'Europe de
l'ouest et dans le monde anglophone).
Pr CHARANI FSJESM
Cours de Bases de donnes 17
Caractre Description
0
Chiffre (0 9, entre obligatoire, signes plus
(+) et moins (-) non accepts).
9 Chiffre ou espace (entre facultative).
# Chiffre ou espace (entre facultative).
L Lettre (A Z, entre obligatoire).
? Lettre (A Z, entre facultative).
A Lettre ou chiffre (entre obligatoire).
a Lettre ou chiffre (entre facultative).
&
Caractre quelconque ou espace (entre
obligatoire).
Masque de saisie
Pr CHARANI FSJESM
Cours de Bases de donnes 18
Caractre Description
C
Caractre quelconque ou espace (entre
facultative).
. , : ; - /
Sparateurs de dcimales, de milliers, de date
et d'heure
< Convertit tous les caractres en minuscules.
> Convertit tous les caractres en majuscules.
\
Affiche le caractre qui suit sous sa forme
ASCII littrale (par exemple, \A s'affiche
sous la forme A).
Pr CHARANI FSJESM
Cours de Bases de donnes 19
Valide si et message erreur
Proprit ValideSi MessageSiErreur
<> 0
L'entre doit avoir une valeur
diffrente de zro.
> 1000 Ou Est Null
L'entre doit tre vide ou
suprieure 1000.
Comme "A????"
L'entre doit comporter 5
caractres et commencer par
la lettre A .
>= #1/1/96# Et
<#1/1/97#
L'entre doit dater de 1996.
Pr CHARANI FSJESM
Cours de Bases de donnes 20
Relations dans une base de
donnes Access

Aprs avoir dfini plusieurs tables dans votre base
de donnes(Clients, commandes, produits et
lignes)
La premire tape consiste dfinir des relations
entre les diffrentes tables.
Aprs vous pouvez :
saisir des donnes en utilisant des formulaires,
tablir des requtes
diter des tats
Pr CHARANI FSJESM
Cours de Bases de donnes 21
Relations dans une base de
donnes Access
Une relation est une association entre deux
tables
Une relation a pour principe la
correspondance des donnes des champs
cls de deux tables :
Ces champs sont la cl primaire et la cl
trangre.
Pr CHARANI FSJESM
Cours de Bases de donnes 22
Relation un--plusieurs
La relation un--plusieurs est la plus courante.
Dans ce type de relation:
un enregistrement de la table A peut tre mis en
correspondance avec plusieurs enregistrements de la
table B,
Et chaque enregistrement de la table B ne
correspond qu'un enregistrement de la table A.

Pr CHARANI FSJESM
Cours de Bases de donnes 23
Relation plusieurs--plusieurs
Dans une relation plusieurs--plusieurs,
un enregistrement de la table A peut tre mis en correspondance
avec plusieurs enregistrements de la table B,
et inversement, un enregistrement de la table B peut tre mis en
correspondance avec plusieurs enregistrements de la table A.

Ce type de relation n'est possible qu'aprs dfinition d'une troisime
table (appele table de jonction)
Une relation plusieurs--plusieurs n'est en fait rien d'autre que deux
relations un--plusieurs avec une troisime table.


Pr CHARANI FSJESM
Cours de Bases de donnes 24
Relation un--un
Dans une relation un--un:
Chaque enregistrement de la table A ne peut correspondre qu'
un enregistrement de la table B,
Et inversement, chaque enregistrement de la table B ne peut
correspondre qu' un enregistrement de la table A.

Vous pouvez utiliser une relation un--un :
Pour diviser une table qui a de nombreux champs,
Pour isoler une partie d'une table pour des raisons de scurit,
Pr CHARANI FSJESM
Cours de Bases de donnes 25
Exemple de relations
Pr CHARANI FSJESM
Cours de Bases de donnes 26
L'intgrit rfrentielle
L'intgrit rfrentielle est un systme de rgles qui est
utilis pour garantir les relations entre les tables en cas de
mise jour (ajout, modification et suppression).

Vous pouvez mettre en uvre l'intgrit rfrentielle si
toutes les conditions suivantes sont runies :
Le champ correspondant de la table principale est une
cl primaire.
Les champs lis ont le mme type de donnes.
Les deux tables doivent appartenir la mme base de
donnes.
Pr CHARANI FSJESM
Cours de Bases de donnes 27
L'intgrit rfrentielle
Les rgles suivantes dintgrit rfrentielle s'appliquent quand vous
cochez la premire option et ne cochez pas les deux autres options :
Au moment de la saisie les donnes doivent tre valides :
Dans le champ cl trangre vous ne pouvez pas saisir une valeur qui
n'existe pas dans la cl primaire de la table principale.

Vous ne pouvez pas modifier une valeur cl primaire dans la table
principale si cet enregistrement a des enregistrements lis:
Par exemple, vous ne pouvez pas modifier le CIN d'un Client dans la table
Client si des commandes lui sont affectes dans la table Commandes.
Vous ne pouvez pas effacer un enregistrement de la table principale si
des enregistrements correspondants existent dans une table lie:
Par exemple, vous ne pouvez pas effacer l'enregistrement d'un client dans
la table Clients s'il y a des commandes affectes celui-ci dans la table
Commandes.

Pr CHARANI FSJESM
Cours de Bases de donnes 28
Mises jour et suppressions en
cascade
Vous pouvez modifier une valeur cl primaire
dans la table principale si cet enregistrement a
des enregistrements lis. Alors ces
enregistrements subissent les modifications
apportes.
Vous pouvez effacer un enregistrement de la
table principale si des enregistrements
correspondants existent dans une table lie.
Alors ces enregistrements seront supprims

Pr CHARANI FSJESM
Cours de Bases de donnes 29
Les requtes

Une requte est un ensemble dinstructions
permettant :

de filtrer, dajouter, de mettre jour , de
supprimer des donnes, deffectuer une
analyse croise ou de crer une base de
donnes.

Pr CHARANI FSJESM
Cours de Bases de donnes 30
Types de requtes
Une requte peut tre de type:
Requte de slection
Requte dajout
Requte de Mise jour
Requte de suppression
Requte analyse croise
Requte de Cration

Pr CHARANI FSJESM
Cours de Bases de donnes 31
Les mode de requtes


Sous Access il y a deux modes de requtes:
Mode QBE : Query by exemple
Mode SQL : Structured Query language
Pr CHARANI FSJESM
Cours de Bases de donnes 32
Les requtes
(Mode QBE :Mode Cration)
Requte de slection en mode cration :
Dans la fentre de la base de donnes,
slectionner lobjet Requtes
puis cliquer sur Crer une requte en
mode cration ou dans le menu de la BD
cliquer sur Nouveau puis sur mode
cration .
Choisir les tables qui sont concernes par
votre requte :
Pr CHARANI FSJESM
Cours de Bases de donnes 33
Requte de slection en mode
Cration

Pr CHARANI FSJESM
Cours de Bases de donnes 34
Requte de slection en mode
Cration
Champs : Slectionner les champs afficher
Tables : Slectionner les tables exploiter
Tri : type de Tri des donnes (croissant, dcroissant,
non tri)
Afficher : Activer ou dsactiver laffichage des champs
Critres : Spcifier les critres de recherche
OU : Si vous avez deux conditions regroupes par ou, la
deuxime condition est spcifie dans la ligne OU.
Si les condition sont regroupes par loprateur ET alors elles sont
spcifies dans la mme ligne CRITERES.
Pr CHARANI FSJESM
Cours de Bases de donnes 35
Dfinition dune condition (critre de recherche) :
Une condition est de la forme :
Champ oprateur_de_comparaison critre
Oprateurs de comparaison :
<, <=
>, >=
= galit
<> Diffrent
Oprateurs particuliers
In (liste de valeurs spares par des points
virgules)
Comme ou pas comme pour les champs de type texte
Oprateurs logiques :
Et et ou
condition1 ET condition2
condition1 OU condition2
Pr CHARANI FSJESM
Cours de Bases de donnes 36
Exemple de Requte de slection en mode Cration

Afficher tous les clients





Pr CHARANI FSJESM
Cours de Bases de donnes 37
SELECT liste_de_colonnes_ou_champs +liste_fonctions + alias
FROM liste_de_tables
WHERE Conditions_de_recherche

ORDER BY liste_champs [ASC/DESC]
GROUP BY liste_champs
HAVING conditions_sur_fonctions ;
Mode SQL :
Requtes dextraction :
Lextraction des donnes se fait par le mot cl SELECT qui signifie
Slectionner
Structure gnrale dune requte dextraction :

Pr CHARANI FSJESM
Cours de Bases de donnes 38
INSERT INTO tables(liste_champs)
Values(liste_valeurs);
Mode SQL :
Structure gnrale dune requte dajout:





Pr CHARANI FSJESM
Cours de Bases de donnes 39
UPDATE table SET mise__jour
WHERE condition;
Mode SQL :
Structure gnrale dune requte de mise jour:





Pr CHARANI FSJESM
Cours de Bases de donnes 40
DELETE champs
FROM table
WHERE condition;
Mode SQL :
Structure gnrale dune requte de suppresion: