Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 23/06/2003, 13h21   #1
Invité régulier
 
Inscription : juillet 2002
Messages : 34
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 34
Points : 9
Points : 9
Par défaut clé primaire aléatoire

bonjour,
j'aimerais savoir s'il est possible de générer des clés primaire de maniere aléatoire avec postgresql.
merci
fabien
peuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 15h04   #2
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Salut,

Je ne suis pas sûr de bien comprendre ta demande. Tu cherches à définir aléatoirement un attribut d'une entité comme clé primaire ou de définir des valeurs aléatoires pour ta clé primaire pour chaque insertion ?

A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 15h14   #3
Rédacteur
 
Avatar de Petrus
 
Inscription : mars 2002
Messages : 415
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2002
Messages : 415
Points : 1 622
Points : 1 622
Envoyer un message via AIM à Petrus
Salut,

Moi je pense que c'est la seconde hypothèse

Citation:
générer des clés primaire de maniere aléatoire avec postgresql
Cela s'appelle une séquence, mais ce n'est pas une suite aléatoire, mais séquentielle et donc sans doublons ( normalement ).
Fais une recherche sur les forums Base de données, il y a moult réponses avec le mot clé SEQUENCE.
Petrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 15h23   #4
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Si c'est la deuxième hypothèse, Pierre a raison! Les séquences sont bien pratique, mais pas aléatoire. Cela dépend ou tu souhaites faire cela. C'est lors d'un chargement (avec l'instruction \copy) ou bien si c'est depuis un client?

Dans ce cas franchement je vois que deux posibitilés, ou bien tu gères cela avec ton application client, ou bien tu fais une fonction pg/plsql qui te créée des nombres aléatoires!

Il faudrait préciser un peu ta question à mon avis!

A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 16h02   #5
Invité régulier
 
Inscription : juillet 2002
Messages : 34
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 34
Points : 9
Points : 9
ok merci a vous , je connaissais deja les sequences de postgresql, c'est elle que j'utilisais jusque maintenant, je souhaitais juste savoir s'il etait possible de les definir de manière aléatoire.
A priori non depuis postgresql donc je vais certainement continuer a utiliser les sequences .
fabien
peuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 16h45   #6
Membre habitué
 
Inscription : mai 2003
Messages : 145
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 145
Points : 146
Points : 146
moi je ferais ca plutot avec la techno utilisée, par exemple avec PHP, je vérifie si le nombre généré n'existe pas déjà dans la base et si c'est bon j'insère!
wello00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 16h50   #7
Invité régulier
 
Inscription : juillet 2002
Messages : 34
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 34
Points : 9
Points : 9
comme tu veux wello00, mais le pbm c'est que tu fais des acces a la base lorsque tu regarde s'il le nombre est deja pris ; imagine si tu as bcp d'enregistrements dans ta base, que tu utilise ta base a distance , alors la tes performances sont desastreuses... avec ce genre de technique tu peux eviter ce genre de desagrement qui dans les grosses applications sont souvent penalisant.

fabien
peuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 17h21   #8
Membre habitué
 
Inscription : mai 2003
Messages : 145
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 145
Points : 146
Points : 146
Citation:
Envoyé par kbal
comme tu veux wello00, mais le pbm c'est que tu fais des acces a la base lorsque tu regarde s'il le nombre est deja pris ; imagine si tu as bcp d'enregistrements dans ta base, que tu utilise ta base a distance , alors la tes performances sont desastreuses... avec ce genre de technique tu peux eviter ce genre de desagrement qui dans les grosses applications sont souvent penalisant.

fabien
tout à fait d'accord avec toi; surtout avec postgresql t'as raison vaut mieux éviter!
wello00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 20h51   #9
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Je me permets encore de rajouter qqch. Je crois que l'on est tous d'accord pour dire que si le client fait ces contrôles, les performances diminue énormément. Mais si tu créés une fonction stockée, tu fais un seul appel et c'est la fonction qui fait les contrôles d'existances. J'ai pas trop essayé, mais je pense sérieusement que cela peut fonctionner!

A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h19.


 
 
 
 
Partenaires

Hébergement Web