0% ont trouvé ce document utile (0 vote)
52 vues35 pages

BD - Cours 4si

BD_Cours 4si

Transféré par

fenniyasmine8
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)
52 vues35 pages

BD - Cours 4si

BD_Cours 4si

Transféré par

fenniyasmine8
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

Chapitre I 4eme SI (BD)

Notion de bases de données

I. Introduction à la gestion des données :


1. Notion de données et d’information :
Activié1 :
 Une société veut ranger toutes les informations qui la concernent. Quels sont les
moyens que cette société peut adapter ?
Des fiches en papier
Des documents numériques (Word, Excel,…)
 Un médecin désir informatiser la gestion de ses consultations. Suite à une interview
avec lui, on dégage les opérations suivantes :
 La création d’une nouvelle fiche patient
 L’édition d’une ordonnance
 La prise des rendez-vous…
En lui demandant la description de la fiche patient il nous communique les données
suivantes :
Entité Fiche Patient
Référence patient Valeurs
Attributs ou Nom appartenant à un
propriétés Prénom domaine
Date de naissance
Téléphone
Activié2 :
Identifier quelques données utilisées dans les domaines suivants:
 Un lycée
 Un restaurant

a- Définition1 :
Une donnée est une description élémentaire d’une information.

b- Définition2 :
Plusieurs données regroupées et se rapportant à un même domaine donnent naissance à
l’information.

c- Eléments constituant une information :


L’information se réfère à un objet du monde réel : c’est l’entité.
Une entité est décrite par un ensemble de données : c’est les attributs (propriétés)
Un attribut prend des valeurs différentes ayant un type de données bien déterminé (texte,
numérique, date….)
Les entités peuvent avoir des liens (associations) entre elles.
Exemple :
 Professeurs élèves

2. La persistance :
Une donnée doit être sauvegardée pour qu’on puisse la retrouver à chaque fois quand c’est
nécessaire. En général, on pense toujours à la persistance des volumes où on va stocker les
données.
La pérsisitance mémorisation + disponibilité (des données)

-1-
Chapitre I 4eme SI (BD)
Lorsqu’on mémorise les données, deux aspects sont pris en considération :
 Le type du support de mémorisation : le type de support est choisi selon la durée de
mémorisation : disque dur (local, sur serveur), CD…….
 Le format de mémorisation : c’est l’ensemble d’attributs qu’on va enregistrer pour
une donnée.
La persistance des données peut être assurée grâce à plusieurs organisations :

a. L’organisation en papier :
Fiches, registre, cahier……
 Contraintes :
 Délais de recherche.
 Problème de sécurité.
 Volume important.
 Classement et tri difficile.

b. L’organisation en fichiers :
Un fichier (file) est un ensemble de données strucutées stocké sur une mémoire de masse.
Ces données se présentent sous forme d’enregistrements (Record).
 Contraintes :
 Lourdeur d’accès aux données : il faut écrire un programme pour accéder aux
données.
 Manque de sécurité : tout programmeur peut accéder aux fichiers.
 Risque de redondance de données : les mêmes données peuvent être stockées
dans différents fichiers. Ce qui entraîne l’incohérence (les modification peuvent ne
pas toucher la totalité des copies), en plus du gaspillage de l’espace mémoire.

Conclusion :
Un système d’information doit être cohérent, directement accessible et doit offrir des réponses
immédiates aux questions qui lui sont posées. Ce qui a donné naissance au concept de base de
données.

II. Base de données :


Activié3 :
Soient les trois fiches suivantes représentent la gestion d’un club vidéo.
Fiche Cassette Fiche Cassette Fiche Cassette

CodCas : 1 CodCas : 2 CodCas : 3


TitreFilm : Défi TitreFilm : Tout le TitreFilm : Les
Type : Policier monde Aventures
Disponible : Oui Type : Comédie Type : Dessins
Disponible : Non Animés
Disponible : Oui
Questions :
1. Quelles sont les données nécessaires au vendeur pour pouvoir gérer le club vidéo ?
2. Comment trouve-t-on la demande des clients par rapport aux données des fiches cassette ?
3. Soit le tableau suivant : Identifier et intituler les colonnes de ce tableau ?

1 Défi Policier Oui


2 Tout le monde Comédie Non
3 Les Aventures Dessins Animés Oui

-2-
Chapitre I 4eme SI (BD)
1. Définition d’une base de données :
C’est un ensemble de données cohérentes, relatives à un domaine donné, non redondantes,
structurées et persistantes.
Une base de données est une entité dans laquelle il est
possible de stocker des données de façon structurée et
avec le moins de redondance possible. Ces données
doivent pouvoir être utilisées par des programmes, par des
utilisateurs différents. Ainsi, la notion de base de données
est généralement couplée à celle de réseau, afin de
pouvoir mettre en commun ces informations. L’ordinateur
qui gère cette base de données est dit serveur de données.

2. Intérêts de l’utilisation des bases de données :


Les avantages de l’utilisation des bases de données sont :
 Centralisation des données : les données sont stockées dans une mémoire
centrale pour éviter les redondances.
 Indépendance entre données et programmes : les données sont décrites
indépendamment des programmes qui les gèrent.
 Intégration des liaisons entre les données : les programmes ne gèrent plus les
liens entre les données. C’est plutôt le rôle de la base de données.
 Intégrité de données : les données doivent représenter ce qui se produit dans la
réalité.
 Partage de données (accès concurrent) : la base de données offre à plusieurs
utilisateurs d’accéder en même temps aux mêmes données.

3. Les modèles des bases de données :


a. Le modèle Hiérarchique :
Les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle
utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de BD.

Le modèle hiérarchique
b. Le modèle Réseau :
Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements.
Toutefois la structure n'est plus forcément arborescente dans le sens descendant.

Le modèle réseau
c. Le modèle Relationnel :
Les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La
manipulation de ces données se fait selon la théorie mathématique des relations.

-3-
Chapitre I 4eme SI (BD)
Le modèle relationnel
d. Le modèle Orienté Objet :
Les données sont stockées sous forme d'objets, c'est-à-dire de structures appelées classes
présentant des données membres. Les champs sont des instances de ces classes

Le modèle orienté objet

-4-
Chapitre II 4eme SI (BD)

Notion De Gestion De Bases De Données

I. Introduction:
Une base de données permet de regrouper des données au sein d'un même
enregistrement. Cela est d'autant plus utile que les données. Afin de pouvoir contrôler les
données ainsi que les utilisateurs, le besoin d'un système de gestion s'est vite fait ressentir. La
gestion de la base de données se fait grâce à un système appelé SGBD (système de gestion de
bases de données) informatiques sont de plus en plus nombreuses.

II. Définition D’un Système De Gestion De Bases De Données :


Le SGBD est un ensemble de services (applications logicielles) permettant de gérer les
bases de données, c'est-à-dire:
 permettre l'accès aux données de façon simple,
 autoriser un accès aux informations à de multiples utilisateurs,
 manipuler les données présentes dans la base de donnés (insertion, suppression,
modification).
Un SGBD est composé de deux éléments principaux :
Le moteur : c’est la composante principale d’un SGBD. Il permet le stockage des
informations sur un support physique et gère l'ordonnancement des informations.
L’interface : facilite la manipulation de la base de données par l’utilisateur.

III. Les Fonctions D’un Système De Gestion De Bases De Données :


1. Définitions De Données :
Description des objets de la base de données (entités), leurs attributs, les liens
(associations) et les contraintes sur les entités, les attributs ou les associations. Ces moyens
constituent le langage de description de données (LDD).
Exemple : Création des entités : élève, classe, professeur et matière.

2. Manipulation Des Données :


Création, recherche et mises à jour de la structure de la base de données (modification,
suppression, saisie de données). Ces moyens constituent le langage de manipulation de
données (LMD).
Exemple :
Insérer un nouvel élève.
Modifier l’horaire d’une matière.
Supprimer une classe.
Rechercher le nombre d’élèves dans une classe.

3. Intégrité Des Données :


Un des avantages des bases de données d’intégrer des contraintes que doivent vérifier
les données à tout instant.
Ceci est possible grâce à la notion de contraintes d’intégrité (sont des assertions qui doivent
être vérifiées à tout moment par les données contenues dans la base de données).
Exemple :
Le nombre d’élèves dans chaque classe doit être inférieur à 30 (trente).

-1- Chtioui Neirouz


Chapitre II 4eme SI (BD)

Chaque matière doit avoir au moins professeur.


Chaque élève doit avoir un nom et un prénom.

