¿Cómo garantizar la integridad de los datos en la base de datos?
1. Utilice restricciones en lugar de reglas comerciales para hacer cumplir la integridad de los datos.
Si maneja requisitos basados en reglas comerciales, entonces debe verificar la jerarquía comercial/UI: si las reglas comerciales cambian más adelante, solo necesita actualizarlas.
Si el requisito surge de la necesidad de mantener la integridad de los datos, entonces es necesario imponer restricciones a nivel de la base de datos.
Si utiliza restricciones en la capa de datos, debe asegurarse de que haya una manera de notificar a la interfaz de usuario en un idioma que el usuario pueda entender por qué la actualización no pasó la verificación de restricciones. A menos que los nombres de sus campos sean muy largos, los nombres de los campos en sí no son suficientes. —Lamont Adams
Siempre que sea posible, utilice un sistema de base de datos para lograr la integridad de los datos. Esto incluye no sólo la integridad lograda mediante la estandarización, sino también la funcionalidad de los datos. También puede agregar activadores al escribir datos para garantizar la exactitud de los datos. No depende de la capa empresarial para garantizar la integridad de los datos; no puede garantizar la integridad entre tablas (claves externas), por lo que no se puede imponer a otras reglas de integridad.
—Peter Rich
2. Sistemas de datos distribuidos
Para los sistemas distribuidos, la decisión es si replicar todos los datos en cada sitio o antes de conservar los datos. En un lugar, debes estimar cuántos datos tendrás dentro de cinco o diez años. Cuando envía datos a otros sitios, será mejor que establezca algunas etiquetas en los campos de la base de datos. Actualice sus etiquetas después de que el sitio de destino reciba sus datos. Para este tipo de transferencia de datos, escriba su propio lote o programador para que se ejecute en intervalos específicos en lugar de que los usuarios transfieran datos después de cada día de trabajo. Copie sus datos de mantenimiento localmente, como el cálculo de constantes y tasas de interés, y la configuración de números de versión para garantizar que los datos de cada sitio sean completamente consistentes.
—Suhail Technology Republic
3. Instrucciones obligatorias para la integridad
No existe una buena manera de eliminar los datos dañinos después de que ingresan a la base de datos, por lo que debes eliminarlos. antes de ingresar a la base de datos. Activa la característica de integridad indicada por el sistema de base de datos. Esto mantiene los datos ordenados y obliga a los desarrolladores a dedicar más tiempo a manejar las condiciones de error.
— kol
4. Relación
Si existe una relación de muchos a uno entre dos entidades, se puede convertir en una relación de muchos a uno. -relación de muchos, entonces será mejor que establezcas una relación de muchos a muchos desde el principio. Convertir una relación de muchos a uno existente en una relación de muchos a muchos es mucho más difícil que comenzar con una relación de muchos a muchos.
— CS Data Architect
Adoptar una perspectiva
Para proporcionar otra capa de abstracción entre la base de datos y el código de la aplicación, puede proporcionar Crear una vista especial sin necesidad la aplicación para acceder a la tabla de datos directamente. Hacerlo también le brinda más libertad a la hora de manejar cambios en la base de datos.
—Guy Howe
6. Plan de recuperación y retención de datos
Considere su estrategia de retención de datos e inclúyala en el proceso de diseño y diseñe su proceso de recuperación de datos. El uso de un diccionario de datos que pueda entregarse a los usuarios/desarrolladores puede facilitar la identificación de datos y garantizar la documentación de las fuentes de datos. Escriba una actualización en línea de la "consulta de actualización" para que, si se pierden datos más adelante, la actualización pueda reprocesarse.
— kol
7. Utilice procedimientos almacenados para dejar que el sistema haga el trabajo pesado
Después de resolver muchos problemas para producir una solución de base de datos con alta integridad, mi El equipo decidió encapsular algunos grupos funcionales de tablas relacionadas y proporcionar un conjunto de procedimientos almacenados regulares para acceder a cada grupo con el fin de acelerar y simplificar el desarrollo del código del cliente.
Durante este tiempo descubrimos que el codificador 3GL establece todas las condiciones de error posibles de la siguiente manera:
SELECT Cnt = COUNT (*)
Desde [<Table> ]
Donde [<Columna de clave principal>] = <Nuevo valor>
Si Cnt = 0
Inicio
Insertar en [<Tabla>]
([<Columna de clave principal>])
Valor(<NewValue>)
Fin
Otro
Inicio p>
& lt indica un error de repetición& gt
Fin
No El codificador 3GL hará esto:
Insertar en [<Table>]
([<Columna de clave principal>])
Concepto de valor
(& ltnuevo valor& gt)
IF @@ERROR = 2627 - Código de error literal para restricción de clave primaria
Inicio
<Indica un error duplicado>
Fin
El segundo programa es mucho más simple y, de hecho, hace uso de las funciones que asignamos a la base de datos. Aunque personalmente no me gusta usar texto en línea (2627). Pero esto se puede sustituir fácilmente con un poco de preprocesamiento. Una base de datos no es sólo un lugar para almacenar datos, sino también un lugar para simplificar la codificación.
—Smith
8. Uso de búsquedas
La mejor manera de controlar la integridad de los datos es limitar las opciones del usuario. Siempre que sea posible, los usuarios deben recibir una lista clara de valores para elegir. Esto reducirá errores y malentendidos al escribir código y proporcionará coherencia en los datos. Algunos datos públicos son especialmente adecuados para la búsqueda: códigos de país, códigos de estado, etc.