Vous êtes sur la page 1sur 10

Chapitre n°3 

: Structure d’une BDR Matière : Bases De Données

Partie II :
Création de bases de données
Chapitre n°3 :
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.
Plan :
1. Introduction
2. Notion de table
3. Notion de colonnes
4. Notion de ligne
5. Notion de clé primaire
6. Liens entre tables
7. Notion de contrainte d’intégrité
8. Représentation de la structure d’une base de données
9. Exemple de base de données

1. Introduction :

Nous avons vu au chapitre précédent qu’une BD est un ensemble de données


structurées et dans laquelle les données sont stockées dans des tables. Mais avant d’aborder
l’étude des BD par celle de la création et de manipulation des tables, faisons un stop
asynchrone pour qu’on puisse savoir la façon selon laquelle une base de données est
structurée, ou organisée. Tout d’abord, dépend du modèle de données utilisé.
C’est au modèle relationnel que nous allons nous intéresser dans le reste de ce manuel.
Selon le modèle relationnel, une base de données est composée essentiellement de :
 Tables
 Colonnes
 Lignes
 Clés primaires
 Clés étrangères
 Contraintes d’intégrité
Vous allez apprendre ces concepts, ainsi que vous allez découvrir les deux formalismes
utilisés pour représenter la structure d’une base de données.

2. Notion de table :
Dans les bases de données relationnelles, la table est le premier objet par ordre
d’importance décroissante. Pas de table, pas de données.
Mais en fait qu’est ce qu’une table ?
Dans Access, comme dans les autres SGBD, les informations doivent être segmentées
en données qui sont stockées dans des tables.
Définition :
Une table est donc un ensemble de données, organisées en lignes et en colonnes. On
peut stocker dans une table n’importe quel type d’information (texte, chiffres, graphisme,
son, etc...)
1
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

Chaque table est divisée en enregistrements, les enregistrements étant l’ensemble des
données relatives à la même information. Prenons l’exemple d’un carnet d’adresses. Pour ce
carnet d’adresses, nous allons utiliser une table « contact » qui contiendra toutes les
informations concernant chaque contact, chaque enregistrement contiendra les informations
relatives à un (et un seul) contact (nom, adresse, téléphone, date de naissance, etc…)
Comme on vient de le voir, chaque enregistrement contient un ensemble
d’informations (nom, adresse, téléphone) qui ont elles même diviser l’enregistrement en
plusieurs parties, chaque partie s’appelle un champ. Le champ contient une partie des
informations de chaque enregistrement.

Si on reprend notre exemple de carnet d’adresse, nous allons avoir une table qui peut
ressembler à ça :

Activité :
Question :
Faire la table article, qui regroupe les données relatives aux articles commercialisés
dans un magasin.
Réponse :
Chaque article est décrit par :
 Code article : c’est un code attribué de façon unique à chaque article.
 Désignation article : c’est le nom courant d’un article.
 Prix unitaire : c’est le prix de vente de l’article.
 Quantité stock : c’est la quantité actuellement disponible pour un article.

2
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

À un moment donné, la table Article peut être représentée comme suit :


NUM ELEVE NOM-PRENOM AGE ADRESSE
0001 Tounsi Ahmed 18 Bardo
0002 Guizeni Med 16 Manouba
0003 Toujeni Rim 15 Ksar Said
0004 Beldi Amine 16 Den Den
3. Notion de colonne :
a) Définitions :
Dans une table, une colonne correspond à une propriété élémentaire de l’objet décrit par cette
table.
C’est l’unité d’information dans une table. Une table est constituée de plusieurs colonnes.
b) Description : caractéristiques du champ:
Nom
Type de données
Taille éventuelle
Obligatoire (oui/non) not null
Valeur par défaut
Valide si: on peut créer une règle indique les valeurs utilisées.
Une colonne est décrite par :
Un nom : c’est le nom de la colonne. Il est généralement soumis aux mêmes règles de
nommage des variables dans les langages de programmation.
Un type de données : c’est le type de données prises par cette colonne.
Le tableau ci-dessous précise les propriétés de ces différents types. Il est nécessaire, à ce
stade, d'effectuer les bons choix. Si l'on modifie ultérieurement le type de données d'un
champ, alors que la table contient déjà des informations, ces dernières risquent d'être
tronquées ou perdues.
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 à 1) 4 octets (entier
ou aléatoire. Souvent utilisée pour générer le code des long)
enregistrements

