Давно сталкиваюсь с этой неприятной ситуацией.
Общий случай
Люди
Города
Страны
Если юзеру укажу, что он в городе ID=12, то по этому городу ясно, в какой он находится стране.
Но если город не указан, то как указать страну?
Есть несколько решений у меня в голове, но ни одно меня не устраивает, дефективные они все (хотя именно так пока и справлялся)
Создать город "Регионы России". Не подходит, ибо если город не задан, то должна быть надпись "город не задан", либо пусто. А если стран 1000? То добавить 1000 фиктивных городов? Бредовое решение.
Добавить избыточность, поставив крест на нормальных формах. В моей проге сейчас и без того полно избыточностей (в связи с оптимизацией доступа). "Города-страны" - это я в пример привёл. У меня в программе подобных ситуаций, когда 3-4 таблицы идут каскадом, полно. Это при том, что БД пока небольшая (55 таблиц). И мне теперь на каждую делать избыточность и следить, чтобы она не была противоречивой? Это тяжело будет поддерживать в большой БД.
(админы-модераторы, почему у меня текст отступает от края экрана после списка пунктов списка?)
Мой случай.
Я тут всё клепаю свою программулину по соревнованиям.
Один из таких каскадов - вместо "городов" у меня "весовые категории", а вместо "стран" - "возрастные категории"
Каждой возрастной категории соответствует свой список весовых категорий.
Участник
Весовые категории
Возрастные категории
Каждому участнику приписываю запись из таблицы "весовые категории" и, таким образом, легко определяю его возрастную через таблицу весовых.
А вот если не указать человеку "весовую категорию", то и возрастной у него указано не будет.
Как быть?
Какое существует грамотное решение этой ситуации?
Общий случай
Люди
|
Города
|
Страны
|
Если юзеру укажу, что он в городе ID=12, то по этому городу ясно, в какой он находится стране.
Но если город не указан, то как указать страну?
Есть несколько решений у меня в голове, но ни одно меня не устраивает, дефективные они все (хотя именно так пока и справлялся)
(админы-модераторы, почему у меня текст отступает от края экрана после списка пунктов списка?)
Мой случай.
Я тут всё клепаю свою программулину по соревнованиям.
Один из таких каскадов - вместо "городов" у меня "весовые категории", а вместо "стран" - "возрастные категории"
Каждой возрастной категории соответствует свой список весовых категорий.
Участник
|
Весовые категории
|
Возрастные категории
|
Каждому участнику приписываю запись из таблицы "весовые категории" и, таким образом, легко определяю его возрастную через таблицу весовых.
А вот если не указать человеку "весовую категорию", то и возрастной у него указано не будет.
Как быть?
Какое существует грамотное решение этой ситуации?