130
 "#$%&'%( ) %#*(%'+, -* .(/*/ -* -(&0/ %0, 1/0 -* /02&3(#*  

Mysql Workbench Prácticas

  • Upload
    oalvalq

  • View
    399

  • Download
    18

Embed Size (px)

DESCRIPTION

Manual de prácticas Workbench

Citation preview

Page 1: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 1/130

 

"#$%&'%( )%#*(%'+, -* .(/*/ -* -(&0/ %0, 1/0 -* /02&3(#* 

Page 2: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 2/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

1

Objetivos

• Comprender que datos existen y como se relacionan entre ellos,

independientemente de cómo son o serán almacenados físicamente.• Identificar y clasificar los elementos: ENTIDAD - RELACIÓN Y DIAGRAMA DECLASES.

• Hacer análisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMADE CLASES.

• Proporcionar atributos y operaciones necesarios.

• Comprender que información y operación se necesita para hacer óptimo elproceso de almacenamiento.

• Identificar y señalar los diferentes tipos de llaves que se utilizan en losdiagramas de Clases y E-R.

• Realizar un diagrama de Entidad - Relación con todos sus elementos.• Convertir diagrama de Entidad-Relación a diagrama de Clases con todos sus

elementos.

•  Aprender la modelación de diagramas por software teniendo como herramientade trabajo MySQLWorkbench. 

• Identificar las llaves Foráneas y enlazar de manera correcta a sus columnas dereferencia.

• Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.

• Realizar la modelación de diagramas de todos los ejercicios propuestos.

Page 3: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 3/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

2

Definiciones y componentes de los modelos “Entidad-Relación,diagrama de clases y modelación de diagramas usando

MySQLWorkbench” 

MODELOS DE ENTIDAD RELACIÓN

El modelo E-R es un modelo de datos basado en una percepción del mundo realque consiste en un conjunto de objetos básicos llamados entidades y relacionesentre estos objetos, implementándose en forma gráfica a través del DiagramaEntidad Relación y tienen las siguientes condiciones:

• Una entidad es un objeto de importancia sobre el que se guardan datos.  • Una relació!n es una asociación entre dos entidades que expresa una conexión.  

• Los atributos pueden contener datos compuestos: Nombre, Edad, Etc.

• Para que algo sea una entidad debe tener atributos. (Si se quiere hacer unaidentidad fuerte es necesario llamarla PRIMARY KEY “ID”. 

• La relación de las entidades comprende de las siguientes reglas:(Ejemplo: ver fig.1)

*Nota: El modelo de datos conceptual es independiente del hardware o delsoftware que se utilice para la implementación. Por tanto un modelo E-R puede serimplementado o convertido a una BD jerárquica, de red o relacional

Page 4: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 4/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

3

DIAGRAMAS DE CLASES

Un diagrama de clases sirve para visualizar las relaciones entre las clases queinvolucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y decontenido.

Los diagramas de clases son gráficamente representadas por cajas concompartimentos para: Nombre de la clase, atributos y operaciones y/o métodos,Responsabilidades, Reglas, Historia de Modificaciones, etc.En UML, una clase es representada por un rectángulo que posee tresdivisiones:(Ejemplo: ver fig. 2)

Un diagrama de clases está compuesto por los siguientes elementos:• Clase: atributos, métodos y visibilidad.• Relaciones: Herencia, Composición, Agregación, Asociación y Uso.

ASOCIACIÓN O CARDINALIDAD EN DIAGRAMAS DE CLASES

La forma más sencilla de relación es aquella denominada asociación. La

asociaciónn se utiliza para expresar simplemente que dos clases están vinculadasentre sí. En ella se expresa la navegabilidad entre la clase origen y la clase

destino, y la cardinalidad de la clase destino en la asociación.

(Ejemplo: ver fig. 3)

Una vez que comprendidos estos términos y condiciones se deberán lossiguientes ejercicios para el desarrollo e implementación de los conocimientosaprendidos.

Page 5: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 5/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

4

MYSQLWORKBENCH

MySQLWorkbench es una herramienta que permite modelar diagramas deentidad-relación para bases de datos MySQL. Puedes utilizarla para diseñar elesquema de una base de datos nueva, documentar una ya existente o realizar una

migración compleja.

La aplicación elabora una representación visual de las tablas, vistas,procedimientos almacenados y claves extranjeras de la base de datos. Además,es capaz de sincronizar el modelo en desarrollo con la base de datos real.

MySQLWorkbench también puede generar el script necesario para crear la basede datos que se ha dibujado en el esquema; es compatible con los modelos debase de datos de DBDesigner 4 y soporta las novedades incorporadas en MySQL5.

¿Cómo utilizar MySQLWorkbench?Aquí te hacemos un paso a paso para que puedas realizar los ejerciciossugeridos.

Creación de una tabla del ejercicio: Libros, Vendedores y Clientes.

Paso1.- Nos dirigimos al icono de MySQLWorkbench usualmente posicionado ennuestro escritorio después de la instalación damos doble clic sobre este 

Page 6: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 6/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

5

Paso 2.- Ventana bienvenida de MySQLWorkbench, nos muestra las diferentesopciones para la creación de esquemas y tablas.

Paso 3.- Daremos clic en el símbolo de mas que se encuentra en la parte inferior justo lado de MODELS lo cual nos abrirá un nuevo modelo para poder crear

nuestra base de datos.

Page 7: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 7/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

6

Paso 4.- Una vez abierto nuestro nuevo modelo nos presentará esta pantalladonde realizaremos la creación y organización de nuestra base de datos sustablas y todo el contenido que esta tendrá le asignamos el nombrecorrespondiente a nuestra nueva base de datos.

Paso 5.- Procedemos a crear las nuevas tablas que contienen nuestra base de

datos, nos dirigimos en la misma sección donde creamos la BD, debajoencontraremos una parte que dirá Add table, dar clic sobre esa sección y noscreará una nueva tabla.

Page 8: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 8/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

7

Una vez realizado este paso pondremos el nombre deseado, en este caso sellamará vendedor, MySQLWorkbench es un programa muy fácil de utilizar en elcual intuitivamente podremos ir resolviendo nuestro ejercicio.

Paso 6.- Una vez creada nuestra tabla vamos a darle sus atributoscorrespondientes en la misma zona donde creamos nuestra tabla encontraremosla sección para indicar cuáles son sus atributos.

Paso 7.- El llenado de los atributos será de la siguiente manera pondremos enprimera posición la llave primaria o PK (Primary Key) con su correspondiente tipo

de dato después seleccionaremos las casillas que le corresponde en este atributo,decimos que es PK (primary key), NN (not null),ZF (Zero-Filled)

Page 9: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 9/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

8

Dependiendo las necesidades del atributo es como seleccionaremos las másadecuadas, ejemplo:

PK - director clave (principal clave)NN - No es nulo (sin el valor NULL)

UQ - Unique (Valor individual)BIN - Binary (Binario Valor)UN - Unsigned (sin valor signo, Que Puede Ser positivo o negativo)ZF - Lleno -Zero (Valor inicial cero)AI - Incremento automático (valor de incremento con Auto)

Paso 8.- Llenamos toda la tabla con los atributos que requerimos como se muestraen la imagen.

Paso 9.- Una vez que estamos seguros de haber llenado correctamente le damos Apply en la parte inferior derecha.

Page 10: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 10/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

9

Paso 10.- Si hemos realizado de manera correcta los pasos anteriores vamos aver una pantalla emergente la cual nos informará de los cambios que realizaremosa nuestra tabla, una vez revisados y aceptados nuestros cambios volvemos arepetir la misma acción damos clic sobre el botón Apply el cual aplicará loscambios que hemos realizado.

De esta manera llenamos la primer tabla de nuestra DB con este procedimientollenaremos las demás tablas que necesitemos.

Page 11: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 11/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

10

VER EJEMPLOS DE TABLAS REALIZADAS, SE PRESENTAN ACONTINUACIÓN.

Tabla Libros.

Tabla Facturas. 

Tabla Libros – Facturas.

Page 12: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 12/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

11

Paso 11.- El siguiente paso es enlazar nuestras tablas con sus respectivas llavesforáneas sus relaciones las habremos obtenido en nuestro diagrama entidad-relación, de esta manera las uniremos en la parte inferior donde ingresamosnuestros atributos encontraremos un barra donde daremos clic sobre Foreign key.

De esa manera nos cambiará de pestaña y podremos editar la relación que tienecada tabla con las demás. Recordemos que para poder hacer una relación exitosatienen que tener el mismo tipo de dato relación entre los nombres.

Ejemplo: En la imagen se toma la tabla que contiene Foreign Key´s, desde lapestaña Indexes, declaramos las tablas a las cuales nos vamos a enlazar, usandosu Primary Key, lo siguiente es ir al Segundo cuadro de dialogo y marcar el id dela tabla seleccionada. (Ver imagen).

Paso 12.- Ir a la pestaña Foreign Key y enlazar las columnas de referencia con las

columnas destino, como se muestra en la imagen.

Nota: Recordar que cada paso o cambio realizado debe de ir acompañadodel clic en Apply, de otro modo nuestros cambios no se verán reflejados.

Una vez realizado todo este procedimiento ya podemos hacer los registrosteniendo la seguridad de los enlaces funcionarán de manera correcta.

Page 13: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 13/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

12

MATERIAL REQUERIDO:

1. Hojas blancas tamaño carta2. Regla

3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)

con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

•  Reunir los elementos dados para la elaboración de la base de datos eidentificar los siguientes elementos: ENTIDADES, RELACIONES y

 ATRIBUTOS. 

•  Realizar los diagramas de clases y modelos de entidad relación con todossus componentes.

•  Realizar los modelos de diagrama usando MySQLWorkbench, identificando

y enlazando las tablas que lo ameriten.

•  Hacer por lo menos tres inserciones de datos y mostrarlos en captura depantalla. 

•  Realizar los esquemas de los modelos de diagrama realizados, mostrarlosen captura de pantalla. 

Page 14: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 14/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!"

EJERCICIOS SUGERIDOS:

Realizar diagramas de modelos ENTIDAD-RELACIÓN, DIAGRAMAS DECLASES Y MODELACIÓN DE DIAGRAMAS EN MYSQLWORKBENCH conlos siguientes datos:

1. Empleados – Beneficiados

Diagrama E-R

Page 15: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 15/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!$

Diagrama de Clase

Modelo Relacional

Page 16: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 16/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!%

Inserción de Datos

Tabla Beneficiados

Tabla Empleados

Page 17: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 17/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!&

2. Alumnos —- - - -> Materias - - - -> Profesores

Modelo E-R

Page 18: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 18/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!'

Diagrama de Clase

Modelo Relacional

Page 19: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 19/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!(

Inserción de DatosTabla Alumnos

Tabla Alumnos-Materias

Tabla Materias

Tabla Materias-Profesores

Tabla Profesores

Page 20: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 20/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!)

3. Clientes - - - -> Pedidos - - - -> Productos

Diagrama E-R

Page 21: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 21/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

*+

Diagrama de Clase

Modelo Relacional

Page 22: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 22/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

*!

Inserción de Datos

Tabla Clientes

Tabla Clientes-Pedidos

Tabla Pedidos

Tabla Pedidos-Productos

Tabla Productos

Page 23: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 23/130

 

"#$%&'%( )%#*(%'+, -* ./-*0/1 #*0(%'/,(0*1 %/, *0 21/ -* 1/3&4(#* 

Page 24: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 24/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

""

Objetivos

• Comprender que datos existen y como se relacionan entre ellos,independientemente de cómo son o serán almacenados físicamente.

• Identificar y clasificar los elementos: ENTIDAD - RELACIÓN Y DIAGRAMA DECLASES.

• Hacer análisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMADE CLASES.

• Proporcionar atributos y operaciones necesarios.

• Comprender que información y operación se necesita para hacer óptimo elproceso de almacenamiento.

• Identificar y señalar los diferentes tipos de llaves que se utilizan en losdiagramas de Clases y E-R.

• Realizar un diagrama de Entidad - Relación con todos sus elementos.• Convertir diagrama de Entidad-Relación a diagrama de Clases con todos sus

elementos.

•  Aprender la modelación de diagramas por software teniendo como herramientade trabajo MySQLWorkbench. 

• Identificar las llaves Foráneas y enlazar de manera correcta a sus columnas dereferencia.

• Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.

• Realizar la modelación de diagramas de todos los ejercicios propuestos.

Page 25: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 25/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

MATERIAL REQUERIDO:

1. Hojas blancas tamaño carta2. Regla

3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)

con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

•  Reunir los elementos dados para la elaboración de la base de datos eidentificar los siguientes elementos: ENTIDADES, RELACIONES y

 ATRIBUTOS. 

•  Realizar los diagramas de clases y modelos de entidad relación con todossus componentes.

•  Realizar los modelos de diagrama usando MySQLWorkbench, identificandoy enlazando las tablas que lo ameriten.

•  Hacer por lo menos tres inserciones de datos y mostrarlos en captura depantalla. 

•  Realizar los esquemas de los modelos de diagrama realizados, mostrarlosen captura de pantalla. 

Page 26: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 26/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

EJERCICIOS SUGERIDOS

