Каков наилучший способ работы с внешними ключами в таблице, которая может быть из двух разных таблиц?
Чтобы быть более понятным:
T1(id,c1,c2)
- c1 и c2 от T2 или T3
T2(id,name)
T3(id,name)
Рассмотрим T2 и T3 должны быть разные таблицы. И если c1
от T1
(например), c2
может быть от T2
или T3
.
Должен ли я:
1. Создать новую таблицу, которая содержит ассоциации и c1
и c2
указывают на идентификатор из этой таблицы? т.е. T4(id,id_from_T1,id_from_T2_or_T3,what_table)
2. Создайте 2 столбца, c1_parent
, c2_parent
и составьте соглашение, например, если оно равно 1, то оно из T2
, если 2, то из T3
.
Или есть совершенно новый, лучший способ?
Спасибо.