Livre : « SQL Antipatterns », par Bill Karwin

de | 2016-11-25
Sql Antipatterns (couverture)

Sql Antipatterns (couverture)

Cher lecteur, j’aimerai signaler à ta bienveillante attention ce livre assez ancien (2010) mais digne d’intérêt à plus d’un titre.

Qu’est-ce donc qu’une « anti-pattern » ? Selon l’auteur, il s’agit d’une solution apportée sur le moment et finissant par causer des problèmes plus tard. Nous en avons tous rencontré à un moment ou à un autre, que ce soit de notre fait ou par celui de collègue.

Des tableaux stockés dans une seule colonne, obligeant à utiliser des expressions régulières dans une requête SQL ? Anti-pattern ! Des modèles sans Foreign keys parce que « ça ralentit la base » ? Anti-pattern ! Mélange de données et de méta-données (1)? Des indexes créés systématiquement ? Des NULL à gérer ? Des fichiers à stocker ? Autant de risque de tomber dans des pièges prenant effet dans le futur, au moment où vous vous attendrez le moins.

La grande force de cette ouvrage est d’avoir un plan d’une clarté exemplaire : quatre parties couvrant quatre approches . Dans l’ordre : logique, physique, requête et application. Chaque chapitre suit le même modèle : l’auteur commence par une mise en situation (souvent tirée de son expérience), non dénuée d’humour. Une fois le problème posé et l’objectif défini, il décrit la première solution qui vient à l’esprit qui, comme par hasard, est souvent une anti-pattern (2). Puis il donne quelques exemples de mots clés qui doivent faire dresser l’oreille (« Combien peut-on créer de tables au maximum ? », « comment on bouche les trous dans une séquence ? »…). Après avoir pris soin de préciser les cas où l’approche pourrait être justifiée, il conclut sur des implémentations qui évitent les ennuis à long terme.

C’est cette analyse complète et très ordonnée qui rend ce livre si agréable à parcourir. Chaque partie devient un bout d’énigme dont nous attendons la solution, reconnaissant ici ou là les pièges où nous avons vu des collègues tomber… ou dans lesquels nous sommes nous-mêmes tombés.

Bien sûr, ce volume s’adressera en premier lieu aux développeurs soucieux de s’améliorer mais son style vivant et accessible lui permet de viser plus large. Managers et administrateurs y trouveront des informations utiles afin de lever très tôt le drapeau d’alerte lors des réunions de lancement de projet.

Coté informations pratiques : ce livre peut être trouvé en format numérique pour moins de 20€. La version XXeme siècle (papier) est à 35€. Les deux sont en anglais. Pas de version française disponible. C’est hélas la règle plutôt que l’exception.

 

(1) par exemple des noms de colonnes (méta-données) comportant des numéros d’années ou de départements (données).

(2) Non, je ne traduirais pas. C’est un terme anglais avec un sens précis. Vous ne me ferez pas écrire « contre-motif » ou « anti-approche » ni même – horreur – « développement sous-optimal ». Ah zut. Je viens de les écrire.