Vous êtes sur la page 1sur 15

Chapitre n°5 

: Création et modification de la Structure d’une BDR Matière : Bases De Données

Partie II :
Création de bases de données
Chapitre n°5 :
Création et modification de la Structure d’une base de données
relationnelle
Objectifs :

Exploiter des outils logiciels pour créer et mettre à jour la structure d’une base de
données relationnelle.
Découvrir les commandes SQL pour la création et la modification de la structure
d’une base de données.

Plan :
1. Introduction
2. création d’une base de données en mode assisté
2.1. modes de création

2.2. création d’une base de données

2.3. création d’une table

2.4. indiquer la clé primaire d’une table

2.5. établir un lien entre deux tables

3. modification de la structure d’une base de données en mode assisté


3.1. introduction

3.2. ajout de colonnes à une table

3.3. suppression de colonnes d’une table

3.4. modification de caractéristiques d’une colonne

3.5. modification de la clé primaire d’une table

3.6. suppression d’une table

3.7. suppression d’une base de données

4. création d’une table en mode commande


5. modification de la structure d’une base de données en mode commande
5.1. modification de la structure d’une table en mode ligne

5.2. suppression d’une table en mode ligne

1
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

1 Introduction :
Avant de pouvoir exploiter les données contenues dans la base et les modéliser. En effet,
il nous reste qu’à créer les différentes structures de la base.
La mise en place d’une base de données, consiste à implémenter le modèle dans le
SGBD.
Le SGBD qui sera utilisé tout le long de cette année est Microsoft Access 2003.

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


2.1 Modes de création :
Access joue le rôle d’:
Un SGBDR (Système de Gestion de Bases de Données Relationnelles) : il s’agit d’un
logiciel et non d’une base de données. C’est un système qui sert à gérer les bases de données
relationnelles. Ainsi, Access gère les bases de données relationnelles au même titre que Word
gère des documents et Excel des classeurs.
Présentation de Microsoft Access

Fenêtre d’accueil
Le mode assisté permet de créer les éléments de la base de données à travers des assistants
graphiques (interface utilisateur en mode graphique composée d’une succession de fenêtres
correspondant chacune à une étape du processus de création). Vous allez apprendre à créer les
différentes structures d’une base de données en mode assisté, puis vous allez découvrir les

2
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

trois types de commandes SQL permettant de créer et de modifier la structure d’une base de
données.

2.2 Création d’une base de données :

La première opération consiste à créer d'abord une base de données vide. Le logiciel
réclame un nom de fichier et un seul, car toutes les informations relatives à la BDD seront
stockées dans le même fichier. Ce dernier comporte l'extension ".mdb", et sa taille initiale est
voisine de 96-100 ko).

La fenêtre relative à la base de données apparaît. Dans la colonne de gauche figurent les
"objets" de la base de données. Un mot sur ces objets, qui sont utilisés :

  les tables, pour stocker les données ;


  les requêtes, pour retrouver les données ;
  les formulaires, pour saisir les données ou les visualiser à l'écran ;
  les états, pour imprimer les données ;
  les pages, pour communiquer avec la BDD via un navigateur (Internet Explorer
uniquement) ;
  les macros, pour automatiser des opérations répétitives effectuées sur la base ;
  les modules, pour rajouter des fonctionnalités grâce à de la programmation en VBA
(Visual Basic for Applications).

3
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

2.3 Création d’une table :


Nous aborderons donc l'étude des BDD par celle de la création et de la manipulation
des tables. Dans les bases de données, la table est le premier objet par ordre d'importance
décroissante. Pas de table, pas de données !
Sélectionner l'objet table, s'il ne l'est pas déjà par défaut. Trois méthodes sont
proposées pour créer une nouvelle table :
    créer une table en mode création. C'est la méthode générale, la seule que nous
recommandions ;
  créer une table à l'aide de l'assistant. Ce dernier vous offre un certain nombre de
tables toutes prêtes dont vous pouvez vous inspirer. Cependant, rien ne remplace une
bonne analyse du problème de stockage des données, suivie d'une réalisation
personnalisée et adaptée ;
  créer une table en entrant des données. Une table toute prête vous est proposée, dans
