Tarea Semana 6

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

ADMINISTRACIÓN DE BASE DE DATOS

SEMANA 6

CRISTIAN ANDRES MONTECINOS CONTRERAS


30 de Mayo del 2022
INGENIERIA EN INFORMATICA
Administradores de bases de datos - SQL.

DESARROLLO

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).
Respuesta
En referencia a la pregunta La base de datos de dicha empresa la conformaremos por las siguientes
tablas:
a) Empleado, formada por los siguientes campos:

 ID_Empleado
 Nombre.
 Apellidos.
 Dirección.
 Teléfono.
 Departamento
b) Sucursal, con los campos:

 ID_Sucursal
 Nom_Sucursal
c) Puestos, con los campos:

 ID_Puesto
 Nom_Puesto
 Salario
d) Turno, con los siguientes campos:

 ID_Turno
 Entrada
 Salida
 Colacion.
PUESTOS
PUESTO DE EMPLEO
ID PUESTO
NOM PUESTO
SALARIO

EMPLEADO
1
ID EMPLEADO
NOMBRE HORARIO ENTRADA, SALIDA Y COLACION
TURNO
APELLIDO ID TURNO
DIRECCION 1 ENTRADA
TELEFONO SALIDA
DEPARTAMENTO COLACION
1
EN QUE SUCURZAL TRABAJA
SUCURSAL
ID SUCURSAL
SUCURSAL

b) Crear las diferentes tablas que se requieren para este proceso (2 puntos).

Respuesta

Ya sabiendo que las tablas son las estructuras esenciales para el almacenamiento de toda la información
cuando nos referimosa la base de datos, para este caso, hay distintas formas para la creacion de tablas,
podremos ejecutarlo usando el modo gráfico el cual nos ofrece los gestores de bases de datos o tambien
usando el código SQL, como en el caso mostrado.

Con lo aprendido en este periodo las tablas estan formadas por filas y columnas, donde las primeras
representan cierta parte de los datos y las columnas vienen siendo una especie de componente la cual
indica que datos serán incluídos, en el caso que planteamos, podemos señalar como ejemplo, la columna
“nombre” dentro de la tabla “Empleado” la cual señala que incluiremos los nombres de lo empleados de
la empresa en cuestion.
Cuando especificamos la tabla, debemos señalar el tipo de dato que serán introducidos, refiriéndonos, a
números enteros, números reales, caracteres, expresión de tiempo, un string, entre otros. Un ejemplo, en
la tabla “Empleado” tenemos una columna llamada “dirección”, está por estar compuesta por texto y
posiblemente números, debemos señalar el tipo de dato “varchar” este admite texto y otros signos,
además de una longitud de 15, lo cual indicara, que será una línea con 15 caracteres.
Siendo la sintaxis que utilizaremos será la siguiente:
CREATE TABLE “nombre_tabla” (“columna1” “tipo de datos para la columna 1” “tamaño”, “columna2”
“tipo de datos para la columna 2” “tamaño”, …)

La creación de la tabla “Empleado”, en la base de datos “Control6”

CREATE TABLE `Control6`.`Empleado` ( `id_empleado` INT(16) NOT NULL , `nombre`


VARCHAR(20) NOT NULL , `apellidos` VARCHAR(20) NOT NULL , `direccion` VARCHAR(15)
NOT NULL , `telefono` INT(12) NOT NULL , `departamento` INT(15) NOT NULL , PRIMARY

La creación de la tabla “Puestos”, en la base de datos

CREATE TABLE `control6`.`Puestos` ( `id_puestos` INT(16) NOT NULL , `nom_puesto`


VARCHAR(20) NOT NULL , `salario` INT(10) NOT NULL , PRIMARY KEY (`id_puestos`))
ENGINE = InnoDB;

La creación de la tabla “Turnos”, en la base de datos

CREATE TABLE `control6`.`Turno` ( `id_turno` INT(16) NOT NULL , `entrada` INT(10) NOT
NULL , `salida` INT(10) NOT NULL , `colacion` INT(10) NOT NULL , PRIMARY KEY
(`id_turno`)) ENGINE = InnoDB;

La creación de la tabla “Sucursal” en la base de datos

CREATE TABLE `control6`.`Sucursal` ( `id_sucursal` INT(16) NOT NULL , `nom_sucursal`


VARCHAR(20) NOT NULL , PRIMARY KEY (`id_sucursal`)) ENGINE = InnoDB;

Se visualizara con la imagen el proceso:


Imagen 01 La tabla Empleado
Imagen 02 La tabla Puestos

Imagen 03 La tabla Sucursal


Imagen 04 La tabla Turno

c) Indexar dichas tablas de manera que pueda realizar consultas utilizando SQL, de forma rápida y
eficiente (1 punto).

