questions autour d'SQL - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : questions autour d'SQL (/showthread.php?tid=4585) Pages :
1
2
|
questions autour d'SQL - Argorate - 12-02-2010 Bonjour, J'ai deux petites questions totalement indépendantes: -premièrement, es ce que quelqu'un sait la différence entre: "DELETE FROM x" & "TRUNCATE TABLE x"? Y a t-il un avantage a l'un ou a l'autre? Si oui, le(s) quel(s)? -deuxième question: Selon-vous, vaut-il mieux faire des fonctions CRUD (CREATE – READ – UPDATE – DELETE) générique? exemple: 'update_table($table, $update, $where);' OU bien faire des CRUD pour chaque table? exmple 'update_joueur($joueur);' Voilà j'étais entrain de penser à ça, donc j'aurais aimé un avis extérieur, Merci. RE: questions autour d'SQL - Sephi-Chan - 12-02-2010 (12-02-2010, 03:58 PM)Argorate a écrit : -premièrement, es ce que quelqu'un sait la différence entre: TRUNCATE va réinitialiser le compteur auto-incrémenté. (12-02-2010, 03:58 PM)Argorate a écrit : Selon-vous, vaut-il mieux faire des fonctions CRUD (CREATE – READ – UPDATE – DELETE) générique? Ma réponse ne va te plaire mais... L'idéal est bien sûr l'objet. Avec une classe Model puis des classes filles Player, Building, etc. pour chaque modèle. L'héritage te permet de factoriser le code. C'est tout de même bien mieux de manipuler des objets puis d'appeler leur méthode save. Un ORM, quoi. Sephi-Chan RE: questions autour d'SQL - pascal - 12-02-2010 (12-02-2010, 03:58 PM)Argorate a écrit : -deuxième question: Utiliser un framework avec un générateur d'admin, genre symfony. ça prendra quelques minutes pour ajouter le crud au back office. A+ Pascal RE: questions autour d'SQL - Argorate - 12-02-2010 Si vous aviez juste le choix entre ses deux options? Ce qui m'interesse c'est de savoir jusqu'a qu'elle point il faut etre "générique" d'après vous. Sinon, merci pour la premiere question! RE: questions autour d'SQL - pascal - 12-02-2010 Tu n'as pas d'obligation à faire générique; mais tu peux être pragmatique et te faciliter la vie avec des outils adaptés ;-) A+ Pascal RE: questions autour d'SQL - Argorate - 12-02-2010 Je sais qu'on est pas obligé de faire tout de manière générique, mais le problème c'est que me coltiner 20 fonctions qui font quasiment la meme chose, ça me chagrine un peu RE: questions autour d'SQL - keke - 12-02-2010 Je rajouterais que TRUNCATE est immédiat, alors que DELETE est sequentiel ... Bref, sur des grosse table : Truncate < 1 sec ... DELETE > 20 secondes. Truncate réinitialise la valeur de l'auto increment. (ou du compteur ...) RE: questions autour d'SQL - pascal - 12-02-2010 (12-02-2010, 04:48 PM)Argorate a écrit : Je sais qu'on est pas obligé de faire tout de manière générique, mais le problème c'est que me coltiner 20 fonctions qui font quasiment la meme chose, ça me chagrine un peu Avec symfony, tu lances une commande, tu ajoutes un lien au menu de ton interface admin, tu configures une ligne pour la sécurité et ça y est. A+ Pascal RE: questions autour d'SQL - Argorate - 12-02-2010 Ca ne m'intéresse pas trop, je préfère programmer chaque chose au moins une fois (et oui je suis bête^^). C'est marrant que tu prennes cette exemple d'ailleurs car je suis justement entrain de coder la partie admin du site que je fais pour mon IUT (un projet qu'on doit rendre), on m'avait proposé de faire un site avec un truc tout fait, et j'ai dit que je préféré tout refaire de zéro, comme ça je pourrais montrer le jour de la présentation que c'est bien moi qui est tout codé. Mais ça après ce n’est pas vraiment ma question, c'est une affaire de choix. Moi je veux juste savoir ce qui serait le plus judicieux entre les deux propositions que j'ai émises plus haut. ps: merci keke pour le complément d'information. RE: questions autour d'SQL - Sephi-Chan - 12-02-2010 (12-02-2010, 03:58 PM)Argorate a écrit : Selon-vous, vaut-il mieux faire des fonctions CRUD (CREATE – READ – UPDATE – DELETE) générique? Dans le premier cas, que contiennent $update et $where ? Dans le second cas, que contient $joueur ? Tu peux utiliser les deux : faire une fonction update_table() puis fais des fonctions comme update_joueur() qui se servent de la première. Ainsi, tu factorises l'échappement des données dans la fonction update_table() et dans les fonctions individuelles, tu peux gérer des cas plus particulier. Je ne connais pas assez ton besoin. Peut-être que la forme générique suffit. Sephi-Chan, franglais for the win ! |