Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/01/2011, 08h06   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 2
Points : 2
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
Flastick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 14h57   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
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 !
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 15h35   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 2
Points : 2
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
Flastick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 15h55   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
C'est à ça que servent les index, ça évite de parcourir toute la table !
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 16h36   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 2
Points : 2
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 ?
Flastick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h48   #6
Membre régulier
 
Avatar de magicbisous-nours
 
Inscription : octobre 2005
Messages : 201
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 201
Points : 82
Points : 82
Envoyer un message via MSN à magicbisous-nours
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]

une pétition pour la libération des drivers matériels ici
J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source
magicbisous-nours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 19h36   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 2
Points : 2
D'accord,

Je vous remercie pour vos réponses,

Flavien
Flastick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h59.


 
 
 
 
Partenaires

Hébergement Web