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

PL/SQL Oracle Discussion :

Attributs d'une table non connus à la programmation


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Attributs d'une table non connus à la programmation
    Bonjour,

    Je suis débutant en PL/SQL et je dois établir une relation ..x -1 entre deux bases de données. Par exemple une table "Personnel" et une table "ordinateur". Chaque personne a un ou plusieurs ordinateurs, mais un ordinateur n'appartient qu'à une seule personne. Il faut pouvoir passer rapidement d'une base à l'autre. (sans recherche)

    C'est-à-dire que la base de donnée ordinateur aura un "foreign key" personnel_id, mais la base de donnée "Personnel" devrait en avoir plusieurs, puisque chaque personne peut avoir plusieurs ordinateurs.. On ne connaît pas à la programmation le nombre d'ordinateur qu'aura une personne..
    Comment s'y prend-t-on pour réaliser cela sans données superflues?

    En vous remerciant beaucoup pour votre aide,

    Flavien

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    C'est une modélisation simple, une table Personne, une table Ordinateur qui contient l'id_personne.

    Regardez les tutoriels sur ce site, ils sont très fournis !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Oui mais pour trouver tous les ordinateurs qu'une personne possède, il faut parcourir alors toute la liste des ordinateurs "WHERE id_personne=xx" non ?
    Il me semble que ce n'est pas rapide si la liste est longue. N'y a-t-il pas un autre moyen ?

    Effectivement les tutoriels de ce site m'aident beaucoup ! Mais je n'ai pas réussi à trouver ma réponse dans ces tutoriels.

    Merci beaucoup pour votre attention,

    Flavien

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    C'est à ça que servent les index, ça évite de parcourir toute la table !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    ah ??
    Donc avec :
    "une table Personne, une table Ordinateur qui contient l'id_personne"

    avec
    FOREIGN KEY REFERENCES Table_personne (id_personne)

    Si je mets "DELETE Table Ordinateur ... WHERE id_personne =xx", il ne parcourra pas toute la table pour supprimer les différents ordinateurs ?

  6. #6
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    En effet, pas si tu as un index sur ta table Ordinateur.... Regardes du côté des index (tu dois avoir des tutoriaux sur ce site)....
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    D'accord,

    Je vous remercie pour vos réponses,

    Flavien

Discussions similaires

  1. Non attribution d'une table
    Par cococmoi dans le forum SAS Base
    Réponses: 6
    Dernier message: 18/03/2013, 17h30
  2. Changer la position d'un attribut dans une table?
    Par gui38 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/01/2007, 21h27
  3. Si attribut d'une table=0 alors
    Par wishmasteer dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 16/06/2006, 15h03
  4. Réponses: 1
    Dernier message: 27/03/2006, 16h58
  5. Comment connaitre le type d'un attribut dans une table?
    Par Abdou_9002 dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/03/2006, 10h07

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