Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PracticoBDR RH

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 32

PROGRAMA INGENIERÍA DE SISTEMAS

BASES DE DATOS MASIVAS


Práctico Bases de Datos Relacionales
2023

Trabajo en Grupo

<Apellidos y Nombres> <ID>


<Apellidos y Nombres> <ID>

PRÁCTICO

En este práctico, aprenderá sobre una base de datos de ejemplo SQL llamada Recursos Humanos que gestiona los datos de bdrh de las pequeñas empresas, el siguiente
diagrama de la base de datos ilustra la base de datos de ejemplo bdrh:
HERRAMIENTAS SOFTWARE

XAMPP: Iniciar los servicios


 MySQL Database
 Apache WebServer
 Entrar a la terminal de comandos e iniciar MariaDB Database.
mysql -u root -p

Mientras que las herramientas como PhpMyAdmin interactúan con las bases de datos MySQL / Mariadb con mucha facilidad, a veces se debe acceder a la base de datos
directamente desde la línea de comandos. El ejercicio se desarrollará en la consola de comandos, tenga en cuenta tomar los pantallazos necesarios para ilustrar cada consulta y
generar la descripción de la sentencia escrita en SQL y que busca presentar.

La base de datos de ejemplo bdrh consta de siete (7) tablas que se describen a continuación:

 La tabla (empleados) almacena los datos de los empleados.


 La tabla (trabajos) puestos de trabajo almacena los datos de los puestos, incluyendo el título del puesto y el rango salarial.
 La tabla (departamentos) almacena los datos de los departamentos.
 La tabla de (dependientes) almacena los dependientes del empleado.
 La tabla (ubicaciones) ubicaciones, almacena la ubicación de los departamentos de la empresa.
 La tabla (paises) países almacena los datos de los países en los que opera la empresa.
 La tabla (regiones) regiones, almacena los datos de regiones como Asia, Europa, América y Oriente Medio y África. Los países se agrupan en regiones.

CRUD – CREATE – READ – UPDATE – DELETE


A continuación, se sugiere utilizar las sentencias SQL de la forma ilustrada para realizar la práctica.

SHOW DATABASES;
La sentencia lista las bases de datos contenidas en MariaDB.

CREATE DATABASE bdrh;


Sentencia que crea la base de datos bdrh.
USE bdrh;
Sentencia que carga la base de datos a ser utilizada en este ejemplo la base de datos bdrh.

SHOW DATABASES;
Utilizando nuevamente el comando se evidencia la creación de la nueva base de datos bdrh.

CREAR LAS TABLAS DE LA BASE DE DATOS


En esta sección se crean las tablas de las bases de datos bdrh según el diagrama propuesto, se ejecutan diferentes sentencias de la creación de las tablas en las bases de datos.

CREATE TABLE regiones (


region_id INT (11) AUTO_INCREMENT PRIMARY KEY,
region_nombre VARCHAR (25) DEFAULT NULL
);
Las sentencias anteriores crean la tabla – regiones – con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.

CREATE TABLE paises (


pais_id CHAR (2) PRIMARY KEY,
pais_name VARCHAR (40) DEFAULT NULL,
region_id INT (11) NOT NULL,
FOREIGN KEY (region_id) REFERENCES regiones (region_id) ON DELETE CASCADE ON UPDATE CASCADE
);
Las sentencias anteriores crean la tabla – paises – con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.

CREATE TABLE ubicaciones (


ubicacion_id INT (11) AUTO_INCREMENT PRIMARY KEY,
direccion VARCHAR (40) DEFAULT NULL,
codigo_postal VARCHAR (12) DEFAULT NULL,
ciudad VARCHAR (30) NOT NULL,
estado_provincia VARCHAR (25) DEFAULT NULL,
pais_id CHAR (2) NOT NULL,
FOREIGN KEY (pais_id) REFERENCES paises (pais_id) ON DELETE CASCADE ON UPDATE CASCADE
);
Las sentencias anteriores crean la tabla – ubicaciones – con las siguientes características: (describa las características de cada una de las columnas de la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.
7.
8.
9.

CREATE TABLE trabajos (


trabajo_id INT (11) AUTO_INCREMENT PRIMARY KEY,
trabajo_nombre VARCHAR (35) NOT NULL,
salario_min DECIMAL (8, 2) DEFAULT NULL,
salario_max DECIMAL (8, 2) DEFAULT NULL
);
Las sentencias anteriores crean la tabla salarios con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.

CREATE TABLE departamentos (


departamento_id INT (11) AUTO_INCREMENT PRIMARY KEY,
departamento_nombre VARCHAR (30) NOT NULL,
ubicacion_id INT (11) DEFAULT NULL,
FOREIGN KEY (ubicacion_id) REFERENCES ubicaciones (ubicacion_id) ON DELETE CASCADE ON UPDATE CASCADE
);
Las sentencias anteriores crean la tabla – departamentos – con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.
CREATE TABLE empleados (
empleado_id INT (11) AUTO_INCREMENT PRIMARY KEY,
nombres VARCHAR (20) DEFAULT NULL,
apellidos VARCHAR (25) NOT NULL,
email VARCHAR (100) NOT NULL,
numero_telefono VARCHAR (20) DEFAULT NULL,
fecha_ingreso DATE NOT NULL,
trabajo_id INT (11) NOT NULL,
salario DECIMAL (8, 2) NOT NULL,
gerencia_id INT (11) DEFAULT NULL,
departamento_id INT (11) DEFAULT NULL,
FOREIGN KEY (trabajo_id) REFERENCES trabajos (trabajo_id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (departamento_id) REFERENCES departamentos (departamento_id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (gerencia_id) REFERENCES empleados(empleado_id)
);
Las sentencias anteriores crean la tabla – empleados – con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

CREATE TABLE dependientes (


dependiente_id INT (11) AUTO_INCREMENT PRIMARY KEY,
nombres VARCHAR (50) NOT NULL,
apellidos VARCHAR (50) NOT NULL,
vinculo VARCHAR (25) NOT NULL,
empleado_id INT (11) NOT NULL,
FOREIGN KEY (empleado_id) REFERENCES empleados (empleado_id) ON DELETE CASCADE ON UPDATE CASCADE
);
Las sentencias anteriores crean la tabla – dependientes – con las siguientes características: (describa las características de cada una de las columnas en la siguiente tabla)
LÍNEA DESCRIPCIÓN
1.
2.
3.
4.
5.
6.
7.
8.
9.

SHOW TABLES;
Listar las tablas creadas para evidenciar que están las 7 tablas.

INSERTAR LOS DATOS A LAS TABLA CREADAS


Tener en cuenta que las tablas que primero se deben llenar son aquellas que no tiene llaves foráneas.

DESCRIBE regiones;
Imprime la estructura de la tabla y da evidencia para poder cargar los datos.

/*Datos para la tabla regiones …*/


INSERT INTO regiones(region_id, region_nombre) VALUES (1,'Europa');
INSERT INTO regiones(region_id, region_nombre) VALUES (2,'Américas');
INSERT INTO regiones(region_id, region_nombre) VALUES (3,'Asia-Pacífico');
INSERT INTO regiones(region_id, region_nombre) VALUES (4,'Oriente Medio/África');
Las sentencias anteriores insertan las regiones existentes.

DESCRIBE paises;
Imprime la estructura de la tabla paises y da evidencia para poder cargar los datos.

ALTER TABLE paises ADD COLUMN pais_nombre VARCHAR(50);


En este taller aprenderás a usar la cláusula SQL ADD COLUMN de la instrucción ALTER TABLE para añadir una o más columnas a una tabla existente. En este caso se
agrega la columna – pais_nombre – de tipo de dato VARCHAR de 50 caracteres.

DESCRIBE regiones;

Se evidencia que tiene dos columnas con el mismo propósito, sin embargo, se borra la columna pais_name para que la tabla quede con una misma manera de crear los nombres
de las columnas.
ALTER TABLE paises DROP COLUMN pais_name;

En este taller, aprenderás a usar la cláusula SQL DROP COLUMN para eliminar una o más columnas de una tabla existente, en este caso se elimina la columna pais_name;

/*Datos para la tabla paises */


INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('AR','Argentina',2);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('AU','Australia',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('BE','Belgium',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('BR','Brazil',2);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('CA','Canada',2);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('CH','Switzerland',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('CN','China',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('DE','Germany',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('DK','Denmark',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('EG','Egypt',4);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('FR','France',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('HK','HongKong',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('IL','Israel',4);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('IN','India',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('IT','Italy',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('JP','Japan',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('KW','Kuwait',4);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('MX','Mexico',2);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('NG','Nigeria',4);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('NL','Netherlands',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('SG','Singapore',3);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('UK','United Kingdom',1);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('US','United States of America',2);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('ZM','Zambia',4);
INSERT INTO paises(pais_id,pais_nombre,region_id) VALUES ('ZW','Zimbabwe',4);

/*Datos para la tabla ubicaciones*/

INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (1400,'2014 Jabberwocky Rd','26192','Southlake','Texas','US');


INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (1500,'2011 Interiors Blvd','99236','South San Francisco','California','US');
INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (1700,'2004 Charade Rd','98199','Seattle','Washington','US');
INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (1800,'147 Spadina Ave','M5V 2L7','Toronto','Ontario','CA');
INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (2400,'8204 Arthur St',NULL,'London',NULL,'UK');
INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (2500,'Magdalen Centre, The Oxford Science Park','OX9 9ZB','Oxford','Oxford','UK');
INSERT INTO ubicaciones(ubicacion_id,direccion,codigo_postal,ciudad,estado_provincia,pais_id) VALUES (2700,'Schwanthalerstr. 7031','80925','Munich','Bavaria','DE');

/*Datos parala tabla trabajos */

INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (1,'Public Accountant',4200.00,9000.00);


INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (2,'Accounting Manager',8200.00,16000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (3,'Administration Assistant',3000.00,6000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (4,'President',20000.00,40000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (5,'Administration Vice President',15000.00,30000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (6,'Accountant',4200.00,9000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (7,'Finance Manager',8200.00,16000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (8,'Human Resources Representative',4000.00,9000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (9,'Programmer',4000.00,10000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (10,'Marketing Manager',9000.00,15000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (11,'Marketing Representative',4000.00,9000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (12,'Public Relations Representative',4500.00,10500.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (13,'Purchasing Clerk',2500.00,5500.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (14,'Purchasing Manager',8000.00,15000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (15,'Sales Manager',10000.00,20000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (16,'Sales Representative',6000.00,12000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (17,'Shipping Clerk',2500.00,5500.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (18,'Stock Clerk',2000.00,5000.00);
INSERT INTO trabajos(trabajo_id,trabajo_nombre,salario_min,salario_max) VALUES (19,'Stock Manager',5500.00,8500.00);

/* Datos parala tabla departamentos */

INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (1,'Administration',1700);


INSERT INTO departamentos(departamento_id, departamento_nombre,ubicacion_id) VALUES (2,'Marketing',1800);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (3,'Purchasing',1700);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (4,'Human Resources',2400);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (5,'Shipping',1500);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (6,'IT',1400);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (7,'Public Relations',2700);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (8,'Sales',2500);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (9,'Executive',1700);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (10,'Finance',1700);
INSERT INTO departamentos(departamento_id,departamento_nombre,ubicacion_id) VALUES (11,'Accounting',1700);

/* Datos parala tabla empleados */

INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (100,'Steven','King','steven.king@sqltutorial.org','515.123.4567','1987-06-17',4,24000.00,NULL,9);


INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (101,'Neena','Kochhar','neena.kochhar@sqltutorial.org','515.123.4568','1989-09-21',5,17000.00,100,9);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (102,'Lex','De Haan','lex.de haan@sqltutorial.org','515.123.4569','1993-01-13',5,17000.00,100,9);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (103,'Alexander','Hunold','alexander.hunold@sqltutorial.org','590.423.4567','1990-01-03',9,9000.00,102,6);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (104,'Bruce','Ernst','bruce.ernst@sqltutorial.org','590.423.4568','1991-05-21',9,6000.00,103,6);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (105,'David','Austin','david.austin@sqltutorial.org','590.423.4569','1997-06-25',9,4800.00,103,6);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (106,'Valli','Pataballa','valli.pataballa@sqltutorial.org','590.423.4560','1998-02-05',9,4800.00,103,6);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (107,'Diana','Lorentz','diana.lorentz@sqltutorial.org','590.423.5567','1999-02-07',9,4200.00,103,6);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (108,'Nancy','Greenberg','nancy.greenberg@sqltutorial.org','515.124.4569','1994-08-17',7,12000.00,101,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (109,'Daniel','Faviet','daniel.faviet@sqltutorial.org','515.124.4169','1994-08-16',6,9000.00,108,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (110,'John','Chen','john.chen@sqltutorial.org','515.124.4269','1997-09-28',6,8200.00,108,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (111,'Ismael','Sciarra','ismael.sciarra@sqltutorial.org','515.124.4369','1997-09-30',6,7700.00,108,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (112,'Jose Manuel','Urman','jose manuel.urman@sqltutorial.org','515.124.4469','1998-03-07',6,7800.00,108,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (113,'Luis','Popp','luis.popp@sqltutorial.org','515.124.4567','1999-12-07',6,6900.00,108,10);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (114,'Den','Raphaely','den.raphaely@sqltutorial.org','515.127.4561','1994-12-07',14,11000.00,100,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (115,'Alexander','Khoo','alexander.khoo@sqltutorial.org','515.127.4562','1995-05-18',13,3100.00,114,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (116,'Shelli','Baida','shelli.baida@sqltutorial.org','515.127.4563','1997-12-24',13,2900.00,114,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (117,'Sigal','Tobias','sigal.tobias@sqltutorial.org','515.127.4564','1997-07-24',13,2800.00,114,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (118,'Guy','Himuro','guy.himuro@sqltutorial.org','515.127.4565','1998-11-15',13,2600.00,114,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (119,'Karen','Colmenares','karen.colmenares@sqltutorial.org','515.127.4566','1999-08-10',13,2500.00,114,3);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (120,'Matthew','Weiss','matthew.weiss@sqltutorial.org','650.123.1234','1996-07-18',19,8000.00,100,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (121,'Adam','Fripp','adam.fripp@sqltutorial.org','650.123.2234','1997-04-10',19,8200.00,100,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (122,'Payam','Kaufling','payam.kaufling@sqltutorial.org','650.123.3234','1995-05-01',19,7900.00,100,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (123,'Shanta','Vollman','shanta.vollman@sqltutorial.org','650.123.4234','1997-10-10',19,6500.00,100,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (126,'Irene','Mikkilineni','irene.mikkilineni@sqltutorial.org','650.124.1224','1998-09-28',18,2700.00,120,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (145,'John','Russell','john.russell@sqltutorial.org',NULL,'1996-10-01',15,14000.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (146,'Karen','Partners','karen.partners@sqltutorial.org',NULL,'1997-01-05',15,13500.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (176,'Jonathon','Taylor','jonathon.taylor@sqltutorial.org',NULL,'1998-03-24',16,8600.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (177,'Jack','Livingston','jack.livingston@sqltutorial.org',NULL,'1998-04-23',16,8400.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (178,'Kimberely','Grant','kimberely.grant@sqltutorial.org',NULL,'1999-05-24',16,7000.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (179,'Charles','Johnson','charles.johnson@sqltutorial.org',NULL,'2000-01-04',16,6200.00,100,8);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (192,'Sarah','Bell','sarah.bell@sqltutorial.org','650.501.1876','1996-02-04',17,4000.00,123,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (193,'Britney','Everett','britney.everett@sqltutorial.org','650.501.2876','1997-03-03',17,3900.00,123,5);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (200,'Jennifer','Whalen','jennifer.whalen@sqltutorial.org','515.123.4444','1987-09-17',3,4400.00,101,1);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (201,'Michael','Hartstein','michael.hartstein@sqltutorial.org','515.123.5555','1996-02-17',10,13000.00,100,2);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (202,'Pat','Fay','pat.fay@sqltutorial.org','603.123.6666','1997-08-17',11,6000.00,201,2);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (203,'Susan','Mavris','susan.mavris@sqltutorial.org','515.123.7777','1994-06-07',8,6500.00,101,4);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (204,'Hermann','Baer','hermann.baer@sqltutorial.org','515.123.8888','1994-06-07',12,10000.00,101,7);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (205,'Shelley','Higgins','shelley.higgins@sqltutorial.org','515.123.8080','1994-06-07',2,12000.00,101,11);
INSERT INTO empleados(empleado_id,nombres,apellidos,email,numero_telefono,fecha_ingreso,trabajo_id,salario,gerencia_id,departamento_id) VALUES (206,'William','Gietz','william.gietz@sqltutorial.org','515.123.8181','1994-06-07',1,8300.00,205,11);

/* Datos para la tabla dependientes */


INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (1,'Penelope','Gietz','Child',206);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (2,'Nick','Higgins','Child',205);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (3,'Ed','Whalen','Child',200);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (4,'Jennifer','King','Child',100);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (5,'Johnny','Kochhar','Child',101);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (6,'Bette','De Haan','Child',102);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (7,'Grace','Faviet','Child',109);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (8,'Matthew','Chen','Child',110);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (9,'Joe','Sciarra','Child',111);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (10,'Christian','Urman','Child',112);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (11,'Zero','Popp','Child',113);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (12,'Karl','Greenberg','Child',108);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (13,'Uma','Mavris','Child',203);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (14,'Vivien','Hunold','Child',103);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (15,'Cuba','Ernst','Child',104);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (16,'Fred','Austin','Child',105);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (17,'Helen','Pataballa','Child',106);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (18,'Dan','Lorentz','Child',107);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (19,'Bob','Hartstein','Child',201);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (20,'Lucille','Fay','Child',202);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (21,'Kirsten','Baer','Child',204);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (22,'Elvis','Khoo','Child',115);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (23,'Sandra','Baida','Child',116);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (24,'Cameron','Tobias','Child',117);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (25,'Kevin','Himuro','Child',118);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (26,'Rip','Colmenares','Child',119);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (27,'Julia','Raphaely','Child',114);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (28,'Woody','Russell','Child',145);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (29,'Alec','Partners','Child',146);
INSERT INTO dependientes(dependiente_id,nombres,apellidos,vinculo,empleado_id) VALUES (30,'Sandra','Taylor','Child',176);

CONSULTA DE DATOS
Después de haber cargado los datos a las tablas de la base de datos se harán consultas para listar los datos buscados.
SELECT * FROM trabajos;
SELECT * FROM empleados;
SELECT * FROM dependientes;
SELECT * FROM departamentos;
SELECT * FROM ubicaciones;
SELECT * FROM paises;
SELECT * FROM regiones;

SELECT
empleado_id, nombres, apellidos, fecha_ingreso
FROM
empleados;
-

SELECT
nombres, apellidos, salario, salario * 1.05
FROM
empleados;
-

SELECT
nombres, apellidos, salario, salario * 1.05 AS nuevo_salario
FROM
empleados;
Consulta que extrae los nombres, apellidos y salario actual de los empleados, y además calcula y devuelve el salario incrementado en un 5%,
etiquetando -

SELECT
empleado_id, nombres, apellidos, fecha_ingreso, salario
FROM
empleados
ORDER BY
nombres;
-

SELECT
empleado_id, nombres, apellidos, fecha_ingreso, salario
FROM
empleados
ORDER BY
nombres, apellidos DESC;
-

SELECT
empleado_id, nombres, apellidos, fecha_ingreso, salario
FROM
empleados
ORDER BY
salario
DESC;
-

SELECT
empleado_id, nombres, apellidos, fecha_ingreso, salario
FROM
empleados
ORDER BY
fecha_ingreso
ASC;
-
SELECT
salario
FROM
empleados
ORDER BY
salario
DESC;
-

SELECT DISTINCT
salario
FROM
empleados
ORDER BY
salario
DESC;
-

SELECT
trabajo_id, salario
FROM
empleados
ORDER BY
trabajo_id, salario
DESC;
-

SELECT DISTINCT
numero_telefono
FROM
empleados
ORDER BY
numero_telefono;
-

SELECT
empleado_id, nombres, apellidos
FROM
empleados
ORDER BY
nombres;
-

SELECT
empleado_id, nombres, apellidos
FROM
empleados
ORDER BY
nombres
LIMIT 5;
-

SELECT
empleado_id, nombres, apellidos
FROM
empleados
ORDER BY
nombres
LIMIT 5 OFFSET 3;
-
SELECT
empleado_id, nombres, apellidos
FROM
empleados
ORDER BY
nombres
LIMIT 5 OFFSET 3;
-

SELECT
empleado_id, nombres, apellidos, salario
FROM
empleados
ORDER BY
salario
DESC LIMIT 5;
-

SELECT
empleado_id, nombres, apellidos, salario
FROM
empleados
ORDER BY
salario
DESC
LIMIT 1
OFFSET 1;
-

SELECT DISTINCT
salario
FROM
empleados
ORDER BY
salario
DESC
LIMIT 1
OFFSET 1;
-

SELECT
empleado_id, nombres, apellidos, salario
FROM
empleados
WHERE
salario = 17000;
-

SELECT
empleado_id, nombres, apellidos, salario
FROM
empleados
WHERE
salario = ( SELECT DISTINCT
salario
FROM
empleados
ORDER BY
salario
DESC
LIMIT 1
OFFSET 1
);
-

SELECT
empleado_id, nombres, apellidos, salario
FROM
empleados
ORDER BY
salario
DESC
OFFSET 5
ROWS FETCH NEXT 5 ROWS ONLY;
-

SELECT empleado_id,
nombres,
apellidos,
salario
FROM empleados
WHERE salario > 14000
ORDER BY salario DESC;
-

SELECT
empleado_id, nombres, apellidos, departamento_id
FROM
empleados
WHERE
departamento_id = 5
ORDER BY
nombres;
-
SELECT
empleado_id, nombres, apellidos
FROM
empleados
WHERE
apellidos = 'Chen';
-

SELECT
empleado_id, nombres, apellidos, fecha_ingreso
FROM
empleados
WHERE
fecha_ingreso >= '1999-01-01'
ORDER BY
-

SELECT
empleado_id, nombres, apellidos, fecha_ingreso
FROM
empleados
WHERE YEAR
(fecha_ingreso) = 1999
ORDER BY
fecha_ingreso
DESC;
-

SELECT
empleado_id, nombres, apellidos, departamento_id
FROM
empleados
WHERE
departamento_id <> 8 AND departamento_id <> 10
ORDER BY
nombres, apellidos;
-

SELECT
nombres, apellidos, salario
FROM
empleados
WHERE
salario > 5000 AND salario < 7000
ORDER BY
salario;
-

SELECT
nombres, apellidos, salario
FROM
empleados
WHERE
salario = 7000 OR salario = 8000
ORDER BY
salario;
-

SELECT nombres, apellidos, numero_telefono


FROM empleados
WHERE numero_telefono
IS NULL ORDER BY nombres, apellidos;
-
SELECT nombres, apellidos, salario
FROM empleados
WHERE salario BETWEEN 9000 AND 12000
ORDER BY salario;
-

SELECT nombres, apellidos, departamento_id


FROM empleados
WHERE departamento_id IN (8, 9)
ORDER BY departamento_id;
-
SELECT empleado_id, nombres, apellidos
FROM empleados
WHERE nombres LIKE 'jo%'
ORDER BY nombres;
-

SELECT empleado_id, nombres, apellidos


FROM empleados
WHERE nombres
LIKE '_h%'
ORDER BY nombres;
-

SELECT nombres, apellidos, salario


FROM empleados
WHERE salario >= ALL (
SELECT salario
FROM empleados
WHERE departamento_id = 8)
ORDER BY salario DESC;
-

SELECT nombres, apellidos, salario


FROM empleos
WHERE salario > ANY (
SELECT AVG(salario)
FROM empleos
GROUP BY departamento_id)
ORDER BY nombres, apellidos;
-

SELECT nombres, apellidos


FROM empleados e
WHERE EXISTS (
SELECT 1
FROM dependientes d
WHERE d.empleado_id = e.empleado_id);
-

SELECT nombres, apellidos, fecha_ingreso


FROM empleados
WHERE YEAR (fecha_inngreso) >= 1997
AND YEAR (fecha_ingreso) <= 1998;
-

SELECT empleado_id, nombres, apellidos, fecha_ingreso


FROM empleados
WHERE fecha_ingreso
NOT BETWEEN '1989-01-01'
AND '1992-12-31'
ORDER BY fecha_ingreso;
-
SELECT empleado_id, nombres, apellidos, departamento_id
FROM empleados
WHERE departamento_id
IN (2, 8);
-

SELECT empleado_id, nombres, apellidos, salario


FROM empleados
WHERE departamento_id IN (
SELECT departamento_id
FROM departamentos
WHERE departamento_nombre = 'Marketing'
OR departamento_nombre = 'Sales');
-

SELECT empleado_id, nombres, apellidos


FROM empleados
WHERE nombres
LIKE 'S%' AND nombres NOT LIKE 'Sh%'
ORDER BY nombres;
-

SELECT empleado_id, nombres, apellidos, numero_telefono


FROM empleados
WHERE numero_telefono
IS NOT NULL;
-

SELECT empleado_id, nombres, apellidos


FROM empleados e
WHERE NOT EXISTS (
SELECT empleado_id
FROM dependientes d
WHERE d.empleado_id = e.empleado_id);
-

SELECT e.nombres, e.apellidos


FROM empleados
AS e;
-

SELECT
e.nombres,
e.apellidos,
j.trabajo_nombre,
d.departamento_nombre
FROM
empleados e
INNER JOIN
departamentos d ON d.departamento_id = e.departamento_id
INNER JOIN
trabajos j ON j.trabajo_id = e.trabajo_id
WHERE
e.departamento_id IN (1, 2, 3);
-

SELECT
r.region_nombre,
c.pais_nombre,
l.direccion,
l.ciudad
FROM
regiones r
LEFT JOIN
paises c ON c.region_id = r.region_id
LEFT JOIN
ubicaciones l ON l.pais_id = c.pais_id
WHERE
c.pais_id IN ('US', 'UK', 'CN');
-

SELECT
e.nombres || ' ' || e.apellidos AS empleado,
m.nombres || ' ' || m.apellidos AS gerencia_id
FROM
empleados e
LEFT JOIN
empleados m ON m.empleado_id = e.gerencia_id
ORDER BY
gerencia_id;
-

SELECT
departamento_id,
COUNT(empleado_id) AS headcount
FROM
empleados
GROUP BY
departamento_id;
-

SELECT
e.departamento_id,
d.departamento_nombre,
e.empleado_id,
j.trabajo_nombre,
COUNT(e.empleado_id) AS employee_count
FROM
empleados e
INNER JOIN
departamentos d ON d.departamento_id = e.departamento_id
INNER JOIN
trabajos j ON j.trabajo_id = e.trabajo_id
GROUP BY
e.departamento_id,
d.departamento_nombre,
e.empleado_id,
j.trabajo_nombre;
-

SELECT
m.empleado_id AS gerencia_id,
m.nombres,
m.apellidos,
COUNT(e.empleado_id) AS direct_reports
FROM
empleados e
INNER JOIN
empleados m
ON
m.empleado_id = e.gerencia_id
GROUP BY
m.empleado_id,
m.nombres,
m.apellidos
HAVING
COUNT(e.empleado_id) >= 5;
-

SELECT
nombres, apellidos, salario
FROM
empleados
WHERE
salario = ANY(SELECT
AVG(salario)
FROM
empleados
GROUP BY
departamento_id)
ORDER BY nombres, apellidos, salario;
-

SELECT
empleado_id, nombrea, apellidos
FROM
empleados
WHERE EXISTS(SELECT NULL) ORDER BY
nombres , apellidos;
-

SELECT
nombres, apellidos
FROM
empleados
UNION SELECT
nombres, apellidos
FROM
dependientes
ORDER BY
apellidos;
-

SELECT
empleado_id
FROM
empleados MINUS
SELECT
empleado_id
FROM
dependientes
ORDER BY
empleado_id;
-

INSERT INTO
dependientes
(nombres, apellidos, vinculo, empleado_id)
VALUE
('Dustin',
'Johnson',
'Child',
178
);
-

SELECT
empleado_id, nombres, apellidos
FROM
empleados
WHERE
empleado_id = 192;
-

DELETE FROM
empleados
WHERE
empleado_id = 192;
-
CUESTIONES EN LA ENTREGA

1. Portada
2. Introducción
3. Índice
4. Desarrollo (incluir las salidas de las sentencias (imagen) y su respectiva descripción)
5. Conclusiones

Alonso Guevara Pérez, Profesor

También podría gustarte