4. Gestion Des Accès Concurrents :


Une base de données peut être manipulée par plusieurs utilisateurs et en même temps.
Le SGBD doit fournir un processus de gestion des conflits d’accès simultané.

5. Confidentialité :
Un SGBD doit pouvoir accorder à chaque utilisateur les taches qu’il peut exercer et ceux
dont il ne peut pas réaliser, pour assurer la confidentialité de la base de données.
Exemple :
Seul le directeur peut changer l’affectation d’un élève d’une classe à une autre.
Tous les membres du lycée peuvent consulter les informations sur les élèves.

6. Sécurité De Fonctionnement :
Le SGBD doit présenter des mécanismes permettant de remettre la base de données
dans un état opérationnel en cas d’accident matériel ou logiciel. Ce mécanisme est assuré
grâce à la journalistique des opérations réalisées sur la base et leur ré-exécution. Ce
mécanisme est dit reprise après panne.

IV. Les Principaux SGBD :


Les principaux systèmes de gestion de bases de données sont les suivants:
 Microsoft Access
 Postgree
 DB2
 MySQL
 Microsoft FoxPro
 Oracle
 Sybase
 SQL Server

V. Cycle De Développement D’Un SGBD :


Durant la conception d’une base de données on distingue au moins trois niveaux de
représentation de données :

Les niveaux de représentation selon l’architecture ANSI/SPARC


L’architecture Ansi-Sparc est l’architecture fondamentale sur laquelle reposent les
SGBD modernes. Elle est divisée en trois niveaux:
- Niveau externe : correspond aux différentes vues des utilisateurs.
- Niveau conceptuel ou logique : Ce niveau décrit la structure de la base
indépendamment de son implantation.
- Niveau interne ou physique : décrit le modèle de stockage des données et les
fonctions d'accès aux données.

-2- Chtioui Neirouz


Chapitre III 4eme SI (BD)

Structure D’une Base De Données Relationnelle

Objectifs :
 Découvrir les éléments structurels constituant une base de données relationnelle,
 Apprendre à représenter la structure d’une base de données.

I. Notion de tables :

Définition :
Les données, dans une base de données, sont rangées dans des tables. Une table est un
ensemble de données relatives à un même sujet (entité) et structurées sous forme de tableau.

Une table est composée de lignes et de colonnes. Chaque colonne décrit une propriété relative
à l’entité représentée par la table. Chaque ligne représente un enregistrement relatif à une
donné de la table.
Colonnes
Reference Nom Licence
01 Gimp Gratuite
Lignes
02 Audacity Gratuite
03 Sound Forge Payante

Une table est encore appelée Relation vu l’existence de relations entre les données dans une
table.

II. Notion de colonne :

Définition :
Une colonne (champ ou attribut) correspond à une propriété élémentaire de l’objet
décrit par cette table.

Une colonne est décrite par :


 Un nom : il est généralement soumis aux règles de nommage des variables dans les
langages de programmation
 Un type de données : c’est le type de cet attribut. Il peut être numérique, texte (chaîne
de caractères), date, booléen,…
 Une taille : elle indique la longueur maximale que peut prendre la colonne.
 Un indicateur de présence obligatoire : indique si cette colonne doit être toujours
introduite ou peut être vide. Dans le dernier cas on dit que la valeur est nulle.
 Une valeur par défaut : permet d’attribuer une valeur par défaut lorsque aucune valeur
n’a pas été mentionnée dans la colonne.
 Une règle indiquant les valeurs autorisées : dans le cas les valeurs d’une colonne sont
soumises à des règles (inférieur à une valeur, supérieur à une valeur, dans un domaine
donné,…).

Exemple : table article

-1- Chtioui Neirouz


Chapitre III 4eme SI (BD)

Nom: Article
Description: Détail des articles commercialisés
Nom Descriptio Type de Taille Obligatoire Valeur Valeurs
colonne n données par autorisées
défaut
Code_art Code de Chaîne de 20 Oui
l’article caractères
Des_art Désignation Chaîne de 50 Oui
de l’article caractères
Qte_stock Quantité en Numérique 4 Non 0 >= 0
stock
Application : exercice n° 2 page 61

III. Notion de ligne :

Définition :
Une ligne (appelé aussi enregistrement ou n-uplet) est une occurrence du sujet
représentée par la table. On dit aussi qu’elle correspond à un objet du monde réel.

Lorsque la table est crée, elle est initialement vide, c'est-à-dire qu’elle ne contient
aucune ligne. Lorsqu’on exploite la table, on dit qu’on insère de nouvelles lignes, on modifie
certaines lignes, on supprime des linges ou on consulte des lignes.

Exemple : Cette ligne correspond à une occurrence du sujet logiciel.


04 AutoPlay Payante

IV. Notion de clé primaire :


Dans les tables suivantes, identifier les attributs permettant d’identifier l’entité d’une manière
unique.

Table : OUVRIER
NOM PRENOM CIN DATE_NAISSANCE PROFESSION

Table : FILM
TITRE REFERENCE ANNE_SORTIE

Table : LIVRE
TITRE ISBN N_COPIES EDITION

Table : VOITURE
MODELE CATEGORIE IMMATRICULATION COULEUR PUYISSANCE

Définition :
La clé primaire est le groupe d’attributs minimum qui détermine un n-uple d’une
manière unique dans la table. A la connaissance de la clé primaire, on peut reconnaître toutes
les autres valeurs sans ambiguïté.
Exemple :
Le numéro CIN, matricule d’un véhicule,…

-2- Chtioui Neirouz


Chapitre III 4eme SI (BD)

ATTENTION : la clé se détermine par rapport à toutes les valeurs possibles de l’attribut (ou
les attributs) formant la clé primaire, et surtout pas par rapport aux valeurs déjà saisies.

Remarque : toute table doit obligatoirement avoir une clé primaire.

Application : exercice n° 4 page 62

V. Liens entre tables :

Une base de données est un ensemble de table.


Soit une base de données contenant les tables ELEVE et CLASSE. La phrase suivante : "Un
élève poursuit son cours dans une seule classe" correspond à un lien (relation ou association)
entre ces deux entités.

Définition :
C’est un lien entre deux entités A et B. On le représente en ajoutant dans la table B
une nouvelle colonne correspondant à la clé primaire de la table A. cette nouvelle colonne est
dite clé étrangère.

Exemple : Un élève poursuit son cours dans une seule classe.


Clé étrangère
NUM PRENOM NOM CODE#
ELEVE
Lien

CODE NIVEAU NUM


CLASSE