Ejercicio 1

Se debe automatizar el área de préstamos, de una empresa se sabe que un

empleado puede tener muchos prestamos, pero uno solo pertenece a unempleado, cada préstamo tiene un numero único que lo identifica, su monto, lafecha en la que se otorgó y el plazo en el que se pagará.Por otro lado el empleado tiene sus datos generales y la fecha en la que ingresó ala impresa.Es importante conocer a que departamento pertenece cada empleado, losempleados pueden pertenecer a varios departamentos durante su trayectorialaboral, así mismo en un departamento existen varios trabajadores laborando almismo tiempo, los departamentos tiene un número de identificación, un nombre yla gerencia a la que pertenece

Diagrama E-R

Page 27: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 27/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"$

Diagrama de Clase

Page 28: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 28/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"%

Modelo Relacional

Page 29: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 29/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"&

Inserción de Datos

Tabla Empleados

Tabla Empleados-Departamento

 

Tabla Préstamo

 

Tabla Departamento

 

Page 30: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 30/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"'

!"#$%&%&' )

Una empresa se dedica la venta de libros, un vendedor atiende a muchosclientes pero un cliente suele ser atendido por un vendedor, los libros sevenden mediante la elaboración de facturas realizada por los vendedores en

la que se incluyen uno o más libros, los libros se identifican por su ISBN (IdSerial Book Number).

Diagrama E-R

Page 31: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 31/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"(

Diagrama de Clase

Page 32: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 32/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)*

Modelo Relacional

Page 33: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 33/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)+

Inserción de Datos.

Tabla Vendedor

Tabla Clientes

Tabla Libros

Tabla Facturas

Tabla Libros-Facturas

Page 34: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 34/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)"

!*!+,-,-. /

Diseñar un diagrama E-R, un diagrama de clases y un Modelo Relacional para unabase de datos que contenga información sobre una carrera de montaña enMéxico, se conoce lo siguiente:

•  Cada edición de la carrera está identificada por un código además interesaconservar el año en el que ha tenido lugar dicha edición.

•  Todas las ediciones tienen las mismas etapas, aunque puede variar sulongitud.

  Se quiere guardar la longitud de cada etapa de una edición.

•  Cada equipo tiene un nombre también se desea guardar su fecha defundación.

•  Todos los equipos tienen un único patrocinador pero un patrocinador puedefinanciar a varios equipos.

•  Se debe tener una tabla con el historial de los equipos que han participadoen cada edición, con el lugar conseguido por cada uno de ellos.

•  De los corredores interesa guardar también su nombre y fecha denacimiento.

•  Interesa guardar los tiempos conseguidos por cada equipo en cada etapade una edición.

Page 35: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 35/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

))

Diagrama E-R

Page 36: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 36/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)#

Diagrama de Clase

Page 37: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 37/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)$

Modelo Relacional

Page 38: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 38/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)%

Inserción de Datos

Tabla Corredores

Tabla Edición

Tabla Equipo

Tabla Etapas

Tabla Historial

Page 39: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 39/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)&

Tabla Patrocinador

!"#$%&%&' 0

Diseñar un diagrama E-R, un diagrama de clases y un Modelo Relacional para elsiguiente ejercicio:

•  Un soldado pertenece a un único cuerpo y a una única compañía durante

todo el servicio militar.

•  A una compañía pueden pertenecer solados de diferentes cuerpos nohabiendo relación directa entre compañeros y cuerpos.

•  Los soldados de una misma compañía pueden estar destinados endiferentes cuarteles, es decir una compañía puede estar ubicada en varioscuarteles y en un cuartel puede haber varias compañías.

•  Un soldado realiza varios servicios a lo largo de su servicio militar. Unmismo servicio puede ser realizado por más de un soldado (con

independencia de la compañía)

Page 40: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 40/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)'

Diagrama E-R

Page 41: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 41/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

)(

Diagrama de Clase

Page 42: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 42/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#*

Modelo Relacional

Page 43: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 43/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#+

Inserción de Datos.Tabla Compañía

Tabla Compañía-Cuartel

Tabla Cuartel

Tabla Cuerpo

Tabla Servicio

Tabla Servicio-Soldado

Tabla Soldado

Page 44: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 44/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#"

!"#$%&%&' 1

Se necesita reflejar la información necesaria para la administración de laslíneas del metro de la ciudad de México considerando lo siguiente:

• Una línea está compuesta por una serie de estaciones en un ordendeterminado siendo muy importante guardar esta información.

• Cada estación pertenece por lo menos a una línea pudiendo

• Pertenecer a varias. Una estación nunca deja de pertenecer a la líneaque anteriormente perecía, por ejemplo: Balbuena que pertenece a lalínea 1 y nunca podrá dejar de pertenecer a esta línea.

• Cada estación puede tener varios accesos pero se considera que un

acceso solo puede pertenecer a una estación.

• Un acceso nunca podría cambiar de estación.

• Cada línea tiene asignados una serie de trenes no pudiendo sucederque un tren este asignado a más de una línea pero sí que no estéasignado a ninguna.

Por ejemplo si se encuentra en reparación.

• Algunas estaciones tienen asignadas cocheras, pero una cocherasolo es asignada a una estación. 

Page 45: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 45/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#)

Diagrama E-R

Page 46: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 46/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

##

Diagrama de Clase

Page 47: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 47/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#$

Modelo Relacional

Page 48: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 48/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

#%

Inserción de DatosTabla Serie

Tabla Accesos

Tabla Cocheras

Tabla Estaciones

Tabla Línea

Tabla Línea -Estación

Page 49: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 49/130

 

"#$%&'%( )%#*(%'+, -* ./-*0/1 #*0(%'/,(0*1 %/, *0 21/ -* 1/3&4(#* 

Page 50: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 50/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

Objetivos

• Comprender que datos existen y como se relacionan entre ellos,independientemente de cómo son o serán almacenados físicamente.

• Identificar y clasificar los elementos: ENTIDAD - RELACIÓN Y DIAGRAMA DECLASES.

• Hacer análisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMADE CLASES.

• Proporcionar atributos y operaciones necesarios.

• Comprender que información y operación se necesita para hacer óptimo elproceso de almacenamiento.

• Identificar y señalar los diferentes tipos de llaves que se utilizan en losdiagramas de Clases y E-R.

• Realizar un diagrama de Entidad - Relación con todos sus elementos.• Convertir diagrama de Entidad-Relación a diagrama de Clases con todos sus

elementos.

•  Aprender la modelación de diagramas por software teniendo como herramientade trabajo MySQLWorkbench. 

• Identificar las llaves Foráneas y enlazar de manera correcta a sus columnas dereferencia.

• Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.

• Realizar la modelación de diagramas de todos los ejercicios propuestos.

Page 51: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 51/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"$

MATERIAL REQUERIDO:

1. Hojas blancas tamaño carta2. Regla

3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)

con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

•  Reunir los elementos dados para la elaboración de la base de datos eidentificar los siguientes elementos: ENTIDADES, RELACIONES y

 ATRIBUTOS. 

•  Realizar los diagramas de clases y modelos de entidad relación con todossus componentes.

•  Realizar los modelos de diagrama usando MySQLWorkbench, identificandoy enlazando las tablas que lo ameriten.

•  Hacer por lo menos tres inserciones de datos y mostrarlos en captura depantalla. 

•  Realizar los esquemas de los modelos de diagrama realizados, mostrarlosen captura de pantalla. 

Page 52: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 52/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

!"

Se requiere desarrollar una base de datos para llevar la gestión de una tienda depescado. Los barcos llevan la carga de cada día a la tienda y allí se vende a loscompradores que generalmente son pescaderías de la zona. Se sabe lo siguiente:Una vez que llegan los barcos con la carga de cada día, ésta se reparte en

distintos lotes. Cada lote se identifica por un código de lote y consta de un númerode cajas de una determinada especie (pulpo, camarón, etc.), así como de unnúmero de kilos y la fecha de recepción. Además, también interesa saber el preciopor kilo (el de compra y el de venta). De cada tipo de pescado se guardará uncódigo y un nombre.

 A la tienda llegan distintos compradores para adquirir los lotes, de dichoscompradores se necesita guardar código, nombre, dirección y además saber sitienen crédito en la tienda o no.Finalmente es necesario saber cuáles lotes compró cada comprador.

Diagrama E-R

Page 53: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 53/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$%

Diagrama de Clase

Page 54: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 54/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$&

Modelo Relacional

Page 55: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 55/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$'

Inserción de Datos

Tabla Especie

Tabla Lotes

Tabla Comprador

Page 56: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 56/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$(

Se desea diseñar un modelo relacional que guarde la información de lasreservaciones de una empresa dedicada al alquiler de automóviles tomando encuenta que:

•  Un determinado cliente puede tener en un momento dado variasreservaciones.

•  Una reservación la realiza un único cliente, pero puede involucrar a varioscoches.

•  Es importante registrar la fecha de comienzo de la reservación así como sufecha de terminación.

•  Todo coche tiene siempre asignado un número de garaje que no puedecambiar.

•  En la base de datos pueden existir clientes que no hayan hecho ningunareservación.

Diagrama E-R.

Page 57: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 57/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$!

Diagrama de Clase.

Page 58: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 58/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$$

Modelo Relacional.

Page 59: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 59/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$)

Inserción de Datos.Tabla Cliente

Tabla Coche

Tabla Garage

Tabla Reservación

Page 60: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 60/130

 

"#$%&'%( )%#*(%'+, -* ./-*0/1 #*0(%'/,(0*1 %/, *0 21/ -* 1/3&4(#* 

Page 61: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 61/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

OBJETIVOS

•   Aprender a depurar tablas, utilizando la normalización. •  Realizar un mejor diseño de las tablas. •   Aprender a utilizar las 3 formas normales. •   Analizar diferentes funciones que contiene la integridad referencial. •  Desarrollar una base de datos con una función específica. •  Realizar los ejercicios sugeridos.

MATERIAL REQUERIDO:

1. Hojas blancas tamaño carta2. Regla

3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQL Workbench (MAC OSX, WINDOWS)

con servidores apache, WAMP, XAMPP, etc.

Page 62: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 62/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"$

INSTRUCCIONES

  Realizar el ejercicio correspondiente con su diagrama de Entidad-Relación, así como enlazar todas las tablas correspondientes de lamanera correcta.

•  Realizar la normalización de cada tabla.

•  Verificar que estén en sus tres formas normales.

•  Pasar todas las tablas a workbench y realizar su respectivo modelorelacional para tener una guía firme.

•  Una vez hechas las tablas en workbench indexar las foreign keys yrealizar su integridad referencial correspondiente dependiendo lafunción deseada.

•  Concluir el ejercicio sugerido.

Page 63: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 63/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"%

Definiciones y componentes de DATOS RELACIONALES enMySQLWorkbench”

NORMALIZACION:Proceso de descomposición de tablas

OBJETIVOS DE LA NORMALIZACIÓN.• Mejor diseño• Fácil de utilizar• Rápidas• Menor tamaño

• Sin pérdida de datos

FORMAS NORMALES• Primera Forma Normal (1FN): Son todos los campos de la tabla son

atómicos y no deben de existir campos duplicados • Segunda Forma Normal (2FN): Son todos los campos que estan en

su 1 FN y no deben existir campos (que no sean llaves) que nodependan directamente de la llave primaria

• Tercera Forma Normal (3FN): Son todos los campos que estan ensu 2 FN y no deben tener campos calculados

INTEGRIDAD REFERENCIALSe busca desarrollar una base de datos con una función específica deIntegridad Referencial la cual esta permite que los datos sean consistentesentre tablas, con una mayor seguridad y una constante sincronización, delas cuales podemos contar con cuatro diferentes funciones, que son:

•  CASCADE: Borra o actualiza el registro en la tabla padre yautomáticamente borra o actualiza los registros coincidentes en latabla hija.

•  SET NULL: Borra o actualiza el registro en la tabla padre y estableceen NULL la o las columnas de clave foránea en la tabla hija.

•  NO ACTION:  Significa “ninguna acción” en el sentido de que en unintento de borrar o actualizar un valor de clave primaria no serápermitido si en la tabla referenciada hay una valor de clave foránearelacionado.

•  RESTRICT: Rechaza la operación de eliminación o actualización enla tabla padre.

Page 64: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 64/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&'

REALIZAR EL EJERCICIO SUGERIDO:

Se desea mantener una base de datos para el control de medicamentos deuna farmacia.

Cada medicamento contiene su presentación (por ejemplo: ampolletas de 5unidades, jarabe de 100 ml, inyecciones por 10 unidades, pomadas 60gramos, etc.), la o las mono drogas que lo componen, el laboratorio que locomercializa (de los cuales también se desea llevar el control) y su acciónterapéutica (analgésico, antibiótico, etc.), además de su precio y la cantidaden existencia del mismo.

La nota que se registra en cada venta contiene los siguientes datos:Producto, cantidad vendida, precio unitario, subtotal, IVA, importe total de la

venta, tipo de producto, cliente, RFC del cliente, fecha y folio.

 Algunos productos son controlados, de los cuales se deben tener los datosgenerales del médico que los receta (número de cédula, nombre completo,especialidad –si la tiene-).

Page 65: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 65/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&(

BASE DE DATOS FARMACIA

DIAGRAMA E-R

Page 66: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 66/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&)

DIAGRAMA DE CLASES

Page 67: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 67/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&*

MODELO RELACIONAL

Page 68: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 68/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&+

Ejecucion de funciones de integridad referencial

Para poder accionar las diferentes opciones de integridad referencial se en

la tabla deseada se debe tener foreign key ya que es una propiedad de

estas llaves, para lo cual vamos a a darle click en “foreign key option“ en

las opciones de “On Update” y “On Delete” y activar la opcion deseable y

aplicar cambios, en este caso mostraremos la opcion “CASCADE”.

Page 69: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 69/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&"

Page 70: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 70/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&&

INSERCIÓN DE DATOS

Tabla presentación

Tabla nota_medicamento

Tabla nota

Tabla monodroga

Page 71: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 71/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&#

Tabla medico

Tabla medicamento

Tabla laboratorio

Tabla cliente

Page 72: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 72/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

&$

Tabla acción terapéutica

Page 73: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 73/130

 

"#$%&'%( )%#*(%'+, -* ./-*0/1 #*0(%'/,(0*1 %/, *0 21/ -* 1/3&4(#* 

Page 74: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 74/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

Objetivos

• Usar operadores matemáticos en función de una consulta en MySQLWorkbench.

• Realizar consultar básicas y complejas dentro de una base de datos.

•  Analizar y consultar datos en forma multi-tabla.

• Realizar lo ejercicios sugeridos.

Page 75: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 75/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$%

MATERIAL REQUERIDO:

1. Hojas blancas tamaño carta

2. Regla3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)

con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

•  De los diagramas de ENTIDAD- RELACIÓN, CLASES y MODELO

RELACIONAL hacer unas bases de datos llamada futbol. 

•  Verificar que la base de datos se encuentre en su 3er FORMANORMAL. 

•  Hacer las tablas requeridas, con sus respectivas llaves for áneas.

•  Una vez realizado el paso anterior hacer las consultas que serequieren por cada consulta realizar una impresión de pantalla,

comentando las líneas de ejecución. 

•  Hacer todos los ejercicios sugeridos. 

Page 76: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 76/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$&

Definiciones y componentes de consultas en MySQLWorkbench”

SENTENCIAS Y CONSULTAS EN SQL SERVER

En esta sección nos preocuparemos por conocer, las consultas enSQL que describiremos aquí. Para eso haremos un pequeño ejemplo de laspalabras claves que se utilizan en SQL, tales como son TABLAS, CAMPOS,FILAS, esto se muestra en la siguiente imagen:

TABLA: es el conjunto ordenado de campos (columnas) y filas.

Campo 1 

Campo 2 

Campo 3 

Campo 4 

Fila 1 

Fila 2 

Fila 3 

Las palabras claves SQL enlistadas en la figura adjunta, se

describen en las siguientes subsecciones, cabe mencionar que esta

edición es solo un trabajo de introducción básica, es por esta razón

que el contexto de consultas SQL completas, escapa de esta edición.

Palabra Clave SQL 

Descripción 

SELECT

FROM 

WHERE 

GROUP BY

ORDER BY

INSERT

UPDATEDELETE

 

Recupera datos de una o más tablas.

Las tablas involucradas en la consulta. Se

requiere para cada SELECT.

Los Criterios de selección que determinan cuales

filas se van a recuperar, eliminar o actualizar.

Criterio para agrupar filas.

Criterio para ordenar filas.

Insertar filas en una tabla especificada.

Actualizar filas en una tabla especifica.Eliminar filas de una tabla especifica.

 

Page 77: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 77/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$'

CONSULTA BÁSICA SELECT:  lo que hace una consulta SELECT, esobtener datos de una Tabla determinada, en las que se especifican filas ycolumnas. La sintaxis básica de una consulta SELECT es:

SELECT * FROM nombreDeTabla 

En la consulta anterior, el asterisco (*) indica que deben recuperarse todaslas columnas de la tabla “nombreDeTabla”. Por ejemplo, deseamosrecuperar todos los datos de la tabla Alumno, la sintaxis seria la siguiente:

Observación: Por lo general se acostumbra a escribir estas palabras claves enmayúsculas, tratando de diferenciarlos con los argumentos de una tabla.

SELECT <campos> FROM <tablas> WHERE <condicion> GROUP BY <campos>

La estructura presentada, es la que se utiliza SQL posee de una jerarquía entre suspalabras claves, y una manera general la presentamos para conocimiento del lector.

Observación. 

! Se debe evitar utilizar el asterisco (*), si se desea filtrar solocampos necesari s.

! Al especificar los nombres de columnas que se van a seleccionar,se garantiza que las columnas se devuelvan, siempre en el ordenespecificado y también se evita que se devuelven columnasinnecesarias, incluso si cambia el orden real.

Page 78: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 78/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$(

LA CLÁUSULA WHERE: en la mayoría de casos es necesario localizar, enuna base de datos, filas que cumplan con ciertos criterios de selección. SQLutiliza la cláusula WHERE en una consulta SELECT para especificar loscriterios de selección para la consulta. La forma básica de una consultaSELECT con criterios ó condición de selección es:

SELECT nombreDeColumnas FROM nombreDeTabla WHERE criterios 

Por ejemplo, para seleccionar las columnas IdAlumno, monto de latabla Pagos, para las cuales el monto sea mayor que 340, utilizamos lasiguiente consulta:SELECT IdAlumno, Monto FROM Pagos WHERE monto>340 Los criteriosde la cláusula WHERE pueden contener los siguientesoperadores de comparación: =, >, <, >=, <=, !=, <>, IN, NOT IN, BETWEEN,

NOT BETWEEN, LIKE. Además, se puede construir condiciones múltiplesusando los operadores lógicos AND, OR y NOT. Se puede utilizarparéntesis si se desea forzar algún orden de evaluación.

LA CLÁUSULA ORDER BY: El resultado de una consulta puede ordenarseen forma ascendente o descendente, mediante el uso de la cláusula ODERBY opcional. La forma básica de una instrucción SELECT con una cláusulaORDER BY es:

SELECT nombreDeColumnas FROM Tablas ORDER BY columna1  ASCSELECT nombreDeColumnas FROM Tablas ORDER BY columna1 DESC 

En donde ASC especifica el orden ascendente (de menor a mayor), DESCespecifica el orden descendente (de mayor a menor) y columna1 especificala columna en la cual se basa el ordenamiento.

Page 79: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 79/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$)

