Est-il possible de définir une unique contrainte de clé étrangère dans une autre table?
Est-il possible de définir une unique contrainte de clé étrangère dans une autre table?
Si oui, comment vous y prendriez-vous déclarer?
Comment vous y prendriez-vous sur l'affectation d'un candidat à la clé?
Est-il possible?
Exemple:
J'ai une table produit qui se compose de:
prod_id, prod_name, prod_price, QOH
Où je veux prod_name de lien pour l'envoi de la table:
desp_id, prod_name, shelfLoc, quantity
Ce que je pensais, c'est que j'ai peut-être besoin de créer une contrainte unique qui ressemble à ceci:
ALTER TABLE product
ADD CONSTRAINT prod_nameID_uc
UNIQUE (prod_id,prod_name)
Ce que je me demande, si il est possible de se référer à une clé unique, comme une clé étrangère dans l'expédition de la table. Je dois avoir prod_name
plutôt que prod_id
dans l'expédition de tableau, de sorte que l'information est la plus significative pour l'utilisateur, lors de la lecture, plutôt que de voir un numéro d'identification.
Je suis à l'aide de iSQL plus sur oracle.
tableB
qui doit être à la fois UNIQUE
et être un FOREIGN KEY
à tableA
? Aussi, ce moteur de base de données utilisez-vous?OriginalL'auteur taksIV | 2009-08-24
Vous devez vous connecter pour publier un commentaire.
Il est parfaitement possible de faire référence à une contrainte UNIQUE dans un Oracle de CLÉ ÉTRANGÈRE:
Cependant, il est une mauvaise pratique. La raison principale de l'utilisation d'une clé primaire à côté d'une clé unique est de fournir une synthèse de clé pour l'utilisation de clés étrangères. J'étais vous, je serais inquiète de ce que vos professeurs vous donnent une affectation criblé de mauvaises pratiques.
OriginalL'auteur APC
Ce n'est pas nécessairement dépendante du SGBD. Dans le DBMSes, je suis familier avec, l'unique contrainte et la contrainte de clé étrangère sont séparés considérations, vous pouvez avoir les deux, et ils agissent tous les deux, normalement, lorsqu'il est combiné.
OriginalL'auteur chaos