Cita:
Empezado por Caral
Hola
Sigo pensando (aunque no es el tema) que no se necesita la tabla intermedia.
Es como cuando se quiere que un usuario tenga acceso a una parte determinada del programa, no se necesita una tabla para indicar a que parte entrara o no.
Lo mismo, si quiero que un usuario tenga acceso a la empresa X no necesito una tabla para ese fin.
Se le puede dar acceso a las empresas que uno quiera sin necesidad de tablas extras.
Una tabla extra representa: Mas mantenimiento, mas datos que buscar y leer, mas lentitud, mas espacio, etc., etc...
Entonces; Si se puede hacer de otra manera NO se necesita, solo se hace por que se quiere, no por necesidad.
Es solo mi opinion, pero no me gusta complicarme la vida.
Saludos
|
Pues para que entiendas lo de la tabla intermedia, amigo Caral
Están las tablas Empresas y Usuarios (o empleados), un ejemplo ubicandote en la vida práctica
- Un empleado pudiera trabajar en varias empresas
- En una empresa trabajan varios empleados
Que relacion hay entre la empresa y el empleado?
Pues, Un Contrato, si no tienes un contrato con la empresa no puedes trabajar en ella
Ese Contrato es la "famosa" tabla intermedia que se necesita para relacionar a las empresas con los empleados, quedando por ejemplo de esta forma:
Empresas: CodEmp, NombreEmpresa, ...
Empleados: IdEmpleado, CodEmp, NombreEmpleado, ...
Contrato: NroCont, CodEmp, IdEmpleado, Puesto, FechaInicio, ...
Entiendes ahora?
mjjj
Como bien ya te han comentado
Las relaciones dependen del problema en cuestion, lo primero es leer y analizar bien la problemática, para poder deducir que tablas dependen de otra (relacion 1 a varios), analizar tambien las relaciones que tienen cada posible campo para ver en que tabla se pone, y evitar duplicados
Explicando la problemática, mas de uno de nosotros te podrá ayudar con el diseño de las relaciones
Tambien para entender un poco esto, puedes estudiar la
Normalizacion de Bases de Datos