none
smalldatetime vs int per Primary Key in SQL Server 2005 - tabella festività RRS feed

  • Domanda

  • Ciao a tutti,

    devo inserire in un DB SQL Server 2005 un tabella "festivita"

    prima possibilità:
    ID Int PK
    CustomerId nvarchar(10)
    HolidayDate Smalldatetime
    Description nvarchar(50)

    seconda possibilità:
    CustomerId nvarchar(10) PK
    HolidayDate Smalldatetime PK
    Description nvarchar(50)

    io sarei più orientato sulla seconda in quanto avrei un campo in meno e 'logicamente' mi appare migliore, anche se poi mi devo preoccupare di non inserire record duplicati, voi che ne pensate?

    lamarmora




    • Modificato lamarmora venerdì 27 dicembre 2013 21:50
    venerdì 27 dicembre 2013 15:08

Risposte

  • salve,

    personalmente anche io userei la data stessa come chiave primaria... non ho ben compreso il tuo pensiero relativamente alla possibilita' di duplicazione... per come l'hai descritta, anche se non ne capisco bene il motivo, ogni Cliente ha un proprio calendario, quindi non potresti avere duplicati teorici per lo stesso cliente...

    ripeto, non capisco pero' la necessita' di un calendario specifico per ogni cliente..

    un esempio interessante di Itzik Ben Gan, brillante matematico e genio SQL, lo trovi in http://technet.microsoft.com/en-us/library/aa175781(v=sql.80).aspx

    sempre suo l'articolo http://sqlmag.com/t-sql/datetime-calculations-part-5 , parte di una serie che ti consiglio vivamente di leggere...

    saluti


    http://www.hotelsole.com/asql/index.php - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/

    • Contrassegnato come risposta lamarmora lunedì 30 dicembre 2013 08:50
    sabato 28 dicembre 2013 18:05
    Moderatore

Tutte le risposte