L'insertion d'une clé étrangère avec plusieurs valeurs

Je me demandais, est-il possible de créer une table où j'ai une table qui accepte une clé étrangère, mais peut avoir plusieurs valeurs pour une même ligne.

Par exemple:

Employee(id,name,skillid);
Skill(Skillid,skillname);

ici un exemple pour les Employés qui pourraient être

Employee(311,"john", (01,02) );
Skill (01,Java); Skill (02,C++);

J'ai mis en place la même prise de clé primaire de la table comme (est,skillid)

Mais dans un cas, j'ai une table :

create table Movie (Movie_ID varchar(5),                              
                            Cast varchar(5),
                            foreign key(Cast) references Person(Person_ID), 
                            primary key(movie_id, Cast));

et une autre table :

create table Awards  (Award_Id varchar(5),
                                Person_Id varchar(5), 
                                Movie_Id varchar(5),
                                Award_Name  varchar(30),
                                Year number(4),
                                Organization_Id varchar(5),
                                primary key (Award_id,year,Organization_Id),
                                foreign key(Person_Id) references Person(Person_ID),
--                                foreign key(Movie_ID) references Movie(Movie_ID),
                                foreign key(Organization_Id) references Organization(Organization_Id));

Dans ce cas, je ne suis pas en mesure d'utiliser Movie_ID en tant que clé Étrangère depuis la table à laquelle il fait référence est la combinaison de 2 choses que sa clé primaire. Et je ne suis pas en utilisant la 2ème de ces attribut dans le Prix de la table.

Toute allusion à la façon dont cela peut être mis en œuvre ?

  • Pourquoi est - Cast dans la clé primaire de Movie?
InformationsquelleAutor typedef1 | 2012-02-14