Control Semana 6 Adrián Vásquez Parra Administración de Bases de Datos Instituto IACC 18-05-2020 Administradores de
Views 39 Downloads 0 File size 84KB
Control Semana 6
Adrián Vásquez Parra
Administración de Bases de Datos Instituto IACC 18-05-2020
Administradores de Bases de Datos SQL. DESARROLLO DEL CONTROL: La empresa para la cual usted trabaja le ha asignado el desarrollo de una aplicación para el control de su proceso de nómina. Para ello, debe utilizar la teoría de bases de datos en conjunto con SQL como gestor de bases de datos y realizar las siguientes actividades:
a) Definir la estructura lógica de la base de datos, indicando cuáles tablas serán necesarias (2 puntos).
Dado la ambigüedad del enunciado he optado por hacer algo simple pero que refleje lo solicitado en los indcadores de evaluación. Por lo tanto se crearan solo 3 tablas con sus
respectivas
relaciones
para
aplicar las sentencias SQL sobre ellas
b) Crear las diferentes tablas que se requieren para este proceso (2 puntos). CREATE TABLE EMPLEADO ( EMP_RUT_PK VARCHAR(10), EMP_NOMBRE VARCHR(60), EMP_EMAIL VARCHAR(30), PRIMARY KEY ( EMP_RUT_PK ) ); CREATE TABLE ASISTENCIA ( AS_MES INT, AS_EMP VARCHAR(10), AS_DIAS INT ); CREATE TABLE CARGA_FAM ( CARGA_RUT VARCHAR(10), CARGA_NOMBRE VARCHAR(50), CARGA_EMP VARCHAR(10) );
c) Indexar dichas tablas de manera que pueda realizar consultas utilizando SQL, de forma rápida y eficiente (1 punto). CREATE INDEX ID_EMP ON EMPLEADO ( EMP_RUT_PK ); CREATE INDEX ID_CARGA ON CARGA_FAM ( CARGA_RUT );
d) Ingresar un mínimo de 10 registros en cada una de las tablas que decida crear. Recuerde establecer las relaciones entre las mismas para evitar la duplicidad de los datos (2 puntos). Primero se poblará la tabla empleado: INSERT INTO EMPLEADO VALUES ( “14888999-0”, “Luke Skywalker”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “13444999-0”, “Leia Organa”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “11999222-0”, “Han Solo”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “09675432-0”, “Obi Wan Kenobi”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “11777654-0”, “QuiGon Jinn”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “13456789-0”, “Padme Amidala”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “10987456-0”, “Anakin Skywalker”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “10999888-0”, “Boba Fett”,”[email protected]”);
INSERT INTO EMPLEADO VALUES ( “10998777-0”, “Jango Fett”,”[email protected]”); INSERT INTO EMPLEADO VALUES ( “10777543-0”, “Din Djarin”,”[email protected]”);
Ahora completaremos la tabla cargas_fam: INSERT INTO CARGAS_FAM VALUES ( “22345678-1”,”Thor Odinson”, “09675432-0”); INSERT INTO CARGAS_FAM VALUES ( “22345666-6”,”Steve Rogers”, “09675432-0”); INSERT INTO CARGAS_FAM VALUES ( “21345654-1”,”Natasha Romanoff”, “13444999-0”); INSERT INTO CARGAS_FAM VALUES ( “21345123-0”,”Clint Burton”, “13444999-0”); INSERT INTO CARGAS_FAM VALUES ( “20333222-1”,”Bruce Banner”, “11777654-0”); INSERT INTO CARGAS_FAM VALUES ( “19876123-1”,”Nick Fury”, “11777654-0”); INSERT INTO CARGAS_FAM VALUES ( “23999887-1”,”Tony Stark”, “10987456-0”); INSERT INTO CARGAS_FAM VALUES ( “22345678-1”,”Pepper Potts”, “10987456-0”); INSERT INTO CARGAS_FAM VALUES ( “23111665-3”,”Steven Strange”, “10999888-0”); INSERT INTO CARGAS_FAM VALUES ( “20876990-2”,”Peter Parker”, “10777543-0”);
Finalizamos los INSERT con la tabla ASISTENCIA INSERT INTO ASISTENCIA VALUES ( 1, “14888999-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 2, “14888999-0”, 20 ); INSERT INTO ASISTENCIA VALUES ( 1, “13444999-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 2, “13444999-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 1, “11999222-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 2, “11999222-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 1, “09675432-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 2, “09675432-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 1, “11777654-0”, 25 ); INSERT INTO ASISTENCIA VALUES ( 2, “11777654-0”, 25 );
e) Ejecutar una consulta donde se muestren todos los empleados existentes con sus beneficios contractuales asociados (2 puntos).
Con esta sentencia se ejecutara una consulta SQL para mostrar todos los empleados y sus
cargas
familiares
asociadas
por
los
campos
EMPLEADO.EMP_RUT_PK
CARGAS_FAM.CARGA_EMP SELECT * FROM EMPLEADO INNER JOIN EMPLEADO.EMP_RUT_PK = CARGAS_FAM.CARGA_EMP;
y
Nota: Debe escribir las sentencias SQL requeridas para los puntos b, c, d y e.
REFERENCIAS IACC (2019). Administradores de bases de datos SQL 2, Administración de Base de Datos. Semana 6