Bohužel jste právě položili starou otázku;
Odpověď je, samozřejmě, že ne; máte dva sloupce. Chcete-li rozšířit váš příklad zaměstnance, vaše tabulka zaměstnanců by se stala:
create table employees (
id number
, name varchar2(4000)
, skill_1 number
, skill_2 number
, constraint employee_pk primary key (id)
, constraint employee_skill_1_fs
foreign key ( skill_1 )
references skills(skillid)
, constraint employee_skill_2_fs
foreign key ( skill_2 )
references skills(skillid)
);
Jak vidíte, není to zrovna hezká věc a narušuje normalizaci; co se stane, když chcete, aby váš zaměstnanec (nebo váš zaměstnanec samozřejmě chce) měl 3 dovednosti? Nebo 10?.
Pravděpodobně by bylo lepší vytvořit třetí tabulku a všechna vaše spojení provádět pomocí jediného primárního a cizího klíče; takže byste měli
employees ( employee_id, ..., pk employee_id);
employee_skills ( employee_id, skill_id, ..., pk employee_id, skill_id, fk skill_id );
skills ( skill_id, description, ..., pk skill_id );