
Envoyé par
fred1599
bien que le terme anglais surrogate soit standard dans la littérature de Chris Date
Au sens d’entité ou d’identifiant d’entité, mais les surrogate keys ne font pas partie du modèle relationnel.
Le concept de "surrogate" apparaît d’abord en 1976 dans "Relations and Entities" de Hall, Owlett et Todd. Un surrogate y est un identifiant affecté par le système à une entité (cf. [1] page 176).
Dans RM/T (cf. [2]), Codd achète le concept de surrogate, mais Date fait observer (cf. [3]) qu’un surrogate n’étant pas visible par l’utilisateur, il y a là un viol patent des règles auxquelles souscrit le Modèle Relationnel :
“hiding surrogates constitutes a violation of Codd's own Information Principle, which states that all information in the database must be cast explicitly in terms of values in relations and in no other way.”
Dans son dernier ouvrage, RM/v2 (cf. [4]), Codd a manifestement tenu compte de cet avertissement, exeunt les surrogate keys...
Je rappelle que les surrogate keys sont exclues du modèle relationnel, vous ne les trouverez pas dans l’ouvrage de référence [5].
[1] C. J. Date - An Introduction to Database Systems, 2e édition.
[2] E. F. Codd - Extending the Relational Database Model to Capture More Meaning.
[3] C. J. Date - Thirty Years of Relational: Extending the Relational Model (1999)
[4] E. F. Codd - The Relational Model for Database Management, version 2.
[5] C. J. Date & Hugh Darwen - Databases, Types and the Relational Mddel, The Third Manifesto.
Partager