Guía de Aplicación para Base de Datos (Para Revisión)

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

GUÍA DE

APLICACIÓN
PARA BASE DE
DATOS

ING. GABRIEL FIENCO ARELLANO, MGS.


GUÍA DE APLICACIÓN PARA BASE DE DATOS

ÍNDICE GENERAL

ÍNDICE GENERAL..........................................................................................................2

PRESENTACIÓN.............................................................................................................3

OBJETIVO GENERAL....................................................................................................4

OBJETIVOS ESPECÍFICOS............................................................................................4

TABLA DE CONTENIDOS.............................................................................................5

1. Unidad 1: Introducción a las bases de datos, modelo conceptual y modelo


entidad–relación.............................................................................................................6
1.1 Objetivo de la unidad......................................................................................6
1.2 Resultado de Aprendizaje...............................................................................6
1.3 Talleres de la unidad 1....................................................................................6
2. Unidad 2: Diseño lógico, normalización y algebra relacional............................16
2.1 Objetivo de la unidad....................................................................................16
2.2 Resultado de Aprendizaje.............................................................................16
2.3 Laboratorios de la unidad 2...........................................................................16
3. Unidad 3: SQL (data, retrieve language, data manipulation language, data
definition language, data control language).................................................................24
3.1 Objetivo de la unidad....................................................................................24
3.2 Resultado de Aprendizaje.............................................................................24
3.3 Laboratorios de la unidad 3...........................................................................24
BIBLIOGRAFÍA.............................................................................................................39

ANEXOS.........................................................................................................................40

ING. GABRIEL FIENCO, MGS. 2


GUÍA DE APLICACIÓN PARA BASE DE DATOS

PRESENTACIÓN

El desarrollo de métodos para la administración de la información genera necesidades


continuas en el mundo actual y por este motivo los sistemas gestores de base de datos
han ido evolucionando con el pasar de los años, el ámbito virtual ha impulsado el
aprendizaje de una manera exponencial y es un requerimiento obligatorio en la
educación de nuestra era. Los temas para tratar en la guía de Base de Datos se ven
respaldados por la herramienta de gestión, de tipo community, de uno de los mejores
proveedores en esta área, MySQL versión 8, y cada uno de los talleres y ejercicios
tienen como propósito desarrollar nuevas habilidades de entendimiento a nivel teórico y
de software en los estudiantes que cursan la materia a tratar.

La guía plantear llevar aquellas prácticas que se han logrado desarrollar con resultados
muy buenos, presentando lo que esperamos de cada uno e incentivando a los alumnos a
generar sus propias conclusiones de cada método y resultado individual obtenido.

Se incluye tópicos que van desde la generación de un diagrama Entidad-Relacional,


hasta la generación de un Modelo Relacional gestionado mediante el software MySQL.
Los alumnos estarán en la capacidad de administrar dichas bases, crear tablas, insertar
valores y más que nada realizar consultas a la información almacenada, considerando
que por esto SQL significa (en español) lenguaje estructurado de consultas.

En esta edición, se desea dar las primeras referencias para aportar en la formación
académica de profesionales con excelentes bases en el área ya mencionada, y que
aprecien desde un punto de vista práctico el manejo de los equipos que encontrarán en
vida profesional.

ING. GABRIEL FIENCO, MGS. 3


GUÍA DE APLICACIÓN PARA BASE DE DATOS

OBJETIVO GENERAL

Gestionar las bases de datos, incluyendo modelado, diseño, desarrollo e implementación


a través de los motores y gestores del lenguaje estructurado de consultas predominantes
en el ámbito laboral.

OBJETIVOS ESPECÍFICOS

 UNIDAD 1: Proporcionar una visión general del propósito y fundamento de los


sistemas de bases de datos, entendiendo su desarrollo, características usuales y lo que
proporciona al usuario su diseño.

 UNIDAD 2: Conocer los comandos relacionados a lenguaje estructurado de


consultas, SQL, que es utilizado por los gestores de base de datos a nivel mundial.

 UNIDAD 3: Diseñar los objetos y las transacciones de una base de datos,


involucrados en la representación de uno o varios procesos de un modelo de
negocios, utilizando técnicas para modelar datos.

ING. GABRIEL FIENCO, MGS. 4


GUÍA DE APLICACIÓN PARA BASE DE DATOS

TABLA DE CONTENIDOS

1. Unidad 1: Introducción 2.3.1 Taller # 5


a las bases de datos, modelo Normalización de Tablas..........................................
conceptual y modelo entidad– 2.3.2 Taller # 6 Definición de
relación 6 la base de datos: SQL DDL......................................
1.1 Objetivo de la unidad 2.3.3 Taller # 7 Manipulación
6 de la base de datos: SQL DDL.................................
1.2 Resultado de ………………………………22
Aprendizaje 6
3. Unidad 3: SQL (data,
1.3 Talleres de la unidad
retrieve language, data
1 6
manipulation language, data
1.3.1 Taller # 1 Mi primera
definition language, data control
base de datos – implementación
language)..................................................................
con Microsoft Access7
3.1 Objetivo de la unidad..................................
1.3.2 Taller # 2 Diagrama
Entidad-Relación 1 11
3.2 Resultado de
1.3.3 Taller # 3 Asignación
Aprendizaje..............................................................
de atributos a entidades 12
3.3 Laboratorios de la
1.3.4 Taller # 4 Diagrama
unidad 3....................................................................
Entidad-Relación 2 -
3.3.1 Taller # 8 SELECT
Cardinalidad 14
usando tablas múltiples,
2. Unidad 2: Diseño
UPDATE y DELETE...............................................
lógico, normalización y algebra
3.3.2 Taller # 9 Manejo de
relacional 16
sentencias, Vistas,
2.1 Objetivo de la unidad
Procedimientos, Funciones y
16
Usuarios....................................................................
2.2 Resultado de
3.3.3 Taller # 10 Ejercicios
Aprendizaje 16
de Consultas.............................................................
2.3 Laboratorios de la
unidad 2 16
ING. GABRIEL FIENCO, MGS. 5
GUÍA DE APLICACIÓN PARA BASE DE DATOS

ING. GABRIEL FIENCO, MGS. 6


GUÍA DE APLICACIÓN PARA BASE DE DATOS

1. Unidad 1: Introducción a las bases de datos, modelo conceptual y modelo


entidad–relación

1.1 Objetivo de la unidad

