PRACTICA: MODELADO DE DATOS
Enunciado
Una empresa necesita organizar información sobre su estructura interna. Los aspectos clave que se
deben modelar son:
- Departamentos: Cada uno con código, nombre y presupuesto anual. Están ubicados en centros
de trabajo.
- Centros de trabajo: Tienen código, nombre, población y dirección. Son dirigidos por uno o más
empleados.
- Empleados: Tienen DNI, nombre, teléfono, fecha de alta, número de hijos y salario. Cada uno
pertenece a un único departamento.
- Hijos: Cada hijo tiene un código, nombre y fecha de nacimiento. Están relacionados con un
empleado.
- Habilidades: Con código y descripción. Un empleado puede tener muchas habilidades, y una
habilidad puede pertenecer a muchos empleados.
Reglas de Negocio
1. Un empleado trabaja en un único departamento.
2. Un departamento pertenece a un único centro de trabajo.
3. Un centro de trabajo puede tener varios departamentos.
4. Un empleado puede dirigir uno o más centros.
5. Un empleado puede tener varios hijos.
6. Un empleado puede tener múltiples habilidades (relación N:M).
Modelo E/R (Resumen)
Entidades:
- Empleado
- Departamento
- CentroTrabajo
- Hijo
- Habilidad
Relaciones:
- Empleado - trabaja_en -> Departamento (N:1)
- Departamento - pertenece_a -> CentroTrabajo (N:1)
- Empleado - dirige -> CentroTrabajo (N:M)
- Empleado - tiene -> Hijo (1:N)
- Empleado - posee -> Habilidad (N:M)
Modelo Relacional
Empleado (
DNI PRIMARY KEY,
Nombre,
Telefono,
FechaAlta,
NumHijos,
Salario,
CodDepto FOREIGN KEY REFERENCES Departamento(CodDepto)
)
Hijo (
CodHijo PRIMARY KEY,
Nombre,
FechaNacimiento,
DNIEmpleado FOREIGN KEY REFERENCES Empleado(DNI)
)
Departamento (
CodDepto PRIMARY KEY,
Nombre,
Presupuesto,
CodCentro FOREIGN KEY REFERENCES CentroTrabajo(CodCentro)
)
CentroTrabajo (
CodCentro PRIMARY KEY,
Nombre,
Poblacion,
Direccion
)
CentroTrabajo_Director (
CodCentro FOREIGN KEY REFERENCES CentroTrabajo(CodCentro),
DNIEmpleado FOREIGN KEY REFERENCES Empleado(DNI),
PRIMARY KEY (CodCentro, DNIEmpleado)
)
Habilidad (
CodHabilidad PRIMARY KEY,
Descripcion
)
Empleado_Habilidad (
DNIEmpleado FOREIGN KEY REFERENCES Empleado(DNI),
CodHabilidad FOREIGN KEY REFERENCES Habilidad(CodHabilidad),
PRIMARY KEY (DNIEmpleado, CodHabilidad)
)