Bonsoir,
Oppenheimer, concernant votre 2e message :
Envoyé par
Oppenheimer
Page 8 : « Une relation de degré 3 pourrait avoir pour attributs (A1, A2, A3) » - je crois que vous voulez parler du nom des attributs.
Je vous prie de bien noter que je me suis borné à citer et traduire Codd qui a écrit (cf. Further Normalization of the Data Base Relational Model - E. F. Codd, IBM Research, 1971) :
“Now, not all these n cited domains need be distinct. Instead of using an ordering to distinguish these n citations from one another (as is an ordering to distinguish these n citations from one another (as is common in mathematics), we shall use a distinct name for each citation and call this the attribute name for that particular use of a data base domain. Each distinct use (or citation) of a data base domain in defining R is accordingly called an attribute of R. For example, a relation R of degree 3 might have attributes (A1,A2,A3) while the corresponding data base domains are (DS,D7,D5). Attribute names provide an effective means of protecting the user from having to know domain positions.”
Envoyé par
Oppenheimer
Page 9 : Vous évoquez l’équivalence d’un type est d’un domaine, à la faveur du type.
Je vous prie de bien noter que je n’ai fait que reprendre les définitions et orientations de Chris Date, et je ne me permettrais pas d'altérer ses écrits. Je vous renvoie à ses différents ouvrages. Par exemple, en Tutorial D Chris Date définit le type QTY (voyez SQL and Relational Theory Second Edition page 170) :
1 2 3 4
| TYPE QTY
POSSREP QPR
{ Q INTEGER
CONSTRAINT Q > 0 AND Q < 5000 } ; |
Date explique dans ce même ouvrage pourquoi il utilise le terme « Type ».
Envoyé par
Oppenheimer
Page 12 : Je ne sais pas ce que vous appelez un « Sotomayor »
Javier Sotomayor est quelqu’un qu’il est très difficile de dépasser (ça viendra, mais à ce jour personne n’y est parvenu, et ça fait 20 ans que ça dure...)
Envoyé par
Oppenheimer
je me plaît parfois à imaginer ce que donnerait un clash entre Date et Codd
Divorce il y a eu et cela ne m’a pas donné le cœur à rire. Je vous renvoie au chapitre 9 « Much Ado about Nothing » de Relational Database Writings 1991-1994.
Envoyé par
Oppenheimer
Page 41 : Vous avez placé à l’origine de la définition, en place de l’énoncé de Boyce et Codd, semble-t-il - ou alors j’ai loupé quelque chose -, un énoncé de Date.
Je n’ai pas de raison de fournir les énoncés selon la chronologie, disons que je privilégie la clarté et l’élégance (qui du reste vont de pair). Cela dit, vous aurez noté que j’ai fait précéder l’énoncé de Date de références : [Fagin 1977], [Ullman 1982]. Pour vous faire plaisir et quand j’en aurai le temps, j’essaierai de placer la référence à l’énoncé original de 1974, Recent Investigations in Relational Data Base Systems, énoncé qui est le suivant (veuillez noter que Boyce et Codd ont baptisé leur forme normale : « Third Normal Form »...) :
A relation R is in third normal form if it is in first normal form and, for every attribute, collection C of R, if any attribute not in C is functionally dependent on C, then all attributes in R are functionally dependent on C.
Maintenant, quitte à rendre à César ce qui est à César, Chris Date rappelle que la BCNF avait déjà été énoncée en 1971 par Ian Heath (collègue chez IBM de Boyce, Codd, Date, Fagin, Chamberlin, etc.), malheureusement je n’ai pas l’article en ma possession : Unacceptable File Operations in a Relational Database. Si vous y avez accès...
Envoyé par
Oppenheimer
la variante 2, elle est de qui ?
A propos de cette variante, j’ai écrit (page 42) :
A noter que cette définition a pour origine une de celles qui sont proposées dans [Date 2004] :
« A relvar is in BCNF if and only if every nontrivial, left-irreducible FD has a candidate key as its determinant. »
(Une relvar est en BCNF si et seulement si le déterminant de chaque DF non triviale, irréductible à gauche est
une clé candidate de la relvar.)
Autrement dit la variante telle qu’elle figure dans le cartouche n’est qu’une mise en forme de ma part de la définition de Date.
Envoyé par
Oppenheimer
Page 44 : Je me pose la question de savoir pourquoi vous placez la 2NF après la BCNF.
Quand on normalise, on peut tout de suite passer à la BCNF, plutôt que de consacrer du temps à vérifier laborieusement la 2NF puis la 3NF que je renvoie donc en arrière plan. En tout cas, quand on est sur le terrain et qu’on a des dizaines, voire des centaines de relvars à expertiser, on ne peut pas perdre de temps et on procède ainsi. Je ne suis pas un universitaire perdu dans un nuage mais un ingénieur rompu au crapahut dans les bases de données de mes clients, gens pour qui tout est urgent.
Envoyé par
Oppenheimer
Me permettez-vous de faire une copie papier de votre document pour mon examen ?
Normalement la fonction « imprimer » est disponible.
Partager