Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2115 connectés 

  FORUM HardWare.fr
  Programmation

  Le MySQL est il si limité que ça ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Le MySQL est il si limité que ça ?

n°73905
petoulachi
A fortiori, brigadier chef
Posté le 20-11-2001 à 18:39:44  profilanswer
 

Bonjour a tous,
    je parlais de MySQL avec un pote, parce que je connais pas du tout. Il m'a affirmé que ça ne gerait pas gd chose, ni trigger ou meme ni cle etrangere ??? àa serait vraiment limité alors ?
 
merci de m'eclaircir  :jap:

mood
Publicité
Posté le 20-11-2001 à 18:39:44  profilanswer
 

n°73906
matafan
Posté le 20-11-2001 à 18:45:42  profilanswer
 

Oui, c'est très limité. Ca offre un service minimal de SGBDR, en faisant l'hypothèse que toutes les opérations avancées sont gérées au niveau applicatif. Si tu cherche une BD plus puissante, oriente toi vers postgersql.
 
Quoi que je me suis laissé dire que la dernière version supportait les sessions... C'est un début :)

n°73938
gizmo
Posté le 20-11-2001 à 21:15:58  profilanswer
 

En effet, ils commencent seulement a intégrer les jointures...

n°73966
Mara's dad
Yes I can !
Posté le 21-11-2001 à 00:36:35  profilanswer
 

A quoi çà sert les clefs étrangères, à part ralentir le SGBD et à garantir une relative sécurité pour les applis mal écrites ?
 
Quand aux triggers, y'a pas pire pour rendre une appli impossible à maintenir ou à debugger ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°73967
Suri
Darksurious
Posté le 21-11-2001 à 00:47:03  profilanswer
 

gizmo a écrit a écrit :

En effet, ils commencent seulement a intégrer les jointures...  




 :ouch: c vrai???
putain alors SQL Server c vraiment de la dynamite a coté!!!

n°73971
six_dfx
Well I'm the Lord of Time.
Posté le 21-11-2001 à 01:55:31  profilanswer
 

je suis assez de l'avis de mara's dad ...
 
les fonctions avancées de certains sgbds sont surtout la pour décorer et rendre le produit plus attrayant, mais mysql est suffisant pour 99% des besoins, et grace a la replication et le support des transactions il est utilisable dans un environnement de production ...


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
n°73975
Buitoni
Posté le 21-11-2001 à 02:11:51  profilanswer
 

gizmo a écrit a écrit :

En effet, ils commencent seulement a intégrer les jointures...  




 
Benh tiens, et le SELECT, on sait faire qu'un SELECT *... Tssss... Tu t'es mal exprimé la :)
 
MySQL ne supporte pas les clés étrangères et le seul truc vraiment chiant, c'est de devoir donc faire le DELETE en cascade a la main... Et l'autre truc crucial qu'il me manque c'est le vues.
 
A part ca, MySQL est suffisant pour la plupart des applications, et sa légereté en fait un des plus rapide!


---------------
Vendredi c'est Buitoni
n°73976
six_dfx
Well I'm the Lord of Time.
Posté le 21-11-2001 à 02:15:41  profilanswer
 

ce qui manque le + je trouve c'est les subqueries, mais apparement ca devrait arriver dans la v4


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
n°73977
Buitoni
Posté le 21-11-2001 à 02:51:10  profilanswer
 

Ouai, c'est vrai que ca manque un peu, mais on arrive quasi a tout faire sans cela, grace au LEFT OUTER JOIN par exemple qui sont d'ailleurs plus performants :-o
 
Et puis y a les tables temporaires si tu vois vraiment pas comment faire sans subqueries, tout est une question de volonté. :heink:


---------------
Vendredi c'est Buitoni
n°73983
instantdha​rma
Ailleurs c'est ici
Posté le 21-11-2001 à 08:25:03  profilanswer
 

Salut, je viens dire mon mot...
Mara's Dad a écrit

Citation :


A quoi çà sert les clefs étrangères, à part ralentir le SGBD et à garantir une relative sécurité pour les applis mal écrites ?  


je suis pas d'accord du tout...
Ca sert à garantir l'intégrité de la base indépendamment des applis clientes. Intérêt : l'intégrité est assurée en un seul endroit, documentable et facilement maintenable.
Ca sert à quoi un langage de programmation du style  ou pascal, puis q'uon a l'assembleur ?
Ca sert à quoi l'asembleur, puisqu'on pourrait programmer directement en binaire ?
La vérification syntaxique d'un compilateur, ça sert à quoi ? sûrement pour les programmes mal écrits...