laquelle vous pouvez immédiatement saisir des données, le logiciel se chargeant de
déterminer leur type et leur format. Cette façon de procéder est déplorable, et nous la
déconseillons absolument, sauf pour des essais sans suite.
En mode création, une fenêtre s'ouvre qui permet de définir la table champ par champ,
en précisant le nom du champ et le type de données qu'il contient.
Types de données :
Tous les SGBD offrent la possibilité de stocker du texte, de l'information numérique,
et des dates (avec ou sans les heures). Le type "monétaire" est un cas particulier d'information
numérique, et le lien hypertexte un cas particulier de texte. Lorsque l'on utilise Access, une
liste déroulante propose les types de données suivants :
Type Propriétés Taille
Texte Le champ peut contenir n'importe quel caractère < 256 caractères
alphanumérique (chiffre, lettre, signe de ponctuation). Ce
type de données est utilisé pour le texte, mais aussi pour
les nombres sur lesquels on n'effectue pas de calculs
(code postal, numéro de téléphone)
Mémo Le champ peut contenir n'importe quel caractère < 65.536
alphanumérique. Le type mémo est réservé aux champs de caractères
type texte susceptibles de contenir plus de 255 caractères
Numérique Données numériques (non monétaires) susceptibles d'être 1 à 16 octets
utilisées dans des opérations mathématiques
Date/heure Données de date et/ou d'heure (pour les années comprises 8 octets
entre 100 et 9999)
Monétaire Données monétaires, présentées avec deux chiffres après 8 octets
la virgule, et le symbole monétaire du pays (€ pour la
France)
NuméroAuto Numérotation automatique, séquentielle (commençant 4 octets (entier

4
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

à 1) ou aléatoire. Souvent utilisée pour générer le code long)


des enregistrements
Oui/non Variable booléenne (deux valeurs possibles uniquement) 1 bit
Objet OLE Pour lier un objet extérieur, ou incorporer un objet dans la < 1 Go
base. Souvent utilisé pour les données multimédia. Peut
servir pour tout fichier binaire (document Word, feuille de
calcul Excel, etc.)
Lien Permet d'enregistrer des URL de sites web et des adresses < 2049 caractères
hypertexte de courrier électronique
Les propriétés des champs :
La partie inférieure de la fenêtre du mode création est intitulée "Propriétés du champ".
Ces propriétés se trouvent rassemblées dans l'onglet "Général".
La liste des propriétés d'un champ dépend du type de données choisi, mais une
propriété donnée peut apparaître pour des types de données différents. Exemple : la propriété
"Taille du champ" apparaît pour les types de données "Texte", "Numérique"et "NuméroAuto".
Les principales propriétés sont :
            Taille du champ ;
  Format : définit la manière dont les informations s'affichent. Exemple : le
format monétaire affiche deux chiffres après la virgule, puis un espace et le
symbole de l'euro ;
  Masque de saisie : guide la saisie des données et exerce un contrôle. Exemple :
un code postal français est composé de cinq chiffres ;
  Légende : définit le nom de l'étiquette dans le formulaire associé à la table. Il
est préférable d'implémenter cette propriété au niveau du formulaire lui-même ;
  Valeur par défaut : valeur qui s'affiche dans le champ avant saisie par
l'utilisateur ;
  Valide si : condition de validité du champ. Exemple : une notation sur 20 doit
être comprise entre 0 et 20 ;
  Message si erreur : ce message s'affiche si la condition de validité précédente
n'est pas satisfaite ;
  Null interdit : le champ correspondant ne peut rester vide lors de la saisie d'un
enregistrement ;
  Chaîne vide autorisée : le champ peut contenir une chaîne ne comportant
aucun caractère ;
  Indexé : un fichier index est associé au champ de telle sorte que les recherches
d'information s'effectuent plus rapidement. Le chapitre 3 explique ce qu'est un
index, et comment on le crée ;
  Compression unicode : un octet suffit pour saisir un caractère (pour les
alphabets utilisés dans l'Europe de l'ouest et dans le monde anglophone).

2.4 Indiquer la clé primaire d’une table :

Nous pouvons améliorer la fiabilité du système précédent en faisant en sorte que nous
ne puissions pas saisir deux fois le même nom dans la table Communes. Nous ouvrons cette
dernière en mode "création", nous sélectionnons le champ "Région", et nous cliquons sur
l'icône qui représente une petite clé.
5
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

La clé (encore appelée "clé primaire") identifie de manière unique chaque


enregistrement de la table. Le champ auquel on applique une clé acquière les propriétés
suivantes :

    les doublons (deux informations identiques ou plus) sont désormais interdits par
le système. La propriété "Indexé" passe automatiquement à "Oui - Sans
doublons" ;
  la présence de la clé interdit la présence d'un champ vide dans un enregistrement.
Bien que cela n'apparaisse pas dans dans les propriétés du champ (encore un petit
bug !), la valeur "Null" est désormais bannie ;
  le champ auquel on applique une clé est automatiquement trié par ordre
croissant.

2.5 Etablir un lien entre deux tables (clés étrangères) :

Les deux tables "Personnes" et "Région" étant créées, et la fenêtre "Base de données"
étant active, nous ouvrons la fenêtre "Relations" en cliquant sur le bouton du même nom. Si
les deux tables n'apparaissent pas, nous cliquons sur le bouton "Afficher la table". Une
fenêtre du même nom s'ouvre, qui nous permet d'ajouter les deux tables.

Pour créer la relation désirée entre les deux tables, nous cliquons sur le champ
"Num_region" de l'une d'elles, et nous tirons le curseur (le bouton gauche de la souris
maintenu enfoncé) vers le champ "Commune" de l'autre table. Une fenêtre intitulée
"Modification des relations" s'ouvre, comme le montre la figure ci-dessous.

Dans la fenêtre "Modification des relations", un choix s'offre à nous, celui de


l'intégrité référentielle. Ce terme implique que le SGBD effectue un certain nombre de
contrôles, pour assurer la cohérence interne de la BDD. Si nous appliquons l'intégrité
référentielle :

   un numéro de région ne provenant pas de la table "Région" sera refusé dans la table
"Personnes" ;
6
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

  il ne sera pas possible de supprimer un numéro de région dans la table "Région" s'il a
été utilisé dans la table "Personnes".

Nous cochons donc la case "Appliquer l'intégrité référentielle", puis nous appuyons
sur le bouton "OK". Dans la fenêtre "Relations", la présence des signes 1 et infini traduit
l'application de l'intégrité référentielle, comme le montre la figure ci-dessous. On remarquera
que le nom du champ qui porte la clé (et qui se trouve du côté 1 de la relation) est toujours
écrit en caractères gras.

Attention ! le SGBD refusera d'appliquer l'intégrité référentielle si les deux champs


liés par la relation ne possèdent pas le même type de données. Seule exception : si le champ
côté 1 est du type NuméroAuto, il doit être du type numérique (entier long) du côté n. De
même, le SGBD refusera d'appliquer l'intégrité référentielle si les tables contiennent déjà des
données, dont certaines ont des valeurs empêchant l'intégrité référentielle de s'appliquer.
Exemple : un numéro de région dans la table "Personnes" ne figure pas dans la table
"Région".

Si nous demandons l'intégrité référentielle (et il est très fortement conseillé de le


