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 :

Clef primaire : quelle méthode ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Par défaut Clef primaire : quelle méthode ?
    Bonjour,

    Pour vous quelle est la méthode la plus logique et pourquoi ?

    Soit deux tables PERSONNE et VOITURE

    PERSONNE
    NUMPERSONNE : PK
    NOM

    VOITURE
    NUMVOITURE : PK
    NUMPERSONNE : FK
    IMMATRICUL

    ou

    VOITURE
    NUMPERSONNE : PK - FK
    NUMVOITURE : PK
    IMMATRICUL

    Merci d'avance.

  2. #2
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Cela dépend !
    Est-ce qu'une voiture peux-avoir plusieurs propriétaires (= personnes)
    Est ce qu'une personne peux-avoir plusieurs voitures ?

    En bref, réviser les formes normales !!!

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Par défaut
    Effectivement, l'exemple est mal choisi.

    Citation Envoyé par Garuda Voir le message
    Est-ce qu'une voiture peux-avoir plusieurs propriétaires (= personnes)
    Non
    Citation Envoyé par Garuda Voir le message
    Est ce qu'une personne peu avoir plusieurs voitures ?
    Oui

  4. #4
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    A priori celle-ci

    PERSONNE
    NUMPERSONNE : PK
    NOM

    VOITURE
    NUMVOITURE : PK
    NUMPERSONNE : FK
    IMMATRICUL

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Par défaut
    Oui j'ai donc aucun intérêt à passer NUMPERSONNE en PK dans la table voiture, sauf comme le souligne Garuda une voiture pouvait appartenir à plusieurs personnes.

    Pourtant ce sont des cas que l'on retrouve souvent... donc je cherchais l'intérêt... Mise à part générer un IDDETAIL par IDMAITRE, je ne vois pas.

    TABLE MAITRE
    IDMAITRE

    TABLE DETAIL
    IDMAITRE
    IDDETAIL

  6. #6
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    Dans le cas où une voiture appartiendrait à plusieurs personnes et que chaque personne puisse avoir plusieurs voitures je préfère utiliser une table intermédiaire :

    VOITURE
    NUMVOITURE PK
    [...]

    PERSONNE
    NUMPERSONNE PK
    [...]

    RVP
    NUMVOITURE PK - FK
    NUMPERSONNE PK - FK

Discussions similaires

  1. 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
  2. [persistance]Quelle méthode utiliser ?
    Par le Daoud dans le forum Persistance des données
    Réponses: 9
    Dernier message: 15/11/2004, 09h29
  3. code récurrent, quelle méthode utiliser ?
    Par khayyam90 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/10/2004, 15h03
  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