3
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

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 hypertexte Permet d'enregistrer des URL de sites web et des adresses < 2049 caractères
de courrier électronique

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).

Une taille éventuelle : pour certains types de données tel que le type numérique ou chaînes
de caractères, la taille indique la longueur maximale que peut prendre la colonne.
Un indicateur de présence obligatoire : indique si cette colonne doit être toujours
renseignée ou peut être vide dans certains cas. Lorsque la colonne n’est pas renseignée, on dit
qu’elle contient une valeur nulle. Il est à noté que la valeur nulle est différente de zéro pour
les colonnes de type numérique et de chaîne vide pour les chaînes de caractères.
Une valeur par défaut éventuelle : permet d’attribuer une valeur par défaut
lorsqu’aucune valeur n’a été attribuée à cette colonne.
Une règle éventuelle indiquant les valeurs autorisées : certaines colonnes peuvent être
soumises à certaines règles tel que : les valeurs attribuées à cette colonne doivent être
inférieures ou supérieures à une certaine valeur ou bien comprises entre deux valeurs.

4
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

Exemple :
Nous avons vu dans l’activité précédente que la table « article » regroupe les quatre colonnes
suivantes : code article, désignation, prix unitaire et quantité en stock.
Nous allons décrire chacune des colonnes en détails.
Nom de la table : ELEVE
Description : détail des élèves
Valeur
Nom Type de Valeurs
Description Taille Obligation par
colonne données autorisées
défaut
Code de
Num eleve Numérique 6 Oui
l’elève
Le nom et le
Nom- Chaine de
prénom de 20 Oui
prenom caractère
l’eleve
L’age de
Age numérique 2 Non 0 >0
l’éléève
L’adresse de Chaines de
adresse 30 Non
l’élève caractères

Nom de la table : Article


Description : détail des articles commercialisés
Valeur
Nom Type de Valeurs
Description Taille Obligation par
colonne données autorisées
défaut
Code de Chaîne de
Code_art 20 Oui
l’article caractères
Désignation Chaîne de
Des_art 50 Oui
de l’article caractères
Prix unitaire
PU Numérique 8 .3 Non >0
de l’article
Quantité en
Qte_stock Numérique 4 Non 0 >=0
stock

Activité :
1) Dégager les colonnes (champs) des tables : élève, épreuve et matière.
2) Donner les descriptions détaillées des colonnes de chacune de ces tables.
Réponse :
1) Élève (n°inscription, nom_élève, prénom_élève, adresse_élève, date de
naissance,CP_élève)
Epreuve (code_épreuve, date_épreuve, coefficient)
Matière (code matière, désignation)
2) le tableau suivant est une description détaillée des colonnes de la table élève :

Nom de la table : épreuve


Description : détail sur les épreuves passées.
Type de Valeur par Valeurs
Nom colonne Description Taille Obligation
données défaut autorisées
Code_épreuve Code_épreuve Chaîne de 5 Oui

5
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

caractères
>#15/09/2007
Date_épreuve Date_épreuve Date Non 15/09/2007 ET < =
28/05/2008
Coefficient de
Coefficient Numérique 4,2 Oui 0 >0
l’épreuve

4. Notion de ligne :

Définitions :
Une ligne correspond à une occurrence du sujet représenté par la table. On dit aussi
qu’elle correspond à un objet du monde réel.
Une ligne ou bien appelé un enregistrement est un ensemble de données relatif à la même
information.
Activité :
Remplir la table élève par trois élèves de 4ème année SI, supposons que cette table est crée au
début de l’année scolaire,

5. Notion de clé primaire :


