PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 12-04-2012 08:15:32

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Tuto MySQL 5.5

Bonjour,

Suite à une reflexion personnelle et à une confusion plus ou moins généralisée constatée sur divers forums à propos de mySQL 5.5, je pense qu'il serait bienvenu de faire un petit tuto sur MySQL 5.5 car tout simplement cette nouvelle moûture mérite que l'on s'y attarde et apporte de nouvelles choses dans le monde de MySQL comme:
- Moteur par défaut innoDB
- Gestion des erreurs "avancée" avec la nouvelle commande SIGNAL
- Gestion des Triggers multiples
- Nouveau schéma avec le PERFORMANCE SCHEMA
- quelques autres encore...

et introduire aussi des notions comme par exemple les triggers temporaires ou les limitations des requêtes préparées.

J'ai bien conscience que ce sont des notions SQL avancées et non de débutant, mais je suis prêt a y consacrer un peu de temps avec qui le voudra ... ou pas wink

A bientôt de vous lire.

Jc

Dernière modification par Jc (12-04-2012 08:20:21)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#2 12-04-2012 10:36:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Tuto MySQL 5.5

Saluton, Jc,
Mon opinion est que l'urgence, en matière de SGBDR, sur ce forum, réside principalement en un tuto sur la modélisation et la conception des bases de données.
Il m'apparaît utopique, pour ne pas dire contre-productif, qu'un débutant s'aventure dans la majeure partie des notions que tu présentes s'il n'a aucune notion (ce qui malheureusement se rencontre ici au quotidien) des règles de conception des bases de données relationnelles.
Mais le dire c'est bien, le pallier serait bien meilleur, je te le concède. Malheureusement je découvre qu'une fois à la retraite on est encore plus débordé qu'avant.
Il faut dire qu'on remet tant de choses à "quand je serai en retraite", que leur amoncellement devient limite décourageant.:rolleyes:
Ceci dit, je peux quand même envisager de prendre sur mes pauses ou ma sieste.:/


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 12-04-2012 12:08:51

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Tuto MySQL 5.5

Bonjour Mk,

Merci pour ta réponse. Pour tout te dire et pour commencer, cela ne me dérangerait pas d'y contribuer aussi. Je partage ton opinion à savoir que la modélisation et la conception sont les fondements indiscutables des bases de données, et bien que leur nécessité préalable à toute bonne exploitation d'un SGBDR le sont aussi, je reste un peu dubitatif quant à l'intérêt d'un tel tuto hors d'un contexte de suivi et d'apprentissage "scolaire".
En effet, pour t'exprimer un peu le fond de ma pensée en te disant cela, la conception et la modélisation d'une BD, bien que parfaitement définissables et explicables, peuvent relever très vite du domaine de l'abstrait pour des débutants. Ils risquent fortement de s'y perdre voire prendre une bonne dose d'aspirine, pour finalement laisser tomber et ne pas en voir un intérêt immédiatement exploitable. Or on est bien d'accord que c'est un passage obligatoire car il existe autant de modélisations que de cahier des charges de production avec pour seuls points communs ces mêmes fondements.
En ce qui me concerne, pour ne pas mettre de côté ton idée, je verrais plutôt en introduction / première partie à ma proposition une vulgarisation des niveaux de normalisation comme angle d'attaque, pour finir avec les schémas types (pour reprendre la mode des patterns objets) de base de données, comme ceux déjà disponibles sur le web (arbres intervallaires, meta-données, etc... par M.Brouard et bien d'autres encore). Peut être que d'y intégrer aussi les types de données et un petit tuto de comment bien les choisir (comme par exemple un BINARY(20) pour un mot de passe haché en SHA1, etc...).

Je pense qu'au delà de ça, et fort malheureusement, je pense que s'aventurer dans quelque chose de plus complet que des règles (expliquées, commentées et documentées) à respecter me paraît bien hasardeux. Je ne sais pas quel est ton sentiment la dessus.

++

EDIT: A me relire, je suis en train de me demander, pour faire les choses correctement, si cela ne reviendrait pas à en faire tout simplement un livre.... roll

Dernière modification par Jc (12-04-2012 12:17:15)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 12-04-2012 13:42:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Tuto MySQL 5.5

C'est la démarche du site du zéro, les auteurs dégrossissent leurs sujets en en présentant un tuto, puis, quand il y a assez de matières, souvent, ils publient un bouquin.
Mais, comme tu le sais, tout cela est chronophagissime.
Si tu te lances, et quoi que tu réalises, je serai volontiers relecteur critique (constructif, bien sûr) de ta production.
Amike.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 13-04-2012 00:09:09

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Tuto MySQL 5.5

Je n'ai pas l'intention de faire un livre non plus pour diverses raisons personnelles, la tâche n'en est que plus ardue d'ailleurs. Je te remercie de ta proposition de relecture critique, j'apprécie vraiment.
Je profite de l'occasion que m'a donnée notre ami Fanch aujourd'hui sur le forum, pour te dévoiler ma motivation cachée à travers mon idée de tuto sur MySQL 5.5, qui est aussi de démontrer qu'utiliser MySQL ou un SGBDR en général pour ne gérer que la persistence des données n'est tout simplement pas cohérent (pour ne pas utiliser le terme viable), pertinent et est dangereux pour les entreprises sur le moyen et long terme. Cela concerne de plus et surtout aussi les débutants dans leur choix et dans leur compréhension des technologies mises à leur disposition.

++

Dernière modification par Jc (13-04-2012 03:52:53)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#6 13-04-2012 12:14:22

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Tuto MySQL 5.5