Remarques :
 Une table peut avoir zéro ou plusieurs clés étrangères.
 Une clé étrangère est double soulignée ou suivie par une dièse (#).
 Il est préférable que le nom de la clé étrangère soit identique à celui de la clé primaire
référencée.

VI. Notion de contraintes d’intégrité :

Un des avantages des bases de données par rapport à une gestion de fichiers
traditionnelle réside dans la possibilité d’intégrer des contraintes que doivent vérifier les
données à tout instant.
Exemple : on souhaite poser les contraintes suivantes :
 Le nombre d’exemplaire de chaque OUVRAGE doit être supérieur à 0 (zéro)
 Chaque OUVRAGE doit avoir au moins un auteur
Ceci est possible grâce à la notion de contraintes d’intégrité

Définition :
Les contraintes d’intégrité « sont des règles qui doivent être vérifiées à tout moment
par les données contenues dans la base de données »
Il existe trois principaux types de contraintes d’intégrité :
 Les contraintes de domaines : qui sont appliquées a des colonnes. Elles permettent de
vérifier les règles de validité des valeurs que peut avoir un attribut.
Exemple : 0<=Note <=20, Qte_stock>=0

-3- Chtioui Neirouz


Chapitre III 4eme SI (BD)

 Les contraintes d’intégrité de tables : qui permettent d’assurer que chaque table à une
clé primaire.
Exemple : la table élève doit avoir une clé primaire (NuméroElève)

 Les contraintes d’intégrité référentielles : les seules valeurs que peut prendre une clé
étrangère sont celles qui sont déjà saisies pour la clé primaire référencée.
Exemple : On ne peut pas attribuer à un élève une classe numéro 4 car elle n’existe pas
encore.

VII. Représentation de la structure de la base de données :

Après avoir décrit les différents objets qui décrivent une base de données, on peut la
représenter de façon homogène. Cette représentation est dite model ou schéma de la base de
données.
Il existe deux formalismes de représentation :

1. Représentation textuelle

Elle consiste à décrire les entités, les attributs et les associations en utilisant du texte.
Soit une table A composée des attributs a1, a2, a3 et a4 où a1 est une clé primaire et une table
B composée des attributs b1, b2 et b3 avec b1 une clé primaire.
On suppose que B réfère à A.
La représentation textuelle est :
A (a1, a2, a3, a4)
B (b1, b2, b3, a1#)
2. Représentation graphique

Les clés primaires sont représentées en gras et les clés étrangères à l’aide d’un lien
entre les deux tables.
Les symboles (∞) est placé du coté de la clé étrangère et le symbole (1) du cote de la
clé primaire référencée.

3. Exemples de base de données

Prenons le cas d’un vendeur de K7.


Chaque K7 a un titre d’album, la date de sortie et est rapportée à un seul musicien. Un
album est adopté par une seule société de production reconnue par son nom. Chaque musicien
est identifié par son nom sa nationalité et le genre de musique qu’il exerce. Chaque K7
comporte un ensemble de chansons distinguées chacune par un titre et une durée.
Album (Titre, date de sortie, nom_musicien#, Production#)
Musicien (Nom, Nationalité, genre)
Chanson (Titre, duré, Titre_Album#)
Production (Nom)

-4- Chtioui Neirouz


Chapitre IV 4eme SI (BD)

Démarche De Détermination D’Une Base De Données

Objectifs :
 Découvrir une démarche pour déterminer la structure d’une BD,
 Apprendre à traduire un énoncé en structures relationnelles,
 Appliquer la démarche proposé à quelques cas concrets.

I. Introduction :

Un projet BD commence par une phase ‘analyse et de conception du système


d’information (Domaine(s)) sur lequel porte la base. Cette phase conceptuelle (détermination
de la structure d’une BD) est constituée de plusieurs étapes. En ce qui suit, une description de
chacune de ces étapes.

II. Déterminer les domaines :

A partir d’une description du monde réel on essaye de cerner le domaine qui constitue
l’objet de base. Est-ce qu'il s'agit par exemple de gérer les données d'une bibliothèque
publique, d'une agence de voyage, d'un lycée, etc.?

III. Déterminer les colonnes :

♣ Règles :
1. L’information représentant la colonne doit être élémentaire
Exemple : Le nom d’un élève doit être représenté par deux colonnes (nom et prénom).
2. L’information représentée par la colonne ne doit pas être calculée.
Exemple : On ne peut pas avoir une colonne "moyenne" qui est le résultat de deux colonnes
"note" et "coefficient".
3. On ne doit pas avoir des colonnes en doublon
Exemple : Si nous avons trois colonnes "note1", "note2" et "note3", on doit les remplacer par
une seule colonne "note".
4. On ne doit pas oublier une colonne pour ne pas manquer une information
Exemple : On ne peut pas négliger la colonne coefficient d’une matière pour pouvoir calculer
la note finale.

Pour chercher les colonnes, on peut utiliser le tableau suivant :


Liste des colonnes
Nom de Description Type de Taille Obligatoire Valeur Valeurs Sujet
la colonne données par autorisées
défaut

IV. Déterminer les tables :

Il s’agit de déterminer la liste des tables qui constitueront la base de données. On peut
utiliser le tableau suivant :
Liste des tables
Nom de la table Description Sujet

-1- Chtioui Neirouz


Chapitre IV 4eme SI (BD)

V. Affecter les colonnes aux tables :

Dans cette étape il faut remplir la case « sujet » du tableau contenant la liste des colonnes.
On doit respecter les règles suivantes :
1. une colonne (sauf clé étrangère) doit être affectée à une et une seule table.
2. si la présence d’une colonne (autre que clé étrangère) entraîne une redondance, il faut
l’affecter à une autre table.

VI. Déterminer les clés primaires :

♣ Chaque table doit avoir une seule clé primaire.


♣ La clé primaire permet d’identifier les autres colonnes de la table de façon unique.
♣ Une clé primaire peut être composée d’une seule colonne ou de plusieurs colonnes. On
parle alors de clé composée.
♣ Dans le cas où aucune des colonnes de la table ne peut être utilisée comme une clé
primaire, nous devons rajouter une nouvelle colonne et la prendre comme clé primaire.

VII. Déterminer les relations entre tables :

La détermination des liens entre les tables, veut dire trouver les clés étrangères.
Exemple : "Une commande est relative à un client"→cette phrase peut nous informer qu'il y a
un lien entre la table commande et la table client. Un client peut avoir plusieurs commandes
par contre une commande est relative à un et un seul client. D’où il faut ajouter la colonne
"codeClient" qui est la clé primaire de la table Client comme clé étrangère dans la table
Commande.

VIII. Analyser et affiner la structure de la BD :

Après avoir déterminer la structure des tables et les liens entre elles, on doit faire une
représentation de la base de données. L’analyse de la structure revient à détecter les anomalies
et les corriger.

IX. Applications :
 Application 1
 Application 2

-2- Chtioui Neirouz


Chapitre V 4éme SI (BD)

Création Et Modification De La Structure D’Une Base


De Données

Objectifs :
1. Exploiter les Outils logiciels pour créer et mettre à jour la structure d’une BD.
2. Découvrir les commandes SQL pour la création et la modification de la structure de la BD.

I. Introduction :
Il existe deux modes pour créer une base de données :
 Mode assisté
 Mode commande

II. Création d’une base de données en mode assisté :


1. Mode de création :
Le mode assisté permet de créer les éléments de la base de données à l’aide des assistants
graphiques.
L’assistant graphique est une interface composée d’une suite de fenêtres où chacune
représente une étape du processus de création.
Le mode assisté est un moyen qui facilite la création des éléments d’une base de données.

2. Création d’une base de données :


La création d’une base de données consiste à préciser le nom de la base de données et son
emplacement physique.
En utilisant le SGBD Access, la création de la base de données est comme suit :
1. Démarrer Access ;
2. Dans le menu ‘Fichier’, choisir l’option ‘Nouvelle base de données’ ;
3. Dans la fenêtre qui s’affiche à droite, choisir ‘Base de données vide’ depuis la
zone ‘Créer’ ;
4. Une fenêtre s’affiche, on doit préciser le nom et l’emplacement de la base de
données. L’extension d’une base de données créée avec Access est ‘.mdb’ ;
5. Valider en cliquant sur le bouton ‘Créer’.
Jusqu’à cette étape, la base de données est créée mais vide (elle ne contient pas de
tables).
On peut ajouter des renseignements sur la base de données en
1. Activant l’option ‘Propriété de la base’ du menu ‘Fichier‘ ;
2. Remplir les champs de la fenêtre qui apparaît.

Application1 :
On considère la base de données ‘Application1’ étudiée au chapitre précédant.
Créer une base de données vide intitulée ‘Recherche_Scientifique’.

3. Création d’une table :


Access dispose de trois méthodes de création de tables.
 Mode création : dans ce mode, on crée les tables en définissant les différentes
colonnes.
 Mode assistant : le SGBD propose un ensemble de modèles de table.
 Mode saisie de données : permet de générer une table à partir d’un jeu de données
saisies par l’utilisateur.

-1-
Chapitre V 4éme SI (BD)

Dans la suite nous allons nous intéresser au mode création. Pour créer une table en mode
création, on doit suivre les étapes suivantes :
1. Sélectionner l’option ‘Créer une table en mode création’ ;
2. Dans le tableau qui s’affiche, saisir pour chaque attribut son nom, son type et sa
description ;
3. Dans la partie ‘Propriété du champs’, on peut détailler les description de chaque
colonne. Dans l’onglet ‘Générale’, on précise la taille des données, la condition
de validité, la valeur par défaut,…
4. En fermant cette fenêtre, le SGBD demande le nom de la table en cas où on
souhaite enregistrer ;
5. Si on clique sur OK, le SGBD propose d’ajouter une clé primaire pour la table.
On doit répondre par ‘Non’ ;
6. La table est crée à la fin de cette étape.

Application2 :
Créer les tables de la base de données ‘Recherche_Scientifique’ en mode création.

Remarques :

A. Type de données utilisées en ACCESS :

Il existe huit types de données dans Access:


 Texte: c'est une suite d'au maximum 255 caractères.
 Numérique: sert à stocker des nombres.
 Date/Heure: sert à stocker des dates et des heures.
 Monétaire: sert à stocker des valeurs monétaires.
 NuméroAuto: on ne peut pas saisir dans un champ de ce type. C'est Access qui le gère
automatiquement. A chaque fois qu'un article est saisi, Access incrémente systématiquement
la valeur d'un compteur puis l'attribue au champ de type Compteur de cet article.
 Oui/Non: permet de saisir des valeurs booléennes. La valeur Oui correspond à la valeur
logique Vrai et Non correspond à la valeur Faux.
 Mémo: c'est une suite de 1 à 64000 caractères. Il sert à ajouter des commentaires.
 Liaison OLE: destiné à recevoir un objet de taille maximale 128Mo, créé par une autre
application Windows, une image dessinée avec Paintbrush par exemple.
 Liens hypertexte : un clic dessus ouvrira la lien
 Assistant de liste de choix : ouvre l'assistant Access

B. Propriétés des champs :


 Propriétés des champs de type texte et mémo:

-2-
Chapitre V 4éme SI (BD)

 Propriétés des champs de type numérique:

 Propriétés des champs de type NuméAuto :

-3-
Chapitre V 4éme SI (BD)

C. Masque de saisie :
Le masque de saisie permet de faciliter la saisie dans un champ en forçant l'utilisateur
à entrer les données selon un format déterminé.

Exemple:
 Si on veut saisir 5 chiffres obligatoirement pour un code postal, on utilisera : 00000
 Si on veut saisir un numéro de téléphone sous la forme 93 432 654, on utilisera: 00
000 000
 Si on veut saisir le nom de famille de maximum 10 lettres dont la première lettre est
toujours en majuscules, on utilisera: >L<?????????

4. Indiquer la clé primaire d’une table :


Chaque table doit avoir une clé primaire. Pour Indiquer la clé primaire d’une table, il faut
suivre les étapes suivantes :
1. Sélectionner la table ;
2. Passer en mode création en cliquant sur le bouton ‘Modifier’ ;
3. La fenêtre d’édition s’affiche. Sélectionner la colonne qui va être clé primaire et
cliquer sur le bouton droit de la souris ;
4. Choisir l’option ‘Clé primaire’ ;
5. Une icône apparaît à gauche de la colonne constituant la clé primaire.

Remarques :
S’il existe plusieurs clés primaires, il faut les sélectionner toutes.

Application3 :
Préciser les clés primaires de toutes les tables déjà créées.

5. Etablir un lien entre deux tables :

-4-
Chapitre V 4éme SI (BD)

1. Choisir l’option ‘Relation’ du menu ‘Outil’ ;


2. Sélectionner les tables et appuyer ‘Ajouter’ ;
3. Fermer la fenêtre. Une autre fenêtre apparaît contenant les tables sélectionnées ;
4. Avec la souris, cliquer sur la colonne qui constitue la clé étrangère, puis pointer
la souris, en maintenant le bouton enfoncé, sur la colonne qui constitue la clé
primaire de l’autre table ;
5. Dans la fenêtre qui s’affiche, cocher les options voulues et choisir le bouton
‘Créer’.
remarque
Les options peuvent être :
 Appliquer l’intégrité référentielle : lorsqu’on insère une ligne dans la table fille, le
SGBD vérifie que la valeur saisie dans la colonne clé étranger existe dans colonne clé
primaire.
 Mettre à jour en cascade les champs correspondants : permet de modifier
automatiquement la valeur de la clé étrangère dans la table fille lorsque elle est
modifiée dans la table clé primaire de la table mère.
 Effacer en cascade les enregistrements correspondants : permet de supprimer
automatiquement toutes les lignes dans la table fille lorsque la clé primaire
correspondante est supprimée de la table mère.

Application4:
Etablir les liens entre les tables de la base de données ‘Recherche_Scientifique’.

III. Modification de la structure de la base de données en mode assisté :


1. Introduction :
La base de données déjà créée, peut être modifiée. Les modifications qu’on peut apporter
sont :
 Ajout de colonnes à une table ;
 Suppression de colonnes à une table ;
 Modification des caractéristiques d’une colonne ;
 Modification de la clé primaire d’une table ;
 Suppression d’une table ;
 Suppression d’une base de données.

2. Ajout de colonnes à une table :

1. Sélectionner la table puis cliquer sur le bouton ‘Modifier’ ;


2. Sélectionner la colonne au dessus de laquelle on veut insérer une nouvelle colonne ;
3. Choisir la commande ‘Ligne’ du menu ‘Insertion’ ;
4. Remplir le nouveau champ ;
5. Fermer la fenêtre et confirmer les modifications.

3. Suppression de colonnes à une table :


1. Ouvrir la table en mode création ;
2. Sélectionner la ligne à supprimer ;
3. Choisir la commande ‘Supprimer’ du menu ‘Edition’.
Ou bien la touche ‘Suppr’ du clavier ;
4. Fermer la fenêtre ;

-5-
Chapitre V 4éme SI (BD)

5. Confirmer les modifications.


4. Modification des caractéristiques d’une colonne :

1. Ouvrir la table en mode création ;


2. Sélectionner la ligne à modifier ;
3. Changer les propriétés;
4. Fermer la fenêtre ;
5. Confirmer les modifications.

5. Modification de la clé primaire d’une table:

1. Ouvrir la table en mode création ;


2. Choisir la nouvelle clé primaire ;
3. Fermer la fenêtre et confirmer les modifications.

6. Suppression d’une table :

1. Sélectionner la table à supprimer ;


2. Choisir la commande ‘Supprimer’ du menu ‘Edition’ ;
3. Confirmer la suppression.

7. Suppression d’une base de données :


Pour supprimer une base de données, il faut :
1. Aller dans le répertoire qui la contient ;
2. Supprimer le fichier portant son nom.

IV. Création d’une table en mode commande :


1. Introduction :
Dans le mode commande, on utilise le langage SQL (Structured Query Language) est un
langage de définition de données (LDD), un langage de manipulation de données (LMD) et un
langage de contrôle de données (LCD) pour les bases de données relationnelles.

a. Langage de définition de données :


Il permet de créer des tables dans une base de données relationnelle, ainsi que d'en modifier
ou en supprimer.

b. Langage de manipulation de données :


Il permet de sélectionner, insérer, modifier ou supprimer des données dans une table d'une
base de données relationnelle.

c. Langage de contrôle d'accès :


Il permet de définir des permissions au niveau des utilisateurs d'une base de données. On parle
de DCL (Data Control Language).

2. La création de tables :

-6-
Chapitre V 4éme SI (BD)

Le langage de définition de données (LDD) permet de créer des tables grâce au mot clé
CREATE TABLE.

CREATE TABLE Nom_table (définition_colonne|définition_contraintes,…)

a. Définition_colonne :
Nomcolonne Type_donnée [contrainte][CONSTRAINT contrainte],...);

b. Les types de données :


Pour chaque colonne que l'on crée, il faut préciser le type de données que le champ va
contenir. Celui-ci peut être un des types suivants:
Type de donnée Syntaxe Description
Chaîne de caractères de n caractères maximum
Alphanumérique VARCHAR(n)
(n<16383)
Horaire DATE Date sous la forme 16/07/99
Numérique INT(n) Numérique à n chiffres
Numérique DECIMAL(n,m) Numérique à n chiffres dont m décimales

c. Contraintes d’intégrité :
Les contraintes d’intégrité doivent être exprimées dès la création de la table grâce aux mots
clés suivants:
Clause Rôle
DEFAULT valeur Valeur par défaut
PRIMARY KEY Indiquer la clé primaire
NULL La valeur de la colonne n’est pas obligatoire
NOT NULL La valeur de la colonne est obligatoire
CHECK (condition) Faire un test sur un champ
UNIQUE Vérifier que la valeur saisie pour un champ ne se répète pas
REFERENCES
Indique la clé étrangère.
table(colone_referée)

d. Exemple de création de table avec contraintes :


create TABLE clients(
CIN INT(8) PRIMARY KEY,
Nom varchar(30) NOT NULL,
Prenom varchar(30) CONSTRAINT nl_pre NOT NULL,
Age int(2) check (age < 100),
Email varchar(50) NOT NULL, check (Email LIKE "%@%"),
Adr int(3) UNIQUE REFERENCES Adresse(code_adr)
);

e. Nommer une contrainte :


Il est possible de donner un nom à une contrainte grâce au mot clé CONSTRAINT suivi du
nom que l'on donne à la contrainte.

f. Définition_contraintes :

Syntaxe :

-7-
Chapitre V 4éme SI (BD)

[CONSTRAINT contrainte]
{PRYMARY KEY (colonne1, colonne2,...)
|FOREIGN KEY (colonne1, colonne2,...)
REFERENCES nom_table[(colonne1,colonne2,...)]
[ON DELETE CASCADE]
|CHECK (condition)}

Exemple:
create TABLE clients(
CIN INT(8),
Nom varchar(30) NOT NULL,
Prenom varchar(30) CONSTRAINT nl_pre NOT NULL,
Age int(2) check (age < 100),
Email varchar(50) NOT NULL, check (Email LIKE "%@%"),
Adr int(3) UNIQUE,
CONSTRAINT PK_cin PRIMARY KEY (cin)
FOREIGN KEY (Adr) REFERENCES Adresse (code_adr)
);

V. Modification de la structure d’une base de données :

1. Modifier la structure d'une table :

C’est grâce à la close ALTER TABLE qu’on peut modifier la structure d’une table.
Syntaxe :
ALTER TABLE Nom_table
[DROP CONSTRAINT Nom_contrainte]
[ADD CONSTRAINT Nom_contrainte]
[DROP COLUMN Nom_colonne]
[ADD COLUMN (Nom_colonne Type_donnee)]
[MODIFY (Nom_colonne Type_donnee)]
[ENABLE|DISABLE nom_contrainte]

Exemple:
ALTER TABLE clients(
MODIFY (Age DATE) ) ;

2. La suppression d'une table :

Elle se fait en suivant la syntaxe suivante:


DROP Nom_table;

Exemple:
DROP clients ;

-8-
Chapitre VI 4éme SI (BD)
Manipulation D’Une Base De Données
I. Introduction :
Apres avoir créer la structure de la base de données, on doit la remplir par des
données. Ces données peuvent être, ensuite, exploitées (lues), modifiées ou effacées. Les
actions de remplir (insérer), modifier, effacer (supprimer) ou d’exploiter (consulter) sont
l’intérêt de la manipulation de la base de données. Le langage de manipulation de données
(LMD) permet d’effectuer ces opérations.

II. Manipulation d’une base de données en mode assisté:


1. Mise à jour des données :
a- Insertion de lignes : TP n°3 question 2
1. Double cliquer sur la table en question. (Ou sélectionner la table et choisir
l’option ‘Ouvrir’ );
2. Dans la fenêtre qui s’affiche, introduire les données.
b- Suppression de lignes : TP n°3 question 3
1. Ouvrir la table ;
2. Sélectionner l’enregistrement à supprimer ;
3. Choisir la commande ‘Supprimer’ du menu ‘Edition’. Ou bien la touche ‘Suppr’
du clavier.
Remarque :
Toute fois, il faut valider ces actions (Appuyer sur le bouton ‘Enregistrer’ ) pour qu’elles
soient prises en considération.
c- La modification de lignes : TP n°3 question 4
1. Ouvrir la table ;
2. Modifier la ou les données souhaitées.

2. Recherche des données : Requête


En mode assisté, la recherche se fait en deux façons :
 La recherche selon un critère (sur une colonne) : consiste à localiser la première ligne
vérifiant une condition.
 Le filtrage : consiste à retrouver et afficher l’ensemble de lignes d’une table vérifiant
une condition.
Une requête sert à exploiter les données contenues dans une table en s’appuyant sur un critère
donné.

a. Démarche de création d’une requête : TP n°3 Question 5


1. Sélectionner l’onglet requête ;
2. Cliquer sur le bouton ‘Nouveau’ ;
3. Une fenêtre s’affiche. Choisir ‘Mode création’ et cliquer sur ‘OK’ ;
4. Une boite de dialogue apparaît. Sélectionner la ou les tables concernées par la
recherche ;
5. une fenêtre s’ouvre constituant une grille d’interrogation.

Choix de la colonne à afficher dans une requête


1. Double cliquer sur la colonne voulue ;
2. Pour afficher tous les champs, choisir (*).

Voir le résultat

-1
Chapitre VI 4éme SI (BD)
1. Cliquer sur le bouton ‘Exécuter’ .
2. Ou bien double cliquer sur le nom de la requête dans l’onglet requête.

Enregistrer une requête


1. Fermer la fenêtre puis donner un nom à la requête ;
2. Ou bien appuyer sur le bouton ‘Enregistrer’ )

 La définition des clés de tri : TP n°3 Question 6


 Les critères de filtres :
 Recherche vérifiant un filtre relatif à une colonne de type texte : TP
n°3 question 7
Pour l’égalité écrire dans la zone Critère’, le texte à vérifier.
Exemple : ("Ali")
Pour exclure des lignes contenant un mot utiliser (<>).
Exemple : (<> "Ali")
On peut utiliser le caractère (*) pour designer un ensemble de caractères.
Exemple : ("A*") commence par "A" ou ("*i") se termine par "i" ou ("*l*") contient "l"
On peut utiliser le caractère (%) pour designer un seul caractère.

 Recherche vérifiant un filtre relatif à une colonne de type


numérique : TP n°3 question 8
On peut utiliser les signes suivants :
<, >, <=, >=, <>, =
Si on a deux critères ensembles, on utilise le mot clé (ET).
Si on a un pari deux critères, on utilise le mot clé (OU).
 Recherche vérifiant un filtre relatif à une colonne de type date et
heure : TP n°3 question 9
Si on veut chercher une date, on écrit la date entre deux dièses (#). Exemple : #7/02/2008#

 La requête de sélection paramétrée : TP n°3 questions 10 et 11


Il est possible de consulter une base de données en introduisant un paramètre dans une boite
de dialogue. Le texte qui sera affiché doit être écrit entre crochets ([ ]).

 Les formules :
 La concaténation : TP n°3 question 12
 Les champs calculés : TP n°3 question 13
 Les fonctions agrégats : TP n°3 question 14, 15, 16 et 17
 Les requêtes multi-tables (jointure) : TP n°3 question 18
 Echange de données avec un tableur :
 Importation des données :
 Exportation des données :

III. Manipulation d’une base de données en mode commande :


On peut utiliser le langage SQL pour manipuler une base de données.

-2
Chapitre VI 4éme SI (BD)

1. Insertion de lignes :
a. Syntaxe :
INSERT INTO nom_table [(liste des colonnes)] VALUES (valeurs) ;

b. Remarques :
 Les valeurs saisies doivent respecter l’ordre, le type et les contraintes d’intégrité.
 Les chaînes de type caractères ou de type date sont mises entre apostrophes (‘ ‘) et la
date doit être sous la forme AAAA-MM-JJ .

c. Exemple :
INSERT INTO Location (Immat_Vehicule, NCIN_Cli , Date_Loc , Duree_Loc, Cout_Loc )
VALUES ('118TN2064', '04215488','2006-06-12',6,100);

INSERT INTO Client VALUES ('O4215488','Aouadi','Anis','15 rue F Hached','Tunis');

INSERT INTO Client (NCIN_Cli, Nom_Cli , Prenom_Cli, Ville) VALUES ( 'O4215488'


,'Aouadi', 'Anis','Tunis');

2. Suppression de lignes :
a. Syntaxe :
DELETE FROM nom_table
WHERE condition ;

b. Exemple :
DELETE FROM Chauffeur
WHERE date_Naissance<’1/1/1960’ ;

3. Modification de lignes :
a. Syntaxe :
UPDATE nom_table
SET Colonne1=valeurs1
Colonne2=valeurs2
colonnex=valeursx
WHERE condition;

b. Exemple :
UPDATE Bus
SET Classe=’B’
WHERE Nb_Places>40;

4. Recherche de données : Requêtes :


La recherche de données dans une base de données peut être l’une de ces opérations :
 Projection : recherche de certaines colonnes dans une table ;
 Sélection : recherche de certaines lignes dans une table ;
 Jointure : recherche sur deux tables ;
 Combinaison de projection, sélection et jointure.
La recherche en mode commande est effectuée grâce à la commande SELECT du langage
SQL.

-3
Chapitre VI 4éme SI (BD)

a. Projection :
Syntaxe
SELECT [DISTINCT] *|liste_champs
FROM table;

 Distinct : permet d’afficher un seul exemplaire des lignes identiques du résultat trouvé.
 *: désigne tous les champs de la table
 La liste des champs sert comme entête de colonnes (alias)
 S’il y a plus qu’un champ à spécifier il faut les séparer par des virgules.

Exemple
SELECT *
FROM Client ;

SELECT DISTINCT ref_produit


FROM details_commandes;

SELECT Nom_Cli, Prenom_Cli


FROM client;

SELECT Prenom_Cli 'Prénom de client', Nom_cli 'Nom de client'


FROM client;

SELECT date_loc, Duree_Loc*Cout_Loc 'Frais'


FROM Location;

b. Sélection :
SELECT [DISTINCT] *|liste_champs
FROM table
WHERE condition;
On peut utiliser plusieurs opérateurs pour construire une condition ; <, >, <=, >=, <>, =
On peut combiner plusieurs conditions ; AND, OR et NOT.
Un texte est encadré par deux apostrophes (‘ ‘).

On peut utiliser aussi :


 BETWEEN : pour encadrer une valeur. Exemple: BETWEEN 100 AND 200
 IN : pour créer une liste. Exemple: IN (‘Paris’, ‘Montréal’, ‘London’)
 IS NULL : la valeur est nulle
 IS NOT NULL : la valeur n’est pas nulle
 LIKE : pour utiliser les caractères génériques Exemple : LIKE ‘_A%’

Exemple

SELECT *
FROM Location
WHERE Duree_Loc>= 3;

SELECT * FROM Location


WHERE cout_loc BETWEEN 110 AND 200;

-4
Chapitre VI 4éme SI (BD)

SELECT Prenom_Cli
FROM Client
WHERE Nom_cli IN (‘Ahmed’, ‘Mahmoud’, ‘Mohamed’);

SELECT *
FROM Client
WHERE Ville LIKE '%Menzel';
• 'Menzel%' commence par Menzel
• '%Men%' contient le mot Men
• '_M%' dont le 2ème caractère est M
• Ville LIKE [B-D]% à On sélectionne les villes dont la première lettre du nom est entre le B
et le D.

SELECT *
FROM Client
WHERE adr_Cli IS NULL;

c. Jointure:
SELECT [DISTINCT] *|liste_champs
FROM table1 [Alias1], table2 [Alias2]
WHERE condition;
Alias : pour attribuer un nom à une table

Exemple
SELECT Nom, Prenom
FROM Chauffeur C, Historique B
WHERE B.Nb_Voyageurs>=50;

SELECT Nom_Cli, Prenom_Cli, Immat_Vehicule, Date_Loc


FROM Client, Location
WHERE Client.NCIN_Cli = Location.NCIN_Cli And Client. NCIN_Cli ='06697865';

SELECT Nom_Cli, Prenom_Cli, Immat_Vehicule, Date_Loc


FROM Client c, Location l
WHERE c.NCIN_Cli = l.NCIN_Cli And c. NCIN_Cli ='06697865';

d. Tri::

SELECT [DISTINCT] *|liste_champs


FROM table1, table2
WHERE condition
ORDER BY colonne1[ASC|DESC][, colonne1[ASC|DESC]];

Exemple

SELECT noemp, nomemp, fonction, sala


FROM employe
WHERE num_dep = 30
ORDER BY sala asc ;

-5
Chapitre VI 4éme SI (BD)
SELECT num_emp, nom_emp, fonction, sala
FROM EMPLOYES
ORDER BY sala desc, nom_emp asc ;

e. Utilisation des fonctions mathématiques et statistiques :


f. SUM ( ) : pour calculer le total des valeurs d’une colonne.
g. AVG ( ) : pour calculer la moyenne des valeurs d’une colonne.
h. MIN ( ) : pour chercher le minimum des valeurs d’une colonne.
i. MAX ( ) : pour chercher le maximum des valeurs d’une colonne.
j. COUNT ( ) : chercher le nombre de lignes vérifiant un critère.

Exemple
SELECT COUNT(*)
FROM Chauffeur ;

SELECT MAX(prix), MIN(prix)


FROM voyage ;

SELECT AVG(Cout_Loc)
FROM Produit;

SELECT COUNT(*)
FROM Location;

SELECT COUNT(Nom_Cli)
FROM Client;

SELECT COUNT( DISTINCT NCIN_Cli)


FROM Location;

k. La requête "GROUP BY" :

 On voudra avoir la moyenne de durée de location par véhicule


SELECT Immat_Vehicule , AVG(Duree_Loc)
FROM Location
GROUP BY Immat_Vehicule;

 On peut utiliser la commande Having qui est en gros l'équivalent du Where pour
les groupes.
Voici un exemple : On veut la liste des numéros des clients avec leur moyenne de durée de
location mais seulement si il y a fait 2 locations ou plus.

SELECT NCIN_Cli, COUNT(*), AVG (duree_Loc)


FROM Location
GROUP BY NCIN_Cli
HAVING count(*) > =2;

-6
Chapitre VII 4éme SI (BD)
Développement d’applications autour d’une base de données
I. Introduction :
Une base de données peut être utilisée par deux catégories de personnes : des informaticiens et des non
informaticiens. Les non informaticiens ne peuvent pas manipuler le contenu d’une base de données. Il faut leur
fournir des applications qui permettent l’interaction avec la base de données d’une manière facile. Ces
applications peuvent être :
 Des formulaires permettant de saisir, consulter, modifier ou supprimer des données.
 Des états permettant d’éditer à l’écran ou sur papier des données provenant de la base de données.
II. Structure d’une application :
1. Introduction :
Les applications sont constituées de deux parties :
 Partie visible à l’utilisateur (interface utilisateur).
 Partie cachée (code écrit par le développeur).
2. Interface utilisateur :
Appelée aussi Interface Homme Machine. Elle est composée de deux éléments :
 Les formulaires : Le formulaire est un élément important de la base de données, il permet une interface
plus simple (listes déroulantes, boutons de commande, couleurs) et un meilleur contrôle de la saisie que
d’entrer des données directement dans une table.
 Les états : Ils permettent aux utilisateurs d’obtenir facilement une version imprimable des données.
3. Code d’une application :
Partie dynamique de l’application. Constituée du code associé aux différents objets de l’application.
4. Modes d’utilisation des applications :
 Mode mono poste : l’application et la base de données sont mis en place dans la même machine.
 Mode client/serveur : la base de données est installée sur un ordinateur dit ‘serveur de données’ et
l’application est installée sur d’autres ordinateurs dits ‘clients’. Le serveur et les clients sont en réseau.
 Mode Internet : la base de données est installée sur un ordinateur dit ‘serveur de données’ et l’application
est sous forme de page web gérée par un serveur web.
III. Les formulaires :
1. Créer un formulaire :
Il existe trois façons pour créer un formulaire :
 Création instantanée : c’est la façon la plus rapide.
 Utilisation d’un assistant : cette façon combine la rapidité et la diversité.
 Création libre : c’est la façon la plus complète mais la plus lente en temps de création.

a. Création instantanée : TPn°1 Question 1 & 2

1. Dans la liste des tables, sélectionner la table voulue


2. Dans le menu ‘Nouvel objet’ ( ) choisir l’option ‘Formulaire instantané’.
3. Le formulaire s’affiche immédiatement dans une nouvelle fenêtre.
4. Enregistrer le formulaire ( ) en lui donnant un nom.

Le formulaire est constitué de deux zones :


Le corps du formulaire : constitué des champs correspondants aux attributs de la table. Dans ces champs se fait
l’affichage et la saisie des données.
La zone de contrôle : permet la navigation entre les lignes de la table.

TPn°1 Question 3
La forme tabulaire est une seconde forme. Elle permet d’afficher plusieurs enregistrements à la fois sous forme
tabulaire. On peut le créer en suivant les étapes suivantes :
1. Sélectionner Formulaire depuis la liste des objets.
2. Cliquer sur la commande Nouveau

-1
Chapitre VII 4éme SI (BD)
dans la fenêtre Nouveau formulaire, choisir l’option ‘Formulaire instantané : tableau’ et
3.
sélectionner la table concernée. Valider par OK.
4. Le formulaire s’affiche immédiatement dans une nouvelle fenêtre.
5. Enregistrer le formulaire ( ) en lui donnant un nom.
Le nouveau formulaire est créé et il est placé dans la liste des formulaires.

b. Utilisation d’un assistant : TPn°1 Question 4

1. Sélectionner Formulaire depuis la liste des objets.


2. Cliquer sur la commande Nouveau
3. Dans la fenêtre Nouveau formulaire, choisir l’option ‘Assistant formulaire’ et sélectionner la table
concernée Valider par OK.
4. La première page de l’assistant permet la sélection les colonnes de la table qui vont s’afficher.
5. Cliquer sur ‘Suivant’.
6. Une fenêtre s’affiche, pour proposer de choisir la présentation générale du formulaire. Choisir
‘Colonne simple’ puis cliquer sur ‘Suivant’.
7. Une autre fenêtre apparaît permettant de choisir le style du formulaire. Choisir un style et cliquer
sur ‘Suivant’.
8. Une fenêtre s’ouvre, permettant de choisir le titre du formulaire. Choisir un nom puis cliquer sur
‘Terminer’.

c. Modification d’un formulaire : TPn°1 Question 5


On peut modifier l’apparence d’un formulaire (disposition des champs, leurs type [cases à cocher, listes…],
ajouter un titre, changer les couleurs et les styles…) grâce aux étapes suivantes :
1. Sélectionner le nom du formulaire dans la liste des formulaires puis cliquer sur la commande
‘Modifier’
2. Un éditeur de formulaires s’affiche permettant de :
i. Ajouter un titre
ii. Modifier le libellé des champs
iii. Changer l’emplacement des champs
iv. Modifier la mise en forme des caractères
3. Pour sélectionner ou ajouter des objets, utiliser la boite à outils

4. Pour modifier le libellé d’un champ, la mise en forme d’un champ, sélectionner-le et utiliser la
barre d’outils suivante :

5. Enregistrer les modifications sur le formulaire ( ).

2. Exploitation de formulaires :
Les utilisateurs peuvent effectuer les taches suivantes sur un formulaire :
 Lancer le formulaire
 Afficher les données
 Insérer des données dans la base de données
 Supprimer des données depuis la base
 Fermer le formulaire
a. Lancer le formulaire : TPn°1 Question 6
Cette opération se fait en double cliquer sur le formulaire ou bien en sélectionnant le formulaire puis choisir
l’option ‘Ouvrir’.
b. Afficher les données :
Pour naviguer entre les lignes, utiliser la zone de contrôle :

-2
Chapitre VII 4éme SI (BD)
Ligne N°1 Nième ligne Dernière ligne Nombre total de lignes

Ligne précédente Ligne suivante Insérer une ligne


c. Chercher des lignes : les filtres :
On utilise un filtre. Il existe trois types de filtres : par formulaire, par sélection et hors sélection.
Filtre par formulaire : le choix du critère de recherche se fait à l’aide d’un formulaire ayant la même structure que
le formulaire courant. Les étapes sont : TPn°1 Question 7
1. Cliquer sur le bouton ‘Filtrer par formulaire’
2. Taper les critères dans les champs.
Cliquer sur le bouton ‘Appliquer le filtre’ .
Filtre par sélection : il n’y a pas de critères, il suffit de se positionner sur le champ dont la valeur est égale au
critère de recherche. Les étapes sont : TPn°1 Question 8
1. Positionner le curseur sur le champ dont la valeur est égale au critère de recherche.
2. Cliquer sur le bouton ‘Filtrer par sélection’
3. Le résultat s’affiche immédiatement.
Filtre hors sélection : il suffit de se positionner sur le champ dont la valeur est différente au critère de recherche.
Les étapes sont : TPn°1 Question 9 & 10
1. Positionner le curseur sur le champ dont la valeur est différente au critère de recherche.
2. Choisir l’option ‘Filtre – Filtre hors sélection’ du menu ‘Enregistrement’.
3. Le résultat s’affiche immédiatement.
d. Trier des lignes : TPn°1 Question 12 & 13
1. Positionner le curseur sur le champ qu’on veut utiliser comme critère de tri.
2. Cliquer sur le bouton ‘Tri croissant’ ou bien ‘Tri décroissant’
e. Insérer des données dans la base de données : TPn°1 Question 14
Pour insérer des données, utiliser le bouton d’insertion de données depuis la zone de contrôle.
f. Supprimer des données depuis la base : TPn°1 Question 15
1. Positionner le curseur sur le champ qu’on veut supprimer.
2. Cliquer sur le bouton ‘Supprimer enregistrement’
3. Confirmer la suppression.
3. Les sous formulaires : TPn°1 Question 16
Nous avons vu comment créer des formulaires simples, se basant sur une seule table. Si les données sont reparties
sur plusieurs tables, liées par des liens, les sous formulaires interviennent pour faciliter les problèmes.
 Un sous formulaire est un formulaire intégré dans un autre dit principal.
 Un sous formulaire a toujours une représentation tabulaire tandis que le formulaire principal a une
représentation colonne.
 Le sous formulaire a sa propre zone de contrôle en plus de celle du formulaire principal.
IV. Les états :
Les états permettent d’extraire des données à partir une base de données en vue de les imprimer, les stocker sous
forme de fichiers, les envoyer par email ou les exporter vers un autre outil (tableur, texte…)
1. Création d’un état : TPn°1 Question 17
Il existe trois façons pour créer un état : Création instantanée, Utilisation d’un assistant et Création libre.
a. Création instantanée :
1. Dans la liste des tables, sélectionner la table voulue
2. Dans le menu ‘Nouvel objet’ ( ) choisir l’option ‘Etat’.
3. Sélectionner le mode ‘Etat instantané colonne’ ou ‘Etat instantané tableau’
4. Cliquer sur OK, l’état s’affiche. Enregistrer l’état ( ) en lui donnant un nom.

b. Utilisation d’un assistant : TPn°1 Question 18

-3
Chapitre VII 4éme SI (BD)
1. Sélectionner Etat depuis la liste des objets.
2. Cliquer sur la commande Nouveau
3. Dans la fenêtre Nouvel état, choisir l’option ‘Assistant Etat’ et sélectionner la table
concernée.Valider par OK.
4. La première page de l’assistant permet la sélection les colonnes de la table qui vont s’afficher.
5. Cliquer sur ‘Suivant’.
6. Une fenêtre s’affiche, proposant le choix de l’organisation de l’affichage, cliquer sur ‘Suivant’.
7. Une autre fenêtre apparaît permettant de choisir les champs suivants lesquels on va trier les
données de l’état. Choisir un mode de tri et cliquer sur ‘Suivant’.
8. Une nouvelle fenêtre propose le chois de la façon pour présenter l’état. Cliquer sur ‘Suivant’.
9. Une nouvelle fenêtre propose le chois du style de l’état, en choisir un et cliquer sur ‘Suivant’.
10. Une fenêtre s’ouvre, permettant de choisir le titre de l’état. Cliquer sur ‘Terminer’.

c. Modification d’un état : TPn°1 Question 19


On peut modifier l’apparence d’un état (disposition des champs, leurs type [cases à cocher, listes…], ajouter un
titre, changer les couleurs et les styles…) grâce aux étapes suivantes :
1. Sélectionner le nom de l’état dans la liste des états puis cliquer sur la commande ‘Modifier’
2. Un éditeur d’états s’affiche permettant de :
Ajouter un titre, modifier le libellé des champs, changer l’emplacement des champs ou modifier la
mise en forme des caractères
3. Pour sélectionner ou ajouter des objets, utiliser la boite à outils

4. Pour modifier le libellé d’un champ, la mise en forme d’un champ, sélectionner-le et utiliser la
barre d’outils texte suivante :

5. Enregistrer les modifications sur le formulaire ( ).

2. Exploitation d’un état :


Un état ne sert qu’à l’affichage des données. Lorsqu’un état est ouvert, on peut :
 Imprimer le contenu : menu ‘Fichier’ → ‘Imprimer’ → ‘Imprimer’
 Exporter le contenu vers un traitement de texte ou un tableur : Cliquer sur le bouton ‘Liaisons Office’
puis choisir l’option correspondante.
 Envoyer le document par email : menu ‘Fichier’ → ‘Envoyer vers’
V.Interaction entre base de données et site web dynamiques :
1. Alimentation de pages dynamiques TPn°1 Question 20
Pour créer une page web dont le contenu provient de la base de données, suivre les étapes suivantes :
1. Dans la liste des tables, sélectionner la table désirée
2. Dans le menu ‘Nouvel objet’ ( ) choisir l’option ‘Page’.
3. Sélectionner l’option ‘Assistant Page’.
4. La première page de l’assistant permet la sélection les colonnes de la table qui vont s’afficher.
5. Cliquer sur ‘Suivant’.
6. Une fenêtre s’affiche, proposant le choix de l’organisation de l’affichage, cliquer sur ‘Suivant’.
7. Une autre fenêtre apparaît permettant de choisir les champs suivants lesquels on va trier les
données de l’état. Choisir un mode de tri et cliquer sur ‘Suivant’.
8. Une fenêtre s’ouvre, permettant de choisir le titre de la page. Cliquer sur ‘Terminer’.
La nouvelle page est créée et il est placé dans la liste des pages.
En bas de la page, une barre d’outils est affichée. Elle permet de naviguer entre les différents enregistrements de
la table.

-4
Lycée Mourouj 6 Prof : Jamel TALBI

Chapitre 8 : Sécurisation d'une base de données


I. Introduction
Les systèmes de gestion de base de données sont accessibles simultanément par plusieurs
utilisateurs. Afin de conserver l'intégrité de la base de données, il est nécessaire de définir à
chacun des utilisateurs des droits d'accès et des privilèges. Ces droits limitent l'accès des
utilisateurs à certaines informations de la base et leurs interdisent certaines actions.
II. Problématique
1) Les piliers de la sécurité des BD
Les cinq piliers de la sécurité des BD sont :
 L'authentification est la procédure qui consiste, pour un système informatique, à vérifier
l'identité d'une entité (personne, ordinateur...), afin d'autoriser l'accès de cette entité à des
ressources (systèmes, réseaux, applications...).
 Confidentialité : tout n’est pas accessible à tout le monde.
 Disponibilité : La disponibilité d'un équipement ou d'un système est une mesure de
performance. Des mécanismes de sauvegarde variés doivent être mis en place pour assurer
la disponibilité.
 l'intégrité : De manière générale, l'intégrité des données désigne la cohérence des
données.
 Traçabilité : le fait de connaître le circuit qu’a suivi une information

2) Les mécanismes mis en œuvre pour la sécurité


Un SGBD doit fournir des fonctionnalités et des mécanismes assurant un niveau satisfaisant de
sécurité tel que :
 L'authentification : vérifier la véracité des utilisateurs (nom utilisateur/mot de passe), du
réseau et des documents.
 Les droits et les privilèges : il est nécessaire de définir à chacun des utilisateurs des droits
d'accès. Ces droits limitent l'accès des utilisateurs à certaines informations de la base et
leurs interdisent certaines actions.
Les LOGs ou traces : permettent d’enregistrer tout ou partie des informations concernant
les accès.
 Tolérance aux pannes : permet par du matériel ou du logiciel de supporter de manière
partiellement ou complètement transparente, différents types de pannes.
 Sauvegarde et restauration : sauvegarder les données sur des supports externes
 Mécanismes transactionnels : faire des retours arrière pour retrouver le dernier état
cohérent de la base.
III. Gestion des droits d’accès
1) Définition d’un mot de passe pour une base mono utilisateur
Activité1

