Cita:
Iniciado por DandyCC Sí, jejeje, soy desarrollador, no diseñador, de ahí mis problemas con esto
Una entidad es cualquier cosa (cualquier "ente") que en la aplicación puede mandar mensajes. Un ejemplo parecido sería twitter o facebook, donde quien publica es un usuario, pero puede estar representando a una empresa, a una administración pública, a sí mismo... La diferencia es que en esta aplicación los atributos de un usuario no tienen nada que ver con los de una empresa, y los de ésta tampoco tiene por qué ser iguales a los de una administración pública, así que no puedo juntarlos a todos en una sola tabla.
Como ya te ha dicho Libras, lógica de programación no es lógica de BBDD. SOn universos que se comunican pero no son portables de uno a otro.
En primer lugar, lo los mensajes que mande una "entidad" en tu contexto son irrelevantes para la BBDD, al menos en el sentido de "mensajes". La base NO maneja mensajes, en todo caso estos representan una Entidad del modelo E-R denominada "Mensaje", asociada con otra entidad "Usuario", la cual a su vez puede ser una jerarquía padre-hijo donde haya dos entidades débiles "Empresa" e "Individuo" que heredan su PK de Usuario.
A su vez, a nivel implementación todo eso podría desaparecer y quedar sólo dos tablas Usuario y UsuarioEmpresa, además de otra "Categoría", por ejemplo. Son decisiones de diseño en
arquitectura de datos y no de diseño de interfases
No confundir.
Como sea, necesitarás profundizar un poco el tema del modelo entidad-relacion para poder visualizar las diferencias entre tus conceptos y los que aplican en BBDD, a fin de poder "traducir" tu definición funcional a estructuras de datos administrables. Todavía estás lejos de eso.
Para comenzar, sería práctico que nos dieras un listado de las reglas de negocio que se cumplen, a find epoder ayudarte a visualziar cual es la definición de relaciones y entidades, asi como la estructura física de datos que necesitarás.