Respuesta

Crearermos los índices para las tablas siguientes.

1. Empleado

2. Puestos

3. Sucursal

4. Turno

El índice nos sirvira para que podamos buscar los datos de manera mucho mas rápida, sin tener la
necesidad que recorramos la tabla completa

buscando específicamente algo.

CREATE INDEX Clave_Empleado ON empleado (id_empleado);


Creancion del índice como se aprecia en la siguiente imagen:

CREATE INDEX Clave_Empleado ON puestos (id_puestos);

Creancion del índice como se aprecia en la siguiente imagen::

CREATE INDEX Clave_Empleado ON sucursal (id_sucursal);


Creancion del índice como se aprecia en la siguiente imagen:

CREATE INDEX Clave_Empleado ON turno (id_turno);

Creancion del índice como se aprecia en la siguiente imagen:

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).

Respuesta

Las tablas de los empleados:

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (01,'Joaquin','Quintana Novoa','Calle Siempre
Viva',932165498,'Informática');
INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,
`departamento`) VALUES (02,'Carlos','Pezoa Gaete','Calle Springfield',962518479,'Recursos
Humanos');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (03,'Stephen','Hawking','Calle Camino al
cielo',955555555,'Inventario');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (04,'Alberto','Einstein Pierrot','Calle Camino al
cielo',966666666,'Informática');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (05,'Isaac','Newton Castillo','Calle Siempre
Muerta',977777777,'Mecánica');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (06,'Valentina','Roth Subiabre','Calle Siempre
Lista',988888888,'Recursos Humanos');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`,


`telefono`, `departamento`) VALUES (07,'Jack','El Destripador','Calle Los
Girasoles',966655666,'Recursos Humanos');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (08,'Camilo','Henríquez','Calle Puro Chile',914253678,'Estadística');

INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,


`departamento`) VALUES (09,'Rodrigo','Rojas de Negri','Calle Los
Litres',789475613,'Estadística');
INSERT INTO `empleado`(`id_empleado`, `nombre`, `apellidos`, `direccion`, `telefono`,
`departamento`) VALUES (10,'Ernestina','Huenchuleo Huenchullan','Calle Las
Araucarias',777892166,'Gerencia');

Las tablas de los puestos:


INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (1,'Gerencia',10000000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (2,'Informática',1500000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (3,'Recursos


Humanos',2500000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (4,'Mecánica',800000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (5,'Estadística',1800000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (6,'Mantención',950000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES


(7,'Comunicaciones',1000000);
INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (8,'Dirección',1800000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (9,'Secretaría',800000);

INSERT INTO `puestos`(`id_puestos`, `nom_puesto`, `salario`) VALUES (10,'Secretaría


Dirección',1800000);

Las tablas de las sucursales:

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (1,'Temuco');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (2,'Temuco 2');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (3,'Angol');


INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (4,'Angol_Deuco');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (5,'Los Angeles');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (6,'Collipulli');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (7,'Cañete');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (8,'Los Sauces');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (9,'Los Sauces 2');

INSERT INTO `sucursal`(`id_sucursal`, `nom_sucursal`) VALUES (10,'Tijerales');


Las tablas de los turnos:

INSERT INTO `turno`(`id_turno`, `entrada`, `salida`, `colacion`) VALUES (1,800,2000,1300);

INSERT INTO `turno`(`id_turno`, `entrada`, `salida`, `colacion`) VALUES (2,800,1400,1300);

INSERT INTO `turno`(`id_turno`, `entrada`, `salida`, `colacion`) VALUES (3,1400,2000,1900);

INSERT INTO `turno`(`id_turno`, `entrada`, `salida`, `colacion`) VALUES (4,2200,800,0000);

e) Ejecutar una consulta donde se muestren todos los empleados existentes con sus beneficios
contractuales asociados (2 puntos).

Respuesta

SELECT * FROM `empleado`


INNER JOIN puestos
ON puestos.nom_puesto = empleado.nombre

Obteniéndo como resultado en la siguiente imagen:


REFERENCIAS BIBLIOGRÁFICAS
IACC. (2022). : ADMINISTRADORES DE BASES DE DATOS - SQL.. - DBMS. SEMANA 6

También podría gustarte