stockage d'heures dans sqlserveur7.0

stockage d'heures dans sqlserveur7.0 - SQL/NoSQL - Programmation

Marsh Posté le 28-11-2003 à 15:23:52    

Bonjour,
Dans une base de données sql serveur7.0 avec asp3.0, je vais souvent utiliser des tranches horaires.
Ex: 9h00-12h00, 16h00-18h00, 16h30-18h00.
Ceci dans plusieurs tables comme événements, planning.
 
Sachant que l'accés sera par internet, Est il préférable de stocker dans ces deux tables quatres champs heures
ou bien deux champs tranche horaire qui pointeront sur une autre table contenant ces heures...
 
Les avantages/inconvénients?
 
Merci d'avance.

Reply

Marsh Posté le 28-11-2003 à 15:23:52   

Reply

Marsh Posté le 28-11-2003 à 16:22:09    

Je te conseille de faire 4 champs. Ca sert à rien de faire de multiples jointures pour pas grand chose.
 
Faire une table de référence n'a d'intérêt que si tu peux avoir plus de 2 tranches horraires par ligne.

Reply

Marsh Posté le 28-11-2003 à 18:02:34    

Oui, d'accord, moi aussi je penche sur cette solution...:D
 
Et concernant un planning de salariés géré à la demi journée ou plus.
Par exemple, un événement qui dure au minimum une demi journée ou bien une journée ou une semaine....
que pensez vous de ça:  
 
Journée:
 numéro auto
 numéro salarié
 demi journée seule (oui ou non) (pour faciliter une recherche..)
 jour début (une date)
 demi journée début (matin ou aprés midi)
 jour fin
 demi journée fin
 lieu ou se trouve le salarié
 activité faite par le salarié

Reply

Marsh Posté le 01-12-2003 à 14:14:43    

up

Reply

Marsh Posté le 09-12-2003 à 15:52:57    

En passant, si on veut stocker qu'une date ou qu'un heure sous sql server, on les stockes en varchar? respectivement (10) et (5) ?
car les formats ne sont que datetime ou smalldatetime et stocke les deux en meme temps... pas trés pratique...

Reply

Marsh Posté le 15-12-2003 à 10:10:02    

Sous sql server, on stocke les dates en entier? genre 20042512
et les heures en nombres à virgules? genre 15,30 pour 15h30
 
comme ça on peut faire des comparaisons non?

Reply

Marsh Posté le 15-12-2003 à 20:08:28    

:hienk:
 
pourquoi ne pas utiliser le format "datetime" ?
 
sinon, 20042512, c'est foireux. Si tu veus utiliser un tel format, utilise au moins le format ISO, c'est à dire une chaîne de caractères au format YYYYMMDD, ça te permet de récupérer facilement me mois en faisant un instr(laDate, 4, 2)
 
Deplus, si tu ordonnes ce champ par ordre alphabétique, il sera ordonné chronologiquement...
 
Mais franchement, si t'as pas des problèmes de portabilité (récupération des données depuis une autre base de données, extract/import vers des fichiers plats ou problème de format US/Internationnal, je vois pas l'intérêt d'utiliser ce format ISO... le type datetime validera automatiquement que c'est une date valide, et t'as les fonctions "month(), dateadd(), etc." pour bosser dessus, et quand tu dois ajouter 50 jours à une date, je peux te jurer que c'est super chiant quand t'as une date au format ISO... surtout si tu arrives vers le fin de l'année et qu'il faut tenir compte des années bisextilles.

Reply

Marsh Posté le 15-12-2003 à 22:35:02    

merci pour toutes tes réponses dans les différents topics

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed