Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выбор значения из заранее определенной таблицы / 10 сообщений из 10, страница 1 из 1
16.01.2016, 16:53
    #39148801
wikkk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
Есть таблица (см. картинку), содержащая поля "Type" и "Value". "Type" может быть улицей, районом или городом. Как сделать так, что если "Type" соответствует типу "Улица", то можно было бы выбрать конкретное значение ("Орджоникидзе", "Мичурина") только из определённого списка? Соответственно, если Type соответствует типу "Город", то можно было бы выбрать значение только из списка городов. Аналогично и для района.

И это проверялось бы не программно, а через БД. Вопрос - как это сделать?
...
Рейтинг: 0 / 0
16.01.2016, 17:00
    #39148802
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
wikkkВопрос - как это сделать?
Объединить справочники улиц, городов и районов в одну таблицу, добавив в неё поле "Type",
хранящее тип значения. Потом - Foreign key на ("Type", "Value"). Всё, телемаркет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.01.2016, 17:32
    #39148819
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
Dimitry SibiryakovwikkkВопрос - как это сделать?
Объединить справочники улиц, городов и районов водно представление
...
Рейтинг: 0 / 0
16.01.2016, 17:41
    #39148824
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
skyANAодно представление
В какой СУБД можно повесить FK на VIEW?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.01.2016, 18:04
    #39148835
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
Dimitry SibiryakovskyANAодно представление
В какой СУБД можно повесить FK на VIEW?
а зачем он?
...
Рейтинг: 0 / 0
16.01.2016, 18:15
    #39148842
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
skyANAа зачем он?
Чтобы "это проверялось бы не программно, а через БД".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.01.2016, 18:24
    #39148845
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
Dimitry SibiryakovskyANAа зачем он?
Чтобы "это проверялось бы не программно, а через БД".
ТСу надо, чтобы "если Type соответствует типу "Город", то можно было бы выбрать значение только из списка городов. Аналогично и для района".
Представление это решает.
...
Рейтинг: 0 / 0
24.01.2016, 18:43
    #39154029
wikkk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
в моем случае количество таблиц не ограничено - кроме 3х таблиц - город, улица, район, могут быть еще десятки.

СУБД - MSSQL
...
Рейтинг: 0 / 0
24.01.2016, 19:17
    #39154055
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор значения из заранее определенной таблицы
wikkkв моем случае количество таблиц не ограничено - кроме 3х таблиц - город,
улица, район, могут быть еще десятки.
Вот и отличненько, вали их все в одну.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2016, 08:40
    #39154235
Выбор значения из заранее определенной таблицы
wikkk,

если Value это ID, то как вариант можно денормализовать туда же Name

по описанию задачи я так понял что речь про клиент, где-то указывается Type, потом надо загрузить список Name
тут же можно и определять, откуда загружать.
можно свалить во вьюху, но с увеличением числа таблиц можно уткнуться в максимально возможное число union

общие данные вполне можно держать в одной таблице, а в отдельных (таблицах-расширениях) только специфику, которая чаще всего нужна при обращении к конкретному объекту, а не при просмотре списка.

программно вам ничто не помешает в одном комбике выбрать Type, а в соседнем - черт знает что, и по последнему выбрать ID.
чтобы конкретно понимать, об ID чего идет речь можно в середине процессов или между клиентом и сервером общаться через ID вот той связочной таблицы. больше я что такое "через бд" придумать не могу. этой бд сначала надо параметры фильтрации передать. потом-то, естественно, на уровне бд произойдет where. если только вы не начитываете в кэш вообще все и не фильтруете на клиенте. что тоже можно, но еще более непонятно про "через БД".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выбор значения из заранее определенной таблицы / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]