1. Charger la base gestion_location puis définir un mot de passe sur cette base
2. Vérifier lors de l’ouverture de la BD qu’un mot de passe est demandé

Chapitre 8 : Sécurisation d’une BD ~1~ 4Sciences Info1


Lycée Mourouj 6 Prof : Jamel TALBI

Pour définir un mot de passe sur une BD on peut procéder comme suit
Ouvrez la BD en mode exclusif
Choisir le menu Outils – Sécurité – Définir le mot de passe de la BD
Choisissez un mot de passe
Validez
2) Sécuriser les accès à une base de données
Activité2

Charger la base gestion_location puis définir les droits d’accès à cette base.

Pour définir les droits d’accès à une BD on peut procéder comme suit
Ouvrez la BD
Choisir le menu Outils – Sécurité puis Autorisations d’accès
A partir de la fenêtre affichée, fixez les droits à votre base
Validez
IV. Cryptage d’une base de données
Activité 3

1. Ouvrir la base gestion_location avec un éditeur de texte. Que constatez-vous?


2. Cryptez cette base de données
3. Ouvrir la base gestion_location cryptée avec un éditeur de texte. Que constatez-vous?

Pour crypter une base de données on peut procéder comme suit :


Allez dans le menu Outils
Activez la commande Securité
Sélectionnez l’option Coder/Décoder une base de données
V. Gestion des utilisateurs

