title: Is Id column required / recommended in fact table in the given scenario
body: <p>I am using a fact table with the following structure in SQL Server 2012:</p>
  
  <pre><code>CREATE TABLE [dbo].[factTable] (
      [Id]            BIGINT      IDENTITY (1, 1) NOT NULL,
      [Date]          DATE        NOT NULL,
      [MinuteNumber]  SMALLINT    NOT NULL,
      [CityId]        INT         NOT NULL, /* Foreign key to dimCity */
      [Value]         DECIMAL(12, 4)  NULL
  )
  </code></pre>
  
  <p>I have a clustered index on the <code>Date</code> column with a fill factor of 100. The data inserted into this table is almost always in the ascending order of <code>Date</code> and <code>MinuteNumber</code>.</p>
  
  <ol>
  <li><p>I want to know - if having the Id column is necessary in the given scenario? Does it have any performance implications? Or can I safely eliminate it.</p></li>
  <li><p>I also want to know if having clustered index on <code>Date</code> column is sufficient (there will be many records with the same date, even same date and same minute-number) or is it better to have a clustered index combining multiple columns; and what are the performance and storage implications for either approach?</p></li>
  </ol>
  
  <p>I am new to this and any help will be highly appreciated.</p>