Archives pour la catégorie Langage SQL (norme)

Modèle générique vs modèle spécifique

Dans le cadre d’un héritage de données ayant de multiples enfants aux caractéristiques très diverses, est-il préférable de concevoir un modèle de données générique ou un modèle de données spécifique ? De nombreux jeunes développeurs pensent naïvement qu’un modèle générique est plus facile… Mais c’est souvent une erreur qu’il faudra payer au prix fort une fois l’application fonctionnelle. Démonstration…
Lire la suite

Une peste nommée NOLOCK… et comment l’éviter

L’utilisation du tag de table NOLOCK, hélas largement prisé par de nombreux développeurs, est, la plupart du temps, une absurdité conduisant à des résultats potentiellement faux. Est-il possible de faire autrement pour minimiser les blocages induit par les verrouillages dans SQL Server ? Réponse OUI !
Lire la suite

Comparer deux requêtes aux résultats identiques

Comment savoir si deux requêtes donnent le même résultat ?

Il suffit d’une simple équation ensembliste pour ce faire. Sachant que la requête 1 donne comme résultat l’ensemble A et que la requête 2 donne comme résultat l’ensemble B, prouver que ces deux requêtes donnent le même résultat, nécessite d’appliquer l’équation :

A – B U B – A = Ø
Lire la suite

Horloge Astronomique de  Besancon (wikipedia)

Les tables temporelles avec SQL Server (présentation)

Arrivée avec la norme SQL 2011, le concept de tables temporelles permet une historisation automatique des données et propose des opérateurs temporels pour « voir » vos données telles qu’elles étaient à un point ou une période du temps passé. Paradoxe : plus besoin de faire des sauvegardes ! Cette présentation montré au Microsoft Cloud Summit 2017 à paris le 24 janvier 2017, vous montre l’essentiel sur le sujet, avec SQL Server 2016 et est assortie de nombreux exemples.
Lire la suite

LIKE ‘%mot%’ ou les index rotatifs….

Qui n’a jamais rêvé d’obtenir des performances pour rechercher des mots partiels contenus dans d’autres mots, comme par exemple tous les mots contenant « bolo » ? Dans un dictionnaire de 128 918 mots, une telle recherche met moins de 50 millisecondes à l’aide des index rotatifs, contre ??? pour le LIKE ‘%bolo%’… Explications…
Lire la suite

Benchmark PostgreSQL vs SQL Server… comment biaiser !

La mauvaise foi règne encore chez les aficionados de PostGreSQL… L’entreprise Red Hat, que je croyais sérieuse, à effectué un benchmark entre PostGreSQL et SQL Server stupéfiant de mauvaise foi… Voici mes remarques. À noter, ce comparatif porte sur une version payante de PostGreSQL !
Lire la suite

Calcules de durée en jour avec des mois comptables de 30 jours

À la suite d’une demande du forum, je me suis penché sur le calcul de durée en jour avec des mois comptables de 30 jours. Comme d’habitude il faut passer par une table de date !
Lire la suite