Ir al contenido


Foto

Tabla Temporal, Vista o Dos tablas


  • Por favor identifícate para responder
13 respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 22 septiembre 2009 - 11:05

Hola a todos

Tengo una tabla llamada servicios y lo que deseo es que cuando alguien ingrese un registro nuevo, este deba ser valido por otra persona para ser grabado finalmente en la base de datos.  Esta validacion podria producirse un dia diferente a la que el registro fue entrado.

Mi preocupacion viene, porque no quiero que ese registro no validado, se pierda por alguna razon. Pero como la
Primary Key de la tabla servicios es autoincrementable, tampoco quiero que se me grabe un registro que no sea necesario.

Cual es la forma correcta de abordar esto.

Gracias por adelantado a todos









  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 22 septiembre 2009 - 11:10

Hola

Porque no generas una tabla donde la persona que valide el registro la vea y al autorizarla la envias a la tabla correspondiente.

Algo similar al sistema de reservas en los hoteles. :)

Salud OS
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 22 septiembre 2009 - 11:12

Me confundí bastante :$... No está un poco contradictorio lo que dices ?

....
Mi preocupacion viene, porque no quiero que ese registro no validado, se pierda por alguna razon. Pero como la
Primary Key de la tabla servicios es autoincrementable, tampoco quiero que se me grabe un registro que no sea necesario.
....


Con esto me parece que dices: no quiero eliminar un registro no validado pero tampoco quiero conservarlo  :|, ahí es donde ya no comprendí :(...

Ojalá pudieras aclararlo un poco mejor:

1. A que te refieres con un registro no necesario ?
2. Pensemos que se insertaron los registros 1,2 y 3... Supongamos que el 1 y el 3 se validaron correctamente... cuál es el tratamiento que deseas se le de al registro 2 ?

Saludox ! :D
  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 22 septiembre 2009 - 11:13

Hola
Yo haría una tabla nueva (validaciones pendientes), esta tabla seria la que la persona que valida revisaría.
El que genera el registro no lo guarda directamente, solo el validador usaria la tabla servicios, de esta manera nunca podra guardarse nada ya que la tabla no estara ligada al usuario, solo al validador.
Saludos
  • 0

#5 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 22 septiembre 2009 - 11:17

Gracias por sus respuestas

Egostar, segun lo que me dices debo crear dos tablas?

fenareth, el registro que no sea validado, puede ser eliminado.

La idea es simple, si alguien llama diciendo "mi sistema no funciona por tal razon" y cuando se llama a ese cliente, el problema se puede corregir por telefono o no hay tal problema, no hay necesidad de crear una orden de servicio sobre un problema no existente o ya resuelto. Ya que las ordenes de servicios son para realizar visitas fisicamente.




  • 0

#6 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 22 septiembre 2009 - 11:23

Gracias Caral por tu respuesta

Esa es la idea que tengo.
Lo que quiero es que se valla creando automaticamente el numero del servicio y que luego al validarlo se borre de ahi y me mantenga la secuencia de los servicios por validar, es decir:

1
2
3
Si borro el 2 que el tres pase a ser el dos y asi sucesivamente.

En la tabla de servicios validados, ya es otra cosa, porque ahi se generaria de manera automatica, pero nunca van a ser borrados, solo actualizados.

  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 22 septiembre 2009 - 11:28

La idea es simple, si alguien llama diciendo "mi sistema no funciona por tal razon" y cuando se llama a ese cliente, el problema se puede corregir por telefono o no hay tal problema, no hay necesidad de crear una orden de servicio sobre un problema no existente o ya resuelto. Ya que las ordenes de servicios son para realizar visitas fisicamente.


Pero entonces, donde queda el histórico de las actividades que se hacen, yo creo que debes de tener dos tablas, una donde se grabe todo aquello que se resuelve sin necesidad de una órden de servicio. Suele pasar que en una revisión del contrato de mantenimiento te dicen que no les has realizado ningún servicio, cosa que si borras (como pretendes) todo aquello que no requiere de una órden, no tienes manera de comprbarles nada, te lo digo por experiencia, muchas veces esa información NO contabilizada te sirve de arma para "negociar" un contrato de la mejor manera :)