Proporcionar una visión general del propósito y fundamento de los sistemas de bases de
datos, entendiendo su desarrollo, características usuales y lo que proporciona al usuario
su diseño.

1.2 Resultado de Aprendizaje

Conoce los conceptos básicos y la evolución de las bases de datos, y tiene conocimiento
suficiente para elaborar modelos entidad relación.

1.3 Talleres de la unidad 1

La unidad 1 se compone de una serie de talleres que sirven como introducción al


estudiante para familiarizarse con el diseño de diagramas entidad-relación, los mismos
son:
 Taller # 1 Mi primera base de datos – implementación con Microsoft Access
 Taller # 2 Diagrama Entidad-Relación 1
 Taller # 3 Asignación de atributos a entidades
 Taller # 4 Diagrama Entidad-Relación 2 - Cardinalidad

ING. GABRIEL FIENCO, MGS. 7


GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.1 Taller # 1 Mi primera base de datos – implementación con Microsoft Access

Objetivo:
 Familiarizar al alumnado con la herramienta gestora de base de datos de la
paquetería de utilitarios de Office, muy utiliza para la gestión y manejo de
información.

Procedimiento:
1. Abra Access y elija New, Blank Database (base de datos nueva en blanco), guarde la
base de datos con el nombre del archivo de db1 a MiMusica.

Figura 1. Creación de una nueva base de datos.

2. Con esto ya accedemos a la base de datos MiMusica, borre cualquier tabla


existente. Elija la cinta Crear y seleccione Diseño de Tabla.
3. En la ventana Tabla1 que aparece, ingrese los nombres de campo y tipos de datos
para todos los campos de su tabla.

Figura 2. Vista de diseño.

ING. GABRIEL FIENCO, MGS. 8


GUÍA DE APLICACIÓN PARA BASE DE DATOS

4. En la primera línea bajo Field Name (nombre de campo) escriba título. En la


ventana Data Type en la misma línea, dé clic en la flecha abajo para ver los tipos de
datos disponibles. Elija text.
5. Baje a la ventana Field Properties (propiedades de campo) y escriba 35 como el
tamaño del campo.

Figura 3. Inserción del primer campo y su tamaño.

6. Muévase a la segunda línea bajo field name e ingrese el nombre de campo:


a. artista, datos text, tamaño 20.
b. fechaAdquisición, date/time
c. estatus con tipo de datos text, tamaño 10.
7. Luego, del menú Access, elija File, Save As, y escriba el nombre de tabla Música.
8. Obtendrá un mensaje que le recuerda que no especificó una clave y le preguntará si
le gustaría que Access cree una por usted. Elija yes. Access agregará un campo ID
con tipo de datos AutoNumber. Cierre la tabla.

ING. GABRIEL FIENCO, MGS. 9


GUÍA DE APLICACIÓN PARA BASE DE DATOS

Figura 4. Creación de la primera tabla, “Música”.

9. Cree una segunda tabla de amigos que pudieran pedirle prestada su música.
10. El primer campo es apellido, tipo de datos text 20. Esta vez creará su propia clave
que consiste en apellido. Para hacerlo, mueva el cursor a la columna justo a la
izquierda de apellido y dé clic en el ícono key en la barra de herramientas Access.
Continúe para crear el resto de los campos:
a. nombre text 15
b. códigoPostal text 3
c. teléfono text 7
11. Guarde esta tabla como Amigos.

12. Cree una tercera tabla, Préstamo, con campos


a. ID Number Long Integer
b. apellido text 20
c. fechaPréstamo date/time
d. fechaRegreso date/time
13. Esta tabla necesita una clave compuesta que consiste en ID y apellido. Para crear la
clave compuesta, mueva el cursor a la primera columna a la izquierda de ID y, con
el botón del ratón presionado, mueva el ratón abajo una línea para seleccionar tanto
la línea ID como la de apellido. Con ambos resaltados, dé clic en el ícono key.
14. Guarde la tabla como Préstamo.

15. Para crear relaciones entre las tablas, dé clic en el ícono Relationships en la barra de
herramientas Access. Consiste en tres rectángulos conectados mediante líneas. En la
ventana Show Table que aparece, resalte Música (Music), dé clic en el botón Add,

1
ING. GABRIEL FIENCO, MGS.
0
GUÍA DE APLICACIÓN PARA BASE DE DATOS

resalte Préstamo, haga clic en Add, resalte Amigos, haga clic en Add, luego clic en
Close.

16. Dé clic en apellido en Amigos y arrastre a apellido en Préstamo. En la ventana Edit


Relationship que aparece, debe ver ambos campos mencionados. Marque el
recuadro Enforce referential integrity (fortalecer integridad referencial) y luego dé
clic en el botón Create. De igual manera, realizarlo con el campo id.

17. El resultado final nos da una relación como la primera figura de este taller.

Pregunta #1: En sus palabras, ¿cuál es el objetivo de definir un primary key?


Pregunta #2: ¿A qué hemos llamados campos y registros en este ejercicio
introductorio a la materia?

1
ING. GABRIEL FIENCO, MGS.
1
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.2 Taller # 2 Diagrama Entidad-Relación 1

Figura 5. Símbolos básicos para diagramas E-R.

Objetivo:
 Diseñar un diagrama entidad-relación en base a las necesidades planteadas por un
usuario, cliente o a nivel empresarial interno.

Requerimientos:
Plantee una relación entre la siguiente información:
1. En el tecnológico debemos llevar un archivo maestro que contenga la relación entre
los alumnos y sus carreras, obviamente también se deberá saber la relación entre
ellos con sus materias y profesores.

2. Queda a criterio suyo indicar que campos le agregará a cada elemento.

Pregunta #1: ¿Cuántas entidades necesitará este requerimiento?


Pregunta #2: ¿Cuántas relaciones necesitará este requerimiento?

1
ING. GABRIEL FIENCO, MGS.
2
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.3 Taller # 3 Asignación de atributos a entidades

Figura 6. Entidad con sus atributos, características.

Objetivo:
 Asignar atributos a las siguientes entidades, basándose en los requerimientos que se