USO DE FUNCIONES DE AGREGADO: Las funciones que calculanpromedios y sumas se llaman funciones de agregado. Cuando se ejecutauna función de agregado, SQL Server resume los valores de toda una tablao de grupos de columnas de una tabla, y produce un valor por cadaconjunto de filas para las columnas especificadas:

Funciones de 

agregado 

Descripción 

AVG 

Promedio de valores en una expresión numérica 

COUNT 

Números de valores en una expresión 

COUNT(*) 

Numero de filas seleccionadas 

MAX  Valor más alto en la expresión 

Con la excepción de la función COUNT(*), todas las funciones de agregadodevuelven NULL si ninguna fila cumple la cláusula WHERE. La funciónCOUNT(*) devuelve el valor cero si ninguna fila cumple la cláusula WHERE.

COUNT: es la única función de agregado que se puede utilizar en lascolumnas de los tipos de datos text, ntext o image.

MIN Y MAX: En las columnas de los tipos de datos bit no se pueden utilizar

las funciones MIN y MAX.

SUM Y AVG: Las funciones de agregado SUM y AVG solo se puedenutilizar en las columnas con tipos de datos int, smallint, tinyint, dcimal,numeric, flota, real, nomey, y samallmoney.

Cuando se utiliza la función SUM o AVG, SQL Server trata los tipos dedatos smallint o tinyint como un valor de tipo de datos int en el conjunto deresultados.

Page 80: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 80/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$*

LA CLÁUSULA GROUP BY: Utilice la cláusula GROUP BY encolumnas o expresiones para organizar filas en grupos y para resumirdichos grupos. Por ejemplo, utilice la cláusula GROUP BY para determinarla cantidad de cada producto pedida en todos los pedidos.Cuando utilice la cláusula GROUP BY, considere los hechos e instruccionessiguientes:

SQL Server produce una columna de valores por cada grupo definido.

•  SQL Server sólo devuelve filas por cada grupo especificado; nodevuelve información de detalle.

•  Todas las columnas que se especifican en la cláusula GROUPBY tienen que estar incluidas en la lista de selección.

•  Si incluye una cláusula WHERE, SQL Server sólo agrupa lasfilas que cumplen las condiciones de la cláusula WHERE.

•  No utilice la cláusula GROUP BY en columnas que contenganvarios valores nulos, porque los valores nulos se procesancomo otro grupo.

•  Utilice la palabra clave ALL con la cláusula GROUP BY parapresentar todas las filas que tengan valores nulos en lascolumnas de agregado, independientemente de si las filas

cumplen la condición de la cláusula WHERE.

Page 81: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 81/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$"

REALIZAR EL EJERCICIO SUGERIDO: BASE DE DATOS FÚTBOL

DIAGRAMA ENTIDAD RELACION

Page 82: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 82/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$$

DIAGRAMA DE CLASE 

MODELO RELACIONAL

Page 83: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 83/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$+

REALIZAR LAS SIGUIENTES CONSULTAS: 

1. Todos los datos de los jugadores con más de 20 goles anotados.

2. Todos los datos de los jugadores cuyo apellido paterno o materno sea Huerta.

3. Mostrar la clave, nombre, apaterno, amaterno de todos los jugadores ordenadospor apaterno.

4. Mostar el número máximo de goles anotados.5. Mostrar cuantos jugadores existen en cada equipo.

6. Mostrar en que equipo juega Ernesto.

!"#$%&'( *+

!"#$%&'( ,+

Page 84: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 84/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

$#

!"#$%&'( -+

!"#$%&'( .+

!"#$%&'( /+

Page 85: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 85/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

+%

!"#$%&'( 0+

Page 86: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 86/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"#

REALIZAR EL EJERCICIO BASE DE DATOS

PRODUCTOS/PROVEEDORES

DIAGRAMA ENTIDAD-RELACIÓN

Page 87: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 87/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"$

DIAGRAMA DE CLASE 

MODELO RELACIONAL

Page 88: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 88/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"%

REALIZAR LAS SIGUIENTES CONSULTAS:

1. Mostrar todo los datos de los productos cuyo código sea igual a

TL1182.

2. Reunir las dos tablas por medio de la clave del proveedor.

3. Mostrar los atributos, precio y nombre de los productos cuyo preciosea menor a $20.00

4. Mostrar todos los datos de los productos cuya existencia sea mayor a

110. Ordenándolos (en forma descendente ) por código.

5. Mostrar el código, proveedor, precio para los productos que cuesten

$18.95.

6. Obtener el promedio del precio cuyo proveedor sea igual a 3.

7. Obtener el promedio de la existencia por cada proveedor.

8. Mostrar todos los datos de los proveedores ordenados por clave en

forma descendente.

9. Mostrar todos los datos de los productos cuyo precio sea mayor a 10y existencia sea mayor a 300.

Page 89: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 89/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"&

CONSULTA 1:

CONSULTA 2:

Page 90: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 90/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"'

CONSULTA 3:

CONSULTA 4:

Page 91: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 91/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

"(

CONSULTA 5:

CONSULTA 6:

Page 92: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 92/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

")

CONSULTA 7:

CONSULTA 8:

Page 93: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 93/130

Manual de Actividades y Prácticas(Fundamentos de Bases de Datos)

""

CONSULTA 9:

Page 94: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 94/130

 

"#$%&'%( )%#*(%'+, -* .'/&(/ %0, /12 

Page 95: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 95/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;

Objetivos:

•  Entender el uso y funcionamiento de una vista dentro de SQL. 

•  Saber la estructura del código SQL para generar una vista.

•  Conocer la ejecución para una vista a través de código SQL.

Material Requerido:

1. Hojas blancas tamaño carta2. Regla3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) con

servidores apache, WAMP, XAMPP, etc.

Instrucciones:

• De los diagramas de ENTIDAD- RELACIÓN, CLASES y MODELORELACIONAL hacer unas bases de datos llamada dulcería.

• Verificar que la base de datos se encuentre en su 3er FORMA NORMAL.• Hacer las tablas requeridas, con sus respectivas llaves foráneas.• Una vez realizado el paso anterior hacer las consultas que se requieren por

cada consulta realizar una impresión de pantalla, comentando las líneas de

ejecución.• Generar las vistas correspondientes a través de código de cada punto dado

y ejecutar las mismas.

Hacer todos los ejercicios sugeridos.

Page 96: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 96/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;<

Concepto de vista. 

=  Una vista es una tabla derivada de otras tablas (básicas o virtuales).=  Una vista se caracteriza porque:

 >  Se considera que forma parte del esquema externo.

 >  Una vista es una tabla virtual (no tiene una correspondencia anivel físico). >  Se puede consultar como cualquier tabla básica. >  Las actualizaciones se transfieren a la/s tabla/s original/es

