Als je zegt dat de datums uniek zullen zijn, bedoel je dan dat je denkt zullen ze uniek zijn, of wordt hun uniciteit gegarandeerd door de probleemstelling? In mijn ervaring blijken sommige dingen een stuk minder uniek te zijn dan men denkt (Amerikaanse burgerservicenummers zijn een voorbeeld).
Als de datumwaarden niet gegarandeerd uniek zijn, moet u de integer-sleutel toevoegen.
Als de datumwaarden gegarandeerd uniek zijn, veranderen ze dan? Als ze veranderen, wordt er dan naar verwezen door andere tabellen? Als beide antwoorden "ja" zijn, moet u waarschijnlijk de integer-sleutel toevoegen.
Als de datumwaarden gegarandeerd uniek zijn en niet veranderen of er niet naar wordt verwezen, kunt u ze gebruiken voor de sleutel. Normale DATETIME's zijn 8 bytes en standaard INTEGER-waarden zijn 4 bytes, wat een klein effect kan hebben op de indexering. Als uw datumwaarden alleen datums zijn, of alleen tot op de minuut nauwkeurig of minder, en binnen het beperktere bereik dat door het type is toegestaan, kunt u SMALLDATETIME gebruiken en die indexwaarden terugbrengen tot 4 bytes.