Autor: Daniel A. Hurtado
Fecha: 2024/02/12
Diagrama E-R
Código
CREATE DATABASE sistema_empleados; -- Creamos la base de datos
USE sistema_empleados; -- la abrimos
-- Creamos la tabla de areas de trabajo con nombre e identificador
CREATE TABLE areas (
area_id INT PRIMARY KEY,
area_nombre VARCHAR(50)
);
-- Creamos la tabla de empleados con su informacion basica (cada empleado tiene un registro unico)
CREATE TABLE empleados (
empleado_id INT PRIMARY KEY,
nombres VARCHAR(50),
apellidos VARCHAR(50),
area_id INT,
entrada DATE,
salario_hora DECIMAL(10, 2),
FOREIGN KEY (area_id) REFERENCES areas(area_id)
);
-- Creamos la tabla de contacto, cada empleado puede tener varios
CREATE TABLE contacto (
contacto_id INT PRIMARY KEY,
empleado_id INT,
direccion VARCHAR(100),
telefono VARCHAR(20),
email VARCHAR(100),
FOREIGN KEY (empleado_id) REFERENCES empleados(empleado_id)
);
-- creamos la tabla de funciones, cada funcion tiene un empleado asignado, varias funciones pueden tener un mismo empleado
CREATE TABLE funciones (
funcion_id INT PRIMARY KEY,
nombre_funcion VARCHAR(100),
empleado_id INT,
hora_comienza TIME,
hora_termina TIME,
FOREIGN KEY (empleado_id) REFERENCES empleados(empleado_id)
);
-- insertamos valores a cada tabla
INSERT INTO areas (area_id, area_nombre)
VALUES (1, "Finanzas");
INSERT INTO empleados (empleado_id, nombres, apellidos, area_id, entrada, salario_hora)
VALUES (1, "Daniel Andres", "Hurtado García", 1, "2020-01-01", 70000);
INSERT INTO contacto (contacto_id, empleado_id, direccion, telefono, email)
VALUES (11,1,"CRA n # m-i", "0000000000", "elcorreo@hotmail.com");
INSERT INTO funciones (funcion_id, nombre_funcion, empleado_id, hora_comienza, hora_termina)
VALUES (101, "Evaluación de Riesgos Crediticios", 1, "7:30:00", "15:30:00")
Consulta de Prueba
SELECT empleados.empleado_id, apellidos, area_nombre, nombre_funcion, salario_hora
FROM empleados, contacto, areas, funciones;