1) Via l'assistant
Activité 4

1. A l'aide de l'assistant, créer des groupes de travail


2. Créer des utilisateurs et assigner les à un ou plusieurs des groupes déjà prédeefinis

Voir Livre page 216-221

2) Manuellement

Voir Livre page 222

Chapitre 8 : Sécurisation d’une BD ~2~ 4Sciences Info1


Lycée Mourouj 6 Prof : Jamel TALBI

VI. Intégrité des données


L’application de l’intégrité des données garantit la qualité des données stockées dans la base.

L’intégrité des données se repartit entre les catégories suivantes :

 Intégrité d’entité : définit une ligne comme étant une entité unique pour une table
 Intégrité de domaine : domaine des valeurs valides pour une colonne
 Intégrité référentielle : préserve les relations définies entre les tables lors de l’insertion ou
la suppression des lignes.
 Intégrité définie par l’utilisateur : des règles propre à l’entreprise

VII. Sauvegarde et restauration des bases de données


Avec des sauvegardes appropriées, vous pouvez effectuer des récupérations après de nombreux
types d’échecs, notamment :

Défaillance du support
Erreurs utilisateur
Catastrophe naturelle…
Par ailleurs, il peut être utile d’effectuer des sauvegardes d’une base de données (copie d’une
base de données d’un serveur à un autre, l’archivage…)

