Envoyé par
SQLpro
depuis la version 2008 on peut créer des index unique filtrés simulant ainsi une vraie contrainte unique "multi" nullable.
Rattraper des bugs conceptuels à coups de fer à souder, ça n’est pas du boulot...
Ce n’est pas en cherchant à ravauder les concepts avec des index et autres astuces que Sybase, µsoft et cie arriveront à se recaler sur la théorie relationnelle, c'est-à-dire sur la logique du 1er ordre et la théorie des ensembles. Je ne sache pas qu’Aristote, Frege, Russel, voire Codd et compagnie se soient servis du fer à souder pour bâtir leurs systèmes...
Par ailleurs, Sybase et al ne sont pas seuls à mélanger les concepts et commettre des non-sens logiques. A propos de la norme SQL (Foundation (SQL/Foundation) page 30), je rappelle la célèbre gaffe :
The data type boolean comprises the distinct truth values True and False. Unless prohibited by a NOT NULL constraint, the boolean data type also supports the truth value Unknown as the null value. This specification does not make a distinction between the null value of the boolean data type and the truth value Unknown that is the result of an SQL <predicate>, <search condition>, or <boolean value expression>; they may be used interchangeably to mean exactly the same thing.
Selon la norme, il revient au même de dire : « Je ne sais pas » et « Je sais que l’information est absente » !
Partager