Autor Tema: Herencia Oracle  (Leído 5237 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sofi_mq

  • The newbie
  • *
  • Mensajes: 6
Herencia Oracle
« : mayo 31, 2014, 12:48:54 am »
Que tal, estoy construyendo una aplicacion ejn ava utilizando jsf, primefaces e hibernate, el caso es que solo me dieron el script de la base y el esquema, el cual contiene un tabla con herencia y especialización, mi pregunta es de que forma se ingresa en este tipo de tablas es decir en la tabla padre e hijo, me dicen que se maneja igual que las relaciones, pero tengo duda con eso, muchas gracias!

Desconectado timon02

  • Sv Member
  • ***
  • Mensajes: 130
Re:Herencia Oracle
« Respuesta #1 : mayo 31, 2014, 08:58:59 am »
en que tienes duda exactamente en la persistencia desde java, o en la forma que se realizan los insert a nivel de oracle.

Podrias colocar un ejemplo de como tienes las tablas.

saludos

Desconectado sofi_mq

  • The newbie
  • *
  • Mensajes: 6
Re:Herencia Oracle
« Respuesta #2 : mayo 31, 2014, 10:44:35 am »
en que tienes duda exactamente en la persistencia desde java, o en la forma que se realizan los insert a nivel de oracle.

Podrias colocar un ejemplo de como tienes las tablas.

saludos

Ok muchas gracias por el interes, veras tengo una tabla llamada trabjador, esta tabla utiliza lo que es la especializacion es decir de acuerdo al tipo de trabajador puede ser trabajadorTemporal, trabajadorFijo, trabajadorHoras estas tres son tablas diferentes que heredan los atributos de la tabla trabajador y que tienen sus propios atributos, en la bd yo necesito ingresar en la tabla trabajador y luego volver a ingresar ese mismo registro en la tabla trabajadorTemporal por ejemplo, mi duda es esa si es la manera correcta o habrá alguna forma de ingresar en la tabla hija y ese registro se copie automaticamente en la tabla trabajador que es la tabla padre.

Desconectado timon02

  • Sv Member
  • ***
  • Mensajes: 130
Re:Herencia Oracle
« Respuesta #3 : junio 02, 2014, 11:53:34 am »
Si te entendi bien(si no me corriges) tu estructura es como el de la imagen.
en ese caso el manejo del insert es normal, primero maestro --> luego detalle(usando el PK, si este se genera por secuencia lo tendrias que obtener primero).

INSERT INTO TRABAJADOR (ID_TRABAJADOR,NOMBRE,TIPO) VALUES (1,'JUAN PEREZ','T');
INSERT INTO trabajadorTemporal (ID_TRABAJADOR,XXXX,XXX) VALUES (1,YYYYY,YY);

lo unico podria ser que segun la bandera del tipo replicar los datos por medio de trigger aunque alli depende del analisis de como funcionara el sistema entre otras consideraciones.

si tienes dudas o problemas a la hora de persistir seria de verlas puntualmente.

saludos  :drinks:

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re:Herencia Oracle
« Respuesta #4 : junio 02, 2014, 01:21:52 pm »
juela.... si ese es el diseño que raro esa forma de trabajar.... para que quiere tener tantas tablas según un catálogo de valores... no le veo razón a parte de eso no lo considero correcto tampoco.... pero =

a parte de eso... la herencia, no es más que la definición de la tabla.... y alguno que otro tweak a la hora de las consultas... pero, pero, pero... la inserción de los datos en las tablas "hijo" no son por arte de magia.... tendrás que escribir código para los datos se repliquen a las tablitas que queras
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado timon02

  • Sv Member
  • ***
  • Mensajes: 130
Re:Herencia Oracle
« Respuesta #5 : junio 02, 2014, 02:06:25 pm »
juela.... si ese es el diseño que raro esa forma de trabajar.... para que quiere tener tantas tablas según un catálogo de valores... no le veo razón a parte de eso no lo considero correcto tampoco.... pero =

a parte de eso... la herencia, no es más que la definición de la tabla.... y alguno que otro tweak a la hora de las consultas... pero, pero, pero... la inserción de los datos en las tablas "hijo" no son por arte de magia.... tendrás que escribir código para los datos se repliquen a las tablitas que queras

si el diseño es un poco "especial" pero eso fue lo que le entendi.
Si es algo diferente que muestre el ER, pero la respues sigue siendo la misma es un insert comun y salvaje.

Desconectado sofi_mq

  • The newbie
  • *
  • Mensajes: 6
Re:Herencia Oracle
« Respuesta #6 : junio 05, 2014, 07:27:01 pm »
si el diseño es un poco "especial" pero eso fue lo que le entendi.
Si es algo diferente que muestre el ER, pero la respues sigue siendo la misma es un insert comun y salvaje.

si exacto esa es la forma del diseño y si la verdad es un poco rustico, yo tambien habia pensado hacer un trigger que insertara automaticamente en las tabla padre y en la tabla respectiva, pero el problema es que la tabla padre no contiene un atributo que me permita diferenciar en que categoria se ingresara, asi  que si me ha tocado hacer algo como tu dice un insert comun y salvaje :p. Y si el dieños no es mio si no que de unos compañeros a los que les estoy ayudando y también les dije que a cerca de eso pero como es un proyecto universitario los obligaron a utilizar la herencia de esa forma. Muchas gracias a los dos fueron de ayuda  :)