VIII. Contrôle des données dans le langage SQL


1) Création utilisateurs

CREATE USER nom_utilisateur

[ IDENTIFIED BY ] 'mot_passe' ;

Exemple:

CREATE USER eleve

IDENTIFIED BY 'ahmed';

L’utilisateur créer ne dispose d’aucun droit (il ne peut même pas se connecter à la base)

2) Attribution des droits

Il existe deux types de droits :

• Des droits globaux appelés encore droits systèmes permettant à leur détendeur
d’effectuer des opérations globales sur la base de données. la commande SQL suivante
permet d’attribuer un droit système à un utilisateur est la suivante :

Chapitre 8 : Sécurisation d’une BD ~3~ 4Sciences Info1


Lycée Mourouj 6 Prof : Jamel TALBI

GRANT doit1, droit2, .., droitn

TO utilisateur1, utilisateur2, …., utilisateurp

[WITH ADMIN OPTION];

• Des droits sur les objets de la base appelés encore droits objet permettant à leur
détendeur d’effectuer des opération sur des objets de la base de données(table, colonne,
vue..). la commande SQL suivante permet d’attribuer un droit objet à un utilisateur est la
suivante :

GRANT [ALL PRIVILEGES | liste de privilèges]

ON [base.table | base.*| *.*]

