¿Estructura de la base de datos para el manejo de múltiples cuentas (arquitectura de datos de múltiples inquilinos)?

1

Siempre es fácil escribir software que maneje una sola entidad. Sin embargo, el diseño de software para manejar múltiples cuentas / compañías requiere la debida diligencia.

Actualmente estoy haciendo una investigación inicial sobre esquemas de base de datos que manejan múltiples cuentas / compañías, y le pregunto si puede compartir una página web o un software de código abierto que demuestre el esquema adecuado.

Editar: Pude encontrar la terminología adecuada para esto, que es la arquitectura de datos de múltiples inquilinos. Un artículo útil de Microsoft que describe el enfoque: http://msdn.microsoft.com/en-us/library/aa479086.aspx

Gracias.

crockpotveggies
fuente

Respuestas:

2

Esto es solo un poco más complicado que una "entidad única". Asumamos el peor de los casos: varias empresas que tienen varias cuentas. Una mesa para las empresas. Una tabla para cuentas con una clave externa de la ID de la empresa. Luego, cada transacción tiene la clave externa de la ID de cuenta. Para todos los demás datos, debe decidir si pertenece a una Compañía, una Cuenta u otra. Es decir. los empleados solo pueden trabajar para una empresa (en general), por lo que el empleado tiene la ID de la empresa como clave externa. Una división estaría en una empresa, la misma relación.

Se trata de entender lo que pertenece a quién y establecer la relación. Eso puede parecer terriblemente simplista, pero en realidad eso es todo.

Mirar para usar algún esquema establecido puede ahorrarle mucho esfuerzo, pero ese esfuerzo es lo que asegura un buen resultado. Un buen diseño de base de datos proviene de hacer TODAS las preguntas: "¿Puede un empleado trabajar en más de una división?" "¿Las compras siempre se cargan a un departamento o se pueden distribuir el costo?" "¿Necesitamos realizar un seguimiento de más de una aprobación para la reinserción de un empleado?" Continúa para siempre, pero si no lo haces, tu sistema decepcionará constantemente a los usuarios y requerirá una modificación infinita.

Dave Becker
fuente
+1: "La gestión de muchos hombres es como la gestión de unos pocos hombres. Es solo una cuestión de organización".
surfasb
Parece sugerir el esfuerzo que Google invirtió en Google Apps. Recuerdo un gran cambio en la estructura del usuario, la estructura de la cuenta que vincula las cuentas, etc. Estoy de acuerdo, inspirando a profundizar.
crockpotveggies