У меня есть логическое поле в таблице job
с именем external
. Если оно истинно, то job
является внешним, а если ложно, то оно внутреннее, очевидно.
Если job
является внешним, то ему необходимо хранить ID
, который ссылается на запись в client
таблицы, и если она внутренняя, то ей необходимо сохранить ID
, который ссылается на запись в таблице staff
.
Мне потребуется, чтобы пользователь выбрал, является ли job
внутренним или внешне, возможно, даже прежде чем они узнают client
или staff
для выбора. Поэтому я не могу просто покончить с полем external
, хотя я не уверен, будет ли это хорошей или плохой идеей в любом случае.
Для меня имеет смысл на поверхности хотя бы просто используйте одно поле, в котором хранится либо ID
, чем два поля, когда только одно будет хранить данные, а другое будет пустым. Это ID
, поэтому тип данных не нужно будет менять и он не будет совпадать в будущем.
Есть ли проблемы, которые могут это вызвать, и это по какой-то причине плохая практика? Потому что я чувствую, что это вполне может быть.
Я использую Firestore с Flutter, но я думаю, что этот вопрос относится к базам данных в целом.