Chapitre 2 - Structure Dune Base de Données Relationnelle
Chapitre 2 - Structure Dune Base de Données Relationnelle
Chapitre 2 - Structure Dune Base de Données Relationnelle
I. Introduction :
Une base de données (BD) est une collection de données interreliées exploitée via un logiciel
de type S.G.B.D. Les données homogènes qui parlent du même sujet seront regroupées
ensemble dans une entité qui sera appelée par la suite « table ». Donc une BD peut être vu
comme étant des tables interreliées.
La façon selon laquelle une BD est structurée ou organisée dépend du modèle de donnée utilisé.
Il existe plusieurs modèles de représentation des données et de leur liens (modèle hiérarchique,
modèle réseau, modèle relationnel et modèle objet) le plus utilisé aujourd’hui est le modèle
relationnel.
Selon le modèle relationnel, une BD est composée essentiellement de :
- Tables
- Colonnes (on dit aussi champs ou attributs ou uplets)
- Lignes (on dit aussi enregistrements ou tuples)
- Clés primaires
- Clés étrangères
- Contraintes d’intégrité
Colonnes
Comme l’indique la figure suivante, une table est composée horizontalement d’un ensemble de
lignes et verticalement d’un ensemble de colonnes. Les colonnes décrivent les propriétés
relatives au sujet représenté par la table et les lignes correspondent aux occurrences du sujet.
Un autre terme utilisé également pour désigner une table est celui de la « relation ». Son
utilisation se justifie par le fait que dans une table (ou relation), on trouve des données qui sont
en relation avec un sujet donné.
Exemple :
Soit la table « Article » qui regroupe les données relatives aux articles commercialisés dans un
magasin. Chaque article est décrit par les propriétés suivantes :
Donner une description détaillée sous forme de tableau de chacune de ces colonnes
Obligatoire
Valeur par
autorisées
Nom
Valeur
défaut
Taille
colonne Description Type de données
Exemple :
Dans la table « Article » la colonne « Code article » peut être utilisée comme clé primaire car
la codification des articles est faite de telle sorte qu’on ne peut pas avoir deux articles ayant le
même code. Connaissant le code article, on peut déterminer de façon unique sa désignation,
son prix unitaire et sa quantité en stock.
Remarque :
- Chaque table doit comporter une seule clé primaire. Dans certains cas la clé primaire
est simple (une seule colonne), dans d’autres elle est composée (c’est-à-dire plusieurs
colonnes regroupées ensemble pour former la clé primaire).
- Les colonnes qui constituent la clé primaire sont obligatoire.
Exercice :
Pour chacune des tables suivantes cocher les colonnes qui peuvent jouer le rôle de la clé
primaire :
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.
Exemple :
Supposons qu’en plus de la table « Client », nous avons une table « Commande » qui décrit les
commandes reçues par le magasin. Dans cet exemple, nous admettons l’hypothèse qu’une
commande ne concerne qu’un seul client. La figure ci-dessous représente ces deux tables avec
le lien qui existe entre les deux.
- La colonne « Code-Clt » est la clé primaire de la table « Client » car elle permet
d’identifier chaque ligne de cette table de manière unique.
- La colonne « Num-Com » est la clé primaire de la table « Commande » car elle permet
d’identifier chaque ligne de cette table de manière unique.
- La colonne « Code-Clt » dans la table « Commande » est une clé étrangère. Elle permet
d’établir le lien entre les deux tables.
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 contraintes de domaines : Ce sont des contraintes appliquées à des colonnes. Elles
permettent de fixer le caractère obligatoire ou pas d’une colonne et les règles de validité
des valeurs qui peuvent êtres prises par cette colonne. Par exemple la note obtenue doit
être entre 0 et 20.
✓ Les contraintes d’intégrité des tables : Elles permettent d’assurer que chaque table a
une clé primaire.
✓ Les contraintes d’intégrité référentielles : Elles permettent de s’assurer que les valeurs
introduites dans une colonne figurent dans une autre colonne en tant que clé primaire.
Par exemple on n’accepte pas un code client saisi dans la table commande qui ne figure
pas dans la table client.
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 clé primaire de A se trouve comme clé étrangère dans B), la représentation
textuelle de ces deux tables se fait de la façon suivante :
Au niveau de la représentation textuelle la clé primaire est toujours soulignée et la clé étrangère
est toujours précédé par le symbole #.
Exemple :