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

Oracle Discussion :

[Sql]de clé primaire avec accès concurrents


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Sql]de clé primaire avec accès concurrents
    Bonjour,

    Je lis bcp de littérature sur le sujet, mais j'ai pas encore trouvé de méthode simple ou envisageable pour mon problème. J'ai plusieurs personnes qui bosse sur la base de données et je souhaite pouvoir créer des identifiants à la chaine sans problème de rollback ... vaste problème.

    En fait, j'avais pensé à une table de suivi des identifiants, mais si les deux users lisent en même temps la table, ils vont me construire le même identifiant et çà pétera à l'enregistrement.
    Puis j'ai pensé aux sequences, mais là j'ai un soucis au niveau des trous et aussi elle sont numériques, alors que je souhaite avoir un séquence alphanumérique. De plus si je fais une séquence et un trigger, je suis dans l'incapacité de savoir ce que je viens d'insérer comme identifiant dans ma table. Identifiant dont j'ai besoin pour réaliser des liens entre tables.

    J'avoue que je commence à me dire que je me casse la tête pour un problème si bateau, que tant de DBA ont du se poser, qu'il doit sans doute y avoir des bonnes pratiques dans ce genre de cas mais je n'arrive pas à trouver.

    J'ai bien lu un truc parlant d'avoir une table dans laquelle on supprime au fur et à mesure des identifiants, mais pour une grosse table (25000 lignes) il faut prévoir une table monstrueuse pour anticiper les nouveaux enregistrements ...

    Bref je désespère, si quelqu'un a rencontré ce genre de problème et s'en est sorti, je lui saurai très reconnaissant s'il partagait son expérience. Merci.

    Version Oracle : Oracle 9
    Langage Appli : VB.NET

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,
    Vous souhaitez un identifiant unique et qui s'incrémente avec gestion de la concurence. C'est pas la définition d'une séquence ca

    Pas la peine de faire compliquer. Une séquence gére ca parfaitement

    Par contre je ne comprends pas trés bien, pourquoi il est nécessaire d'avoir un clé primaire qui soit pas numérique

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Une clé alpha est en général à déconseiller au niveau performances.

    Des "trous" ne devraient pas être gênants pour un champ qui est la clé primaire, à moins que vous fassiez un usage fonctionnel de la clé, ce qui à éviter.

    Sinon, concernant la gestion des clés, je vous permet de vous rediriger vers un petit article sur le sujet : Clefs auto incrémentées
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    En fait j'ai pas le choix, je dois travailler avec une base existante et ils exigent que je respecte le format de leurs identifiants.

    Par ailleurs si je passe par une table de suivi d'identifiant, y a t-il un moyen pour passer un ensemble de requête en un seul coup sans que d'autres requêtes viennent s'intercaler entre mes requêtes ?

    Car si on peut faire çà autant faire une table de suivi.

Discussions similaires

  1. comment avoir la gestion des clés primaires avec sql serveur/EF
    Par olivier57b dans le forum Entity Framework
    Réponses: 12
    Dernier message: 12/06/2011, 14h46
  2. génération automatique de la clé primaire avec sql server
    Par j_esti dans le forum Développement
    Réponses: 2
    Dernier message: 22/10/2008, 19h25
  3. applet avec acces SQL sécurisé ou pas ?
    Par alain57 dans le forum JDBC
    Réponses: 2
    Dernier message: 06/02/2007, 11h24
  4. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28
  5. Modifier la surface primaire (avec un filtre)
    Par cemoi dans le forum DirectX
    Réponses: 56
    Dernier message: 01/01/2004, 20h48

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