faire !), le système nous propose deux autres choix. Le premier, "Mettre à jour en cascade
les champs correspondants", signifie que si nous modifions l'écriture du numéro d'une
région du côté 1 de la relation, cette modification sera reportée partout du côté n. D'une
manière générale, il est recommandé d'activer cette mise à jour en cascade. Si nous ne le
faisons pas, et si nous tentons de modifier un numéro de région (pour corriger une faute
d'orthographe, par exemple), le système nous arrêtera, avec le message suivant : "Impossible
de supprimer ou de modifier l'enregistrement car la table 'Personnes' comprend des
enregistrements connexes". C'est clair, n'est-ce pas ?

Le second choix, "Effacer en cascade les enregistrements correspondants", signifie


que si nous supprimons une donnée du côté 1 de la relation, tous les enregistrements utilisant
cette donnée du côté n seront supprimés. Cela implique que, si nous supprimons par erreur un
numéro d’une région dans la table "Région", nous supprimons en même temps de la table
"Personnes" toutes les personnes habitant cette région. Il ne faut donc pas activer cette option,
sauf momentanément et en cas de besoin spécifique.

Supposons par exemple que des noms de fournisseurs se trouvent du côté 1 de la


relation, et des noms de produits du côté n. Si un fournisseur disparaît, nous pouvons activer
l'effacement en cascade. Quand nous supprimons le nom du fournisseur côté 1, tous ses
produits disparaissent du côté n. Nous effectuons ainsi la mise à jour de la base. Ensuite, nous
décochons l'effacement en cascade pour éviter tout risque d'effacement involontaire.

7
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

Remarque : le bouton "Type jointure..." ouvre la boite de dialogue intitulée "Propriétés de la


jointure". Nous étudierons la notion de jointure aux chapitres suivants, dans le cadre des
requêtes.

3 Modification de la structure d’une base de données en mode assisté :

La modification d’une structure d’une base de données est la réalisation des opérations sur la
base de données comme :
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.

3.1. Ajout de colonnes à une table (en mode assisté) :

Les étapes à suivre :

 Sélectionner la table correspondante

 Cliquer sur le bouton


 Ajouter une nouvelle colonne avec ses descriptions. (soit à la fin ou à n’importe
qu’elle autre position).
 Confirmer par enregistrer. Ou bien CTRL + S

3.2. Suppression de colonnes d’une table (en mode assisté) :

 Sélectionner la table qui contient la colonne correspondante

 Cliquer sur le bouton


 Sélectionner la colonne en question a partir de l’entête de sa ligne
 Menu « édition » ensuite « supprimer des lignes »
 Confirmer par enregistrer. Ou bien CTRL + S

3.3. Modification de caractéristiques d’une colonne (en mode assisté) :

La modification des caractéristiques d’une colonne consiste à modifier :


 Le nom de la colonne
 Le type de données
 La description
 Les autres propriétés : taille, caractère obligatoire, la règle de validité, etc.
Pour modifier les caractéristiques d’une colonne d’une table, il suffit de suivre les étapes
suivantes :

8
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

 Sélectionner la table qui contient la colonne correspondante

 Cliquer sur le bouton


 Sélectionner la colonne à modifier
 Si la modification concerne le nom, le type de données ou la description, effectuer
cette modification dans la ligne du tableau.
 Si la modification concerne une autre propriété, effectuer la dans la partie « propriétés
du champ »
 Confirmer par enregistrer. Ou bien CTRL + S

3.4. Modification de la clé primaire d’une table (en mode assisté) :

 Sélectionner la table qui contient la colonne correspondante

 Cliquer sur le bouton


 Sélectionner la colonne en question (clé primaire) a partir de l’entête de sa ligne
 Bouton droit « décocher » la clé primaire
 Confirmer par enregistrer. Ou bien CTRL + S

3.5. Suppression d’une table (en mode assisté) :

 Sélectionner la table correspondante


 Menu « édition » ensuite supprimer

3.6. Suppression d’une base de données (en mode assisté) :

Pour supprimer une base de données, il faut aller vers le répertoire correspondant et supprimer
le fichier.

Activité :
Questions :

9
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

1. Faire la représentation textuelle et graphique d’une base de données comportant :


personnes et région sur un bout de papier.

2. Créer une base de données nommée « gestion de région » et pour emplacement le dossier
« 4 SI BD » situé à la racine du lecteur (C :) en utilisant le SGBD : Microsoft ACCESS
2003.

3. Créer les tables de la base en mode assisté (sans identifier une clé primaire).

4. Préciser les clés primaires de chaque table.

5. Saisir cinq enregistrements pour chaque table de la base.

6. Etablir le lien entre les tables de la base.

Applications :

 Créer les bases de données de :


 Gestion de centre médical
 Gestion de matchs de tenis
 Gestion production et de stocks (Devoir de contrôle)
 Gestion de journal
 Gestion de location de films vidéo (Devoir de synthèse)

4 Création d’une base de données en mode commande :

4.1 Création d’une base de données :

Pour créer une base de données en mode commande, on va utiliser l’éditeur (phpmyadimin)
Lancer cet éditeur : démarrer/programmes/EasyPhp,
Dans la fenêtre qui s’affiche, attendez jusqu’à MYSQL démarre, ensuite minimiser la,
Bouton droite sur situé en bas et à droite de l’écran, choisir « administration »

10
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

Une autre fenêtre s’affiche dans la zone de texte taper le nom de la base.
Valider par créer.
Activité 1 :
Créer une base de données nommée « gestion de vente ».

11
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

La commande qui permet de créer une base de données est :


CREATE DATABASE Nom_BD ;

4.2 Création d’une table :


La syntaxe est la suivante :
CREATE TABLE Nom_Table
(Définition_colonne ) ;

 Définition_colonne :

Nom_colonne type [ [NOT] NULL] [DEFAULT valeur ] [contrainte_colonne]

 Contrainte_colonne :

PRIMARY KEY,
| REFERENCES nom_table [(nom_colonne)] [ON DELETE CASCADE]
| CHECK (condition)

 Type:

INT(n) : Numérique à n chiffres

12
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

DECIMAL (n, m) : numérique à n chiffres dont m décimales


VARCHAR(n) : Chaîne de caractères de longueur maximale est égale à n
DATE : date et/ou heure.

Activité 2 :
Créer les différentes tables de la base, en utilisant le mode commande.

a) représentation textuelle :
Client (COCLI, NOMCLI, VILLE)
Produit (COPRO, LIBELLE, PU)
Facture (NUFAC, DATEFAC, Montant, COCLI#)
Detail (COPRO#, NUFAC#, Qte)

b) représentation graphique :

Client Facture Detail Produit


1 1
COCLI NUFAC ∞ 1 COPRO
COPRO
NOMCLI DATEFA ∞ LIBELLE
∞ NUFAC
VILLE Montant Qte PU
COCLI

Les tables de la base sont :


Table Client
Colonne Type Taille contrainte
Cocli Numérique 10 Clé primaire
Nom_cli Texte 20 Non nulle
Prénom_cli Texte 20 Non nulle
Adr_cli Texte 50 Non nulle
Tel_cli Numérique 10

Table Facture
Colonne Type Taille contrainte
Num_fac Texte 10 Clé primaire
Date_fac Date Non nulle
Co_cli Numérique 10 Clé étrangère

Table produit
Colonne Type Taille contrainte
Copro Texte 10 Clé primaire
Des_pro Texte 20 Non nulle
PU_pro Numérique 8,3 (PU_pro >0)

Table détail
Colonne Type Taille contrainte
Co_pro Texte 10 Clé primaire
13
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

Num_fac Texte 10 Clé primaire


Numérique 8,3 (Valeur par
Qté défaut=0) et
(qté >=0)

CREATE TABLE `client` (


`cocli` int( 10 ) PRIMARY KEY ,
`nom_cli` varchar( 20 ) NOT NULL ,
`prénom_cli` varchar( 20 ) NOT NULL ,
`adr_cli` varchar( 50 ) NOT NULL ,
`tel_cli` int( 10 )
) ;

CREATE TABLE `facture` (


`num_fac` varchar( 10 ) PRIMARY KEY ,
`date_fac` date NOT NULL ,
`prénom_cli` varchar( 20 ) NOT NULL ,
`co_cli` REFERENCES `client `(`cocli`)
) ;

CREATE TABLE `produit` (


`copro` varchar( 10 ) PRIMARY KEY ,
`des_pro` varchar( 20 ) NOT NULL ,
`pu_pro` decimal( 8,3 ) CHECK (`pu_pro` >0)
) ;

CREATE TABLE `détail` (


`copro` varchar( 10 ) REFERENCES `produit` ,
`num_fac` varchar( 10 ) REFERENCES `facture`,
`qté` decimal( 8,3 ) DEFAULT 0 CHECK (`qté` > =0),
PRIMARY KEY (`copro`,`num_fac`)
) ;

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

a) modifier la structure d’une table :

la commande du langage SQL qui permet de modifier la structure d’une table est :

ALTER TABLE Nom_Table


[ADD COLUMN définition_colonne]
[ADD CONSTRAINT définition_contrainte]
[MODIFY définition_colonne]
[DROP COLUMN nom_colonne]
[DROP CONSTRAINT nom _ contrainte]

Activité 3 :

14
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009
Chapitre n°5 : Création et modification de la Structure d’une BDR Matière : Bases De Données

 Ajouter une colonne à la table client nommée « émail »


 Supprimer la contrainte clé primaire de colonne « num_fac » de la table détail
 Modifier la colonne « tel_cli » de telle façon que sa taille sera 8 au lieu de 10.
 Ajouter la contrainte clé primaire de colonne « num_fac » de la table détail (qu’est ce
que vous constatez ?)

b) Supprimer une table :

La commande qui permet de supprimer une table est :


DROP TABLE Nom_Table

c) Supprimer une base de données :

La commande qui permet de supprimer une table est :

DROP DATABASE Nom_BDD

15
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2008/2009

Vous aimerez peut-être aussi