SQL Server - Tipos de datos para guardar una hora en sql

 
Vista:
Imágen de perfil de Maria Luisa Cureño

Tipos de datos para guardar una hora en sql

Publicado por Maria Luisa Cureño (6 intervenciones) el 05/02/2015 17:07:14
Hola estoy haciendo un reloj checador en sql server 2008 y visual basic 2010 el cual también es para las personas que hagan sus practicas y que les muestre cuantas horas llevan, cuantas horas les faltan conforme vallan checando. alguna idea o consejo? y que tipo de dato debo usar en sql?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Tipos de datos para guardar una hora en sql

Publicado por Isaias (4558 intervenciones) el 05/02/2015 18:07:22
Siempre utiliza un tipo FECHA, porque si utilizas un tipo TIME, entonces necesitaras del AÑO, MES, DIA y volvemos a lo mismo

En otra posta, te pregunte sobre tu MODELO DE DATOS (Entidad - Relación), ¿Qué llevas al respecto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maria Luisa Cureño

Tipos de datos para guardar una hora en sql

Publicado por Maria Luisa Cureño (6 intervenciones) el 05/02/2015 19:35:03
create table Empleados
(
Id int primary key not null,
Nombre varchar (50) not null,
Agencia varchar (20) not null,
Area varchar (25) not null,
Puesto varchar (20) not null,
Turno varchar (15) not null,
Horas_Trabajador time (7) not null,
Hora_Entrada smalldatetime not null,
Hora_Salida smalldatetime not null,
Hora_Entrada_Comida smalldatetime not null,
Hora_Salida_Comida smalldatetime not null,
Horas_Extra smalldatetime not null,
)

create table Practicantes
(
Id int primary key not null,
Nombre varchar (50) not null,
Area varchar (50) not null,
Total_Horas smalldatetime not null,
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Tipos de datos para guardar una hora en sql

Publicado por Isaias (4558 intervenciones) el 06/02/2015 18:06:13
Veamos

Si todos tus registros de ENTRADA-SALIDA, serán solamente por aquellos PRACTICANTES registrados, yo quitaría aquellos que les antepongo un asterisco

Id int primary key not null, (esta NO puede ser PK, ya que no podrías registras mas de una entrada por practicante)
idRegistro int primary key identity
* Nombre varchar (50) not null,
* Agencia varchar (20) not null,
* Area varchar (25) not null,
* Puesto varchar (20) not null,
* Turno varchar (15) not null,
* Horas_Trabajador time (7) not null,
Hora_Entrada smalldatetime not null,
Hora_Salida smalldatetime not null,
Hora_Entrada_Comida smalldatetime not null,
Hora_Salida_Comida smalldatetime not null,
* Horas_Extra smalldatetime not null,

Creo que los campos con (*), no pertenecen a la tabla donde guardaras las entradas y salidas.

Ahora bien, por otro lado, creo que debería haber solamente una IDRegistro, que es el identificador del registro y el ID de practicante, pero como FOREING KEY.

Yo guardaría solo la fecha-hora, como registro, ya sabemos que la primera, es ENTRADA, la siguiente es SALIDA, la siguiente ENTRADA y la ultima SALIDA.

¿Quieres saber cuanto trabajo?

Fácil, tomas la primera y la ultima y obtienes mediante un DATEDIFF las horas.

¿Qué tiene muchos registros intermedios?

Entonces es un PRACTICATE digno de investigación, ya que sale y entra en MUCHAS OCASIONES.

------------ Hasta aquí, ¿todo bien?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar