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

Bases de données Delphi Discussion :

[SQL Server] Cles auto-incrementes


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut [SQL Server] Cles auto-incrementes
    Bonjour,

    Je m'interroge sur l'utilité des clefs autoincrementes...
    Vaut-il mieux les utiliser ou juste faire un "select max" manuellement et ajouter un a la cle max...

    Comment ca se passe pour les champs supprimes ? Est-ce qu'en cas d'autoincrementation le sgbd propose de recuperer des cles plus utilises ou si on choisit une cle manuellement est-ce d'usage de recuperer ces cles aussi manuellement ?

    Merci !

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Citation Envoyé par okparanoid
    Bonjour,

    Je m'interroge sur l'utilité des clefs autoincrementes...
    Vaut-il mieux les utiliser ou juste faire un "select max" manuellement et ajouter un a la cle max...
    Le select max va avoir tendance à coûter de + en + cher en temps d'exécution, à mesure que la table grossit.

    Les clés auto-incrémentées sont souvent utilisées quand on ne s'intéresse qu'à un identifiant discriminant dont on veut s'épargner la gestion. Le SGBS garantit l'unicité de l'identifiant, et c'est bien tout ce qu'on recherche.
    Comment ca se passe pour les champs supprimes ? Est-ce qu'en cas d'autoincrementation le sgbd propose de recuperer des cles plus utilises ou si on choisit une cle manuellement est-ce d'usage de recuperer ces cles aussi manuellement ?
    Quelle importance s'il y a des trous dans la séquence, puisque l'unicité des identifiants (présents en base et à venir) est respectée ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Ok, mais en faite le probleme que me pose l'autoincrementation et qu'il ne permet pas de savoir l'index du champ que l'on vient d'ajouter, a moins que je me trompe ?

    La solution serait donc de reseter la feuille de saisie pour obliger l'utilisateur a recharger le tuple via une interface utilisant un tquery + dbgrid s'il desire l'editer.

    Comment tu fais dans ce genre de cas ?

    Merci !

  4. #4
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Connaître le dernier identifiant auto-incrémenté est une autre histoire

    Certains SGBD proposent des fonctions toutes faites pour cela, comme le last_insert_id de MySQL, ou l'interrogation du trigger sous Interbase/firebird.

    Ce n'est donc pas un problème, et c'est effectivement nécessaire dans le cas ou cet identifiant sert de Foreign Key dans une autre table.

Discussions similaires

  1. [ACCES 2007]Cle auto incrementée
    Par mat777 dans le forum Access
    Réponses: 1
    Dernier message: 04/02/2008, 14h26
  2. [VB.NET][SQL SERVER] Champ auto de type guid
    Par SergeF dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/12/2007, 10h57
  3. probleme cle auto increment
    Par _momo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/08/2007, 10h40
  4. [SQL SERVER] cle primaire
    Par drayif dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/07/2007, 11h35
  5. Cle auto incremente mysql
    Par neuneu1 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 24/04/2007, 16h14

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