« MySQL 5, Guide de l'administrateur et du développeur ».
Voici un livre qui laisse perplexe quant à son contenu. En effet, nous sommes en présence d'un outil qui pourrait être indispensable, mais qui irrite par son côté réducteur où MySQL ne peut être utilisé qu'avec PHP.

Dans le premier chapitre, 'Michael Kofler' replace MySQL dans son contexte en nous présentant ce qu'est une base de données et de citer les principaux acteurs sur le marché.
Il en profite pour nommer les mots clés liés au SGBDR.

L'historique de MySQL est passé en revue, l'auteur nous propose également un planning des évolutions futures et, surtout, il décrit les limites de MySQL.

Au deuxième chapitre, 'Michael Kofler' met en place un environnement de test, en installant MySQL et PHP, dans les systèmes d'exploitation Windows, Suse Linux et Red Hat Enterprise.
S'ensuit un exemple d'application de sondage en ligne (que je n'ai pas testé).

Dans la deuxième partie du livre, nous attaquons les outils d'administration de MySQL : sont passés en revue la console mysql, mysqladmin et mysqldump.
L'auteur, malheureusement, ne fait que survoler des outils tels que MySQL Administrator et MySQL Browser, et fait la part belle à un autre outil répandu : phpMyAdmin.
Ce choix, l'auteur le justifie par le fait que phpMyAdmin est accessible via une interface Web et donc disponible chez les hébergeurs en tant qu'outil local, alors que MySQL Browser, ne pourra travailler à distance que si on a un accès Internet.
C'est limiter MySQL dans un rôle de base de données pour site Web.

J'ai très peu de critiques négatives à faire sur ce livre, mais une de ces critiques concerne quand même près de 150 pages : toute cette partie orientée 'développeur ', telle qu' annoncée dans le titre, ne parle uniquement que de programmation « PHP ».
Dans un livre dont le titre est « MySQL5 », on se passerait bien de PHP, même s'il est intéressant de voir comment faire interagir MySQL avec un langage de programmation. L'auteur, 'Michael Kofler', aurait dû, dans ce cas (et à mon sens), consacrer un chapitre sur différents langages de programmation, tels que Java, .Net, Python, Perl... et non pas uniquement PHP.

Nous voilà déjà dans la troisième partie du livre, où nous entrons dans le vif du sujet.

Au chapitre sept, Conception d'une base de données, l'auteur prend son temps pour bien nous expliquer les différents types de tables de MySQL et de bien détailler les différences. Et ce, même s'il y a des différences au sein d'un même type de table (MyISAM-static, MyISAM-Dynamic, MyISAM-Compressed ).
Donc, on parle de MyISAM, InnoDB, HEAP, BDB, Tables compressées, CSV, NDB et les tables FEDERATED.

Suivent directement les types de données de MySQL, où, à chaque fois qu'un type est énuméré, nous avons droit à une définition, sa signification, l'écart de valeurs possibles....
Dans le type de chaînes de caractères sont également abordés la collation , le jeu de caractères et de décrire tous les types de collations que supporte MySQL.

Il y a également un peu de théorie sur la normalisation des tables, à l'aide d'un exemple basé sur un tableur.

Arrivé à ce stade, nous approchons la deuxième grosse critique du livre. En effet, l'auteur nous montre comment mettre en forme un résultat de requête, exercice complètement inutile , parce que le SQL ne sert pas à ça.
Par exemple, le principe d'arbre hiérarchique est présenté en concaténant des espaces, aboutissant à une mise en page particulière du résultat. A mon sens, ce n'est pas le rôle du SQL : les langages de programmation sont là notamment pour ça !!!
Sont encore abordés des aspects tels que les vues, les contraintes d'intégrité référentielle, les index...

Une solide introduction au SQL prend la suite du livre. Dans ce chapitre, non seulement nous avons une présentation du SQL, mais également les fonctions typiques de MySQL.
Chaque aspect est bien décrit, avec chaque fois un exercice clair et précis et facilement reproductible.
Il y a vraiment beaucoup d'éléments abordés, du 'SELECT' jusqu'à la 'TRANSACTION'.

La gestion de l'accès et la gestion de la sécurité ne sont pas oubliées dans cet ouvrage, ainsi que l'administration du serveur, ce qui nous permet de peaufiner aux petits oignons notre serveur de base de données.
Un très chouette chapitre sur les procédures stockées et triggers est également de la partie. Ce chapitre est de très bonne facture, avec une bonne définition et différenciation entre 'procédure' et fonction. Ici, tout est abordé pas à pas, avec des exemples simples respectant le standard SQL:2003.
La récursivité, les curseurs, les structures conditionnelles, les boucles, le gestionnaire d'erreur, tout est vraiment passé en revue.

Et on termine le livre avec les références SQL, ainsi que les outils et options de MySQL.

En conclusion, si on fait abstraction de ce côté PHP et de cette histoire de mise forme via une requête SQL, nous avons entre les mains un bon bouquin sur MySQL.
Cela manque certainement de pédagogie et de simplicité, mais il nous permettra, je pense au fil du temps de bien assimiler les concepts de MySQL.
Merci de vos commentaire