He estado trabajando en el diseño de la estructura de datos para una aplicación en la que estoy trabajando. Una de las cosas que deberá manejar es almacenar información de contacto/cliente. He estado estudiando la interfaz de algunos programas de información de contacto diferentes, como la libreta de direcciones, los contactos de gmail, etc.Creando una base de datos de contacto - Necesita un poco de inspiración de esquema
Básicamente, he reducido el contacto a una "entidad" (individuo, empresa, función, etc.).
- Cada Entidad puede tener múltiples Dirección, Teléfono, E-Mail entradas.
- Cada uno de ellos define una "relación" (casa/trabajo/asistente, etc)
- Entidad {1} - {relación} -> {0 .. *} datos
- Un Entidad puede tener múltiples campos que son el almacenamiento de datos de forma libre para otros datos "genéricos" (cumpleaños, AIM cuenta, etc.)
- Entidad {1} - {fieldName} -> {0 .. *} Campo de datos
- Un Entidad puede enlazar a otro Entidad por ejemplo como empleado , cónyuge
- Entidad {0} .. < - {relación} -> {0 ..} Entidad
Alguien ha hecho ningún implementaciones SQL de bases de datos de contacto similares? ¿Alguna idea/sugerencia/error para evitar que puedas compartir con alguien que intente trabajar en un proyecto por sí mismo aquí? ¿Lo que describí parece razonable o demasiado complicado?
Una pregunta, supongamos que tiene 4 personas que trabajan para la misma empresa. Todos tienen el mismo número de teléfono de "trabajo" (quizás con una extensión diferente): si cambia el número o la dirección de "trabajo", me gustaría poder actualizar los contactos con bastante facilidad. Ahora, gran parte de esto se reduce a cómo usarías la base de datos. Estoy pensando que esto se convierte en una cuestión de vincular empleados a sus respectivas entidades de la empresa, pero luego la dirección/número de teléfono ya no está conectado directamente con el empleado. Estoy debatiendo acerca de hacer la relación Entidad/datos de muchas a muchas, lo que le permite adjuntar la misma dirección postal/número de teléfono a varias personas, y actualizarla en un solo lugar puede actualizarla en todos los lugares. ¿Acabo de pensar esto? saca cabello
Gran seguimiento de recursos con el enlace –
Gracias por los enlaces, definitivamente algunos útiles aquí. El diseño en esa imagen se parece mucho a lo que comencé a pensar con la relación muchos/muchos 'Customer_Addresses' ... También estoy pensando que esto podría complicar demasiado el mantenimiento de actualizar/ingresar información. ES DECIR. ¿Cómo se selecciona la "misma dirección" como otro contacto frente a la duplicación de la dirección en la tabla. – gnarf
@gnarf: No he usado ni analizado este modelo, lo siento. Solo sé que el sitio – gbn