En concreto, yo usaría dos tablas una con el histórico de los eventos y otra donde se generan las órdenes.

Salud OS
  • 0

#8 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 22 septiembre 2009 - 11:28

Hola
No es una mala idea pero tiene varios inconvenientes, digamos que:
1- si el que valida por X razon se equivoca.
2- se tiene no solo que borar el registro de la tabla validaciones si no que tambien se tienen que reorganizar, osea actualizar los registros restantes.
Yo lo que haria es hacer una consulta ascendente asi se sabla que numero es primero que otro, no creo que haga falta modificar esa tabla.
Saludos
  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 22 septiembre 2009 - 05:14

Creo que la idea de las dos tablas sera la mejor ya que no tengo que borrar nada de ninguna tabla, solo tengo que
trabajar con la tabla de servicios por validar para registrar todas las ordenes que llegan y otra con los servicios validados. Creo que tienes razon Egostar, ya que todas las llamadas en cierta forma son servicios que se brindan.

Voy a trabajar esa idea.

Gracias por su ayuda

PD. Caral no entiendo bien a que te refieres con la consulta, explicamelo para ver si agarro la idea


  • 0

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 22 septiembre 2009 - 07:34

Hola
Lo que digo es que se puede hacer una consulta que enumere los registros, de esa manera se veran en forma ascendente sin necesidad de modificar la tabla.
No se si me entiendas bien, recuerda que me cuesta entenderme a mi mismo. :D :D
Saludos
  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 23 septiembre 2009 - 07:14

Gracias caral por responder.

Entiendo mas o menos lo que me dices. Estaba dandole vueltas a la idea y realmente si no voy a borrar registros
entonces no necesito dos tablas, solo una con un campo que indique si el registro fue autorizado si esta pendiente o si es nulo o no autorizado y trabajar en los formularios con la consultas segun lo que quiero hacer.

La persona que autoriza los servicios, solo estaria viendo los que esten Pendientes.



  • 0

#12 Al González

Al González

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 99 mensajes

Escrito 23 septiembre 2009 - 07:45

¡Hola!

no necesito dos tablas, solo una con un campo que indique si el registro fue autorizado si esta pendiente o si es nulo o no autorizado y trabajar en los formularios con la consultas segun lo que quiero hacer.

La persona que autoriza los servicios, solo estaria viendo los que esten Pendientes.

Esa es para mi gusto la mejor opción.  Casi nunca tiene sentido manejar dos tablas de similar estructura, cuando todo puede controlarse por un campo "Estado".

Con respecto a:

Pero como la
Primary Key de la tabla servicios es autoincrementable

Está bien que sea autoincrementada, pero el valor y correlatividad de una llave primaria es por lo general irrelevante.  El único requisito para una llave primaria es que su valor sea único, no importando si es consecutivo o no.  Las llaves primarias son para darle un identificador único a cada registro, pero no con significado "semántico" para el usuario (las llaves primarias no se deben mostrar en pantalla ni imprimir, salvo en contadas ocasiones).  Ese es el sentido de un campo ID, darle unicidad de manejo a cada registro.

Si quieres que una tabla maneje un valor visual consecutivo, utiliza un campo "Numero" (o de cualquier otro nombre) específicamente para ello, además de la llave primaria ID.

Un saludo.

Al González. :)
  • 0

#13 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 23 septiembre 2009 - 08:18

Hola, había estado dandole vueltas al hilo y yo por dentro me decía que no era necesario tener una segunda tabla... que con tener un campo "flag" bastaría.

Pero con las respuestas de Eliseo me decía que tal vez en el fondo había algo que no estoy viendo.

Venía con la intención de exponer mi visión y me encuentro con que Al me ganó. Secundo a Al, no hace falta una segunda tabla sino un campo "estado".

Y si se quiere llevar una correlación numérica se añade un campo "Numero". Se puede hacer disparar un SP que recorra la tabla cambiando el valor del campo Numero por el correspondiente.

Saludos,

  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 23 septiembre 2009 - 07:14

Gracias Al Gonzalez y Delphius por sus respuestas, estare trabajando con esa idea.
  • 0




IP.Board spam blocked by CleanTalk.