Bonjour Sam01,
Envoyé par
Sam01
d'après ce que tu me dis, ma table destination aura les colonnes suivantes :
==> exact.
Envoyé par
Sam01
et la colonne destination est soit égale à id_vil, soit égale à id_pays, soit égale à id_continent.
==> non :
- la colonne "id_dest" est l'id qui a été distribué, soit à la ville, soit au pays, soit au continent ;
- la colonne "destination" est le nom de la ville ou du pays ou du continent.
==> voir l'exemple de CinePhil :
destination(dst_id, dst_nom)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 1, 'Amérique'
2, 'Asie'
3, 'Europe'
4, 'Océanie'
5, 'USA'
6, 'Canada'
7, 'Mexique'
8, 'Chine'
9, 'Viêt Nam'
10, 'France'
11, 'Espagne'
12, 'Australie'
13, 'New York'
14, 'Paris' |
Avant de créer un enregistrement dans Ville ou Pays ou Continent, il faut passer par la table Destination pour :
- générer un Id dans la table Destination ;
- stocker le nom de la ville ou du pays ou du continent dans la table Destination ;
- stocker l'Id de la table Destination ainsi généré, dans la table Ville ou Pays ou Continent.
==> c'est le principe de l'héritage.
Si tu ne veux pas trop modifier l'existant, tu pourrais ajouter un flag V/P/C (Ville/Pays/Continent) dans la table Destination qui deviendrait :
destination(dst_id, dst_flag, dst_nom)
Cela ne me plaît pas trop, mais c'est un moindre mal, en quelque sorte. De ce fait, tu pourrais conserver tes id_ville, id_pays et id_continent en l'état (avec les mêmes valeurs), tout en gardant le même principe.
Cela te permet, également, de continuer à créer tes villes, pays et continents avant de générer un enregistrement dans Destination. Bien entendu, le choix de l'adhérent s'effectuera toujours sur cette table Destination.
Je te laisse modifier l'exemple évoqué précédemment pour imager le principe.
Partager