---------------
di. / www.diredaredare.org - Ailes de la ville
mood
Publicité
Posté le 21-11-2001 à 08:25:03  profilanswer
 

n°73984
xmulder
un peu plus au nord...
Posté le 21-11-2001 à 08:25:23  profilanswer
 

euh, c quoi une jointure?  
(pas taper, newbie en bdd...)


---------------
1km = 1024m
n°73986
gizmo
Posté le 21-11-2001 à 09:09:03  profilanswer
 

buitoni a écrit a écrit :

 
 
Benh tiens, et le SELECT, on sait faire qu'un SELECT *... Tssss... Tu t'es mal exprimé la :)
 




 
Pour moi select n'est pas une jointure, ca fait que concaténer les tables. une jointure permet de faire le tri des élément a concaténer AVANT et donc d'être plus performant.

n°73994
petoulachi
A fortiori, brigadier chef
Posté le 21-11-2001 à 09:41:24  profilanswer
 

Mara's dad a écrit a écrit :

 
Quand aux triggers, y'a pas pire pour rendre une appli impossible à maintenir ou à debugger ?  




 
Oui oui bien sur. Les triggers personnes s'en sert, noooooon, ça sert juste a maintenir une BD propre et sans aucune erreur (qd c bien fait) ...
Faut pas dire n'imp' non plus ...

n°74052
Sh@rdar
Ex-PhPéteur
Posté le 21-11-2001 à 12:13:27  profilanswer
 

gizmo a écrit a écrit :

 
 
Pour moi select n'est pas une jointure, ca fait que concaténer les tables. une jointure permet de faire le tri des élément a concaténer AVANT et donc d'être plus performant.  




 
y a un truc que je pige pas, pourquoi tu dis que les jointures sont pas supoprtées ?
 
tu peux très bien trier tes éléments et faire la jointure après... (j'imagine comme ça : SELECT ... where ... as bidule LEFT JOIN ... where ..=... as ...)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°74056
sisicaivra​i
Life is Beautifullll
Posté le 21-11-2001 à 12:17:21  profilanswer
 

pis les requetes imbriquées, aussi...

n°74067
gizmo
Posté le 21-11-2001 à 12:35:29  profilanswer
 

Sh@rdar a écrit a écrit :

 
 
y a un truc que je pige pas, pourquoi tu dis que les jointures sont pas supoprtées ?
 
tu peux très bien trier tes éléments et faire la jointure après... (j'imagine comme ça : SELECT ... where ... as bidule LEFT JOIN ... where ..=... as ...)  




 
parce que jusqu'a cette dernière version, la syntaxe existait, mais cela revenait exactement au meme qu'une concaténation complete des 2 tables. Maintenant ils commencent a implémenter les jointures gauches mais toujours pas les droites.

n°74083
Sebastien
Posté le 21-11-2001 à 14:10:30  profilanswer
 

Ca supporte pas non plus les insert à partir d'une requete sur une autre table, ni le delete sur requete etc..
 
Ceux qui disent que les triggers ne servent a rien, faudra pas prendre votre utilisation des bdd pour une generaalité tout de même

n°74098
Gonzoide
Les cochons... dans l'espâââce
Posté le 21-11-2001 à 14:23:34  profilanswer
 

Mara's dad a écrit a écrit :

A quoi çà sert les clefs étrangères, à part ralentir le SGBD et à garantir une relative sécurité pour les applis mal écrites ?
 
Quand aux triggers, y'a pas pire pour rendre une appli impossible à maintenir ou à debugger ?  




 
Autre breve de comptoir du meme niveau : "En Java, a quoi ca sert les variables privees ? Elles ont qu'a etre toutes publiques, c'est au developpeur de bien les acceder"
 
Faut vous dire que parmi les utilisateurs de SGBD (au sens large), y'a quand meme autre chose que les petits crapauds qui pondent 3 bouts sur MySQL pour gerer le forum de leur site web ...

n°74100
Mara's dad
Yes I can !
Posté le 21-11-2001 à 14:24:51  profilanswer
 

Sebastien a écrit a écrit :

Ca supporte pas non plus les insert à partir d'une requete sur une autre table, ni le delete sur requete etc..
 
Ceux qui disent que les triggers ne servent a rien, faudra pas prendre votre utilisation des bdd pour une generaalité tout de même  




Pour les triggers, je ne dis pas que çà sert à rien ! C'est juste que je trouve pas çà propre. Cà fait un mélange entre le code et les données, tout comme les règles d'intégrité (au sens général).  
Celà dit, que ces fonctionnalité existent ne me gènent pas tant que le SGBD reste efficace. Après tout rien ne m'oblige à les utiliser ;-)

n°74114
irulan
Posté le 21-11-2001 à 14:54:32  profilanswer
 

Mara's dad a écrit a écrit :

 
Pour les triggers, je ne dis pas que çà sert à rien ! C'est juste que je trouve pas çà propre. Cà fait un mélange entre le code et les données, tout comme les règles d'intégrité (au sens général).  




 
 :ouch:  
Les règles d'intégrité, tu considères ça comme faisant partie du code  :sweat:  
Je ne voudrais pas dire, mais comme disait Gonzoide, dès que tu sors de l'utilisation de PHP / MySQL pour un forum, et que tu vas vers une utilisation professionnelle, les contraintes d'intégrité font partie de la structure de la base au même titre qu'une colonne, ou qu'une table.
Non seulement ça permet de centraliser l'intégrité de la base à un même endroit, mais en plus ça te permet de débugger une appli beaucoup plus vite (effectivement quand le SGBD renvoie une erreur, tu sais tout de suite qu'il y a un truc qui ne va pas).
 
Les triggers éventuellement je t'accorde que ça peut être considéré comme une incursion du code dans la structure de ta base de données (et encore), mais les contraintes NON !!

n°74117
Gonzoide
Les cochons... dans l'espâââce
Posté le 21-11-2001 à 14:58:25  profilanswer
 

Je ne peux qu'abonder dans le sens d'Irulan ;)
 