(con ciertas limitaciones).

Aplicaciones de las vistas.

=  Para la especificación de tablas con información que se accede confrecuencia pero no posee existencia física: >  Información derivada de la relación entre varias tablas. >  Información derivada de la formación de grupos de tuplas (p.e.

para la obtención de estadísticas). >  En general: información derivada de consultas complejas a la

que se accede con frecuencia.=  Como mecanismo de seguridad: creación de vistas con, únicamente,

los atributos de las tablas a los cuales se desea permitir acceder adeterminados usuarios.

=  Para la creación de esquemas externos.

Page 97: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 97/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;?

Manipulación de Vistas con SQL.

=  La sintaxis para la creación de vistas en SQL es la siguiente:

CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [withcheck option] en donde:

 >  CREATE VIEW es la orden que permite la creación de lavista.

 >  vista es el nombre de la tabla virtual que se va a crear. >  (comalista_columna) son los nombres de los atributos de la

tabla y es opcional:

=  Si no se especifica, el nombre coincide con el nombre de los

atributos resultantes en expresión_tabla.=  Es obligatorio si algún atributo de expresión_tabla es el resultado de

una función de agregación o una operación aritmética.=  La sintaxis para la creación de vistas en SQL es la siguiente:

CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [withcheck option] en donde:

 >  expresión_tabla es una consulta SQL cuyo resultado será elcontenido de la vista.

 >  WITH CHECK OPTION es opcional y se debe incluir si sedesea actualizar la vista de una manera íntegra.

 >  Para la eliminación de una vista se utiliza la instrucción: >  DROP VIEW vista [restrict | cascade];

Page 98: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 98/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;@

 A partir de la siguiente tabla que pertenece a la base de datos dulcería

Tabla dulce 

clave Nombre Descripción Unidades Precio_venta marca4001 Gussi Galleta rellena de

chocolate

Piezas 2.50 1

4002 Bubbaloo Chicle con rellenoliquido

Piezas 1.00 3

4003 lunetas Chocolate confitado sobres 6.00 2

Tabla marcas

Clave nombre001 De la rosa002 Ricolino003 Adams

Realizar las siguientes consultas (escribir en sentencias SQL y su resultado entablas):

a) Mostrar el nombre y las unidades de los dulces cuyo precio de venta seamayor a 2.

b) Mostrar el nombre de los dulces y el nombre de las marcas cuya unidad seapiezas.

c) Mostrar cuantos dulces hay por cada marca ordenándolos de formadescendente por marca.

d) Mostrar cual es el dulce con menor precio.e) Insertar un registro en cada tabla (marcas, dulces).f) Cambiar la descripción de lunetas por dulce macizo.g) Borrar los dulces con clave 002.h) Eliminar las unidades con clave 001.

Importante: las consultas SIEMPRE deben de estar vigentes

independientemente de los datos que contengan las tablas

Page 99: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 99/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;A

Modelo Relacional: Dulces-Marcas.

Page 100: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 100/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;B

Vista 1:

Resultado 1:

Page 101: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 101/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;C

Vista 2:

Resultado 2:

Page 102: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 102/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

;D

Vista 3:

Resultado 3:

Page 103: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 103/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;

BD: HotelTabla: Reservaciones

Clave Num_habitacio 

Cliente F_ingreso F_egreso Promocion

90001 2034 10001 16-05-2014 18-05-2014 TI001

90002 2020 10456 16-05-2014 20-05-2014 SI00190003 1018 10379 23-05-2014 25-05-2014 TI003

90004 1029 10986 24-05-2014 27-05-2014 TI002

90005 4035 10845 24-05-2014 29-05-2014 SI001

Tabla: Clientes

Id Nombre A_paterno A_matern 

F_nacimiento1000

 Esteban Pérez Iturralde 10/10/1980

1045

 

Israel Méndez Arteaga 09/11/1979

1084  Juan Navarrete Ortiz 05/03/1970

<=  Realizar las siguientes vistas:

!"  Mostrar cuántas reservaciones hay por cada promociónordenándolos por promoción en forma ascendente.

#"  Mostrar cuál es el cliente con mayor edad.$"  Mostrar la promoción y el número de habitación de las

reservaciones cuya fecha de ingreso sea mayor a 16 de mayode 2014.

d. Mostar el número de habitación de las reservaciones que

terminaban antes del 17 de mayo del 2014.e. Mostrar la primera fecha de ingreso del cliente más joven.

f. Mostrar la clave del cliente que haya realizado más de 3

reservaciones.

Page 104: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 104/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:>

Vista A:

Resultado A:

Page 105: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 105/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::

Vista B:

Resultado B:

 

Page 106: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 106/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

<??

Vista C:

Resultado C:

Page 107: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 107/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

<?<

Vista D:

Resultado D:

Page 108: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 108/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

<?@

Vista E:

Resultado E:

Page 109: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 109/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

<?A

Vista F:

Resultado F:

Page 110: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 110/130

 

"#$%&'%( )*+, -. /,'0+ .0 +12 

Page 111: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 111/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;<

Objetivos:

•  Entender la estructura de los JOINS dentro de una sintaxis SQL.•  Comprender el uso de cada JOIN para necesidades diferentes.

Material Requerido:

1. Hojas blancas tamaño carta2. Regla3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) con

servidores apache, WAMP, XAMPP, etc.

Instrucciones:

• De los diagramas de ENTIDAD- RELACIÓN, CLASES y MODELORELACIONAL hacer unas bases de datos llamada dulcería.

• Verificar que la base de datos se encuentre en su 3er FORMA NORMAL.• Hacer las tablas requeridas, con sus respectivas llaves foráneas.• Una vez realizado el paso anterior hacer las consultas que se requieren por

cada consulta realizar una impresión de pantalla, comentando las líneas deejecución.

• Generar las consultas correctas a través del uso de JOINs en SQL.Hacer todos los ejercicios sugeridos.

Page 112: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 112/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;=

JOINS

La sentencia SQL JOIN permite consultar datos de 2 o más tablas.

Dichas tablas estarán relacionadas entre ellas de alguna forma, a través de algunade sus columnas.

Existen 3 tipos de JOINS: JOIN interno, JOIN externo y JOIN cruzado.

Una clave primaria es una columna con un valor único para cada registro de unatabla.

El propósito del JOIN es unir información de diferentes tablas, para no tener querepetir datos en diferentes tablas.

INNER JOIN 

La sentencia INNER JOIN es la sentencia JOIN por defecto, y consiste encombinar cada fila de una tabla con cada fila de la otra tabla, seleccionadoaquellas filas que cumplan una determinada condición.

SELECT * FROM tabla1 INNER JOIN tabla2 WHERE tabla1.columna1 =tabla2.columna1

