j'ai tout à fait quelques situations où j'ai des structures de base de données similaires à:Stocker les dates dépendantes dans SQL
TABLE Event (INT EventID PrimaryKey, Début DATETIME, Terminer DATETIME); et TABLE EventTask (EventTaskID INT PrimaryKey, EventID INT ForeignKey, TaskStart DATETIME, TaskFinish DATETIME)
1 à plusieurs entre événements et EventTasks, etc.
Lorsque les dates de la table d'événements sont modifiés, le EventTask les dates doivent être changées aussi - pas difficile avec les fonctions de date fournies, mais la manipulation de la date est toujours un peu difficile. Je me demandais s'il ne vaudrait pas mieux remplacer TaskStart DATETIME et TaskFinish DATETIME par deux INTS: un pour Event.Start offset (mins different pour Event.Start) et un Duration.
Cette mise à jour des dates de mise à jour devient beaucoup plus robuste, car une seule ligne nécessite une mise à jour.
(Je stipule que cela ne vaut que lorsque les dates de EventTask sont tout à fait en fonction des dates de l'événement)
Bon point pour interroger les temps EventTask Jon. Le design 'original' aurait besoin d'une vue pour le recréer quand même; Je me demande si vous pourriez appliquer un index à cette vue (selon SQLS2008)? – realcals
@realcals: Eventuellement. Je n'ai aucune idée de son efficacité. Les ingénieurs de base de données sont des gens terriblement intelligents parfois :) Quoi qu'il en soit, quelque chose à tester avant d'aller trop loin, je dirais. –