IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

clé primaire aléatoire


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 34
    Points : 63
    Points
    63
    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

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 209
    Points : 249
    Points
    249
    Par défaut
    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

  3. #3
    Expert confirmé
    Avatar de Petrus
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 5 922
    Points
    5 922
    Par défaut
    Salut,

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

    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.

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 209
    Points : 249
    Points
    249
    Par défaut
    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

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 34
    Points : 63
    Points
    63
    Par défaut
    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

  6. #6
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    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!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 34
    Points : 63
    Points
    63
    Par défaut
    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

  8. #8
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    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!

  9. #9
    Membre actif

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 209
    Points : 249
    Points
    249
    Par défaut
    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

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/11/2010, 14h22
  2. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57
  3. Eviter deux nombres identiques dans un tirage aléatoire
    Par moon tiger dans le forum Pascal
    Réponses: 5
    Dernier message: 25/11/2002, 09h57
  4. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30
  5. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo