Вы находитесь на странице: 1из 13

MySQL Workbench

María Ignacia Lastra Tapia

Fundamentos de base de datos

Instituto IACC

17 Mayo 2019
Introducción:

Mediante el siguiente trabajo realizado durante la semana, podremos verificar la base de datos de

una Librería con sus respectivas tablas y relaciones creadas mediante un diagrama MER, el cual

se aplicará a la base de datos. Podremos ver los resultados de diferentes consultas realizadas

mediante sentencias del lenguaje SQL. Y la importancia de MySQL Workbench para crear base

de datos.

Desarrollo:

Fase I:

- Tabla Libros:

Cod_autor Cod_li Nombre Cod_edi Precio Porc_des


bro torial cto
0001 0001 Soluciones de Programación 0001 42.000,16 10
0001 0002 Guía completa de programación en Java 0001 33.520,52 5
0001 0003 Introducción a la informática 0002 51.000,33 0
0001 0004 Hardware y Software 0001 26.700,25 25
0002 0005 Introducción a los algoritmos 0003 36.000,87 30
0002 0006 Introducción a la base de datos 0004 52.100,17 40
0003 0007 Fudamentos de Programación 0001 46.500,29 15
0003 0008 ¿Cómo programar en Java? 0002 48.000,33 10
0004 0009 Administración de base de datos 0005 36.500,41 20
0005 0010 Estructura de datos 0002 29.200,27 5
0005 0011 Base de datos 0003 32.000,39 0
0006 0012 Introducción a .NET 0001 46.500,14 10
- Tabla Editorial:

Cod_editorial Nombre
0001 Bonum
0002 Sirio
0003 Bibliográfica
0004 Grupo Editorial Ronda
0005 McGraw-Hill

- Tabla Autor:

Cod_autor Nombre
0001 Luis Joyanes
0002 Caterina Velasquez
0003 Carmen Gil
0004 Alvaro Gómez
0005 Luis Angulo
0006 Ana María Villar

1.- Diagrama MER mediante MySQL Workbench de la base de datos que registra una Librería:
2.- Sentencias para las inserciones en cada tabla:

-Tabla Editorial:

USE mybd;

INSERT INTO `mydb`.`Editorial`(`Codigo_Editorial`,`Nombre_Editorial`) VALUES

('0001','Bonum');

INSERT INTO `mydb`.`Editorial`(`Codigo_Editorial`,`Nombre_Editorial`) VALUES

('0002','Sirio');

INSERT INTO `mydb .`Editorial`(`Codigo_Editorial`,`Nombre_Editorial`) VALUES

('0003','Bibliográfica');

INSERT INTO `mydb`.`Editorial`(`Codigo_Editorial`,`Nombre_Editorial`) VALUES

('0004','Grupo Editorial Ronda');

INSERT INTO `mydb`.`Editorial`(`Codigo_Editorial`,`Nombre_Editorial`) VALUES

('0005','McGraw-Hill');

- Tabla Autor:

USE mybd;

INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0001','Luis

Joyanes ');

INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0002','Caterina

Velasquez');

INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0003','Carmen

Gil');

INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0004','Alvaro

Gomez');
INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0005','Luis

Angulo');

INSERT INTO `mydb`.`Autor`(`Codigo_Autor`,`Nombre_Autor`) VALUES ('0006','Ana María

Villar');

- Tabla Libros:

USE mydb;

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0001', 'Soluciones de Programación', '42000,16', '10', '0001', '0001');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0002', 'Guía completa de programación en Java', '33520,52', '5', '0001',

'0001');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0003', 'Introducción a la informática', '51000,33', '0', '0002', '0001');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0004', 'Hardware y Software', '26700,25', '25', '0001', '0001');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0005', 'Introducción a los algoritmos', '36000,87', '30', '0003', '0002');
INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0006', 'Introducción a la base de datos', '52100,17', '40', '0004', '0002');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0007', 'Fundamentos de la Programación', '46500,29', '15', '0001',

'0003');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0008', '¿Cómo programar Java', '48000,33', '10', '0002', '0003');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0009', 'Administración de base de datos', '36500,41', '20', '0005', '0004');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_Editoral`,`Co

digo_Autor`) VALUES ('0010', 'Estructura de datos', '29200,27', '5', '0002', '0005');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_editoral`,`Co

digo_Autor`) VALUES ('0011', 'Base de datos', '32000,39', '0', '0003', '0005');

INSERT INTO

`mydb`.`Libros`(`Codigo_Libro`,`Nombre_Libro`,`Precio`,`Porc_Descto`,`Codigo_editoral`,`Co