J'ai pris le temps de la réflexion pour te répondre, non que je ne sois pas en phase avec ton propos, mais je me demande si nos ne ramons pas à contre-courant.
Quand je vois l'utilisation que font des bases de données la plupart des CMS.
Quand je lis, ici où là, comment construire "dynamiquement" les menus d'un site ou d'une application web à partir de requêtes SQL alors qu'il n'y a rien de moins invariant qu'un menu dans une application et que sa construction dynamique est, à tout le moins, la plupart du temps un gaspillage de ressources sur le réseau et sur les serveurs.
Je m'interroge, suis-je à ce point mégalo pour avoir le droit de penser envers et contre tous, tel Pasteur, Copernic ou Galilée ?
J'entends dire aussi que cela ne sert à rien de peaufiner le code, les serveurs étant de plus en plus puissants et rapides à quoi bon gagner quelques octets ou quelques millisecondes, il n'y a pas de retour sur investissement.
Bref, du KISS on ne semble vouloir retenir que le dernier S de STUPID ou SILLY, alors que comme on le voit dans le lien Wikipédia, il y a des alternatives.
Est-il bien raisonnable de nous vouloir battre contre les moulins, quand le vent de la mode gonfle leurs voiles ? Ne nous ferons-nous pas broyés comme d'humbles grains de blé ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 13-04-2012 13:33:47

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Tuto MySQL 5.5

Je pense que c'est avant tout une question "d'éducation" et "d'information" et quand tu peux argumenter directement avec les chefs d'entreprise, M.Brouard à raison, ils comprennent de suite où se trouve leurs intérêts, et quels sont les choix à faire en terme de stratégie et de développement. Mais il faut se battre au quotidien quand tu veux faire du travail de qualité et c'est pas tous les jours facile et la tentation de baisser les bras est parfois présente. Tu m'as dit il n'y a pas longtemps un truc du genre "tu croyais vraiment que le monde professionnel était synonyme de sérieux et professionnalisme?..". Et c'est tellement vrai. Si les CMS permettent de gagner du temps aux yeux des entreprises, outre leur gratuité qu'apparente, car les coûts sous-jacents dépassent largement les coûts d'un travail sur mesure (pas au sens de modifications spécifiques d'un CMS) correct, il faut tout de même se rendre à l'évidence que l'utilisation d'un CMS (les principaux uniquement et encore) est majoritairement la seule garantie pour l'entreprise, d'un développement de base correct et maintenable, ce qui est déplorable. C'est d'ailleurs la principale raison au fait qu'ils n'aiment pas changer de développeur. J'ai eu l'occasion recemment de modifier un module prestashop 1.4 de gestion de dépôt de produits. La société qui l'a développé ne s'est même pas donnée la peine pour la partie base de données de se conformer au format existant de prestashop. En gros tu ne peux même pas faire une jointure sur un id_produit du module avec un id_produit de prestashop et je ne te parle pas du reste sur ce point. C'est bien la demonstration que sur un CMS comme prestashop qui n'est pas si mal que ça entre nous car c'est un des rare à permettre une gestion BD dans les règles de l'art, cette liberté est de suite mise à contribution pour faire nimp, histoire de réduire les coûts.
Pour les menus, si tu me le permets, dans un contexte applicatif (intranets, logiciels en paas et saas, etc..) les menus se doivent d'être dynamiques car les accès aux fonctionnalités dépendent du niveau de l'utilisateur et de ses prérogatives sur la plateforme. Pour un site vitrine et la plupart des sites ecommerce, je te le concède ce besoin est inexistant.
Pour de ce que l'on entends autour de nous, et voit sur internet, il y a heureusement des bons retours ou des bonnes remarques, mais force est de constater également que les efforts consentis à s'orienter en dev épais du côté SGBDR sont toujours minimalistes, c'est à dire quand ils n'ont pas le choix. Cette culture de la performance et du dév SGBDR épais ou presque on ne la trouve que chez les grands comptes ou presque, parce que chez eux, la milliseconde de gagnée x 2000 personnes par jour (il faudrait compter par traitement donc c'est beacoup plus) cela fait des centaines de milliers d'euros d'économies à la fin de l'année pour ne citer que cet exemple. Un exemple récent d'un éditeur qui à fait le choix pour leurs logiciels développés en C#/C++ de passer par des procédures stockées et quelques triggers, cela a été uniquement pour éviter de recompiler systématiquement le code source à chaque ajustement au niveau BD du logiciel.
Il faut dire aussi, que développer en SGBDR épais c'est architecturer ses applications à contre courant aussi, car les besoins doivent être complètement repensés face par exemple à une architecture ZEND, mais quel plaisir, simplicité et les performances donnent du baume au coeur et quand on livre, une certaine fierté est là et les entreprises sont reconnaissantes très rapidement. Quand on travaille sur des modélisations de plus d'une centaine de tables avec des milliers d'enregistrements, et qu'un simple DELETE FROM xxx WHERE id=Y suffit pour supprimer une entrée référencée dans plus de la moitié d'une telle structure en conservant l'intégrité et la consistence des données, les développeurs de CMS sont déjà perturbés^^. A côté de cela qui va utiliser un ZEND ou DRUPAL pour architecturer la gestion d'affichage et d'interaction d'un site d'une façon exclusive et laisser la gestion des données au SGBDR (même si ZEND ne le permets pas vraiment)?
Tes questions sont légitimes, mais ils nous appartient de les faire changer.

Dernière modification par Jc (13-04-2012 13:37:50)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums