Instituto Tecnológico de Las Américas (ITLA)
Asignatura:
Introducción a base de datos
Grupo:
viernes (Virtual)
Docente:
Lucy Méndez
Sustentante:
Angel David Paredes Grullon 2024-2257
Freydell Vargas Reyes 2020-10035
Stephen angler 2023-1386
Junior moriarty 2023-2007
Brahian Jiménez 2024-2809
Tema:
PRACTICA SQL. PROYECTO FINAL
República Dominicana, 18 de marzo de 2025.
PRACTICA SQL. PROYECTO FINAL
Parte 1.
Luego de estudiar el recurso “Fases de diseño de una base de datos”
Realiza lo siguiente:
A)
1. Como equipo ya han elegido su base de datos
Departamento de recursos humanos
2. Documenta las 3 primeras fases de diseño para tu DB
Fase 1: Análisis de Requerimientos
• Objetivo y alcance: Determinar qué datos manejará el sistema de
RR.HH. (empleados, cargos, departamentos, vacaciones, etc.).
• Recolección de información: Entrevistar al personal de RR.HH.,
revisar documentos y procesos.
• Definición y validación de requerimientos: Establecer qué necesita
el sistema (ej. registrar empleados, asignar cargos, gestionar
vacaciones) y confirmarlo con los involucrados.
Fase 2: Diseño Conceptual
• Modelo Entidad-Relación (ER): Identificar las entidades
(Empleados, Departamento, Cargo, CargoEmpleado, Vacacion) y
sus atributos (IdEmpleado, Nombre, Sueldo, etc.).
• Relaciones y cardinalidades:
o Departamento (1) a Empleados (N)
o Empleados (1) a Vacacion (N)
o Cargo (1) a CargoEmpleado (N), y CargoEmpleado (N) a
Empleados (1) (resolviendo la relación N:M entre
Empleados y Cargo).
• Validación: Revisar con los usuarios que el diagrama ER refleje
correctamente los datos y procesos.
Fase 3: Diseño Lógico
• Transformación a modelo relacional: Cada entidad se convierte en
una tabla, las relaciones se traducen en claves foráneas o tablas
intermedias (ej. CargoEmpleado).
• Normalización: Aplicar formas normales para eliminar
redundancias y garantizar la integridad de los datos.
• Definición de claves y restricciones: Asignar claves primarias
(PK), foráneas (FK) y restricciones (ej. NOT NULL, UNIQUE) para
mantener la coherencia en la base de datos.
3. Crea el diagrama entidad relación de tu base de datos (ver recurso
multimedia en la plataforma, puedes usar aplicaciones para crear tu
diagrama), colócalo en tu documentación, explica qué tipo de
relación existe entre las entidades de tu base de datos.
4. Crea tu base de datos en SQL SERVER
La creación de la base de datos esta en el documento .sql
5. Crea mínimo 5 entidades para tu base de datos
Entidades y Atributos
1. Departamento
o IdDepartamento (int, PK)
o Nombre (varchar(100), NOT NULL)
2. TiposPuesto
o IdTipoPuesto (int, PK)
o Nombre (varchar(100), NOT NULL)
3. Cargo
o IdCargo (int, PK)
o Nombre (varchar(100), NOT NULL)
o Sueldo (decimal(10,2), NOT NULL)
o IdDepartamento (int, FK → Departamento)
o IdTipoPuesto (int, FK → TiposPuesto)
4. TiposContrato
o IdContrato (int, PK)
o Tipo (varchar(50), NOT NULL)
5. Empleados
o IdEmpleado (int, PK)
o Nombre (varchar(100), NOT NULL)
o Apellido (varchar(100), NOT NULL)
o Telefono (varchar(20))
o Direccion (varchar(255))
o Email (varchar(100))
o CodigoEmpleado (varchar(10), UNIQUE, NOT NULL)
o Edad (int, NOT NULL)
o IdContrato (int, FK → TiposContrato)
6. CargoEmpleado (Tabla intermedia para relación N:M entre Empleados y
Cargo)
o IdCargoEmpleado (int, PK)
o IdEmpleado (int, FK → Empleados)
o IdCargo (int, FK → Cargo)
7. Vacaciones
o IdVacaciones (int, PK)
o IdEmpleado (int, FK → Empleados)
o FechaInicio (date, NOT NULL)
o FechaFin (date, NOT NULL)
o Activo (boolean, NOT NULL)
8. TiposBeneficio
o IdTipoBeneficio (int, PK)
o Nombre (varchar(100), NOT NULL)
9. Beneficios
o IdBeneficio (int, PK)
o Descripcion (varchar(255), NOT NULL)
o IdTipoBeneficio (int, FK → TiposBeneficio)
o IdEmpleado (int, FK → Empleados)
10. Bonos
• IdBono (int, PK)
• Monto (decimal(10,2), NOT NULL)
• Tipo (varchar(50), NOT NULL)
• FechaBono (date, NOT NULL, DEFAULT GETDATE())
• IdEmpleado (int, FK → Empleados)
11. EquiposTrabajo
• IdEquipo (int, PK)
• Marca (varchar(50), NOT NULL)
• Tipo (varchar(50), NOT NULL)
12. EmpleadoEquipo (Tabla intermedia para relación N:M entre Empleados y
EquiposTrabajo)
• IdEmpleadoEquipo (int, PK)
• IdEmpleado (int, FK → Empleados)
• IdEquipo (int, FK → EquiposTrabajo)
Relaciones Clave
• Departamento (1:N) Empleados
• TiposPuesto (1:N) Cargo
• Departamento (1:N) Cargo
• TiposContrato (1:N) Empleados
• Empleados (1:N) Vacaciones
• Empleados (1:N) Beneficios
• Empleados (1:N) Bonos
• Cargo (1:N) CargoEmpleado
• Empleados (1:N) CargoEmpleado (Relación N:M resuelta con
CargoEmpleado)
• EquiposTrabajo (1:N) EmpleadoEquipo
• Empleados (1:N) EmpleadoEquipo (Relación N:M resuelta con
EmpleadoEquipo)
FINAL
Parte 5
Importante:
Realizar los insert correspondientes en cada entidad para poder realizar las
consultas. (Máximo 7 registros).
Realice las siguientes consultas en tu base de datos:
Recursos humanos:
1. Muestra los tipos de contrato y su código
2. Muestra todos los tipos de equipo de trabajo cuyo nombre de la marca
inicie con las letras z y w.
3. Muestra todos los empleados cuyo código contenga los números 3 y 5.
4. Muestra cuántos tipos de puestos de trabajo están registrados en la
base de datos.
5. De cada tipo de puesto de trabajo, muestra el nombre del puesto y su
código, agrupados por categoría de puesto.
6. Se necesita conocer el salario máximo y mínimo de los empleados de la
empresa.
7. Se necesita conocer el monto máximo y mínimo de los bonos otorgados
a los empleados, agrupados por tipo de bono.
8. Muestra los beneficios que tienen los empleados, ordenados de manera
ascendente.
9. Determina la cantidad de empleados con contrato fijo y la cantidad de
empleados con contrato temporal.
10. Escribe la consulta SQL para esta representación en álgebra relacional:
• σespecialidad = "Recursos Humanos" (Empleados)
• πNombre, Edad (σEdad < 30 ∧ Tipo_Contrato = "Indefinido"
(Empleados))
Importante:
⚫ Es posible que algunas consultas solicitadas necesitan la adecuación de tu
base de datos para cumplir con la misma. Deben adecuarla.
Observaciones
⚫ Los resultados de estas consultas deben ser presentados junto al
código(imagen)
⚫ Debes colocar estas consultas junto a sus resultados en la documentación
de tu base de datos.
⚫ 2 archivos a entregar: documentación y query