powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / запретить выбирать из справочника некоторые позиции
12 сообщений из 12, страница 1 из 1
запретить выбирать из справочника некоторые позиции
    #38706475
fewfewefe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть спрафочник

ref(id_ref PK, ...)

и таблица

t(id_t1 PK, entity_type, id_ref FK...);

строке с entity_type = 1 и entity_type = 2 можно ссылаться только на определенные подмножества s1 и s2 из таблицы ref. эти множества могут пересекаться. ничего в голову не приходит.
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706488
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь entity_type в ключ ref.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706494
r34r34r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovДобавь entity_type в ключ ref.


а как быть с тем, что подмножества s1, s2 могут пересекаться?
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706529
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r34r34rа как быть с тем, что подмножества s1, s2 могут пересекаться?
У пересечения сделать это поле NULL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706540
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fewfewefe,

приходит в голову только решение с дополнительным полем
ref
id_ref PKтекст entity_typesпримечание1наимен112наимен2доступно всем3наимен3доступно всем4наимен425наимен51,26наимен61,27наимен72,3

Код: vbnet
1.
2.
3.
4.
s1="select * from ref where len('' & entity_types)=0 "
s1=s1 & " or instr(entity_types," & me.[param1] & ")>0"
me.spisok.rowsource=s1
me.spisok.requery
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706618
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fewfewefe,

Это отношение многие-ко-многим.
Лечится только созданием дополнительной таблицы
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706642
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11,


естественно, но как быть если часть строк

--для всех
--для 1 или 2 или 2
--кроме 1-2-3
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706809
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАzeon11,


естественно, но как быть если часть строк

--для всех
--для 1 или 2 или 2
--кроме 1-2-3

Тогда вторая таблица делается иерархической, где во главу иерархии ставится элемент "ВСЕ", с кодом, например 1.
в предельном случае таблица связи отношения многие-ко-многим связывает справочник с элементом "ВСЕ". Попробую проиллюстрировать:
К элементу "все категории" привязан весь справочник.
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706811
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взрослые не получат полдник и спец.питание
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706813
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Матери тоже не получат полдник и спец.питание, так как для них не определён перечень приёмов пищи и они тогда попадают под раздачу в категорию взрослые.
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706815
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роженицы - же не получат только спец.питание, т.к. хотя они и относятся к категории "взрослые", для них определён набор.
...
Рейтинг: 0 / 0
запретить выбирать из справочника некоторые позиции
    #38706819
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё это как раз:
1. плоская таблица справочник
2. Иерархический справочник
3. Таблица связи М-М.
4. Пригоршня SQL-запросов
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / запретить выбирать из справочника некоторые позиции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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