Vous êtes sur la page 1sur 5

Chapitre 2 : Structure d’une BD relationnelle

Chapitre 2 : Structure d’une base de données relationnelle


Objectifs :
- Découvrir les éléments constituant une base de données relationnelle.
- Comprendre la représentation textuelle des tables

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é

II. Notion de Table :


Une table est un ensemble de données relatives à un même sujet (ou entité) et structurée sou
forme de tableau à deux dimensions contenant des lignes et des colonnes.

Exemple : Table étudiant

Colonnes

Code Nom Prénom Age Classe


GE_140 Ben Salah Ali 20 L1_GE1
GE_157 Aouini Mohamed 22 L2_AII Lignes
GE_136 Souissi Asma 21 L1_GE2
… … … … …

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

Réalisé par : Bassem Boughzala (ISET RADES) Page 1/5


Chapitre 2 : Structure d’une BD relationnelle

III. Notion de colonne :


Dans une table, une colonne correspond à une propriété élémentaire de l’objet décrit par cette
table. Elle est décrite par :
- Un nom : C’est le nom de la colonne. Il est sous forme de code et 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 que prend cette colonne. Les types de
données les plus connus sont : « numérique », « chaine de caractères », « date »,
« booléen ». Certains SGBD supportent des types de données multimédias telles que
les images, le son et la vidéo.
- Une taille éventuelle : pour certains types de données tel que le type numérique ou
chaines 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 à noter que la valeur nulle est différente
de zéro pour les colonnes de type numérique et de la chaine 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é à cette colonne.
- Une règle éventuelle indiquant les valeurs autorisées : dans certains cas, une colonne
peut être soumise à certaines règles tel que : les valeurs attribuées doivent être bien
comprises entre deux valeurs.

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 :

- Code article : c’est un code attribué de façon unique à chaque article.


- Désignation article : c’est le nom courant de l’article
- Prix unitaire : c’est le prix de vente de l’article
- Quantité Stock : C’est la quantité actuellement disponible pour un article

A un moment donné, la table « article » peut être représentée comme suit :

Code Article Désignation article Prix unitaire Quantité en stock


V10 Vis 50x3 400 2500
V20 Vis 20x2 200 1300
B90 Boulon 90x15 450 500
C60 Clou 60x2 100 5000

Donner une description détaillée sous forme de tableau de chacune de ces colonnes

Réalisé par : Bassem Boughzala (ISET RADES) Page 2/5


Chapitre 2 : Structure d’une BD relationnelle

Nom de la table : Article


Description : Détail des articles commercialisés

Obligatoire

Valeur par

autorisées
Nom

Valeur
défaut
Taille
colonne Description Type de données

Code_art Code de l’article Chaîne de caractères 20 Oui


Des_art Désignation de l’article Chaîne de caractères 50 Oui
PU Prix unitaire de l’article Numérique 8,3 Non >0
Qte_Stk Quantité en stock Numérique 4 Non 0 >=0

IV. Notion de ligne :


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 table est initialement vide lorsqu’elle est créée.
L’exploitation d’une table consiste à y insérer de nouvelles lignes, à modifier certaines lignes
ou à consulter certaines lignes en fonction de critères bien déterminés. Une ligne peut être
supprimée lorsqu’on estime qu’on n’en a plus besoin.

La représentation de la table article donnée ci-dessus contient 4 lignes correspondant chacune


à un article commercialisé.

V. Notion de clé primaire :


La clé primaire d’une table est une colonne ou un groupe de colonnes permettant d’identifier
de façon unique chaque ligne de la table. Autrement dit, la connaissance de la valeur de la clé
primaire, permet de connaître sans aucune ambiguïté les valeurs des autres colonnes de la table.

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 :

Réalisé par : Bassem Boughzala (ISET RADES) Page 3/5


Chapitre 2 : Structure d’une BD relationnelle

Table Nom Prénom N°CIN N° Sécurité Adresse Age


Employé Sociale

Table Marque Modèle Age N° N° Lieu de


Voiture Immatriculation Châssis Fabrication

Table Prix Ville de Ville N° Société de Validité


Ticket de départ D’arrivée Ticket Transport
transport

VI. Clé étrangère :

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.

Réalisé par : Bassem Boughzala (ISET RADES) Page 4/5


Chapitre 2 : Structure d’une BD relationnelle

VII. Notion de contrainte d’intégrité :


Assurer la cohérence et l’intégrité des données est l’une des principales fonctions d’un SGBD.
Elle consiste à garantir que les données stockées dans une BD sont cohérentes entre elles, c’est-
à-dire qu’elles respectent toutes les règles exigées par le concepteur de la base. La cohérence
et l’intégrité des données sont assurées à l’aide d’un ensemble de règles dites contraintes
d’intégrité.

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 sont :

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

VIII. Représentation textuelle des tables :


Pour alléger la représentation graphique des tables (la forme tabulaire) on peut utiliser la
représentation textuelle qui consiste à décrire les tables, les colonnes et liens entre les tables en
utilisant du texte.

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 :

Etablissement (CodeEtab, NomEtab, AdresseEtab, TelEtab)


Etudiant (NumEtud, NomEtud, PrenomEtud, DnaissEtud, #CodeEtab)

Réalisé par : Bassem Boughzala (ISET RADES) Page 5/5