Définition :
La clé primaire identifie de manière unique chaque enregistrement de la table.
Le champ auquel on applique une clé primaire 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 les propriétés du champ
Le champ auquel on applique une clé est automatiquement trié par ordre croissant.
Indication : les colonnes qui constituent la clé primaire sont obligatoires, sont soulignées, ou
la met on gras.
Application :
On veut concevoir une base de données pour gérer les matchs de tennis.
On a besoin de gérer les joueurs, les terrains et les matchs (définie par des fiches) qui
se jouent sur ces terrains.
Un joueur est caractérisé par un code (unique) et un nom.
Un terrain est caractérisé par une adresse (unique) et un nombre de spectateur.
Un match est caractérisé par un numéro (unique) et une date.
Questions :
1) Dégager toutes les colonnes de cette base.
2) Extraire toutes les tables de la base ci-dessus.
3) Affecter les colonnes dégagées de la 1ère question dans leurs tables.
4) Déterminer une colonne permettant d’identifier d’une manière unique les tables.

6. Liens entre tables :

Pour qu’une base de données constitue une représentation fidèle, les liens entre les tables
doivent être existantes.
Prenons un exemple pour bien comprendre : soit les deux tables suivantes : élève et
établissement.
La question qui se pose est : quelle relation existe-t-elle entre ces deux tables ?
OUF !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C’est évident de dire :
6
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

Un élève est inscrit dans un et un seul établissement.


Un établissement peut avoir plusieurs élèves.

Définition :

Un lien entre deux tables A et B est représenté par l’ajout dans la table B d’une nouvelle
colonne correspondant à la clé primaire de la table A. cette nouvelle colonne est appelée clé
étrangère.
 Un lien entre deux tables est orienté : il part de la table contenant la clé étrangère et
arrive vers la table contenant la clé primaire. La table cible (celle contenant la clé
primaire) s’appelle table mère et la table source (celle contenant la clé étrangère)
s’appelle table fille. On dit aussi que la table fille se réfère à la table mère.
 Pour distinguer une colonne qui fait partie d’une clé étrangère des autres colonnes, on
la double souligne ou bien on le fait suivre d’une dièse (#).

Applications :
Application n°1 :
Faire le lien nécessaire entre la table élève et la table établissement pour qu’elles
seront liées en indiquant la table mère à celle de la table fille.

Etablissement Eleve
Codeetab
Nometab Numelev
Adresseetab Nomelev
Teletab Prenomelev
Dnaisselev

Table ………………… Table ……………..

Application n°2 :
Revenons à l’application faite dans la notion de clé primaire (gestion de maths de
tennis).
Réaliser les liens entre les tables de cette base en référant au texte suivant :
Les règles suivantes gèrent les relations entre les composantes de l’ensemble d’information :
Un joueur gagne 0 ou plusieurs matchs, un match est gagné par 1 joueur.
Un match se joue sur 1 terrain, un terrain peut recevoir 1 ou plusieurs matchs.

………….. …………..
…………...
………….. …………..
………….. …………..
…………..
………….. ………….. 7
…………..
Enseignant : KAIS Taboubi Classe : 4 SI …………..
Année Scolaire : 2007/2008
…………..
…………..
………….. …………..
…………..
………….. …………..
…………..
…………..
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

7. notion de contraintes d’intégrité :


Parmi les fonctions principales d’un SGBD est d’assurer la cohérence et l’intégrité de
données.
Définition :
Une contrainte d’intégrité est une règle appliquée à une colonne ou à une table et qui doit être
toujours vérifiée.
Les principaux types de contraintes d’intégrité sont :
 Les contraintes de domaines : ce sont des contraintes appliquées à des colonnes.
(obligation et valeurs autorisées) (valide si)
Exemple : note d’un élève, quantité, etc..
 Les contraintes d’intégrité de tables : elles permettent d’assurer que chaque table
doit avoir une clé primaire. (clé primaire)
Exemple : Numelev, codearticle, etc..
 Les contraintes d’intégrité référentielles : elles résument la notion de lien entre
les tables c'est-à-dire qu’une clé primaire d’une table mère doit être figurée dans la
table fille.
Champ clé étrangère ne peut contenir qu'une valeur déjà existante dans la clé
primaire correspondante.
La suppression d'un enregistrement d'une table mère A utilisé par une table fille B
est interdit.
8. Représentation de la structure d’une base de données:

Après avoir décrites différentes structures qui constituent une base de données, il nous
reste maintenant à donner un formalisme permettant de représenter de façon homogène tous
ces concepts.
Cette représentation est appelée modèle ou schéma de la base de données.
La structure d’une base de données peut être représentée selon deux formalismes :
Représentation textuelle
Représentation graphique.
a) Représentation textuelle :
C’est une description des tables, des colonnes et les liens entre les tables en utilisant des
textes.

