Et une colonne de la table représente aussi un ensemble d’éléments, donc si je vous suis, son nom devrait lui aussi être au pluriel.
Par ailleurs, pour prolonger ce que dit kazou, une entité-type représente un ensemble d’éléments appelés occurrences, donc pourquoi ne pas mettre au pluriel un nom d’entité-type ?
Il est prudent de suivre le père du Modèle Relationnel de Données, Ted Codd, qui a toujours utilisé le singulier (voyez son
article fondateur).
De façon générale, les théoriciens du relationnel tels que Ronald Fagin se contentent de lettres (P, Q, R, S, etc.) pour nommer les tables.
Quand ils utilisent des noms (je fais référence à Carlo Zaniolo, Chris Date, Claude Delobel, etc.) c'est au singulier, mais il y a des exceptions : ainsi, le Professeur Gardarin utilise soit le singulier, soit le pluriel (
Bases de données. Les systèmes et leurs langages. Eyrolles, 1988). Même chose concernant Jeffrey Ullman (
Principles of DATABASE SYSTEMS, Second Edition. Computer Science Press. 1982). Par ailleurs,
Bernard Maier utilise des noms au pluriel...
Rien n’interdit donc a priori de mettre au pluriel un nom de table, mais je pense qu’il faut s’inspirer de la rigueur de Chris Date quand il passe au plan sémantique et qu'il fait le distinguo entre
relvar (abréviation de variable relationnelle) et
relation : une variable se situe dans le temps (et dans l’espace) et prend successivement des valeurs distinctes, à savoir des relations, lesquelles ne se situent ni dans le temps ni dans l’espace, au même titre que les nombres 1, 2, 3, etc. Dans le même sens, on pourrait très bien utiliser les termes
tablevar et
table pour signifier qu'une variable tabulaire prend des valeurs qui sont des tables.
Dans ces conditions, à un instant donné, une tablevar prend une valeur unique. Pourquoi alors ne pas utiliser le singulier pour la tablevar lors de sa définition : "CREATE TABLE Professeur (...) ;" ? On peut considérer que les lignes de la table sont certes des valeurs, mais à un niveau interne et ne sont pas parties prenantes dans cette affaire.
Et puis, d’un point de vue pragmatique, quand vous produisez un MCD comportant des centaines d’entités-types et d’associations-types, vous passez par les services d’un AGL, notamment pour dériver ce MCD en MLD. Je ne vois pas bien alors l’intérêt de reprendre les tablevars produites, pour les renommer une à une, tâche ingrate et déprimante s’il en est.
Toujours à la suite de Chis Date on convient que, tout comme une relvar, une relation est composée d’un en-tête et un corps.
L’en-tête (encore appelé schéma) est un énoncé vérifonctionnel, un prédicat à n places, ces dernières étant représentées par les attributs composant l’en-tête.
Exemple beegeesien :
En-tête de la relvar Professeur :
Professeur (MatriculeProf, NomProf, PrenomProf, EmailProf)
Prédicat :
Le professeur ayant pour matricule MatriculeProf, nommé NomProf et prénommé PrenomProf a pour adresse de courriel EmailProf.
Le corps est composé des lignes de la relation qui est la valeur actuelle de la relvar, et ces lignes correspondent aux propositions qui instancient le prédicat :
Le professeur ayant pour matricule 1234, nommé Gismow et prénommé Louis a pour adresse de courriel louis.gismow@dvp.be
Le professeur ayant pour matricule 4567, nommé Spielberg et prénommé Albert a pour adresse de courriel albert.spielberg@dvp.be
Le professeur ayant pour matricule 7890, nommé King et prénommé Marc a pour adresse de courriel marc.king@dvp.be
Bref, toutes choses égales par ailleurs, quant au singulier et au pluriel les noms, ce qui vaut pour les entités-types du MCD vaut également pour les relvars et tablevars.
Partager