Programación en castellano
Inicio > Foros > Oracle > pregunta sobre restricciones en oracle
-Foros de debate

Oracle
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

pregunta sobre restricciones en oracle
Enviado por bormoral el día 1 de julio de 2008

estaba intentando hacer una restriccion de clave foranea entre dos tablas, pero me he dado cuenta que no puedo plantearla como FK ya que el campo de partida no es clave primaria, ¿alguien me puede decir como controlar que estos dos campos tengas valores relacionados sin añadir una FK?

 
Re: pregunta sobre restricciones en oracle
Enviado por Oscar Hernández el día 1 de julio de 2008

Que Tal Bormoral,

Oracle Es un a base de datos Relacional , por lo que conceptualmente nunca podrás crear un Foreig Key sin Un Primary Key.

La solución tendría que ser Progrmáticamente, Pero en cada Unidad de Progrma necesitarías considerarlo y sería algo comlicado manejarlo.

Lo mejor es que cheques nuevamente tu modelo y trates de normalizar tus tablas para conseguir un modelo adecuado.

 
Re: Re: pregunta sobre restricciones en oracle
Enviado por bormoral el día 2 de julio de 2008

el modelo de datos esta normalizado, lo que pregunto es si seria necesario crear un trigger para controlar los valores del campo o seria suficiente con crear una contraint check para controlar que los valores de un campo estan dentro del subconjunto del otro.¿?

 
Re: Re: Re: pregunta sobre restricciones en oracle
Enviado por aludriel el día 2 de julio de 2008

Hola bormoral ...

La verdad es que es extraño el intentar crear una Fk sobre una columna de otra tabla (que se supone única) y que esta no sea Pk.... (al igual una alternativa es crear la Fk sobre la Pk de la tabla origen e ir a buscar el campo descriptivo que desees) ...

Lo que planteas... yo no plantearía hacerlo mediante una constraint de check debido a que como te inserten un nuevo registro en la tabla origen ,... adios al invento.

Hacerlo en el trigger tiene como mínimo una desventaja, vas a lanzar un error en caso que el valor no esté entre los que esperas encontrar

¿Podrías dar más información sobre estas 2 tablas y sus constraints?

 




Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | amor | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados