No puedo crear relación con integridad referencial.

Aqui encontras... preguntas y respuestas al tan utilizado MS Access como Trucos, y muchos consejos con su aplicatividad.

No puedo crear relación con integridad referencial.

Notapor atp » Dom Oct 12, 2008 10:36 am

Hola a todos, me ha surgido un problema, que es el siguiente:

Yo tengo una tabla de conceptos con los siguientes campos:
clausula,bloque indbloque,nombre,indice,identificador,idioma (todos estos campos son clave primaria), indselect y optativo.

Otra tabla es textos, con los campos:
clausula,bloque,indbloque,concepto,indconcepto,identificador,idioma,num,indice(todos estos campos son clave primaria), contenido,cen,neg,cur,sub.

El problema es que no puedo crear una relacion y exigir integridad referencial entre estas dos tablas. Todos los campos de la clave primaria de la tabla conceptos deben estar relacionados con los correspondientes campos de la tabla textos, pero me sale el error:

"No se encontró ningún índice único para el campo al que se hace referencia en la tabla principal. (Error 3609)"

Pero se sopone que no deberia ocurrir ese error porque en la tabla concepto ya está la clave primaria que es un índice en sí mismo.

Adjunto el archivo access con la tabla en cuestión por si alguien sele ocurre como solucionar el problema.

Saludos y gracias de antemano.
Adjuntos
BBDD.rar
(17.13 KiB) 224 veces
atp
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 133
Registrado: Mar Ene 03, 2006 3:52 pm


Re: No puedo crear relación con integridad referencial.

Notapor ivancp » Lun Oct 13, 2008 10:48 am

Estimado Atp.
Antes de solucional tu problema debes re-modelar tu base de datos, por que no entiendo por que tienes relacionado cada campo de una tabla con otra, de tal forma que todas la relaciones parecen enredadas en una telaraña dificil de entender.

Una recomendación (muy fuerte) en base de datos es que las relaciones entre tablas sean a traves de un solo campo y en casos especiales de 2 o mas. pero las relaciones que veo entre tus tablas es mas de lo que he visto en cualquier parte.

Segun la imagen adjunta:

la tabla textos debería tener una clave única (clave principal, primary key , etc )que podría llamarse idtexto de tipo autonumerico y en la tabla textos seleccionados debería haber un campo similar con el mismo nombre idtexto de tipo entero pero no clave principal. Con es basta.

Podrías decirnos por que tienen hay tantas relaciones entre las tablas? de tal forma que podamos llegar a una solucion
Adjuntos
relacion_imposible.jpg
Ejemplo de lo que no se debe hacer
Por favor lee las reglas del foro | Puedes también leer mi blog | english blog | o seguirme en twitter: @latindev
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 678
Registrado: Jue Sep 06, 2007 12:58 pm


Re: No puedo crear relación con integridad referencial.

Notapor atp » Lun Oct 13, 2008 10:54 am

OK, muchas gracias de nuevo.

Saludos,
Atp.
atp
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 133
Registrado: Mar Ene 03, 2006 3:52 pm

Re: No puedo crear relación con integridad referencial.

Notapor ivancp » Lun Oct 13, 2008 1:20 pm

Atp,

revisa detenidamente la siguiente pagina, contiene nociones para que puedas modelar tu base de datos correctamente. si hay alguna duda al respecto ya sabes que puedes consultar.

http://es.wikipedia.org/wiki/Primera_forma_normal
Por favor lee las reglas del foro | Puedes también leer mi blog | english blog | o seguirme en twitter: @latindev
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 678
Registrado: Jue Sep 06, 2007 12:58 pm


    

Volver a Microsoft Access Database

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados