|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() |
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 |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
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 |
|
|
00
|
|
|
#4 |
![]() ![]() |
C'est à ça que servent les index, ça évite de parcourir toute la table !
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
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 ? |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() |
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 |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
D'accord,
Je vous remercie pour vos réponses, Flavien |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com