Cómo implementar la integridad referencial
Pregunta 1: ¿Qué es "implementar la integridad referencial"? La implementación de la integridad referencial se utiliza generalmente al crear asociaciones de tablas de claves externas.
Permítanme ilustrarlo con un ejemplo.
Por ejemplo, hay 2 tablas. Una tabla de clase, una tabla de estudiantes
Tabla de clases (número de clase, nombre de clase, otros campos de la clase...)
Tabla de estudiantes (número de estudiante, número de clase, nombre de estudiante , Otros campos para estudiantes...)
Al crear una asociación entre la tabla de clase y la tabla de estudiantes, es decir, el "número de clase" de la tabla de estudiantes se asocia con el "número de clase del hogar" de la tabla de clases.
Implementar integridad referencial significa que cuando inserta datos en la tabla de estudiantes, si ingresa un número de clase que no existe en la tabla de clases, la base de datos informará un error y no lo hará. te permite hacer esto Hazlo
Es decir, si la tabla de clases tiene tres clases, 1, 2 y 3***, e insertas un estudiante Zhang San, él está en la clase 5.
Luego, la base de datos informa un error directamente
Este es el efecto de implementar la integridad referencial
El propósito es evitar generar datos basura en la base de datos.
Si un desarrollador de software olvida accidentalmente verificar la validez de ciertos datos al escribir un programa, el nivel más bajo de la base de datos aún puede realizar una verificación final.
Pregunta 2: Entre. Tablas de ACCESS. Relación de uno a muchos; y qué operaciones se requieren para implementar la integridad referencial. Abra Herramientas\Relación, arrastre la tabla relevante hacia arriba y procésela.
Pregunta 3: Cómo establecer la integridad referencial. entre tablas. ¿Es SQL? SQL es un lenguaje utilizado específicamente para crear bases de datos. Es similar al lenguaje C (por supuesto, la función no se limita al procesamiento de datos, pero se puede programar... No entraré en detalles. detalles aquí). Use ACCESS para esta pregunta. Está hecho
1 Primero use Access 2000 (base de datos) para crear una base de datos, abra el diseñador, cree una tabla, haga clic en el menú y guárdela como nombre de clase +. la abreviatura en inglés de su propio nombre y finalmente haga clic en guardar (el sistema aparecerá.) Solución a la primera pregunta
2. Abra la tabla creada arriba en el diseñador y haga clic a continuación. p>
El nombre de la tabla de datos se crea cuando se completa. No se preocupe por ahora. Al ingresar sID, sName, sSex, sAge, sClass, preste atención a completar los campos y tipos de datos de acuerdo. a los siguientes requisitos.
Antes de hacer otras preguntas, configure el campo sID de la tabla T_Student como la columna de identificación, y la semilla es 1. El incremento es 2.
Establezca el valor predeterminado para el campo sSex (sexo) de la tabla T_Student en "masculino"
Establezca la restricción de verificación para el campo sAge (edad) de la tabla T_Student La edad especificada es entre 0 y 30 años. .
Establezca restricciones únicas para el campo cName (nombre del curso) de la tabla T_KC. , estipula que los nombres de los cursos no se pueden repetir.
Genere una regla t_rule para limitar el rango de valores de los datos a (0---100) y luego vincule esta regla al campo cj (puntuación) de la tabla T_CJ.
Crea un índice para el campo cName de la tabla T_KC.
T_KC(cID,cName,sBianhao,sXuefen)
T_CJ(sID,cID,cj) Tenga en cuenta que la clave principal es SID
3. Prepare tres tablas Luego salga del diseñador
Abra las tablas una por una e ingrese según sea necesario (agregue de 3 a 5 registros en cada tabla).
)
Está bien, básicamente está hecho
Por supuesto, estos problemas también se pueden completar usando SQL y es más rápido, pero es difícil de explicar claramente cuando se trata de programación en lenguaje TQL. , así que no los explicaré uno por uno
p>
Pregunta 4: Implementar integridad referencial en el acceso ¡Resuélvelo! ! Cuando conectamos dos tablas, estas dos tablas definitivamente están relacionadas. Puede ser una relación de uno a uno; si es una relación de muchos a muchos, esto no está permitido (lo que indica que hay un problema con la tabla y su configuración de relaciones; la mayoría son relaciones de uno a muchos); Cuando se establece una relación de uno a muchos Cuando se trata de relaciones, el motor de la base de datos establece naturalmente el principio de integridad, que puede garantizar que la relación y los datos entre las dos tablas se mantengan correctamente. registros incompletos aparezcan en "múltiples extremos".
Requisitos de la regla de integridad de referencia: 1. No está permitido ingresar un valor en el campo "multi-end" que no exista para la clave primaria "one-end" 2. Si un registro tiene; registros relacionados que existen en la tabla de relaciones, entonces el motor de base de datos no permite la eliminación de este registro de "un extremo" (a menos que se seleccione la eliminación en cascada de campos relacionados, lo que eliminará registros de "un extremo" y "múltiples extremos" en al mismo tiempo, asegurando así la integridad de los datos), porque si se permite, ocurrirá la primera situación. 3. Si un determinado registro tiene registros relacionados en la tabla relacional, el motor de base de datos no permite que se cambie el valor de la clave principal de "un extremo" (a menos que se seleccione la actualización en cascada de campos relacionados, que actualizará ambos "uno final" y "múltiples extremos" al mismo tiempo. valor de clave principal, asegurando así la integridad de los datos), porque si se permite, la primera situación volverá a ocurrir.
Ahora, volvamos a tu pregunta.
1. Si sus dos tablas no tienen datos, definitivamente es posible establecer la relación anterior y puede "implementar la integridad referencial". Luego ingrese el "número de libro" en la "Tarjeta de biblioteca". table ", la base de datos limitará el "número de libro" para que sea el número de libro que existe en la tabla de "libro". Esto es para garantizar la integridad de los datos.
2. Estoy seguro de que sus dos tablas tienen datos primero, y luego desea establecer una relación e implementar la integridad referencial, y hay al menos uno o más "" en la tabla "tarjeta de biblioteca". "Número de libro" no tiene un registro correspondiente en la tabla "Libro". Si establece por la fuerza la integridad referencial en este momento, violará los requisitos de integridad referencial (no está permitido ingresar un primario de "un extremo"). clave en el campo "multi-end", en otras palabras, su multi-end (la tabla de tarjetas de la biblioteca) tiene registros que no están en un extremo (la tabla de libros) no permite que esto suceda. para que aparezca el contenido del cuadro de aviso.
3. Existen tres métodos de mejora y se recomiendan los dos primeros. ①. Eliminar el registro en la tabla "Tarjeta de biblioteca" que no tiene un "número de libro" relevante en la tabla "Libro" y luego establecer la relación y la integridad referencial en el "Libro". tabla para garantizar que la tabla "Tarjeta de préstamo" Todos los números de libro en la tabla "Certificado de libro" existan en "Libro", y luego establezca la relación y la integridad referencial ③ como dice el cuadro de mensaje "desactive la casilla de verificación de integridad referencial"; , esto puede establecer la relación, pero no se puede implementar la integridad referencial. Esto no se recomienda porque no implementar la integridad referencial dará como resultado datos incompletos, lo que causará grandes problemas en el futuro.
4. La relación entre la tabla "tarjeta de biblioteca" y la tabla "lector" también debe manejarse como se indicó anteriormente.
Pregunta 5: ¿Qué debo hacer si no se puede implementar la integridad referencial en el acceso? 5 puntos La integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar la validez de las relaciones entre registros en tablas relacionadas, y lo hace. Los datos no relacionados pueden eliminarse o modificarse accidentalmente.
Siga estas reglas cuando utilice la integridad referencial:
No puede ingresar un valor en un campo de clave externa de una tabla relacionada que no exista en la clave principal de la tabla principal.
Este registro no se puede eliminar de la tabla principal si existe un registro coincidente en la tabla relacionada. Por ejemplo, si hay un pedido asignado a un empleado en la tabla Pedidos, no puede eliminar el registro del empleado en la tabla Empleados.
No se puede cambiar el valor de la clave principal en la tabla principal si un registro tiene registros relacionados. Por ejemplo, si hay un pedido asignado a un empleado en la tabla Pedidos, el ID de empleado del empleado no se puede cambiar en la tabla Empleados.
Su situación actual parece ser que hay un problema con el número de estudiante en la tabla de expedientes académicos. Verifique si no está en la clave principal de la tabla principal.
Pregunta 6: Access2010, ¿cómo implementar la integridad referencial? Es mejor ilustrar dónde están los botones con una imagen Herramientas de base de datos --->Relación----> Seleccione la tabla en "Mostrar". Tabla" y haga clic con el mouse en Arrastre el campo relacionado de una tabla a otro campo relacionado y aparecerá el cuadro de diálogo "Editar relación". Seleccione "Implementar integridad referencial"
Pregunta 7: ¿Por qué no se puede implementar la integridad referencial de acceso? El mensaje es muy claro, porque los datos existentes en su tabla no se ajustan a su relación de referencia.
Primero complete los datos incompletos en la tabla y luego consúltelos.
O consulte la tabla vacía y luego escriba los datos en este momento. está incompleto, aparecerá un mensaje No se puede guardar.
¡Te deseo éxito!
Pregunta 8: En la relación de edición de Access, no se puede implementar la integridad referencial. ¿Qué está pasando? Los datos son inconsistentes. Los datos de las dos tablas deben ser consistentes y los datos de la subtabla deben seleccionarse de la tabla principal.
Pregunta 9: ¿Qué significa integridad referencial en la relación entre tablas de acceso cuando todas las tablas? Si se cumplen las siguientes condiciones, se puede establecer la integridad referencial: El campo coincidente de la tabla principal es una clave principal o tiene un índice único. Todos los campos relacionados tienen el mismo tipo de datos. Pero hay dos excepciones: un campo "Autonumérico" puede estar relacionado con un campo "Número" cuya propiedad "Tamaño de campo" está establecida en "Largo" y un campo "Autonumérico" cuya propiedad "Tamaño de campo" está establecida en "Sincronizar"; Los campos "ID de replicación" se pueden relacionar con un campo numérico con la propiedad Tamaño de campo establecida en ID de replicación. Ambas tablas pertenecen a la misma base de datos de Microsoft Access. Si las tablas son tablas vinculadas, deben estar en formato Microsoft Access y la base de datos que almacena la tabla debe estar abierta para establecer la integridad referencial. La integridad referencial no se puede imponer en tablas vinculadas en otros formatos de la base de datos. Siga estas reglas cuando utilice la integridad referencial: No puede ingresar un valor en un campo de clave externa de una tabla relacionada que no exista en la clave principal de la tabla principal. Sin embargo, puede ingresar un valor nulo en la clave externa para especificar que no existe ninguna relación entre estos registros. Por ejemplo, no puede asignar un pedido a un cliente que no existe, pero puede asignar un pedido a ningún cliente ingresando un valor nulo en el campo ID de cliente. Si existe un registro coincidente en la tabla relacionada, el registro no se puede eliminar de la tabla principal. Por ejemplo, si hay un pedido asignado a un empleado en la tabla Pedidos, no puede eliminar el registro del empleado en la tabla Empleados. Si un registro tiene registros relacionados, el valor de la clave principal no se puede cambiar en la tabla principal.