Preciso armazenar um grande número de datas , juntamente com um preço que corresponda a cada data . Estou considerando duas opções: uma é (a) armazenar uma linha para cada par de data e preço ; o outro é (b) armazenar uma linha com intervalo de datas e preço . Por exemplo:
Opção A. Uma tabela que armazena datas individuais
CREATE TABLE Foo
(
ID INT,
Date SMALLDATETIME,
Price DECIMAL
);
Opção b . Uma tabela que armazena intervalos de datas
CREATE TABLE Bar
(
ID INT,
RangeStart SMALLDATETIME,
RangeEnd SMALLDATETIME,
Price DECIMAL
);
A opção (b) é realmente uma boa ideia? A principal razão para isso é diminuir o número de linhas INSERTed. Nesse caso, se um preço for o mesmo durante um ano eu teria, por exemplo:
ID RangeStart RangeEnd Price
-- ---------- ---------- -----
1 2017-01-01 2017-12-31 100
ao invés de
ID RangeStart Price
--- ---------- -----
1 2017-01-01 100
2 2017-01-02 100
...........................
365 2017-12-31 100
Existe realmente uma necessidade disso, já que haveria uma sobrecarga adicional de conversão de intervalos de datas em datas quando usado em uma camada de negócios do programa aplicativo?