Допустим, в супермаркете есть одна таблица со статистическими данными о доходах по рабочим дням.Во второй таблице они хотят опробовать различные варианты этих данных, например, меньше выручки от хлебобулочных изделий на 1 января, еще один выходной или праздничный день по воскресеньям.
Я не хочу дублировать полные данные о доходахгод или больше всего за несколько вариаций.Кроме того, должно быть легко показать разницу между базовой таблицей и одним альтернативным сценарием.
Чтобы сделать это немного более понятным, я создал демонстрационный пример на SQLFiddle.SUPERMARKET_DAYS
- таблица с базовыми данными о доходах.ALTERNATIVES
- это варианты / альтернативы или сценарии (как бы вы их ни называли), а ALTERNATIVE_DAYS
- это таблица, структура которой аналогична первой и содержит конкретные изменения.
Пример в SQLFiddle
SUPERMARKET_DAYS
(
ID,
DAY,
NUM_CUSTOMERS,
NUM_VISITORS,
REVENUE_BAKERY,
REVENUE_BEVERAGE,
REVENUE_CANNED,
REVENUE_DAIRY,
REVENUE_DRY,
REVENUE_FROZEN,
REVENUE_MEAT,
REVENUE_CLEAN,
REVENUE_PERSONAL_CARE,
REVENUE_PAPER,
REVENUE_OTHER
)
ALTERNATIVES
(
ID,
TITLE
)
ALTERNATIVE_DAYS
(
ID,
DAY,
NUM_CUSTOMERS,
NUM_VISITORS,
REVENUE_BAKERY,
REVENUE_BEVERAGE,
REVENUE_CANNED,
REVENUE_DAIRY,
REVENUE_DRY,
REVENUE_FROZEN,
REVENUE_MEAT,
REVENUE_CLEAN,
REVENUE_PERSONAL_CARE,
REVENUE_PAPER,
REVENUE_OTHER
)
Я даже не знаю, имеет ли смысл этот дизайн схемы, но он иллюстрирует проблему.
- Как бы вы хранили данные такого рода?
- Я думал о чем-то вроде таблицы версий, но это не решило мою проблему.
- Я мог бы объединить обе таблицы внутри моего Java-кода.
- Есть ли что-то вроде
MERGE
функциональности для представлений?
Я был бы очень признателен за любые идеи или правильное ключевое слово для моих собственных исследований.Эта проблема уже должна существовать, но я не нашел много решений для ее решения, поэтому, возможно, я не искал с правильными терминами.
Спасибо всем!