Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2004, 16h52   #1
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
Par défaut fonctions numériques

Bonjour,

j'ai une petite question car je dois choisir un SGBD pour une application de gestion et j'hésite entre Interbase et PostGreSQL. Je ne viens pas demander lequel choisir car je sais que ça va troller sinon
En étudiant les systèmes grâce notamment aux articles de sqlpro, j'ai remarqué qu'il n'y avait aucune fonction numérique implémentée sur Interbase. Je pense donc passer par des calculs via le langage d'interfaçage que je choisirai mais je me demande quel développement a les meilleurs temps de réponse : passer par les fonctions implémentés dans le SGBD ou alors récupérer les données et effectuer les calculs via le langage de programmation ?

Merci d'éclairer ma lanterne
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2004, 17h11   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Ben , ça dépend de ce que tu entends par "fonction numérique" ?

Et peut-être que ton pseudo-pb est contournable par des procédures stockées ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2004, 17h24   #3
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
Oui je viens de remarquer que les procédures stockées pouvaient gérer mes problèmes.
Sinon par "fonction numérique" j'entends toutes les fonctions de base : modulo, round, rand, power ...
Je trouve quand même bizarre que ça ne soit pas implémenté de base alors que tous les autres SGBD le font (mis à part paradox). Je sais que ce n'est pas la norme SQL mais qd même.

Sinon à titre indicatif j'aimerai bien savoir quel est le plus rapide afin d'optimiser mes temps de réponse.
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2004, 17h47   #4
Membre du Club
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 66
Points : 66
il existe aussi les fonctions UDF qui font tout ce que tu souhaite effectué et voir plus.
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore"
Sitting Bull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2004, 18h31   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par papy_tergnier
Sinon par "fonction numérique" j'entends toutes les fonctions de base : modulo, round, rand, power ...
Toutes ces fonctions existent sous interbase. Simplement elles ne sont pas implémentées en dur dans le langage SQL mais sous forme de fonctions externes. (UDF)

Ces UDF sont en fait des DLL qui contiennent des fonctions. Ces fonctions une fois déclarées auprès d'interbase sont utilisables dans les ordres SQL, procédure stoquées et trigger.
C'est un moyen d'étendre le langage SQL assez facilement.
Interbase/firebird est fourni avec deux UDF contenant déjà pas mal de fonction de calcul.
Et on trouve pas mal d'UDF gratuites qui contiennent plein d'autres fonctions.

Le gros avantage de ce systeme c'est que vous pouvez très bien développer votre propre UDF avec vos fonctions.

Ainsi le systeme est ouvert et évolutif.

Quand à votre question de savoir qu est ce qui est plus rapide, il y a pas de reponse. Car ca va dependre de plein de facteur :
En vrac :
La puissance du serveur et sa charge.
La puissance du poste client
Le type de traitement, le nombre d'enregistrement modifié etc...

En gros si c'est un traitement de masse il y a des chances que le serveur (s'il n'est pas trop solicité) s'en tire mieux. Aussi parce qu'un serveur est en général plus puissant qu'un poste et qu'un traitement sur serveur évite de multiple echange d'informations sur le reseau.

Bref on ne peux pas répondre à une tel question, il faut y réfléchir au cas par cas. Ou avec des exemples plus précis.

Sinon un des critères qui m'a fait choisir Interbase/firebird par rapport à POSTGreSQL c'est que ce dernier n'existait pas en natif windows. Je ne sais pas si la version native windows est sorti et si elle fonctionne correctement mais à mon époque PostGreSQL marchait sous windows qu'avec un genre d'emulateur unix qu'il fallait installer avant.

Une autre raison : c'est la très bonne intégration d'interbase pour les developpements Delphi/BC++.
Et une dernière pour la route :
Si un jour je veux passer mes bases sous un SGBD qui est sous garantie et avec du support pro, je peut facilement basculler sous la version d'interbase 7.1 qui est commerciale (ce qui peux aussi rassurer certains clients qui se mefient (à tort) des choses gratuites).

Barbibulle
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2004, 22h31   #6
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
Merci pour toutes ces explications intéressantes. C'était très enrichissant pour moi.
Sinon je crois que la version de PostGreSQL vient de sortir cet été en natif sur Windows. Quant à son bon fonctionnement c'est une autre histoire.
De toute façon que je choisisse PostGre ou Interbase cela se fera sur une FreeBSD donc pas de souci là dessus.

Merci encore pour tout
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2004, 10h20   #7
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Sur FreeBSD PostGreSQL a déjà fait ses preuves.
Interbase ne tournant pas sur cet OS il vous faudra installer Firebird.

Je ne suis pas un spécialiste FreeBSD mais j'ai déjà effectué une installation de Firebird dessus. Par contre j'ai eut deux problemes le premier et que je ne pouvais pas avoir plus d'une connexion à la fois sur ma base. J'ai fait appel un spécialiste FreeBSD et en regardant les log FreeBSD il à vu d'ou venait le probleme et à configuré FreeBSD pour résoudre ce problème (Il n'a pas voulu me dire ce qu'il avait fait précisément ). Mais ça marche très bien maintenant.

Le second soucis c'est que je n'ai pas pu utiliser mon UDF fétiche (rfunc) qui contient tout plein de fonctions interressantes. Pour l'installer sur cet OS il fallait la recompiler (ce qui est peut bannal quand on vient du monde UNIX, mais n'ayant pas les compétances, et le temps j'ai du me passé de celle-ci.

Voilà pour mon expérience.
Maintenant PostGreSQL est je pense plus courant dans le monde FreeBSD que Firebird et vous trouverez certainement plus d'aide ou d'outils pour ce SGBD.

Mais si vous voulez tenter l'aventure Firebird, vous êtes le bienvenue et je vous conseil de l'essayer avant toute chose.
Je me tiendrai à votre disposition pour vous aider concernant Firebird et j'espere que vous nous ferez partager votre expérience FreeBSD (notamment si vous trouvez comment le configurez pour autoriser plusieurs accès conccurent, je suis très interressé par cette info). A moins que sur la version actuelle de FreeBSD il n'y a plus ce probleme (ou la procédure d'installation de firebird a évolué et il n'y a plus ce probleme).

Bref pour résumer si vous voulez ne pas vous embéter je pense que c'est PostGreSQL le plus adapté (enfin il me semble) par contre si vous voulez vous essayer à Firebird sachez que ca marche aussi sur FreeBSD.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h24.


 
 
 
 
Partenaires

Hébergement Web