plantean.
Requerimientos:
DISTRIBUIDOR AUTOS AMISTOSOS
Descripción general
Autos Amistosos es un distribuidor que ofrece automóviles nuevos de un solo
fabricante. El distribuidor se ubica en un suburbio de una gran ciudad. Sus ventas brutas
superan un millón de dólares anuales. Tiene 10 empleados: Jim Amistoso
(dueño/gerente), ocho vendedores y un administrador. La mayoría de sus clientes son
del área vecina y saben del distribuidor por comentarios personales; por comerciales en
periódico, radio y televisión; por Internet, o por referencia de servicios de compra.

Necesidades de información
1. Calcomanía de precio. La calcomanía de precio que viene con el automóvil cuando
se embarca del fabricante contiene toda la información básica acerca del automóvil.
Incluye una ID de vehículo que identifica de manera única al vehículo y está
físicamente incrustada en la carrocería del automóvil. La calcomanía también
proporciona el precio de lista, modelo, fecha de fabricación, número de cilindros,

1
ING. GABRIEL FIENCO, MGS.
3
GUÍA DE APLICACIÓN PARA BASE DE DATOS

capacidad, y color. El distribuidor agrega la fecha cuando se entregó el automóvil y


el kilometraje al momento de la entrega.
2. Datos del cliente. El vendedor obtiene información de contacto básica del cliente
cuando le da la bienvenida a la sala de exhibición. Cuando se realiza una venta se
recopila información de cliente adicional. Jim también busca reunir nombres y
direcciones de potenciales clientes mediante referencias, tarjetas de respuesta de
periódicos y revistas, y otras fuentes. Éstas se usan para enviar por correo material
promocional a clientes en potencia.
3. Factura de venta. Cuando el automóvil se entrega al cliente, se le proporciona a
éste una factura de venta completa (que muestra la información del cliente, nombre
del vendedor, ID del vehículo, kilometraje actual y todas las especificaciones,
incluida cualquier personalización adicional, financiamiento, información de
garantía, información de licencia y seguro, precio y otros detalles más), y una copia
se conserva en la distribuidora. Esta factura de venta es la misma, ya sea que el auto
sea nuevo o usado.
4. Reporte de desempeño de vendedor. A Jim le gustaría un reporte mensual que
resuma las ventas de cada vendedor durante el mes anterior. La cantidad de
comisión que gana también se muestra en el reporte.
5. Encuesta de satisfacción del cliente. Dentro de un mes posterior a cada venta, el
distribuidor envía una encuesta al nuevo propietario, donde plantea preguntas acerca
de la opinión que el cliente tiene del automóvil, el distribuidor y el vendedor.

Nota: Debe crear al menos 5 ENTIDADES, una por literal, no se solicita la relación
entre ellas. Solo debe hacer la asignación de atributos para cada entidad

a. Haga clic en PC1 y, a continuación, haga clic en la ficha Desktop (Escritorio).


b. Haga clic en Indicador del sistema.
c. Haga ping a la dirección IP de la PC2.
d. Haga ping a la dirección IP del S1.
e. Haga ping a la dirección IP del S2.

1
ING. GABRIEL FIENCO, MGS.
4
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.4 Taller # 4 Diagrama Entidad-Relación 2 - Cardinalidad

(1) (2) (3) (4)


Figura 7. Cardinalidad (1) uno a uno, (2) uno a muchos, (3) muchos a uno y (4) muchos a muchos.

Objetivo:
 Diseñar un diagrama que cuenta con la asignación de cardinalidades entre entidades.

Requerimientos:
Ejercicio 1:
1. Considere el conjunto de entidades Empleado con atributos empId, socSecNo,
empNombre, titulopuesto y salario.
a. Muestre cómo el conjunto de entidades y sus atributos se representarían
en un diagrama E-R.
b. Identifique una clave primaria para el conjunto de entidades y subráyelo
en el diagrama E-R.

2. Suponga en la misma empresa, que existe un conjunto de entidades llamado


Proyecto con atributos proyNombre, fechaInicio, fechaFin y presup.
a. Muestre cómo se representarían este conjunto de entidades y su relación
con Empleado en el diagrama E-R.
b. Suponga que quiere representar el número de horas que se asignan a un
empleado para trabajar en un proyecto y muéstrelo en el diagrama.

3. Suponga que debe agregar otra entidad llamada Departamento. Cada empleado
trabaja sólo para un departamento. Los proyectos no los patrocina directamente un
departamento.

1
ING. GABRIEL FIENCO, MGS.
5
GUÍA DE APLICACIÓN PARA BASE DE DATOS

a. Elabore los atributos necesarios y agregue esta entidad y las relaciones


adecuadas al diagrama.
NOTA: Impleméntelo con las suposiciones que considere necesarias.

Ejercicio 2:
1. Diseñe una base de datos para conservar los datos de:
a. estudiantes universitarios,
b. Sus consejeros académicos,
c. los clubes a los que pertenecen,
d. los moderadores de los clubes
e. y las actividades que patrocina cada club.

2. Suponga que a cada estudiante se le asigna un consejero académico, pero un


consejero aconseja a muchos estudiantes. Los consejeros no tienen que ser
miembros del personal docente.

3. Cada estudiante puede pertenecer a cualquier número de clubes, y los clubes pueden
patrocinar cualquier número de actividades. El club debe tener algunos miembros
estudiantes con la finalidad de existir. Cada actividad está patrocinada por
exactamente un club, pero puede haber muchas actividades programadas para un
día.

4. Cada club tiene un moderador, quien puede o no ser miembro del personal docente.

5. Dibuje un diagrama E-R completo para este ejemplo.

1
ING. GABRIEL FIENCO, MGS.
6
GUÍA DE APLICACIÓN PARA BASE DE DATOS

2. Unidad 2: Diseño lógico, normalización y algebra relacional

2.1 Objetivo de la unidad

Conocer los comandos relacionados a lenguaje estructurado de consultas, SQL, que es


utilizado por los gestores de base de datos a nivel mundial.

2.2 Resultado de Aprendizaje

Manipula las tablas o relaciones por medio de las operaciones definidas en el álgebra
relacional.

2.3 Laboratorios de la unidad 2

La unidad 2 se compone de talleres que sirven como siguiente paso al estudiante para
familiarizarse con el lenguaje de consultas estructurado por medio del sistema gestor,
los mismos son:
 Taller # 5 Normalización de Tablas
 Taller # 6 Definición de la base de datos: SQL DDL
 Taller # 7 Manipulación de la base de datos: SQL DDL

1
ING. GABRIEL FIENCO, MGS.
7
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.5 Taller # 5 Normalización de Tablas

Figura 8. Relaciones de las Formas Normales.

Objetivo:
 Entender las características de las formas normales y su necesidad como buenas
prácticas durante el diseño de un modelo relacional.

Requerimiento:
1. Para resumir las varias formas normales definidas mediante dependencias
funcionales, considere la siguiente relación que almacena información acerca de
proyectos en una gran empresa:
a. Work (projName, projMgr, empId, hours, empName, budget, startDate,
salary, empMgr, empDept, rating)

Se hacen las siguientes suposiciones:


2. Cada proyecto tiene un nombre único.
3. Aunque los nombres de proyecto son únicos, los nombres de los empleados y
supervisores no lo son.
4. Cada proyecto tiene un supervisor, cuyo nombre se almacena en projMgr.
5. Muchos empleados se pueden asignar para trabajar en cada proyecto, y un empleado
se puede asignar a más de un proyecto. El atributo hours dice el número de horas

1
ING. GABRIEL FIENCO, MGS.
8
GUÍA DE APLICACIÓN PARA BASE DE DATOS

por semana que un empleado particular se asigna para trabajar en un proyecto


particular.
6. Budget almacena la cantidad presupuestada para un proyecto, y startDate da la
fecha de inicio para un proyecto.
7. Salary proporciona el salario anual de un empleado.
8. empMgr proporciona el nombre del supervisor del empleado, que puede no ser el
mismo que el supervisor del proyecto.
9. empDept proporciona el departamento del empleado. Los nombres de departamento
son únicos. El supervisor del empleado es el supervisor del departamento del
empleado.
10. Rating proporciona la calificación del empleado para un proyecto particular. El
supervisor del proyecto asigna la calificación al final del trabajo del empleado en
dicho proyecto.

11. Figura 9. Tabla Work.

12. Sobre el modelo relacional de la figura 9 implemente la primera, segunda y


tercera forma normal.

1
ING. GABRIEL FIENCO, MGS.
9
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.6 Taller # 6 Definición de la base de datos: SQL DDL

Figura 10. Ejemplos de tipos de datos más comunes en MySQL.

Objetivo:
 Conocer el lenguaje de definición de datos por medio del gestor MySQL.

Ejercicio 1:
Restricciones – usando AUTO_INCREMENT.
1. El atributo AUTO_INCREMENT puede ser usado para generar un identificador
único para cada nueva fila:

CREATE TABLE animals (


id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);

INSERT INTO animals (name) VALUES


