SQL Server 2005'te 2 alana gereksinim duyan yeni bir tablo oluşturuyorum: DateTime ve MyValue (Int32). DateTime alanı benzersiz olacak, böylece benzersiz bir kısıtlama ayarlayacağım.datetime alanında SQL Server birincil anahtarı
Hangi tablo yapısı daha iyidir ve neden?
MyIndex (PK, int)
MyDate (tarih saat) (IX_UniqueKey)
MyValue (int)
veya
MyDate (PK, tarih saat)
MyValue (int)
Benim hislerim bu tabloda yapay bir PK (MyIndex) istemiyorum çünkü gereksizdir ve tarihler benzersiz olacak çünkü herhangi bir kayda erişmek için onları kullanacağım. Bununla birlikte, yapay bir PK'ye sahip olmak daha ... ... daha iyi olabilir mi?
Şahsen MyDate, MyIndex, MyValue vb. Kullanmazdım. "My" öneki ne ekler?Neden EventDate veya EventDateTime ve [Value] veya EventValue değil? Ayrıca, tarih değerleri benzersiz olacaksa, çözünürlüğün saat veya gün olduğunu varsayacağım. Eğer öyleyse, DATETIME'den daha küçük SMALLDATETIME kullanarak daha iyi. –
@Aaron Bertrand, bunun sadece bir örnek olduğunu ve DATETIME saniyenin/milisaniyenin olabileceğini düşünüyorum. –
Doğru - bu, gerçek tablonun ne olacağının bir özetidir. – Guy