Une contrainte d'integrite, c'est du meme niveau qu'un singleton en langage objet : tu te vois ne pas implementer de singleton et faire confiance au developeur pour ne creer qu'une instance d'un objet ? :D :D :D

n°74138
petoulachi
A fortiori, brigadier chef
Posté le 21-11-2001 à 15:50:25  profilanswer
 

oui et puis les triggers c qd meme super pratique pour justement permettre l'integrité TOTALE (si les triggers sont bien pensés ...) de la BD.
 
Moi j'ai le souvenir de BD enoooorme avec pleins de contraintes, et les triggers ça aide :)

n°74142
youdontcar​e
Posté le 21-11-2001 à 15:56:34  profilanswer
 

c'est quoi un trigger ? c'est quoi un trigger "bien pensé" ? "mal pensé" ?  
:??:

n°74149
irulan
Posté le 21-11-2001 à 16:15:16  profilanswer
 

Ah ben ça faut pas confondre : y'a les bons triggers et les mauvais triggers.
C'est comme les bons et les mauvais chasseurs !! ;):D
 
Non sinon, un trigger, c'est une action qui se déclenche quand un certain évènement survient : par exemple quand tu insères un nouvelle ligne, tu peux faire des contrôles supplémentaires en plus des contraintes d'intégrité.
Cela dit c'est délicat à manier, je sais que j'évite d'utiliser la plupart du temps...

n°74306
Mara's dad
Yes I can !
Posté le 21-11-2001 à 23:52:52  profilanswer
 

irulan a écrit a écrit :

 
 
 :ouch:  
Les règles d'intégrité, tu considères ça comme faisant partie du code  :sweat:  
Je ne voudrais pas dire, mais comme disait Gonzoide, dès que tu sors de l'utilisation de PHP / MySQL pour un forum, et que tu vas vers une utilisation professionnelle, les contraintes d'intégrité font partie de la structure de la base au même titre qu'une colonne, ou qu'une table.
Non seulement ça permet de centraliser l'intégrité de la base à un même endroit, mais en plus ça te permet de débugger une appli beaucoup plus vite (effectivement quand le SGBD renvoie une erreur, tu sais tout de suite qu'il y a un truc qui ne va pas).




 
Oui, les contraintes, c'est du code ! De la logique en tout cas. Pas du stockage.
 