Page 113: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 113/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;>

LEFT JOIN La sentencia LEFT JOIN combina los valores de la primera tabla con los valoresde la segunda tabla. Siempre devolverá las filas de la primera tabla, incluso

aunque no cumplan la condición.

SELECT * FROM tabla1LEFT JOIN tabla2WHERE tabla1.columna1 = tabla2.columna1

RIGTH JOIN La sentencia RIGHT JOIN combina los valores de la primera tabla con los valoresde la segunda tabla. Siempre devolverá las filas de la segunda tabla, inclusoaunque no cumplan la condición.

En algunas bases de datos, la sentencia RIGHT JOIN es igual a RIGHT OUTERJOIN

SELECT * FROM tabla1 RIGHT JOIN tabla2 WHERE tabla1.columna1 =tabla2.columna1

Page 114: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 114/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;?

FULL JOIN La sentencia FULL JOIN combina los valores de la primera tabla con los valoresde la segunda tabla. Siempre devolverá las filas de las dos tablas, aunque nocumplan la condición. 

La sentencia FULL JOIN es la unión de LEFT JOIN y RIGHT JOIN

SELECT * FROM tabla1 FULL JOIN tabla2 WHERE tabla1.columna1 =tabla2.columna1

Page 115: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 115/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;@

Ejercicios de JOINS en la base de datos hotel con SQL.

Código INNER JOIN

Resultado INNER JOIN

Page 116: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 116/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:;A

Código LEFT JOIN

Resultado LEFT JOIN

Page 117: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 117/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::;

Código RIGHT JOIN

Resultado RIGHT JOIN

Page 118: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 118/130

 

"#$%&'%( )*+,-./(0, 1, 2(-'"/+(%'3- 1, 1(&45 612+7 

Page 119: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 119/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:::

Objetivos:

•  Conocer las sentencias más comunes de SQL.•  Analizar el uso de Su-Consultas SQL.

Material Requerido:

1. Hojas blancas tamaño carta2. Regla3. Lápices de colores4. Borrador5. Software adicional yed graph editor (MAC OSX, WINDOWS)

6. Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) conservidores apache, WAMP, XAMPP, etc.

Instrucciones:

• De los diagramas de ENTIDAD- RELACIÓN, CLASES y MODELORELACIONAL hacer unas bases de datos llamada dulcería.

• Verificar que la base de datos se encuentre en su 3er FORMA NORMAL.• Hacer las tablas requeridas, con sus respectivas llaves foráneas.• Una vez realizado el paso anterior hacer las consultas que se requieren, por

cada consulta realizar una impresión de pantalla, comentando las líneas de

ejecución.Hacer todos los ejercicios sugeridos.

Page 120: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 120/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::;

Lenguaje de manipulación de datos

(DML: Data Manipulation Language):

Lenguaje artificial de cierta complejidad que permite el manejo y procesamiento elcontenido de la base de datos. En la práctica puede consistir en un subconjunto deinstrucciones de otro lenguaje informático. Las aplicaciones que trabajan sobre labase de datos se programan en un lenguaje de programación (C, Cobol, ...)insertando en el código fuente sentencias del DML. Al utilizar un DML se debenespecificar los datos que serán afectados por las sentencias del lenguaje. Un DMLpuede tener o no procedimientos, según sea necesario especificar además cómodeben obtenerse esos datos. Los DML con procedimientos tienen sentencias decontrol de flujo como bucles o condicionales. Los DML sin procedimientos sonconocidos también como declarativos.

Page 121: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 121/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::<

 A partir de la siguiente tabla que pertenece a la base de datos dulcería

Tabla dulce 

clave Nombre Descripción Unidades Precio_venta marca4001 Gussi Galleta rellena de

chocolate

Piezas 2.50 1

4002 Bubbaloo Chicle con rellenoliquido

Piezas 1.00 3

4003 lunetas Chocolate confitado sobres 6.00 2

Tabla marcas

Clave nombre001 De la rosa002 Ricolino003 Adams

Realizar las siguientes consultas (escribir en sentencias SQL y su resultado entablas):

a) Mostrar el nombre y las unidades de los dulces cuyo precio de venta seamayor a 2.

b) Mostrar el nombre de los dulces y el nombre de las marcas cuya unidad seapiezas.

c) Mostrar cuantos dulces hay por cada marca ordenándolos de formadescendente por marca.

d) Mostrar cual es el dulce con menor precio.e) Insertar un registro en cada tabla (marcas, dulces).f) Cambiar la descripción de lunetas por dulce macizo.g) Borrar los dulces con clave 002.h) Eliminar las unidades con clave 001.

Importante: las consultas SIEMPRE deben de estar vigentes

independientemente de los datos que contengan las tablas.

Page 122: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 122/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::=

Código 1:

Page 123: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 123/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::>

Código 2:

Código 3:

Page 124: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 124/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::?

Código 4:

Page 125: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 125/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::;

BD: HotelTabla: Reservaciones

Clave Num_habitacion Cliente F_ingreso F_egreso Promocio 90001 2034 10001 16-05-2014 18-05-2014 TI001

90002 2020 10456 16-05-2014 20-05-2014 SI00190003 1018 10379 23-05-2014 25-05-2014 TI003

90004 1029 10986 24-05-2014 27-05-2014 TI002

90005 4035 10845 24-05-2014 29-05-2014 SI001

Tabla: Clientes

Id Nombre A_paterno A_materno F_nacimiento1000 

Esteban Pérez Iturralde 10/10/19801045

 

Israel Méndez Arteaga 09/11/1979

1084 

Juan Navarrete Ortiz 05/03/1970

:<  Crear la BD.

=<  Crear las tablas y relacionarlas a través del cliente.

><  Ingresar los registros.

?<  Borrar la reservación del cliente 10986.

@<  Cambiar la fecha de egreso de la reservación 90005 por 31/05/2014.

A<   A través de código agregar una columna que se llame comentarios a latabla Reservaciones.

;<   A través de código crear una tabla que se llame dotación (Clave,Descripción).

B<   A través de código borrar la tabla dotación.

Page 126: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 126/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::B

Código 1:

Código 2:

Page 127: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 127/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

::C

Código 3:

Page 128: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 128/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:=D

Código 4:

Page 129: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 129/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

:=:

Código 5:

Código 6:

Resultado Código 6:

Page 130: Mysql Workbench Prácticas

7/21/2019 Mysql Workbench Prácticas

http://slidepdf.com/reader/full/mysql-workbench-practicas 130/130

!"#$"% '( )*+,-,'"'(. / 012*+,*".

34$#'"5(#+6. '( 7".(. '( 8"+6.9

Código 7:

Código 8: