L'exemple suivant, relatif à la gestion simplifiée des étapes du Tour de France 1997, va nous servir à introduire le vocabulaire lié au modèle relationnel.
| CodeEquipe | NomEquipe | DirecteurSportif |
|---|---|---|
| BAN | BANESTO | Eusebio UNZUE |
| COF | COFIDIS | Cyrille GUIMARD |
| CSO | CASINO | Vincent LAVENU |
| FDJ | LA FRANCAISE DES JEUX | Marc MADIOT |
| FES | FESTINA | Bruno ROUSSEL |
| GAN | GAN | Roger LEGEAY |
| ONC | O.N.C.E. | Manolo SAIZ |
| TEL | TELEKOM | Walter GODEFROOT |
| ... | ... | ... |
| NuméroCoureur | NomCoureur | CodeEquipe | CodePays |
|---|---|---|---|
| 8 | ULLRICH Jan | TEL | ALL |
| 31 | JALABERT Laurent | ONC | FRA |
| 61 | ROMINGER Tony | COF | SUI |
| 91 | BOARDMAN Chris | GAN | G-B |
| 114 | CIPOLLINI Mario | SAE | ITA |
| 151 | OLANO Abraham | BAN | ESP |
| ... | ... | ... | ... |
| NuméroEtape | DateEtape | VilleDépart | VilleArrivée | NbKm |
|---|---|---|---|---|
| 1 | 06-jul-1997 | ROUEN | FORGES-LES-EAUX | 192 |
| 2 | 07-jul-1997 | ST-VALERY-EN-CAUX | VIRE | 262 |
| 3 | 08-jul-1997 | VIRE | PLUMELEC | 224 |
| ... | ... | ... | ... | ... |
| NuméroCoureur | NuméroEtape | TempsRéalisé |
|---|---|---|
| 8 | 3 | 04:54:33 |
| 8 | 1 | 04:48:21 |
| 8 | 2 | 06:27:47 |
| 31 | 3 | 04:54:33 |
| 31 | 1 | 04:48:37 |
| 31 | 2 | 06:27:47 |
| 61 | 1 | 04:48:24 |
| 61 | 2 | 06:27:47 |
| 91 | 3 | 04:54:33 |
| 91 | 1 | 04:48:19 |
| 91 | 2 | 06:27:47 |
| 114 | 3 | 04:54:44 |
| 114 | 1 | 04:48:09 |
| 114 | 2 | 06:27:47 |
| 151 | 3 | 04:54:33 |
| 151 | 1 | 04:48:29 |
| 151 | 2 | 06:27:47 |
| ... | ... | ... |
| CodePays | NomPays |
|---|---|
| ALL | ALLEMAGNE |
| AUT | AUTRICHE |
| BEL | BELGIQUE |
| DAN | DANEMARK |
| ESP | ESPAGNE |
| FRA | FRANCE |
| G-B | GRANDE BRETAGNE |
| ITA | ITALIE |
| P-B | PAYS-BAS |
| RUS | RUSSIE |
| SUI | SUISSE |
| … | … |
C'est ainsi que dans l'exemple présenté, figurent l'ensemble des Equipes, des Coureurs, des Etapes, des Temps réalisés par les coureurs à chacune des étapes, et enfin l'ensemble des pays.
C'est ainsi que dans la table COUREURS, chaque coureur a un NuméroCoureur différent.
Dans certains cas, plusieurs clés primaires sont possibles pour une seule table. On parle alors de clés candidates . Il faut alors en choisir une comme clé primaire.
C'est ainsi que dans la table COUREURS, la clé étrangère CodeEquipe (faisant référence à la clé primaire de même nom dans la table EQUIPES) traduit les deux règles de gestion suivantes :
Un COUREUR appartient à une EQUIPE
Une EQUIPE est composée de plusieurs COUREURS
C'est ainsi que la table des TEMPS réalisés à chaque étape par chacun des coureurs exprime les deux règles de gestion suivantes :
Un COUREUR participe à plusieurs ETAPES
Une ETAPE fait participer plusieurs COUREURS
EQUIPES (CodeEquipe, NomEquipe, DirecteurSportif)
COUREURS (NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*)
ETAPES (NuméroEtape, VilleDépart, VilleArrivée, NbKm)
TEMPS (NuméroCoureur*, NuméroEtape*, TempsRéalisé)
PAYS (CodePays, NomPays)

Un COUREUR appartient à une EQUIPE
Une EQUIPE est composée de plusieurs COUREURSUn COUREUR est originaire d'un PAYS
Un PAYS est représenté par plusieurs COUREURSUn COUREUR participe à plusieurs ETAPES
Une ETAPE fait participer plusieurs COUREURS