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

Langage SQL Discussion :

clefs primaires obligatoires?


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut clefs primaires obligatoires?
    Bonjour à tous,

    J'utilise Sybase 12.5, et je viens de me rendre compte que sur certaines tables je n'avais pas défini de clefs primaires.
    J'ai bien un identifiant unique, mais juste le champ n'est pas défini en tant que clef primaire pour sybase...
    Est ce que vous pensez que cela peut impacter les performances de ma base?

    Merci d'avance!

    Mike

  2. #2
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Imagine que toutes les voitures en circulation ne soient pas dotées d'un matricule mais sont reconnues aux noms de leur propriétaires ?
    Quelles conséquences ? Lis ceci

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    alors en fait j'avais peur de ne pas avoir été clair...
    j'ai une clef primaire, c'est juste que lors de la création des tables je n'ai pas mis PRIMARY KEY!

    en gros j'ai fait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE T_PERSONNE5
    (PRS_ID             INTEGER NOT NULL ,
     PRS_NOM            VARCHAR(32),
     PRS_PRENOM         VARCHAR(32))
    au lieu de ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE T_PERSONNE5
    (PRS_ID             INTEGER     NOT NULL PRIMARY KEY,
     PRS_NOM            VARCHAR(32),
     PRS_PRENOM         VARCHAR(32))
    et j'en profite pour poser ma 2eme question:
    c'est la même que précédemment mais pour les clefs étrangères!

    dc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE T_FACTURE1
    (FTC_ID             INTEGER,
     PRS_ID             INTEGER,
     FCT_DATE           DATE,
     FCT_MONTANT        DECIMAL(16,2))
    au lieu de ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE T_FACTURE1
    (FTC_ID             INTEGER,
     PRS_ID             INTEGER      FOREIGN KEY REFERENCES T_PERSONNE5 (PRS_ID) ,
     FCT_DATE           DATE,
     FCT_MONTANT        DECIMAL(16,2))
    en tout cas merci pr ta réponse éclaire!

  4. #4
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Bah, dans ce cas tu n'as qu'a ajouter tout le bazar et tu est tranquille.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    oui je sais, c'est ce que je compte faire d'ailleurs..
    mais je voulais juste savoir s'il pouvait y avoir des pertes de perf à cause de cela...

  6. #6
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Au contraire, les index générés par ces clefs seront d'un grand secours pour ton serveur.

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Merci bcp ton aide!!!

    Bon week-end!

  8. #8
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    on termine par un petit "RESOLU" ?

    Bon week-end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générer une clef primaire aleatoire?
    Par 12_darte_12 dans le forum Administration
    Réponses: 4
    Dernier message: 18/07/2005, 18h10
  2. Clef primaire en nvarchar
    Par Mouse dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/04/2005, 15h50
  3. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  4. [VB.NET] [ADO.NET] Clef primaire auto incrémenté
    Par Guld dans le forum Accès aux données
    Réponses: 4
    Dernier message: 25/09/2004, 20h46
  5. récupérer la clef primaire d'une table
    Par orionis69 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/02/2004, 13h00

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