Archives pour la catégorie Langage SQL (norme)

Requêtes avec filtre paramétrés

Dans certaines requêtes il est nécessaire de prévoir que la clause WHERE (ou HAVING) puisse être augmentées ou diminuées de différentes expressions logiques (prédicats) en fonction de certains paramètres. La plupart du temps, les développeurs vont réaliser cela en utilisant des requêtes construites dynamiquement. Ceci n’est pas toujours intéressant notamment lorsque l’on exige des performances Voici quelques techniques de contournement afin d’obtenir le même effet avec des requêtes statiques.

Lire la suite

Calculs de tous les arrangements (mathématiques) avec une requête SQL

Certains pensent impossible de réaliser des traitements mathématiques complexes à l’aide de requêtes SQL. Voici la démonstration que SQL n’a pas de limite, du fait qu’il s’agit d’un langage complet…
En une seule requête voici le calcul de tous les arrangements possible d’un ensemble de données…

Lire la suite

Extensions uniforme ou extensions mixtes ?

SQL Server stocke les pages des fichier de données (tables, index, blobs…) dans des blocs de 8 pages appelés « extents » (extensions en français). Autant une page ne peut appartenir qu’à un seul objet, autant une extension peut comporter des pages de différents objets. Est-il possible de force la mise en place d’extension ne contenant qu’un seul et même type d’objet ? La réponse est oui, mais n’est pas sans conséquences !
Lire la suite

La loi de Benford appliquées au monde des bases de données

La loi de Benford est une loi de distribution statistique permettant de vérifier qu’un ensemble de données numériques se comporte de manière naturelle. La plupart du temps, une déviation à cette loi peut indiquer que les données sont fausses ou truquées. Elle est en particulier appliquée par le fisc américain depuis les années 80 et récemment par le service des impôts en France pour débusquer les comptabilités frauduleuses !
Cet article entend montré ce qu’est la Loi de Benford à l’aide d’un exemple de procédure stockée permettant d’analyser n’importe quelle colonne d’une table de votre base.
Lire la suite