В моем приложении каждый из моих пользователей должен выбрать пригород, с которым нужно связать свой профиль.В таблице users
есть поле suburb_id
, а в таблице suburbs
есть поля id
и name
.
Наша таблица suburbs
содержит большинство пригородов, которые нам понадобятсяОднако иногда пользователям нужно будет вводить пригороды, которых у нас нет в нашей таблице, или которые появлялись после того, как мы заполнили нашу таблицу.
Каков наилучший способ проектирования базы данных для решения этой проблемы.
Я рассмотрел вопрос об изменении поля suburb_id
на просто suburb
и затем проверял в приложении, является ли оно целым числом или строкой - если бы оно было целым числом, приложение предположило бы, что оно связано с элементомв таблице suburbs
, если бы это была строка, она бы приняла иное.Однако, если бы пользователь просто вводил целое число в поле suburb
, тогда приложение, очевидно, ошибалось бы и пыталось сопоставить его со значением в таблице.
Является ли это приемлемым способом решенияс проблемой (мне кажется это бесполезным - я уверен, что должно быть лучшее решение).
РЕДАКТИРОВАТЬ: Я также хотел бы избежать вставки данных, предоставленных пользователями в таблицу suburbs
(даже если помечены) поскольку я не хочу влиять на качество данных о пригороде, которые у нас есть.