('dog'),('cat'),('penguin'),
('lax'),('whale'),('ostrich’);

2. ¿Se generó algún error?, verifique las comillas.

2
ING. GABRIEL FIENCO, MGS.
0
GUÍA DE APLICACIÓN PARA BASE DE DATOS

SELECT * FROM animals;

3. ¿Usted ingreso la columna “id”?, justifique su respuesta.

Ejercicio 2:
Restricciones – usando CHECK y LIKE.
1. Restricciones en la data a insertar.
Nota: Verifique la sintaxis si se genera algún error al transcribir o copiar y
pegar.

CREATE TABLE personas (


id MEDIUMINT NOT NULL AUTO_INCREMENT,
nomper CHAR(30) NOT NULL,
PRIMARY KEY (id),
CHECK (nomper LIKE 'Juan’)
);

INSERT INTO personas (nomper) VALUES ('Juan’);


INSERT INTO personas (nomper) VALUES ('Luis');

SELECT * FROM personas;

2. ¿Se inserto el valor Luis?, justifique su respuesta.

Ejercicio 3:
Mapeo de un modelo E-R a un modelo relacional
1. Implemente en MySQL las tablas y campos, con sus respectivas PK y FK para el
modelo relacional de la figura 11 - 2.

2
ING. GABRIEL FIENCO, MGS.
1
GUÍA DE APLICACIÓN PARA BASE DE DATOS

(1)

(2)
Figura 11. Mapeo de un modelo E-R (1) a un modelo relacional (2).

2. Queda a su disposición el uso de las sentencias: CREATE, USE, ALTER,


RENAME y DROP.

2
ING. GABRIEL FIENCO, MGS.
2
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.7 Taller # 7 Manipulación de la base de datos: SQL DDL

Objetivo:
 Familiarizarse con el lenguaje de manipulación de datos por medio del gestor
MySQL.

Procedimiento:
1. Implemente las siguientes sentencias en el gestor de base de datos, analice aquellas
que contengan las palabras reservadas INSERT y SELECT:

CREATE DATABASE empleados; #INSERCIÓN DE VALORES


USE empleados;
INSERT INTO usuarios (nombre, edad)
#CREACIÓN DE TABLAS VALUES
("Pedro", 24),
CREATE TABLE usuarios( ("Maria", 26),
id MEDIUMINT NOT NULL ("Juan", 28),
AUTO_INCREMENT, ("Luis", 35),
nombre VARCHAR(30) NOT NULL, ("Monica", 42),
edad INTEGER(30), ("Rosa", 43),
salario INTEGER(30), ("Susana", 45);
##ojo error al crear, analizar SELECT * FROM usuarios;
como borrar.
CONSTRAINT id_pk PRIMARY INSERT INTO sueldos (id_1, salario)
KEY (id) VALUES
); (2, 2100),
ALTER TABLE usuarios DROP (6, 2400),
COLUMN salario; (7, 2500),
#ALTER TABLE "nombre_tabla" DROP (5, 2800),
COLUMN "nombre_columna"; (4, 3000),
(3, 2500),
CREATE TABLE sueldos( (1, 3900);
id_1 MEDIUMINT NOT NULL, SELECT * FROM sueldos;
salario INTEGER(30),
CONSTRAINT id_1_fk FOREIGN INSERT INTO departamento (id_2, area)
KEY (id_1) REFERENCES usuarios (id) VALUES
); (1, "administrativo"),
(4, "operativo"),
CREATE TABLE departamento( (2, "administrativo"),
id_2 MEDIUMINT NOT NULL, (5, "operativo"),
area VARCHAR(30) NOT NULL, (7, "operativo"),
CONSTRAINT id_2_fk FOREIGN (3, "administrativo"),
KEY (id_2) REFERENCES usuarios (id) (6, "administrativo");
); SELECT * FROM departamento;

2. ¿Qué se aprecia como resultado de cada una de las siguientes consultas?

2
ING. GABRIEL FIENCO, MGS.
3
GUÍA DE APLICACIÓN PARA BASE DE DATOS

a. SELECT nombre FROM usuarios WHERE nombre='Juan’;


b. SELECT id,nombre,edad FROM usuarios WHERE id=7;
c. SELECT nombre FROM usuarios WHERE edad>40;
d. SELECT nombre FROM usuarios WHERE (edad>40) AND (edad<30);
e. SELECT id,nombre FROM usuarios WHERE (edad>40) OR (edad<30);

3. Debata en clase el porqué de cada sentencia del literal anterior.

2
ING. GABRIEL FIENCO, MGS.
4
GUÍA DE APLICACIÓN PARA BASE DE DATOS

3. Unidad 3: SQL (data, retrieve language, data manipulation language, data


definition language, data control language)

3.1 Objetivo de la unidad

Diseñar los objetos y las transacciones de una base de datos, involucrados en la


representación de uno o varios procesos de un modelo de negocios, utilizando técnicas
para modelar datos.

3.2 Resultado de Aprendizaje

Utiliza el lenguaje de operaciones comerciales SQL sobre el modelo lógico de datos de


un modelo de negocio.

3.3 Laboratorios de la unidad 3

La unidad 3 se compone de una serie de talleres que suman los conocimientos de las
unidades anteriores para las tareas que debe realizar un administrador de base de datos,
DBA.
 Taller # 8 SELECT usando tablas múltiples, UPDATE y DELETE
 Taller # 9 Manejo de sentencias, Vistas, Procedimientos, Funciones y Usuarios
 Taller # 10 Ejercicios de Consultas

2
ING. GABRIEL FIENCO, MGS.
5
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.8 Taller # 8 SELECT usando tablas múltiples, UPDATE y DELETE

Figura 12. SELECT Statement.

Objetivo:
 Realizar consultas anidadas, y con información entre múltiples tablas.

Procedimiento:
1. Cargue y ponga en uso nuevamente el script del TALLER # 7.
2. La opción ORDER BY (ordenar por) en el SELECT de SQL permite ordenar los
registros recuperados en orden ascendente (ASC, por defecto) o descendente
(DESC) en cualquier campo o combinación de campos, sin importar si dicho campo
aparece en los resultados. Si se ordenan por más de un campo, el que se nombró
primero determina orden mayor, el siguiente orden menor, etcétera.
a. SELECT “columna1”, “columna2”, ... FROM “tabla”
ORDER BY “columna1”, “columna2”, ... ASC|DESC;

3. Requisito previo, ingrese nuevos usuarios con nombres repetidos.

4. Ejecute la sentencia y debata en clase los resultados:

2
ING. GABRIEL FIENCO, MGS.
6
GUÍA DE APLICACIÓN PARA BASE DE DATOS

a. SELECT nombre, edad FROM usuarios ORDER BY nombre ASC;


b. SELECT * FROM sueldos ORDER BY salario DESC;

5. Ejecute las sentencias y compare los resultados. ¿Es la información utilizada de una
sola tabla o varias?
a. SELECT nombre,edad,salario FROM usuarios,sueldos WHERE
salario>2500 AND usuarios.id=sueldos.id_1 ;
b. SELECT nombre, salario FROM usuarios INNER JOIN sueldos ON
usuarios.id = sueldos.id_1;

6. UNION comando combina el conjunto de resultados de dos o más instrucciones


SELECT (solo valores distintos).
a. SELECT * FROM usuarios;
b. SELECT * FROM departamento;

c. SELECT nombre FROM usuarios


d. UNION
e. SELECT area FROM departamento;

7. UNION ALL comando combina el conjunto de resultados de dos o más


instrucciones SELECT (permite valores duplicados).
a. SELECT nombre FROM usuarios
b. UNION ALL
c. SELECT area FROM departamento;

8. ¿Existió alguna diferencia entre las sentencias de la sección 6 y 7?

9. La función COUNT () devuelve el número de filas que coinciden con un criterio


específico.
10. La función AVG () devuelve el valor promedio de una columna numérica.
11. La función SUM () devuelve la suma total de una columna numérica.
12. La función MIN () devuelve el valor más pequeño de la columna seleccionada.
13. La función MAX () devuelve el valor más grande de la columna seleccionada.

2
ING. GABRIEL FIENCO, MGS.
7
GUÍA DE APLICACIÓN PARA BASE DE DATOS

14. Hay que considerar que no debe existir espacio entre la “agregación” y el
paréntesis.
a. SELECT COUNT(nombre) FROM usuarios;
b. SELECT MAX(edad) FROM usuarios;
c. SELECT nombre, MAX(edad) FROM usuarios;
d. SELECT MIN(salario) FROM SUELDOS;
e. SELECT id_1, MIN(salario) FROM SUELDOS;

15. Demuestre como ver solamente el nombre del empleado con el sueldo más bajo,
en ese orden, es decir, columna 1 debe ser nombre y columna 2 sueldo.

16. Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT,
UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden
utilizar en cualquier parte en la que se permita una expresión.

17. Presente el nombre del o los usuarios cuya edad sea 42 años. Ambas columnas están
dentro de una misma tabla.
a. SELECT nombre FROM usuarios
WHERE edad IN (SELECT edad FROM usuarios WHERE edad=42);

18. Presente el nombre del o los usuarios cuyo salario es mayor a 3000 (nótese que esta
consulta requiere información de 2 tablas diferentes).
a. SELECT nombre FROM usuarios
WHERE id = (SELECT id_1 FROM sueldos WHERE salario>3000);

19. Ahora utilice el >=, nótese que en estos casos se recomienda el uso del IN.
a. SELECT nombre FROM usuarios
WHERE id IN (SELECT id_1 FROM sueldos WHERE salario>=3000);

20. DELETE.- Se usa para borrar registros. El número de registros borrados puede ser
cero, uno o muchos, dependiendo de cuántos satisfagan el predicado.
a. DELETE FROM departamento;

2
ING. GABRIEL FIENCO, MGS.
8
GUÍA DE APLICACIÓN PARA BASE DE DATOS

21. ¿Qué paso después de ejecutar la sentencia anterior, se considera correcto su


uso de esta manera?, inserte nuevamente los registros usando el script original.
22. Agregando el WHERE puedo eliminar registros únicos.
23. Elimine todos los registros de departamento: 1ero por id, los restantes de manera
general usando sus areas (administrativo y operative).

24. La instrucción UPDATE se usa para modificar los registros existentes en una tabla.

a. UPDATE tabla
b. SET columna1 = valor1, columna2 = valor2, ...
c. WHERE condición;

25. Sin el WHERE notará que la modificación se aplica en TODA la columna!!!


26. Usando la siguiente sentencia valide si al campo id_2 con valor 1 se actualiza su
área:
a. SELECT * FROM departamento;
b. UPDATE departamento SET area="logistica";

27.

2
ING. GABRIEL FIENCO, MGS.
9
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.9 Taller # 9 Manejo de sentencias, Vistas, Procedimientos, Funciones y


Usuarios

Objetivo:
 Implementar secuencias de automatización de procesos repetitivos, tomando como
base los conocimientos de sentencias de lenguaje de programación generales.

Procedimiento:
1. El COMMIT hace permanentes los cambios realizados desde el comienzo de la
transacción actual, que es o el comienzo de la sesión o el momento desde el último
COMMIT o ROLLBACK.
2. El ROLLBACK deshace los cambios realizados por la transacción actual. Es
aconsejable escribir COMMIT con frecuencia para guardar los cambios mientras
trabaja.
DROP TABLE IF EXISTS customer;
CREATE TABLE IF NOT EXISTS customer (a INT, b CHAR (20));

-- Do a transaction with autocommit turned on.


START TRANSACTION;
INSERT INTO customer VALUES (10, 'Heikki');
COMMIT;

-- Do another transaction with autocommit turned off.


SET autocommit=0;
INSERT INTO customer VALUES (15, 'John'); INSERT INTO
customer VALUES (20, 'Paul');
DELETE FROM customer WHERE b = 'Heikki'; SELECT * FROM
customer;

-- Now we undo those last 2 inserts and the delete.


ROLLBACK;
SELECT * FROM customer;

3
ING. GABRIEL FIENCO, MGS.
0
GUÍA DE APLICACIÓN PARA BASE DE DATOS

3. ¿Cuál o cuáles son los registros que aparecen en la última sentencia?

4. Crear Procedimientos:
a. CREATE PROCEDURE nombre_procedimiento (lista_parámetros)
b. declaraciones de variables locales
c. código de procedimiento

5. Cada parámetro en la lista de parámetros tiene tres ítems: modo, nombre y tipo de
datos. El modo puede ser IN, OUT o INOUT, dependiendo de si es un parámetro de
entrada, un parámetro de salida o ambos.

Figura 13. Ejemplo de PROCEDIMIENTO.

6. Para la base de datos empleados, taller 7, cree un procedimiento que muestre a los
empleados con su respectiva área.
DELIMITER //
CREATE PROCEDURE nombre_departamento()
BEGIN
SELECT nombre, area FROM usuarios INNER JOIN departamento
ON usuarios.id = departamento.id_2;
END
// DELIMITER ;
7. Existe alguna diferencia entre el procedimiento creado y la consulta propuestos a
continuación:

3
ING. GABRIEL FIENCO, MGS.
1
GUÍA DE APLICACIÓN PARA BASE DE DATOS

a. CALL nombre_departamento();
b. SELECT nombre, area FROM usuarios INNER JOIN departamento
ON usuarios.id = departamento.id_2;

8. Las funciones sólo aceptan parámetros con modo IN, para evitar efectos colaterales.
El único valor regresado debe ser el especificado en el enunciado RETURN.
a. DECLARE identificador de tipo de datos;
b. Ejemplo:
c. DECLARE status VARCHAR2;
d. DECLARE number_of_courses NUMBER;
9. Ejecute la siguiente sentencia:
CREATE FUNCTION saludo (variable VARCHAR(30)) RETURNS
VARCHAR(50)
RETURN CONCAT ('Hola, ', variable, '! ') ;
// DELIMITER ;

DELIMITER //
CREATE FUNCTION saludo (variable VARCHAR(30)) RETURNS
VARCHAR(50) DETERMINISTIC
RETURN CONCAT ('Hola, ', variable, '! ') ;
// DELIMITER ;

#Llamamos a la función
SELECT saludo ('Alumno de base de datos');

10. Manejo de condicionales:


DELIMITER //
CREATE FUNCTION compara_numeros(n INT, m INT) RETURNS
VARCHAR(20) DETERMINISTIC
BEGIN
DECLARE signo VARCHAR(20);
IF n > m THEN SET signo = '>';
ELSEIF n = m THEN SET signo = '=';

3
ING. GABRIEL FIENCO, MGS.
2
GUÍA DE APLICACIÓN PARA BASE DE DATOS

ELSE SET signo = '<';


END IF;
SET signo = CONCAT(n, ' ', signo, ' ', m);
RETURN signo;
END
//DELIMITER ;

SELECT compara_numeros(9, 6);

11. Creación o modificación de vistas con CREATE VIEW o ALTER VIEW


12. Eliminación de vistas con DROP VIEW
a. #Sobre la tabla original de empleados.
b. CREATE VIEW nombre_usuarios AS select nombre FROM usuarios;
c. SELECT * FROM nombre_usuarios;

13. ¿Implemente una vista que permita solo ver el salario más alto del área
administrativa?

14. USUARIOS, consideración a partir de MYSQL 8.0


a. mysql> CREATE USER 'user00'@'%' IDENTIFIED BY 'password';
b. mysql>GRANT ALL PRIVILEGES ON *.* TO 'user00'@'%' WITH
GRANT OPTION;
c.
d. mysql> SELECT User FROM mysql.user;
e. mysql> SELECT * FROM mysql.user;
f.
g. DROP USER 'nombre'@'el_host';
15. Creación de un usuario asignado a todos los servidores
a. CREATE USER 'francis'@'%’;
16. Asignación del password
a. SET PASSWORD FOR 'francis'@'%' = 'password’;
17. Asignación de acceso limitados
a. GRANT SELECT, UPDATE ON empleados.* TO 'francis'@'%’ ;

3
ING. GABRIEL FIENCO, MGS.
3
GUÍA DE APLICACIÓN PARA BASE DE DATOS

18. Intente crear una tabla, ¿Qué mensaje le aparece?


19. Para cambiar la contraseña en una cuenta existente, use UPDATE para especificar el
valor de la columna Password:
a. shell> mysql -u root mysql
b. mysql> UPDATE user SET Password = PASSWORD('bagel')
-> WHERE Host = '%' AND User = 'francis';
c. mysql> FLUSH PRIVILEGES;

d. DROP USER 'nombre'@'el_host';

3
ING. GABRIEL FIENCO, MGS.
4
GUÍA DE APLICACIÓN PARA BASE DE DATOS

1.1.10 Taller # 10 Ejercicios de Consultas

Objetivo:
 Desarrollar habilidades avanzadas en el manejo de SQL y adaptarse a las
necesidades previstas por una organización.

Procedimiento:
Ejercicio 1
20. Implemente las siguientes sentencias en el gestor de base de datos:
DROP DATABASE IF EXISTS CONSTRAINT id_1_fk FOREIGN
empleados_version2; KEY (id_1) REFERENCES
CREATE DATABASE IF NOT EXISTS usuarios_version2 (id)
empleados_version2; );
USE empleados_version2;
CREATE TABLE departamento_version2(
#CREACIÓN DE TABLAS id_2 MEDIUMINT NOT NULL,
area VARCHAR(30) NOT NULL,
CREATE TABLE usuarios_version2( CONSTRAINT id_2_fk FOREIGN
id MEDIUMINT NOT NULL KEY (id_2) REFERENCES
AUTO_INCREMENT, usuarios_version2 (id)
nombre VARCHAR(30) NOT NULL, );
edad INTEGER(30),
salario INTEGER(30), #INSERCIÓN DE VALORES
##ojo error al crear, analizar
como borrar. INSERT INTO usuarios_version2 (nombre,
CONSTRAINT id_pk PRIMARY edad) VALUES
KEY (id) ("Pedro", 24),
); ("Maria", 26),
ALTER TABLE usuarios_version2 DROP ("Juan", 28),
COLUMN salario; ("Luis", 35),
#ALTER TABLE "nombre_tabla" DROP ("Monica", 42),
COLUMN "nombre_columna"; ("Rosa", 43),
("Susana", 45);
CREATE TABLE sueldos_version2( SELECT * FROM usuarios_version2;
id_1 MEDIUMINT NOT NULL,
salario INTEGER(30), INSERT INTO sueldos_version2 (id_1,
salario) VALUES

3
ING. GABRIEL FIENCO, MGS.
5
GUÍA DE APLICACIÓN PARA BASE DE DATOS

(2, 2100), INSERT INTO departamento_version2


(6, 2400), (id_2, area) VALUES
(7, 2500), (1, "administrativo"),
(5, 2800), (4, "operativo"),
(4, 3000), (2, "administrativo"),
(3, 2500), (5, "operativo"),
(1, 3900); (7, "operativo"),
SELECT * FROM sueldos_version2; (3, "administrativo"),
(6, "administrativo");
SELECT * FROM departamento_version2;

21. Obtenga solo los nombres de todos los trabajadores en el departamento operativo.
22. Obtenga una lista alfabética de nombres (ordenada) de todos los trabajadores con
sueldo menor a 3000.
23. Obtenga el nombre del empleado en el departamento administrativo que tenga el
salario más alto.
24. Obtenga toda la información disponible (de todas las tablas) del empleado operativo
con sueldo más bajo.
25. Obtenga los nombres y sueldo de todos los trabajadores con 43 años (Es obligatorio
realizar esta consulta usando solamente anidación).

Ejercicio 2
1. Implemente las siguientes sentencias en el gestor de base de datos:
#**************************
###En cada sección donde lea:

#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

###Usted deberá escribir una descripción del código que ejecuto.


#**************************
#**************************
#**************************

#CREE UNA BASE DE DATOS LLAMADA dbempresa

3
ING. GABRIEL FIENCO, MGS.
6
GUÍA DE APLICACIÓN PARA BASE DE DATOS

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

CREATE TABLE Dept (


departmentName VARCHAR (15),
mgrId INT(6),
CONSTRAINT Dept_departmentName_pk PRIMARY KEY (departmentName));

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

CREATE TABLE Worker (


empId INT (6),
lastName VARCHAR (20) NOT NULL,
firstName VARCHAR (15) NOT NULL,
departmentName VARCHAR (15),
birthDate DATE,
hireDate DATE,
salary INT,
CONSTRAINT Worker_empid_pk PRIMARY KEY (empid),
CONSTRAINT Worker_departmentNumber_fk FOREIGN KEY (departmentName) REFERENCES
Dept (departmentName));

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

ALTER TABLE Dept ADD CONSTRAINT Dept_mgrId_fk FOREIGN KEY (mgrId) REFERENCES
Worker(empId) /* ON UPDATE*/;

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

CREATE TABLE Project (


projNo INT (6),
projName VARCHAR (20),
projMgrId INT (6),
budget INT (8),
startDate DATE,
expectedDurationWeeks INT (4),
CONSTRAINT Project_projNo_pk PRIMARY KEY (projNo),
CONSTRAINT Project_projMgrId_fk FOREIGN KEY (projMgrid) REFERENCES WORKER (empId));

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

3
ING. GABRIEL FIENCO, MGS.
7
GUÍA DE APLICACIÓN PARA BASE DE DATOS

CREATE TABLE Assign (


projNo INT (6),
empId INT (6),
hoursAssigned INT (3),
rating INT (1),
CONSTRAINT Assign_projNo_empId_pk PRIMARY KEY (projNo, empId),
CONSTRAINT Assign_projNo_fk FOREIGN KEY (projNo) REFERENCES Project (projNo) /*ON
UPDATE*/,
CONSTRAINT Assign_empId_fk FOREIGN KEY (empId) REFERENCES Worker (empId) /*ON
ON DELETE CASCADE*/);

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

INSERT INTO Dept vALUES ('Accounting', NULL);


INSERT INTO Dept vALUES ('Research', NULL );
#SELECT * FROM DEPT;
INSERT INTO Worker vALUES(101, 'Smith', 'Tom', 'Accounting', str_to_date('01-Feb-1960','%d-%M-%Y'),
str_to_date('06-Jun-1983','%d-%M-%Y'), 50000);
INSERT INTO Worker vALUES(103, 'Jones', 'Mary' , 'Accounting', str_to_date('15-Jun-1965','%d-%M-%Y'),
str_to_date('20-Sep-1985','%d-%M-%Y'), 48000);
INSERT INTO Worker vALUES(105, 'Burns', 'Jane', 'Accounting', str_to_date('21-Sep-1970','%d-%M-%Y'),
str_to_date('12-Jun-1990','%d-%M-%Y'), 39000);
INSERT INTO Worker vALUES(110, 'Burns', 'Michael', 'Research', str_to_date('05-Apr-1967','%d-%M-%Y'),
str_to_date('10-Sep-1990','%d-%M-%Y'), 70000);
INSERT INTO Worker vALUES(115, 'Chin', 'Amanda', 'Research', str_to_date('22-Sep-1965','%d-%M-%Y'),
str_to_date('19-Jun-1985','%d-%M-%Y'), 60000);
#SELECT * FROM WORKER;
#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

UPDATE Dept SET mgrId = 101 WHERE departmentName = 'Accounting';


UPDATE Dept SET mgrId = 101 WHERE departmentName = 'Research';

#------------------------------------------------------------------------
#"Indique sus comentarios con relación a las siguientes líneas de ejecución."

INSERT INTO Project vALUES (1001, 'Jupiter', 101, 300000, str_to_date('01-Feb-2004','%d-%M-%Y'), 50);
INSERT INTO Project vALUES (1005, 'Saturn', 101, 400000, str_to_date('01-Jun-2004','%d-%M-%Y'), 35);
INSERT INTO Project vALUES (1019, 'Mercury', 110, 350000, str_to_date('15-Feb-2004','%d-%M-%Y'), 40);
INSERT INTO Project vALUES (1025, 'Neptune', 110, 600000, str_to_date('01-Feb-2005','%d-%M-%Y'), 45);
INSERT INTO Project vALUES (1030, 'Pluto', 110, 380000, str_to_date('15-Sept-2004','%d-%M-%Y'), 50);
#SELECT * FROM Project;

3
ING. GABRIEL FIENCO, MGS.
8
GUÍA DE APLICACIÓN PARA BASE DE DATOS

INSERT INTO Assign(projNo, empId, hoursAssigned) vALUES (1001, 101, 30);


INSERT INTO Assign VALUES (1001, 103, 20, 5);
INSERT INTO Assign(projNo, empId, hoursAssigned)vALUES (1005, 103, 20);
INSERT INTO Assign(projNo, empId, hoursAssigned)vALUES (1001, 105, 30);
INSERT INTO Assign vALUES (1001, 115, 20, 4);
INSERT INTO Assign vALUES (1019, 110, 20, 5);
INSERT INTO Assign vALUES (1019, 115, 10, 4);
INSERT INTO Assign(projNo, empId, hoursAssigned)vALUES (1025, 110, 10);
INSERT INTO Assign(projNo, empId, hoursAssigned)vALUES (1030, 110, 10);
#SELECT * FROM Assign;

2. Cree una vista que tenga número de proyecto y nombre de cada proyecto, junto con
las ID y nombres de todos los trabajadores asignados a él.
3. Con la vista creada en la opción 1, encuentre el número de proyecto y nombre de
proyecto de todos los proyectos a los que está asignado el empleado 110.
4. Agregue un nuevo trabajador llamado Jack Smith con ID de 1999 al departamento
research.
5. Cambie las horas que tiene asignadas el empleado 110 al proyecto 1019, de 20 a 10.
6. Para todos los proyectos que comiencen (starting) después del 1 de mayo de 2004,
encuentre el número de proyecto y las ID y nombres de todos los trabajadores
asignados a ellos.
7. Para cada proyecto, haga una lista del número de proyecto y cuántos trabajadores se
asignan a él.
8. Encuentre los detalles de cualquier proyecto con la palabra “urn” en cualquier parte
en su nombre.
9. Obtenga una lista de números de proyecto y nombres y fechas de inicio de todos los
proyectos que tienen la misma fecha de inicio.
10. Agregue un campo llamado status a la tabla Project. Los valores muestran para este
campo son active (activo), completed (completado), planned (planificado), cancelled
(cancelado). Luego escriba el comando para deshacer este cambio. Sele recomienda
limitar el campo a los valores solicitados usando -- CHECK --LIST.
11. Obtenga la ID de empleado y número de proyecto de todos los empleados que no
tengan calificaciones en dicho proyecto.
12. Si supone que salary ahora contiene salario anual, encuentre la ID, nombre y salario
mensual de cada trabajador.

3
ING. GABRIEL FIENCO, MGS.
9
GUÍA DE APLICACIÓN PARA BASE DE DATOS

13. Encuentre los nombres de empleado y nombres de supervisor de departamento de


todos los trabajadores que no estén asignados a proyecto alguno.

4
ING. GABRIEL FIENCO, MGS.
0
GUÍA DE APLICACIÓN PARA BASE DE DATOS

BIBLIOGRAFÍA

1. Estiwarthp, P. J. (s.f.). Gestiona Base de Datos con Access 2013. TECSU: I-4-
38124989

2. Tsu, G. (s.f.). DBASE III GUÍA DEL PROGRAMADOR. TECSU: I-5-


40805933

3. Wanumen, L. (s.f.). Bases de Datos en SQL Server. ECOE. TECSU: I-3-


43986657

4. Zygiaris, S. (2018). Database management systems : A business-oriented


approach using oracle, mysql and ms access. ProQuest Ebook Central
https://ebookcentral.proquest.com

5. Ramakrishnan y Gehrke, Administration de Sistema de Bases de Datos, 3era.


Edición, McGraw-Hill.

6. Connolly y Begg, Sistemas de Bases de Datos, 5ta. Edición.

7. Google Cloud. (2020). https://cloud.google.com/. Obtenido de


https://cloud.google.com/sql/docs?hl=es-419

8. Microsoft. (2020). https://docs.microsoft.com/. Obtenido de


https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15

9. Oracle. (2020). https://dev.mysql.com. Obtenido de https://dev.mysql.com/doc/

10. Oracle. (2020). https://docs.oracle.com/. Obtenido de


https://docs.oracle.com/en/database/

4
ING. GABRIEL FIENCO, MGS.
1
GUÍA DE APLICACIÓN PARA BASE DE DATOS

4
ING. GABRIEL FIENCO, MGS.
2
GUÍA DE APLICACIÓN PARA BASE DE DATOS

ANEXOS

4
ING. GABRIEL FIENCO, MGS.
3
GUÍA DE APLICACIÓN PARA BASE DE DATOS

4
ING. GABRIEL FIENCO, MGS.
4
GUÍA DE APLICACIÓN PARA BASE DE DATOS

4
ING. GABRIEL FIENCO, MGS.
5

También podría gustarte