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

 SGBD Discussion :

Clé primaire, Clé étrangère


Sujet :

SGBD

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 40
    Points : 54
    Points
    54
    Par défaut Clé primaire, Clé étrangère
    Bonjour,

    Je sais qu'en SQL une cle etrangere (FK) d une table est liee a une cle primaire (PK) d une autre table si j ai bien compris.
    Mais peut elle etre liée a deux ou plus cles primaires chacune dans une table differente ?
    J etais en train de creer des tables a partir d un schema exemple mais je me retrouve a pas savoir comment lier ca.

    https://dev.mysql.com/doc/employee/e...structure.html

    Ce sont les cles jaunes les FK ? Et la FK empt_no de la table employees du coup peut etre liée a la fois avec la PK des tables : dept-emp , de salaries, de titles et de dept_manager ...
    Par ailleurs dans la table titles, j'ai une FK title que je ne retrouve dans aucune autre table ...

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 400
    Points
    28 400
    Par défaut
    La clé primaire (PK) d'une table permet d'identifier de manière unique chaque ligne de cette table.
    La clé étrangère (FK) référence la clé primaire (ou la clé unique) d'une autre table.
    Par exemple, dans ton cas, la colonne emp_no est la clé primaire de la table employees.

    La colonne emp_no dans la table salaries référence la clé primaire emp_no de la table employees.
    C'est l'association des colonnes emp_no et date_from qui forme la clé primaire de la table salaries.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 40
    Points : 54
    Points
    54
    Par défaut
    Merci pour ces precisions, du coup j'ai pensé que les cles rouges etaient les cles primaires alors que ce sont les jaunes qui le sont.

    Par contre quant tu dis :

    C'est l'association des colonnes emp_no et date_from qui forme la clé primaire de la table salaries.
    La cle primaire ne serait pas plutot from_date avec une cle etrangere emp_no liant la table a employees ?

    Et dans titles par contre la cle primaire seraient composees de title et de from_date, si j'ai bien compris.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 400
    Points
    28 400
    Par défaut
    Citation Envoyé par touit Voir le message
    La cle primaire ne serait pas plutot from_date avec une cle etrangere emp_no liant la table a employees ?
    Si la clé primaire (donc unique) se limitait à la seule colonne from_date, cela signifierait qu'à une date donnée, il ne pourrait pas y avoir plus d'un employé qui change de salaire...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 40
    Points : 54
    Points
    54
    Par défaut
    Encore une question, a quoi correspondent indexes sur le schema ?

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 299
    Points : 39 635
    Points
    39 635
    Billets dans le blog
    9
    Par défaut
    Les index sont les objets de la base de données qui permettent de faciliter la recherche dans les tables
    Sans index, la recherche est séquentielle, c'est donc long si le nombre de lignes dans la table est important
    Par défaut, dans la plupart (tous ?) des SGBD, la contrainte d'identifiant primaire génère automatiquement l'index unique sur cet identifiant.
    Mais vous pouvez aussi créer d'autres index, par exemple, dans la table employé, un index non unique sur le nom sera utile pour rechercher sur ce critère

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

Discussions similaires

  1. clé primaire/clé étrangère
    Par 100%fluor dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 23/11/2007, 14h17
  2. Clé primaire, clé étrangère
    Par Premium dans le forum Langage SQL
    Réponses: 1
    Dernier message: 15/11/2007, 12h27
  3. index et clef primaire et étrangère
    Par stos dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/09/2006, 08h59
  4. Clé primaire, clé étrangère ou simple colonne?
    Par ilyassou dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 19/11/2005, 10h22
  5. [clé primaire et étrangère]
    Par viny dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/08/2003, 18h23

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