У меня есть ресурсы с такой иерархией:
Скажите, что я хочу разрешить скидки для людей на любом из этих уровней.
У меня есть таблица, которая выглядит так:
- Страна (Может быть * для всех или один идентификатор для одной страны)
- State (Может быть * для всех или один идентификатор для одного состояния)
- Город (может быть * для всех или один идентификатор для одного города)
- Дом (Может быть * для всех или один идентификатор для одного дома)
- Персона (Может быть * для всех или один идентификатор для одного человека)
- Скидка (может быть Да или Нет, чтобы разрешить / запретить скидку по вышеуказанным критериям)
Если в эту таблицу введено много правил, как мне проверить, предоставляется ли конкретному человеку скидка?
Существует ли стандартная практика для этого?
Примечания:
- Конкретный человек может проживать в нескольких домах, странах и т. Д., Поэтому в некоторых случаях ему может быть предоставлена скидка, а в других - нет.
- Каждый раз, когда мне нужно проверить, предоставляется ли человеку скидка, у меня есть все их данные, то есть все 5 критериев.
- Меня не волнуют прямые конфликты, т. Е. [, , , , 'Джон', Да] и [, , , , 'Джон', Нет], поскольку первые пять критериев должны быть уникальными в таблице.