Juan Franco Base de Datos
Juan Franco Base de Datos
Juan Franco Base de Datos
BASES DE DATOS
TALLER FINAL.
Fecha Máxima de entrega: Lunes 27 de noviembre de 2023 – 11:59 PM
User created.
Grant succeeded.
connect jfrando/12345
Connected.
BASES DE DATOS
Salario, numérico de 12 con 2 decimales.
Fecha de nacimiento.
CREATE TABLE Empleados (
2 Ced NUMBER(12) PRIMARY KEY,
3 ApeNom VARCHAR2(32),
4 Dir VARCHAR2(30),
5 Tel NUMBER(10),
6 Cod_Dep NUMBER(2),
7 Cod_Ciudad NUMBER(2),
8 Cod_Cargos NUMBER(2),
9 Sal NUMBER(12, 2),
10 Fecha_Nac DATE
11 );
Table created.
Table created.
BASES DE DATOS
Table created.
Table altered.
Table altered.
Table altered.
1 row created.
BASES DE DATOS
SQL> INSERT INTO Ciudades (Codigo_Ciudad, Nombre_Ciudad) VALUES (2,
'Medellín');
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
BASES DE DATOS
SQL> INSERT INTO Dependencias (Codigo_Departamento,
Nombre_Departamento) VALUES (5, 'Finanzas');
1 row created.
1 row created.
1 row created.
1 row created.
SQL> INSERT INTO Cargos (Codigo_Cargo, Nombre_Cargo) VALUES (5,
'Contador');
1 row created.
1 row created.
1 row created.
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
BASES DE DATOS
2 (222222222222, 'Zarnak Krilgar', 'Avenida Xenón, Casa 56', 7891234567, 2, 3, 1,
60000.00, TO_DATE('1990-02-22', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (333333333333, 'Ilythra Qunaris', 'Carrera 45, Bloque C', 4567890123, 3, 1, 5,
70000.00, TO_DATE('1987-05-10', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (444444444444, 'Nelthar Orion', 'Calle Nova, Piso 8', 2345678901, 4, 2, 2,
80000.00, TO_DATE('1982-11-18', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (555555555555, 'Zyrala Vortex', 'Avenida Quasar, Torre 12', 9876543210, 5, 3,
4, 90000.00, TO_DATE('1988-07-05', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (777777777777, 'Galadra Starshard', 'Calle Stardust, Casa 15', 2109876543, 2, 2,
2, 62000.00, TO_DATE('1992-01-12', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (888888888888, 'Kaelthas Moonfire', 'Avenida Aether, Bloque D', 8765432109,
3, 3, 1, 58000.00, TO_DATE('1989-09-28', 'YYYY-MM-DD'));
BASES DE DATOS
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (999999999999, 'Sorana Shadowshade', 'Carrera Shadow, Piso 6', 4321098765,
4, 1, 4, 70000.00, TO_DATE('1986-06-15', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (101010101010, 'Vektra Doomhammer', 'Calle Doom, Apartamento 8',
1098765432, 5, 2, 5, 82000.00, TO_DATE('1983-04-03', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (121212121212, 'Zephyros Thunderstrike', 'Avenida Thunder, Torre 18',
5678901234, 1, 3, 3, 69000.00, TO_DATE('1981-10-20', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (131313131313, 'Grimforge Ironfist', 'Carrera Iron, Bloque B', 2345678901, 2, 1,
2, 60000.00, TO_DATE('1995-07-08', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (141414141414, 'Lunara Moonsong', 'Calle Moon, Casa 25', 9876543210, 3, 2, 1,
55000.00, TO_DATE('1984-12-17', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
BASES DE DATOS
2 (151515151515, 'Thraxos Flameheart', 'Avenida Flame, Piso 10', 3210987654, 4,
3, 4, 72000.00, TO_DATE('1987-02-24', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (161616161616, 'Lythandra Starwhisper', 'Carrera Star, Bloque C', 5432109876,
5, 1, 5, 78000.00, TO_DATE('1986-09-11', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (171717171717, 'Shadowbane Nightstalker', 'Calle Night, Apartamento 15',
8765432109, 1, 2, 2, 61000.00, TO_DATE('1989-04-28', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (181818181818, 'Vorthos Mindbreaker', 'Avenida Mind, Torre 14', 1098765432,
2, 3, 1, 57000.00, TO_DATE('1993-11-05', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (191919191919, 'Dreadfang Deathwhisper', 'Carrera Death, Piso 7',
2109876543, 3, 1, 4, 69000.00, TO_DATE('1982-08-22', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (202020202020, 'Nightsorrow Voidbringer', 'Calle Void, Bloque B', 4321098765,
4, 2, 3, 80000.00, TO_DATE('1985-05-15', 'YYYY-MM-DD'));
1 row created.
BASES DE DATOS
SQL> INSERT INTO Empleados (Ced, ApeNom, Dir, Tel, Cod_Dep,
Cod_Ciudad, Cod_Cargos, Sal, Fecha_Nac) VALUES
2 (666666666666, 'Luminos Solstice', 'Carrera Celestial, Apt 20', 5432109876, 1, 1,
3, 75000.00, TO_DATE('1984-03-30', 'YYYY-MM-DD'));
1 row created.
BASES DE DATOS
1,0000E+12 Sorana Shadowshade Carrera Shadow, Piso 6
4321098765 4 1 4 70000 15/06/86
1,0101E+11 Vektra Doomhammer Calle Doom, Apartamento 8
1098765432 5 2 5 82000 03/04/83
1,2121E+11 Zephyros Thunderstrike Avenida Thunder, Torre 18
5678901234 1 3 3 69000 20/10/81
1,3131E+11 Grimforge Ironfist Carrera Iron, Bloque B 2345678901
2 1 2 60000 08/07/95
1,4141E+11 Lunara Moonsong Calle Moon, Casa 25 9876543210
3 2 1 55000 17/12/84
1,5152E+11 Thraxos Flameheart Avenida Flame, Piso 10 3210987654
4 3 4 72000 24/02/87
1,6162E+11 Lythandra Starwhisper Carrera Star, Bloque C 5432109876
5 1 5 78000 11/09/86
1,7172E+11 Shadowbane Nightstalker Calle Night, Apartamento 15
8765432109 1 2 2 61000 28/04/89
1,8182E+11 Vorthos Mindbreaker Avenida Mind, Torre 14
1098765432 2 3 1 57000 05/11/93
1,9192E+11 Dreadfang Deathwhisper Carrera Death, Piso 7
2109876543 3 1 4 69000 22/08/82
2,0202E+11 Nightsorrow Voidbringer Calle Void, Bloque B
4321098765 4 2 3 80000 15/05/85
6,6667E+11 Luminos Solstice Carrera Celestial, Apt 20 5432109876
1 1 3 75000 30/03/84
Listado de Ciudades.
CODIGO_CIUDAD NOMBRE_CIUDAD
------------- --------------------
1 Bogotá
2 Medellín
3 Cali
BASES DE DATOS
4 Barranquilla
5 Cartagena
6 Manizales
Listado de Departartamento.
CODIGO_DEPARTAMENTO NOMBRE_DEPARTAMENTO
------------------- --------------------
1 Producción
2 Ventas
3 Recursos Humanos
4 Tecnología
5 Finanzas
6 Logística
6 rows selected.
Listado de Cargos.
CODIGO_CARGO NOMBRE_CARGO
------------ --------------------
1 Analista de Datos
2 Gerente de Ventas
5 Contador
4 Ing. de Software
3 Esp. Recurss Humanos
BASES DE DATOS
COLUMN Dependencia HEADING 'Nombre de Dependencia' FORMAT A15
WORD_WRAPPED
SQL> SELECT
2 E.ApeNom AS "Nombre del Trabajador",
3 E.Ced AS "Cédula",
4 C.Nombre_Ciudad AS "Ciudad (Descriptivo)",
5 D.Nombre_Departamento AS "Dependencia (Descriptivo)",
6 E.Cod_Cargos AS "Cargo (Descriptivo)",
7 E.Sal AS "Salario",
8 EXTRACT(YEAR FROM SYSDATE) - EXTRACT(YEAR FROM
E.Fecha_Nac) AS "Antigüedad en años"
9 FROM
10 Empleados E, Dependencias D, Ciudades C, Cargos CR
11 WHERE
12 E.Cod_Dep = D.Codigo_Departamento AND
13 E.Cod_Ciudad = C.Codigo_Ciudad AND
14 E.Cod_Cargos = CR.Codigo_Cargo;
Cédula,
Nombre del Trabajador
Ciudad,
Dependencia,
Salario.
Subtotalizando salarios, por Ciudad, Dependencia.
BASES DE DATOS
Producir total general de salarios.
INFORME GENERAL
SELECT
E.Ced AS "Cédula",
E.ApeNom AS "Nombre del Trabajador",
C.Nombre_Ciudad AS "Ciudad",
D.Nombre_Departamento AS "Dependencia",
E.Sal AS "Salario"
FROM
Empleados E, Dependencias D, Ciudades C
WHERE
E.Cod_Dep = D.Codigo_Departamento AND
E.Cod_Ciudad = C.Codigo_Ciudad
ORDER BY
C.Nombre_Ciudad, D.Nombre_Departamento, E.ApeNom;
SELECT
C.Nombre_Ciudad AS "Ciudad",
D.Nombre_Departamento AS "Dependencia",
SUM(E.Sal) AS "Subtotal de Salarios"
FROM
Empleados E, Dependencias D, Ciudades C
WHERE
E.Cod_Dep = D.Codigo_Departamento AND
E.Cod_Ciudad = C.Codigo_Ciudad
GROUP BY
C.Nombre_Ciudad, D.Nombre_Departamento
ORDER BY
C.Nombre_Ciudad, D.Nombre_Departamento;
SELECT
'Total General' AS "Ciudad/Dependencia",
NULL AS "Dependencia",
SUM(E.Sal) AS "Total de Salarios"
FROM
BASES DE DATOS
Empleados E, Dependencias D, Ciudades C
WHERE
E.Cod_Dep = D.Codigo_Departamento AND
E.Cod_Ciudad = C.Codigo_Ciudad;
BASES DE DATOS
BEFORE INSERT ON Prestamos
FOR EACH ROW
BEGIN
SELECT Seq_Prestamos.NEXTVAL INTO :NEW.Id_Prestamo FROM dual;
END;
/
1 row created.
1 row created.
BASES DE DATOS
SQL> INSERT INTO tipoprestamonew (Nombre_Tipo_Prestamo) VALUES
('Préstamo de Vehículo');
1 row created.
1 row created.
SQL>
SQL> INSERT INTO Prestamos (Ced_Cliente, Monto, Fecha_Prestamo,
Cod_Tipo_Prestamo)
2 VALUES (222222222222, 8000.00, TO_DATE('2023-02-01', 'YYYY-MM-DD'), 2);
1 row created.
SQL>
SQL> INSERT INTO Prestamos (Ced_Cliente, Monto, Fecha_Prestamo,
Cod_Tipo_Prestamo)
2 VALUES (333333333333, 6000.00, TO_DATE('2023-03-01', 'YYYY-MM-DD'), 1);
1 row created.
SQL>
SQL> INSERT INTO Prestamos (Ced_Cliente, Monto, Fecha_Prestamo,
Cod_Tipo_Prestamo)
2 VALUES (444444444444, 7000.00, TO_DATE('2023-04-01', 'YYYY-MM-DD'), 3);
1 row created.
1 row created.
SQL>
SQL> INSERT INTO Abonos (Id_Prestamo, Monto_Abono, Fecha_Abono)
BASES DE DATOS
2 VALUES (2, 1200.00, TO_DATE('2023-02-15', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Abonos (Id_Prestamo, Monto_Abono, Fecha_Abono)
2 VALUES (1, 500.00, TO_DATE('2023-03-01', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Abonos (Id_Prestamo, Monto_Abono, Fecha_Abono)
2 VALUES (3, 800.00, TO_DATE('2023-03-10', 'YYYY-MM-DD'));
1 row created.
SQL>
SQL> INSERT INTO Abonos (Id_Prestamo, Monto_Abono, Fecha_Abono)
2 VALUES (4, 1000.00, TO_DATE('2023-04-05', 'YYYY-MM-DD'));
1 row created.
SELECT
2 E.ApeNom AS "Nombre del Trabajador",
3 TP.Nombre_Tipo_Prestamo AS "Nombre del Préstamo",
4 SUM(P.Monto) AS "Total Préstamos"
5 FROM
6 Empleados E,
7 Prestamos P,
8 tipoprestamonew TP
9 WHERE
10 E.Ced = P.Ced_Cliente
11 AND P.Cod_Tipo_Prestamo = TP.Cod_Tipo_Prestamo
12 AND E.Ced = 111111111111
13 GROUP BY
14 E.ApeNom, TP.Nombre_Tipo_Prestamo
15 ORDER BY
16 "Nombre del Trabajador", "Nombre del Préstamo";
Parcial 3
------------------
BASES DE DATOS
Nombre del Trabajador Nombre del Préstamo Total Préstamos
-------------------------------- ------------------------------ ---------------
Xylthor Darnor Préstamo Personal 5000
Los puntos 11 y 13, valen el 40% del examen. Pero si no están, examen = 1.