digo_Autor`) VALUES ('0012', 'Introducción a .NET', '46500,14', '10', '0001', '0006');

3.- Sentencia para listar código de Autor, Nombre y cantidad de libros:

USE mydb;
SELECT DISTINCT Nombre_Autor, Autor.Codigo_Autor, COUNT(Codigo_Libro) AS

Cantidad FROM Autor

INNER JOIN Libros

ON Autor.Codigo_Autor=Libros.Codigo_Autor

GROUP BY(Autor.Codigo_Autor);

4.- Sentencia para listar Código de editorial, nombre y cantidad de libros:

USE mydb;

SELECT DISTINCT Nombre_Editorial, Editorial.Codigo_Editorial, COUNT(Codigo_Libro) AS

Cantidad FROM Editorial

INNER JOIN Libros

ON Editorial.Codigo_Editorial=Libros.Codigo_Editorial

GROUP BY(Editorial.Codigo_Editorial);
5.- Sentencia para listar; código de Autor, código de libro, nombre, código de editorial y precio

de los libros con porcentaje de descuento mayor o igual al 15%:

USE mydb;

SELECT * FROM Libros WHERE Porc_Descto >= 15;

6.- Sentencia para listar; código de Autor, código de libro, nombre, código de editorial y precio

de los libros con porcentaje de descuento menor a 20%:


USE mydb;

SELECT * FROM Libros WHERE Porc_Descto < 20;

7.- Sentencia para listar la suma de precios según código de Autor:

USE mydb;

SELECT Codigo_Autor,

SUM(Precio) AS Suma FROM Libros

GROUP BY Codigo_Autor;
8.- Sentencia para listar la suma de los precios menores a 40.000 según código de Autor:

USE mydb;

SELECT Codigo_Autor, Sum(Precio) AS Total FROM Libros

GROUP BY Codigo_Autor HAVING SUM(Precio) < 40000

Fase II:

Hoy en día existe una gran variedad de herramientas visuales que nos permite gestionar base de

datos a través de diagramas de modelos, creación de tablas, relaciones, etc. Por lo que no es

necesario usar sentencias SQL para la creación de tablas, ya que estas herramientas visuales nos

permite aplicar automáticamente las sentencias una vez hechas las tablas.

MySQL Workbench es una de estas herramientas que nos permite visualizar y crear gráficamente

las tablas y relacionarlas entre si mediante diagramas de entidad relación, por lo tanto, estaría en

desacuerdo con el compañero de mi hermano, ya que este tipo de herramienta es muy útil y fácil

de usar. Se pueden crear tablas y aplicarlas automáticamente a la base de datos, sin necesidad de

sentenciar con lenguaje de SQL. Luego se podrá completar con los datos necesarios, lo cual

también puede ser aplicado a la base de datos de manera automática. Sin embargo, es necesario

sentenciar consultas mediante el lenguaje SQL, ya que para listar consultas especificas, no existe

la herramienta apropiada.
Conclusión:

Podré concluir entonces, que la herramienta MySQL Workbench, es muy útil al momento de

crear bases de datos con sus respectivas tablas, columnas, llaves primarias y secundarias, crear

diagramas MER y relacionarlos, etc. Además de ser una herramienta muy intuitiva y fácil de

usar, como sentenciar y listar consultas por ejemplo. Es muy segura, ya que sólo podrá ser

manipulada por el root con la respectiva clave, para que no puedan entrar en la base de datos y

manipularla sin autorización.


Bibliografía:

- IACC (2016). Utilización del gestor de base de datos MySQL II. Fundamentos de base de

datos. Semana 8.

- Mi Hola Mundo (5 Dic. 2014). Creación de Tablas en MySQL [MySQL Workbench] [5/18].

Recursos adicionales Semana 8. Recuperado en: https://www.youtube.com/watch?

v=Q6iyHFB_Ins&index=5&list=PL0yfy89pewyM-O3ExT7RjbCOy7sEEpQbg

- MrFranklingr (5 Jun. 2013). Crear diagrama Entidad Relación en MySQL Workbench.

Recursos adicionales Semana 8. Recuperado en: https://www.youtube.com/watch?

v=hfE0_Mme32k

- Sánchez E. (24 Oct. 2016). Optimización de consultas en MySQL. Recuperado en:

https://www.adictosaltrabajo.com/2016/10/24/optimizacion-de-consultas-en-mysql/

Вам также может понравиться