2012-07-03 18 views
5

En SOA, me ha confundido cómo un servicio que trabaja con datos de diferentes bases de datos o incluso servicios diferentes puede tener integridad referencial para que se dupliquen datos mínimos entre bases de datos o servicios.Integridad referencial de datos entre servicios

Por ejemplo, tiene una tabla de usuario en algún tipo de base de datos de autenticación y desea reutilizar esta información de usuario en otra base de datos. También desea exigir que el registro de ese usuario exista en la base de datos de autenticación. Supongamos que desea asociar la cuenta de un usuario en la base de datos de autenticación con un artículo de noticias en otra base de datos. ¿Cómo se hace eso? ¿Cómo lo harías usando algo como LDAP?

Si la información de autenticación estaba contenida en la misma base de datos, solo una tabla diferente, entonces pude ver cómo podría usar claves externas para crear una asociación entre un artículo de noticias y la cuenta de usuario.

He estado tratando de buscar respuestas sobre esta preocupación, pero debo estar utilizando frases incorrectas porque no se me ocurre nada útil.

+1

La integridad referencial y la normalización de la base de datos no son lo mismo. Pero parece que estás usando esos términos indistintamente. – Yuck

Respuesta

1

Algunas plataformas permiten restricciones de clave externa entre bases de datos, y otras no. Si necesita integridad referencial entre bases de datos, necesita elegir una plataforma que la soporte. La normalización, un problema diferente, nunca dice "mover estas columnas a una base de datos diferente".

En una base de datos de múltiples usuarios, generalmente elegiría una arquitectura diferente. (Normalmente no pondría la autenticación para todos los usuarios en una base de datos y las cosas que están autenticadas para usar en otra).

Examinar las preguntas etiquetadas "multi-tenant"; ese podría ser un término que te ayudará. MSDN tiene una vista de pájaro bastante buena.

Cuestiones relacionadas