Les contraites, çà va beaucoup plus loins que çà. Contrairement à ce que tu peux penser, je connais d'autres bases de données, et les contraintes, quand j'ai le choix, je m'en sert effectivement pour débugger (je parle de ici uniquement de clef étrangères), pas en prod ! Parce-ce que pour faire évoluer une appli avec des tests pleins la base sur tel champ qui ne peut prendre que telle ou telle valeur, merçi, mais c'est une vraie galère !
 
T'as essayé de migrer une base SQL 6.5 en 2000 avec par exemple des cléfs étrangères sur des champs de types différents !Merci du Kado !Bon ok c'est une appli pourrie, même que des clefs étrangères, ont est Obligé d'en virrer de temps en temps pour des problèmes de performance ! Quand on voie celles qui restent ...
 
Pour finir, je ne supporte pas les applis qui proposent à l'utilisateur de supprimer un enregistrement, te demande de confirmer et qui ensuite te disent que c'est pas possible parceque la base a refusée !
Puisque l'appli est obligée de traiter le cas, autant le faire proprement AVANT, non ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°74324
Gonzoide
Les cochons... dans l'espâââce
Posté le 22-11-2001 à 08:54:00  profilanswer
 

Mara's dad a écrit a écrit :

 
Puisque l'appli est obligée de traiter le cas, autant le faire proprement AVANT, non ?  




 
C'est tout le probleme des applis qui contiennent des acces DB : jusqu'ou faire le boulot, et a partir d'ou laisser la DB faire ce pour quoi elle est faite ? En poussant le raisonnement, c'est ca qui conduit des applis Java a loader des tables entieres, pour faire des jointures elles-memes en memoire. Personnellement, sur ton exemple (effacer des donnees), je verifie au niveau applicatif ET base ... apres tout, aucune des couches n'est censee faire confiance a celles qui l'entourent: vive l'encapsulation :)

n°74430
irulan
Posté le 22-11-2001 à 15:10:53  profilanswer
 

Mara's dad a écrit a écrit :

 
 
Pour finir, je ne supporte pas les applis qui proposent à l'utilisateur de supprimer un enregistrement, te demande de confirmer et qui ensuite te disent que c'est pas possible parceque la base a refusée !
Puisque l'appli est obligée de traiter le cas, autant le faire proprement AVANT, non ?  




 
Ton exemple n'est pas vraiment bien choisi : ce cas ne doit pas apparaître !! Normalement, tu conçois l'architecture de ta BDD AVANT de commencer ton appli. Et là tu es forcé au cours du dev de tenir compte des contraintes mises en place.
 
Dans le cas où tu développes une appli qui doit accéder à une BDD déjà existante, je suis désolé mais il vaudra mieux pour le développeur que des contraintes existent : au moins pendant le dev et les tests, les problèmes apparaîtront tout de suite, et pas après 3 mois de mise en prod où là on s'apercevra que des enregistrements font référence à des codes qui sont supprimés, ou sont présents en double.
 
Une BDD ce n'est pas seulement un espace de stockage, c'est également tout un ensemble de règles et de contraintes qui régissent l'organisation des données, et sont les garantes de l'intégrité de ta base ( ce qui est le plus important, parce que sinon une fois que ta base est vérolée, tu peux t'accrocher pour la remettre à jour).
 
Dans un ensemble BDD + appli, la référence, c'est la BDD, et l'appli doit se plier à ce qui existe dans la base en terme de contraintes, sinon tu es à la merci d'un bug ou d'une incohérence de ton appli...
 
Pour reprendre ton exemple, la qestion à se poser n'est pas 'Ne vaut-il pas mieux supprimer les contraintes BDD', mais 'Pourquoi cela peut-il se produire ?'. En effet si une contrainte a été mise en place, c'est pour une raison précise (il peut arriver que des contraintes soient mal définies, mais de là à dire qu'il faut ramener tous les contrôles au niveau applicatif, il y a une grande différence !!)

 

[edtdd]--Message édité par irulan--[/edtdd]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Le MySQL est il si limité que ça ?

 

Sujets relatifs
[MySQL] 1 ou plusieurs bases ?[ MySQL ] Pour un newbie en détresse...
[MySQL] récupérer les valeurs possibles d'un enumMySql - je pête un câble
Mysql Free?Pb de connection à MYSQL
[Mysql]Fichier de log[MySQL] Compactage de la base
EST CE KE UNE BD MYSQL PEUT S'AUTO-UPDATER ????[mysql] taille limite d'une base
Plus de sujets relatifs à : Le MySQL est il si limité que ça ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR