Sayangnya Anda baru saja mengajukan pertanyaan kuno;
Jawabannya adalah, tentu saja, Anda tidak melakukannya; Anda memiliki dua kolom. Untuk memperluas contoh karyawan Anda, tabel karyawan Anda akan menjadi:
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)
);
Seperti yang Anda lihat, ini bukan hal yang bagus untuk dilakukan dan merusak normalisasi; apa jadinya jika anda ingin karyawan anda (atau karyawan anda tentunya ingin) memiliki 3 skill? Atau 10?.
Mungkin akan lebih baik untuk membuat tabel ketiga dan melakukan semua gabungan Anda dengan satu kunci utama dan asing; jadi Anda akan memiliki
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 );