Citation:
Ma base de donnée est constitué de plusieurs tables de une colonne:
COULEUR (contenant toute les couleurs qu'une carte peut avoir)
EDITION (contenant toute les éditions existantes aujourd'hui)
TYPE , SOUS-TYPE , ...
Erreur de modélisation !
Tu devrais commencer par faire un modèle conceptuel de données et nous le proposer dans le forum Schéma.
Une table telle que COULEUR est une table de référence. Chaque table d'une BDD devant avoir une clé primaire, le nom de la couleur est une mauvaise clé. Il convient donc de lui ajouter un identifiant numérique auto-incrémenté.
La structure de la table COULEUR est donc celle-ci :
COULEUR (clr_id, clr_nom)
Idem pour les autres tables de référence :
EDITION (edt_id, edt_libelle)
TYPE (typ_id, typ_libelle)
Un sous-type étant un type, tu as le schéma suivant :
TYPE -0,1----avoir
|--------0,n-------|
Traduction en français :
Un TYPE peut avoir plusieurs (sous) TYPEs et un (sous)TYPE peut être rattaché à un seul TYPE.
Comme je l'explique dans mon blog, une telle association entraîne la création d'une table associative donc la clé primaire est l'identifiant du (sous) TYPE.
SOUS_TYPE (stp_id_sous_type, stp_id_sur_type)
Etc...
Dans tous les schémas ci-dessus, les clés primaires sont soulignées et les clés étrangères sont en italique.
Citation:
ainsi qu'une table CARTE de 17 colonnes (une pour chaque caractéristique de la carte : nom, cout, edition, ...) qui va contenir toute les cartes.
Dans les quelques propriétés que tu donnes, edition sera une clé étrangère référençant la clé primaire de la table de référence EDITION.
Citation:
Par exemple, je voudrais que la colonne edition de la table CARTE ne puisse contenir que des valeurs présentes dans la table EDITION.
C'est justement le rôle d'une clé étrangère.
Citation:
Je sais qu'avec ENUM on peut définir une liste de valeurs autorisées,
Ne surtout pas utiliser ce type non standard !
Encore beaucoup à apprendre tu as, jeune padawan ! :P