2015-08-18 2 views
0

У меня есть следующая таблицаКак хранить статистику в базе данных

Restaurant Type, Location, HowMany 
----------------------------------- 
Chinese, New York, 20 
Chinese, London, 40 
Indian, New York, 33 
Indian, Sydney, 55 

Число в СКОЛЬКО изменении столбца с течением времени, и новые строки также могут быть добавлены в таблицу.

То, что я пытаюсь достичь, - это некоторые статистические данные (например, ежемесячные или еженедельные), чтобы показать, как значения столбцов «HowMany» со временем менялись для конкретной комбинации типа/местоположения ресторана.

Я думал о том, чтобы делать снимок таблицы каждый месяц/неделю и собирать статистику таким образом, но я надеялся, что может быть лучшее решение .. любое решение, которое облегчит мне отображение данных в гистограмме.

Есть ли способ лучше хранить капли данных?

ответ

1

Я бы предложил создать историческую таблицу с меткой времени, которая ссылается на основную таблицу с помощью внешнего ключа. Создайте функцию, которая вставляет в историческую таблицу временную метку и старое значение каждый раз, когда изменяется основная таблица.

ID, RestaurantType, Location, HowMany 
--------------------------------------------------------------- 
1, Chinese, New York, 20 

Исторический будут выглядеть

ID, MainTableID, Value, DateChanged 
---------------------------------------------------------- 
1, 1, 18, 8/1/2015 
2, 1, 19, 8/5/2015 
+0

однако количество строк в исторической таблице будет висящим с течением времени? – GMan

+0

Это будет, таблица истории будет расти, но вы можете запросить, чтобы вывести все исторические и настоящие данные в соответствии с графикой. И вы будете хранить фактические прошлые записи для статистического анализа. – TheBrokenSpoke

+0

Я понимаю, что вы сейчас имеете в виду - спасибо, что поднял стол. – GMan

Смежные вопросы