TO utilisateur1, utilisateur2, …., utilisateurp [ IDENTIFIED BY 'mot de passe']

[WITH GRANT OPTION] ;

Exemple:

1. Attribuer tous les privilèges sur tous les objets à l'utilisateur eleve

GRANT ALL

ON *.*

TO eleve;

2. Attribuer tous les privilèges d'insertion, de mise à jour et suppression sur tous les objets de
la base de données "gestion_location" à l'utilisateur eleve

GRANT select, update, delete, insert

ON gestion_location.*

TO eleve;

Remarque

 Pour les commandes GRANT et REVOKE, la liste des privilèges peut être spécifiée par les
constantes suivantes :

 ALL [PRIVILEGES] : Tous les droits sauf WITH GRANT OPTION


 ALTER : Autorise l'utilisation de ALTER TABLE .
 CREATE : Autorise l'utilisation de CREATE TABLE .
 ………..

Chapitre 8 : Sécurisation d’une BD ~4~ 4Sciences Info1


Lycée Mourouj 6 Prof : Jamel TALBI

 La clause optionelle WITH GRANT OPTION permet de définir:

 MAX_QUERIES_PER_HOUR # ,
 MAX_UPDATES_PER_HOUR #
 …

Ces options limitent le nombre de requêtes, de modifications qu'un utilisateur peut réclamer dans
une heure. Si # vaut 0 (valeur par défaut), alors cela signifie qu'il n'y a pas de limitations pour cet
utilisateur.

 Pour se connecter avec un nouveau compte utilisateur, il faut taper la commande suivante sous
l'invite de commande C:\ :

MYSQL –h localhost –u nom_utilisateur –p mot_de_passe

Exemple:

3) Retrait des droits

La commande qui permet de supprimer un ou plusieurs droits sur un objet est :

REVOKE [ALL PRIVILEGES | liste de privilèges]

ON [base.table | base.*| *.* ]

FROM utilisateur1, utilisateur2, …, utilisateurn ;

Exemple:

REVOKE ALL

ON *.*

FROM eleve;

4) Suppression des utilisateurs


Pour supprimer un compte, utilisez la commande :

DROP USER nom_utilisateur;

Chapitre 8 : Sécurisation d’une BD ~5~ 4Sciences Info1

Vous aimerez peut-être aussi