8
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

Soient les deux tables A et B composées des attributs a1, a2, a3 et a4 pour la première et
b1, b2 et b3 pour la deuxième et dont les clés primaires respectives sont a1 et b1. en
supposant que B se réfère à A, la représentation textuelle de ces deux tables se fait de la
façon suivante :
A (a1, a2, a3, a4)
B (b1, b2, b3, a1#)
Exemple: les deux tables suivantes représentent les établissements et les élèves qui y sont
inscrits.
Etablissement (codeetab, nometab, adresseetab, teletab)
Eleve (Numelev, nomelev, prenomelev, dnelev, codeetab #)
b) Représentation graphique:
C’est une description des tables, des colonnes et les liens entre les tables en utilisant des
symboles graphiques.

A B
1
a1 b1
Les clés primaires sont représentées en gras et les clés étrangères
a2 b2 à l’aide d’un lien
entre les
a3deux tables : le symbole (∞) est placé du coté de la clé étrangère
b3 et le symbole (1) du
coté dea4la clé primaire référencée. ∞ a1
La relation entre les deux tables est dite de type « un à plusieurs » car à une ligne de A
peut correspondre plusieurs lignes de B alors qu’à une ligne de B ne peut correspondre qu’une
seule ligne de A.
Exemple :
Etablissement Eleve
Codeetab
Nometab Numelev
Adresseetab Nomelev
Teletab Prenomelev
Dnaisselev
Code tab

9. Exemples de base de données:

Faire les représentations textuelle et graphique des bases de données suivantes :


Exemple n°1 :
Soit la présentation de gestion de production et de stocks suivante :
Une société a décidé de concevoir une base de données pour l’assister dans la gestion
de sa production et de ses stocks.
Cette société comporte une unité de fabrication qui est identifiée par un numéro et
caractérisée par un nom, une localisation et une capacité de production. Une unité de
fabrication peut fabriquer plusieurs produits.
La société comporte plusieurs dépôts. Un dépôt est identifié par un numéro et possède
une désignation, une localisation et une capacité de stockage. Un dépôt peut servir pour
stocker plusieurs produits. On connaît pour un dépôt la quantité de chaque produit stocké.

9
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008
Chapitre n°3 : Structure d’une BDR Matière : Bases De Données

Un produit peut être fabriqué par plusieurs unités de fabrication et peut être stocké
dans plusieurs dépôts.
Un produit est caractérisé par une référence qui l’identifie et un prix.
Exemple n°2 :
Soit la présentation de gestion des voitures suivante :
On veut gérer une base de données de voitures utilisées comme taxi.
La société dispose de plusieurs voitures. Une voiture est caractérisée par un matricule
qui l’identifie, une date d’acquisition, une puissance, un prix d’achat et un modèle.
Une voiture est construite par un et un seul constricteur, et un constructeur peut
construire une à plusieurs voitures.
Un constricteur est caractérisé par un code qui l’identifie, un nom et une adresse.
Chaque voiture est conduite par un et un seul chauffeur pendant une date donnée et un
chauffeur peut conduire une ou plusieurs voitures.
Un chauffeur est caractérisé par un numéro qui l’identifie, un nom et une date d’embauche.

10
Enseignant : KAIS Taboubi Classe : 4 SI Année Scolaire : 2007/2008

Vous aimerez peut-être aussi