Problemas con la integridad referencial (acceso 2007).

Problemas con la integridad referencial (acceso 2007).

Solicito amablemente la ayuda de un especialista, probablemente un diseñador o administrador de bases de datos.

Me he encontrado con este problema al establecer una integridad referencial para dos tablas. Configurar la integridad referencial no es el problema, pero el desafío que tengo es que cuando termine de configurar esta integridad de referencia, no permite valores nulos en la otra tabla. lo que implica que ambas tablas deberían contener probablemente el mismo no. de filas que harán que ambas tablas correspondan

Este es un ejemplo de exactamente lo que quiero hacer:

  • Estoy creando tablas, una llamada "Stock" que está destinada a almacenar productos o accesorios que están disponibles en la tienda y otra tabla llamada "Customer_Details"
  • Quiero establecer un campo en ambos campos (es decir, un campo llamado "disponibilidad") que será del tipo de datos Sí/No; este campo debe estar presente en ambos campos.
  • Cada vez que un cliente compra un accesorio en particular que se elige de la tabla "Stock", cambiará automáticamente el valor del campo "disponibilidad" en el stock.

Todo lo que sé y he estado intentando hacer es establecer la integridad referencial en la ventana de relación, pero desafortunadamente, esto no está funcionando.

Por favor busco a alguien que pueda explicarme cómo hacer esto, ya que soy nuevo en el acceso a 2007.

Respuesta1

"El desafío que tengo es que cuando termino de configurar esta integridad referencial, no permite valores nulos en la otra tabla".

NulSe permiten valores, pero existen restricciones:

Sin embargo, puede ingresar un valor nulo en la clave externa. Esto especifica que los registros no están relacionados. Por ejemplo, no se puede tener un pedido asignado a un cliente que no existe. Sin embargo, puede tener un pedido que no esté asignado a nadie ingresando un valor nulo en el campo CustomerID.


FuenteCómo definir relaciones entre tablas en una base de datos de Access

Integridad referencial

La integridad referencial es un sistema de reglas que Access utiliza para garantizar que las relaciones entre registros en tablas relacionadas sean válidas y que no se eliminen ni cambien accidentalmente los datos relacionados. Puede establecer la integridad referencial cuando se cumplan todas las condiciones siguientes:

  • El campo coincidente de la tabla principal es una clave principal o tiene un índice único.
  • Los campos relacionados tienen el mismo tipo de datos. Hay dos excepciones. Un campo Autonumérico se puede relacionar con un campo Número que tiene una configuración de propiedad Tamaño de campo de Entero largo, y un campo Autonumérico que tiene una configuración de propiedad Tamaño de campo de ID de replicación se puede relacionar con un campo Numérico que tiene una configuración de propiedad Tamaño de campo de ID de replicación.
  • Ambas tablas pertenecen a la misma base de datos de Access. Si las tablas son tablas vinculadas, deben ser tablas en formato Access y debe abrir la base de datos en la que están almacenadas para establecer la integridad referencial. La integridad referencial no se puede aplicar a tablas vinculadas desde bases de datos en otros formatos.

Se aplican las siguientes reglas cuando utiliza la integridad referencial:

  • No puede ingresar un valor en el campo de clave externa de la tabla relacionada que no exista en la clave principal de la tabla principal. Sin embargo, puede ingresar un valor nulo en la clave externa. Esto especifica que los registros no están relacionados. Por ejemplo, no se puede tener un pedido asignado a un cliente que no existe. Sin embargo, puede tener un pedido que no esté asignado a nadie ingresando un valor nulo en el campo CustomerID.
  • No puede eliminar un registro de una tabla principal si existen registros coincidentes en una tabla relacionada. Por ejemplo, no puede eliminar un registro de empleado de la tabla "Empleados" si hay pedidos asignados al empleado en la tabla "Pedidos".
  • No puede cambiar un valor de clave principal en la tabla principal si ese registro tiene registros relacionados. Por ejemplo, no puede cambiar la identificación de un empleado en la tabla "Empleados" si hay pedidos asignados a ese empleado en la tabla "Pedidos".

información relacionada