Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos
Comprender
que datos existen y como se relacionan entre ellos,
independientemente de cmo son o sern almacenados fsicamente.
Identificar y clasificar los elementos: ENTIDAD - RELACIN Y DIAGRAMA DE
CLASES.
Hacer anlisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMA
DE CLASES.
Proporcionar atributos y operaciones necesarios.
Comprender que informacin y operacin se necesita para hacer ptimo el
proceso de almacenamiento.
Identificar y sealar los diferentes tipos de llaves que se utilizan en los
diagramas de Clases y E-R.
Realizar un diagrama de Entidad - Relacin con todos sus elementos.
Convertir diagrama de Entidad-Relacin a diagrama de Clases con todos sus
elementos.
Aprender la modelacin de diagramas por software teniendo como herramienta
de trabajo MySQLWorkbench.
Identificar las llaves Forneas y enlazar de manera correcta a sus columnas de
referencia.
Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.
Realizar la modelacin de diagramas de todos los ejercicios propuestos.
DIAGRAMAS DE CLASES
Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de
contenido.
Los diagramas de clases son grficamente representadas por cajas con
compartimentos para: Nombre de la clase, atributos y operaciones y/o mtodos,
Responsabilidades, Reglas, Historia de Modificaciones, etc.
En UML, una clase es representada por un rectngulo que posee tres
divisiones:(Ejemplo: ver fig. 2)
MYSQLWORKBENCH
MySQLWorkbench es una herramienta que permite modelar diagramas de
entidad-relacin para bases de datos MySQL. Puedes utilizarla para disear el
esquema de una base de datos nueva, documentar una ya existente o realizar una
migracin compleja.
La aplicacin elabora una representacin visual de las tablas, vistas,
procedimientos almacenados y claves extranjeras de la base de datos. Adems,
es capaz de sincronizar el modelo en desarrollo con la base de datos real.
MySQLWorkbench tambin puede generar el script necesario para crear la base
de datos que se ha dibujado en el esquema; es compatible con los modelos de
base de datos de DBDesigner 4 y soporta las novedades incorporadas en MySQL
5.
Cmo utilizar MySQLWorkbench?
Aqu te hacemos un paso a paso para que puedas realizar los ejercicios
sugeridos.
Creacin de una tabla del ejercicio: Libros, Vendedores y Clientes.
Paso1.- Nos dirigimos al icono de MySQLWorkbench usualmente posicionado en
nuestro escritorio despus de la instalacin damos doble clic sobre este
Paso 3.- Daremos clic en el smbolo 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.
Paso 4.- Una vez abierto nuestro nuevo modelo nos presentar esta pantalla
donde realizaremos la creacin y organizacin de nuestra base de datos sus
tablas y todo el contenido que esta tendr le asignamos el nombre
correspondiente 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 seccin donde creamos la BD, debajo
encontraremos una parte que dir Add table, dar clic sobre esa seccin y nos
crear una nueva tabla.
Una vez realizado este paso pondremos el nombre deseado, en este caso se
llamar vendedor, MySQLWorkbench es un programa muy fcil de utilizar en el
cual intuitivamente podremos ir resolviendo nuestro ejercicio.
Paso 9.- Una vez que estamos seguros de haber llenado correctamente le damos
Apply en la parte inferior derecha.
Paso 10.- Si hemos realizado de manera correcta los pasos anteriores vamos a
ver una pantalla emergente la cual nos informar de los cambios que realizaremos
a nuestra tabla, una vez revisados y aceptados nuestros cambios volvemos a
repetir la misma accin damos clic sobre el botn Apply el cual aplicar los
cambios que hemos realizado.
Tabla Facturas.
10
Paso 11.- El siguiente paso es enlazar nuestras tablas con sus respectivas llaves
forneas sus relaciones las habremos obtenido en nuestro diagrama entidadrelacin, de esta manera las uniremos en la parte inferior donde ingresamos
nuestros atributos encontraremos un barra donde daremos clic sobre Foreign key.
De esa manera nos cambiar de pestaa y podremos editar la relacin que tiene
cada tabla con las dems. Recordemos que para poder hacer una relacin exitosa
tienen que tener el mismo tipo de dato relacin entre los nombres.
Ejemplo: En la imagen se toma la tabla que contiene Foreign Keys, desde la
pestaa Indexes, declaramos las tablas a las cuales nos vamos a enlazar, usando
su Primary Key, lo siguiente es ir al Segundo cuadro de dialogo y marcar el id de
la tabla seleccionada. (Ver imagen).
Paso 12.- Ir a la pestaa Foreign Key y enlazar las columnas de referencia con las
columnas destino, como se muestra en la imagen.
11
MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.
INSTRUCCIONES:
12
EJERCICIOS SUGERIDOS:
Realizar diagramas de modelos ENTIDAD-RELACIN, DIAGRAMAS DE
CLASES Y MODELACIN DE DIAGRAMAS EN MYSQLWORKBENCH con
los siguientes datos:
1. Empleados Beneficiados
Diagrama E-R
13
Diagrama de Clase
Modelo Relacional
14
Insercin de Datos
Tabla Beneficiados
Tabla Empleados
15
16
Diagrama de Clase
Modelo Relacional
17
Insercin de Datos
Tabla Alumnos
Tabla Alumnos-Materias
Tabla Materias
Tabla Materias-Profesores
Tabla Profesores
18
19
Diagrama de Clase
Modelo Relacional
20
Insercin de Datos
Tabla Clientes
Tabla Clientes-Pedidos
Tabla Pedidos
Tabla Pedidos-Productos
Tabla Productos
21
PRCTICA 4
Objetivos
Comprender
que datos existen y como se relacionan entre ellos,
independientemente de cmo son o sern almacenados fsicamente.
Identificar y clasificar los elementos: ENTIDAD - RELACIN Y DIAGRAMA DE
CLASES.
Hacer anlisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMA
DE CLASES.
Proporcionar atributos y operaciones necesarios.
Comprender que informacin y operacin se necesita para hacer ptimo el
proceso de almacenamiento.
Identificar y sealar los diferentes tipos de llaves que se utilizan en los
diagramas de Clases y E-R.
Realizar un diagrama de Entidad - Relacin con todos sus elementos.
Convertir diagrama de Entidad-Relacin a diagrama de Clases con todos sus
elementos.
Aprender la modelacin de diagramas por software teniendo como herramienta
de trabajo MySQLWorkbench.
Identificar las llaves Forneas y enlazar de manera correcta a sus columnas de
referencia.
Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.
Realizar la modelacin de diagramas de todos los ejercicios propuestos.
22
MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.
INSTRUCCIONES:
23
EJERCICIOS SUGERIDOS
Ejercicio 1
Se debe automatizar el rea de prstamos, de una empresa se sabe que un
empleado puede tener muchos prestamos, pero uno solo pertenece a un
empleado, cada prstamo tiene un numero nico que lo identifica, su monto, la
fecha 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 a
la impresa.
Es importante conocer a que departamento pertenece cada empleado, los
empleados pueden pertenecer a varios departamentos durante su trayectoria
laboral, as mismo en un departamento existen varios trabajadores laborando al
mismo tiempo, los departamentos tiene un nmero de identificacin, un nombre y
la gerencia a la que pertenece
Diagrama E-R
24
Diagrama de Clase
25
Modelo Relacional
26
Insercin de Datos
Tabla Empleados
Tabla Empleados-Departamento
Tabla Prstamo
Tabla Departamento
27
Ejercicio
2
Una empresa se dedica la venta de libros, un vendedor atiende a muchos
clientes pero un cliente suele ser atendido por un vendedor, los libros se
venden mediante la elaboracin de facturas realizada por los vendedores en
la que se incluyen uno o ms libros, los libros se identifican por su ISBN (Id
Serial Book Number).
Diagrama E-R
28
Diagrama de Clase
29
Modelo Relacional
30
Insercin de Datos.
Tabla Vendedor
Tabla Clientes
Tabla Libros
Tabla Facturas
Tabla Libros-Facturas
31
EJERCICIO
3
Disear un diagrama E-R, un diagrama de clases y un Modelo Relacional para una
base de datos que contenga informacin sobre una carrera de montaa en
Mxico, se conoce lo siguiente:
Todas las ediciones tienen las mismas etapas, aunque puede variar su
longitud.
Se debe tener una tabla con el historial de los equipos que han participado
en cada edicin, con el lugar conseguido por cada uno de ellos.
Interesa guardar los tiempos conseguidos por cada equipo en cada etapa
de una edicin.
32
Diagrama E-R
33
Diagrama de Clase
34
Modelo Relacional
35
Insercin de Datos
Tabla Corredores
Tabla Edicin
Tabla Equipo
Tabla Etapas
Tabla Historial
36
Tabla Patrocinador
Ejercicio
4
Disear un diagrama E-R, un diagrama de clases y un Modelo Relacional para el
siguiente ejercicio:
37
Diagrama E-R
38
Diagrama de Clase
39
Modelo Relacional
40
Insercin de Datos.
Tabla Compaa
Tabla Compaa-Cuartel
Tabla Cuartel
Tabla Cuerpo
Tabla Servicio
Tabla Servicio-Soldado
Tabla Soldado
41
Ejercicio
5
Se necesita reflejar la informacin necesaria para la administracin de las
lneas del metro de la ciudad de Mxico considerando lo siguiente:
42
Diagrama E-R
43
Diagrama de Clase
44
Modelo Relacional
45
Insercin de Datos
Tabla Serie
Tabla Accesos
Tabla Cocheras
Tabla Estaciones
Tabla Lnea
46
PRCTICA 5
Objetivos
Comprender
que datos existen y como se relacionan entre ellos,
independientemente de cmo son o sern almacenados fsicamente.
Identificar y clasificar los elementos: ENTIDAD - RELACIN Y DIAGRAMA DE
CLASES.
Hacer anlisis de CARDINALIDAD PARA ENTIDAD RELACION Y DIAGRAMA
DE CLASES.
Proporcionar atributos y operaciones necesarios.
Comprender que informacin y operacin se necesita para hacer ptimo el
proceso de almacenamiento.
Identificar y sealar los diferentes tipos de llaves que se utilizan en los
diagramas de Clases y E-R.
Realizar un diagrama de Entidad - Relacin con todos sus elementos.
Convertir diagrama de Entidad-Relacin a diagrama de Clases con todos sus
elementos.
Aprender la modelacin de diagramas por software teniendo como herramienta
de trabajo MySQLWorkbench.
Identificar las llaves Forneas y enlazar de manera correcta a sus columnas de
referencia.
Realizar al menos 3 inserciones de datos y mostrar en captura de pantalla.
Realizar la modelacin de diagramas de todos los ejercicios propuestos.
47
MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.
INSTRUCCIONES:
48
Se requiere desarrollar una base de datos para llevar la gestin de una tienda de
pescado. Los barcos llevan la carga de cada da a la tienda y all se vende a los
compradores que generalmente son pescaderas de la zona. Se sabe lo siguiente:
Una vez que llegan los barcos con la carga de cada da, sta se reparte en
distintos lotes. Cada lote se identifica por un cdigo de lote y consta de un nmero
de cajas de una determinada especie (pulpo, camarn, etc.), as como de un
nmero de kilos y la fecha de recepcin. Adems, tambin interesa saber el precio
por kilo (el de compra y el de venta). De cada tipo de pescado se guardar un
cdigo y un nombre.
A la tienda llegan distintos compradores para adquirir los lotes, de dichos
compradores se necesita guardar cdigo, nombre, direccin y adems saber si
tienen crdito en la tienda o no.
Finalmente es necesario saber cules lotes compr cada comprador.
Diagrama E-R
49
Diagrama de Clase
50
Modelo Relacional
51
Insercin de Datos
Tabla Especie
Tabla Lotes
Tabla Comprador
52
Diagrama E-R.
53
Diagrama de Clase.
54
Modelo Relacional.
55
Insercin de Datos.
Tabla Cliente
Tabla Coche
Tabla Garage
Tabla Reservacin
56
PRCTICA 6
OBJETIVOS
MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.
57
INSTRUCCIONES
Realizar el ejercicio correspondiente con su diagrama de EntidadRelacin, as como enlazar todas las tablas correspondientes de la
manera correcta.
Realizar la normalizacin de cada tabla.
Verificar que estn en sus tres formas normales.
Pasar todas las tablas a workbench y realizar su respectivo modelo
relacional para tener una gua firme.
Una vez hechas las tablas en workbench indexar las foreign keys y
realizar su integridad referencial correspondiente dependiendo la
funcin deseada.
Concluir el ejercicio sugerido.
58
INTEGRIDAD REFERENCIAL
Se busca desarrollar una base de datos con una funcin especfica de
Integridad Referencial la cual esta permite que los datos sean consistentes
entre tablas, con una mayor seguridad y una constante sincronizacin, de
las cuales podemos contar con cuatro diferentes funciones, que son:
CASCADE: Borra o actualiza el registro en la tabla padre y
automticamente borra o actualiza los registros coincidentes en la
tabla hija.
SET NULL: Borra o actualiza el registro en la tabla padre y establece
en NULL la o las columnas de clave fornea en la tabla hija.
NO ACTION: Significa ninguna accin en el sentido de que en un
intento de borrar o actualizar un valor de clave primaria no ser
permitido si en la tabla referenciada hay una valor de clave fornea
relacionado.
RESTRICT: Rechaza la operacin de eliminacin o actualizacin en
la tabla padre.
59
60
61
DIAGRAMA DE CLASES
62
MODELO RELACIONAL
63
64
65
INSERCIN DE DATOS
Tabla presentacin
Tabla nota_medicamento
Tabla nota
Tabla monodroga
66
Tabla medico
Tabla medicamento
Tabla laboratorio
Tabla cliente
67
68
PRCTICA 7
Objetivos
69
MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.
INSTRUCCIONES:
De los diagramas de ENTIDAD- RELACIN, CLASES y MODELO
RELACIONAL hacer unas bases de datos llamada futbol.
Verificar que la base de datos se encuentre en su 3er FORMA
NORMAL.
Hacer las tablas requeridas, con sus respectivas llaves forneas.
Una vez realizado el paso anterior hacer las consultas que se
requieren por cada consulta realizar una impresin de pantalla,
comentando las lneas de ejecucin.
Hacer todos los ejercicios sugeridos.
70
Campo 2
Campo 3
Campo 4
Fila 1
Fila 2
Fila 3
Descripcin
SELECT
FROM
WHERE
GROUP BY
ORDER BY
INSERT
UPDATE
DELETE
71
Observacin: Por lo general se acostumbra a escribir estas palabras claves en
maysculas, 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 jerarqua entre sus
palabras claves, y una manera general la presentamos para conocimiento del lector.
Observacin.
Y Se debe evitar utilizar el asterisco (*), si se desea filtrar solo
campos necesari s.
Y Al especificar los nombres de columnas que se van a seleccionar,
se garantiza que las columnas se devuelvan, siempre en el orden
especificado y tambin se evita que se devuelven columnas
innecesarias, incluso si cambia el orden real.
72
73
Descripcin
AVG
COUNT
COUNT(*)
MAX
74
75
76
DIAGRAMA DE CLASE
MODELO RELACIONAL
77
CONSULTA
1:
CONSULTA
2:
78
CONSULTA
3:
CONSULTA
4:
CONSULTA
5:
79
CONSULTA
6:
80
REALIZAR
EL
EJERCICIO
PRODUCTOS/PROVEEDORES
BASE
DE
DATOS
DIAGRAMA ENTIDAD-RELACIN
81
DIAGRAMA DE CLASE
MODELO RELACIONAL
82
1. Mostrar todo los datos de los productos cuyo cdigo 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 precio
sea menor a $20.00
4. Mostrar todos los datos de los productos cuya existencia sea mayor a
110. Ordenndolos (en forma descendente ) por cdigo.
5. Mostrar el cdigo, 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 10
y existencia sea mayor a 300.
83
CONSULTA 1:
CONSULTA 2:
84
CONSULTA 3:
CONSULTA 4:
85
CONSULTA 5:
CONSULTA 6:
86
CONSULTA 7:
CONSULTA 8:
87
CONSULTA 9:
88
PRCTICA 8
CREACIN DE VISTAS CON SQL
Objetivos:
Entender el uso y funcionamiento de una vista dentro de SQL.
Saber la estructura del cdigo SQL para generar una vista.
Conocer la ejecucin para una vista a travs de cdigo SQL.
Material Requerido:
1.
2.
3.
4.
5.
6.
Instrucciones:
89
Concepto de vista.
90
91
Nombre
Gussi
4002
Bubbaloo
4003
lunetas
Descripcin
Galleta rellena de
chocolate
Chicle con relleno
liquido
Chocolate confitado
1.00
sobres
6.00
Tabla marcas
Clave
001
002
003
nombre
De la rosa
Ricolino
Adams
92
93
Vista 1:
Resultado 1:
94
Vista 2:
Resultado 2:
95
Vista 3:
Resultado 3:
96
BD: Hotel
Tabla: Reservaciones
Clave
90001
90002
90003
90004
90005
Num_habitacio
n
2034
2020
1018
1029
4035
Cliente
10001
10456
10379
10986
10845
F_ingreso
16-05-2014
16-05-2014
23-05-2014
24-05-2014
24-05-2014
F_egreso Promocion
18-05-2014
TI001
20-05-2014
SI001
25-05-2014
TI003
27-05-2014
TI002
29-05-2014
SI001
Tabla: Clientes
Id
1000
1
1045
6
1084
5
Nombre
Esteban
Israel
Juan
A_paterno
Prez
Mndez
Navarrete
A_matern
o
Iturralde
Arteaga
Ortiz
F_nacimiento
10/10/1980
09/11/1979
05/03/1970
97
Vista A:
Resultado A:
98
Vista B:
Resultado B:
99
Vista C:
Resultado C:
100
Vista D:
Resultado D:
101
Vista E:
Resultado E:
102
Vista F:
Resultado F:
103
PRCTICA 9
USO DE JOINS EN SQL
Objetivos:
Material Requerido:
1.
2.
3.
4.
5.
6.
Instrucciones:
104
JOINS
La sentencia SQL JOIN permite consultar datos de 2 o ms tablas.
Dichas tablas estarn relacionadas entre ellas de alguna forma, a travs de alguna
de 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 una
tabla.
El propsito del JOIN es unir informacin de diferentes tablas, para no tener que
repetir datos en diferentes tablas.
INNER JOIN
La sentencia INNER JOIN es la sentencia JOIN por defecto, y consiste en
combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado
aquellas filas que cumplan una determinada condicin.
105
LEFT JOIN
La sentencia LEFT JOIN combina los valores de la primera tabla con los valores
de la segunda tabla. Siempre devolver las filas de la primera tabla, incluso
aunque no cumplan la condicin.
RIGTH JOIN
La sentencia RIGHT JOIN combina los valores de la primera tabla con los valores
de la segunda tabla. Siempre devolver las filas de la segunda tabla, incluso
aunque no cumplan la condicin.
En algunas bases de datos, la sentencia RIGHT JOIN es igual a RIGHT OUTER
JOIN
SELECT * FROM tabla1 RIGHT JOIN tabla2 WHERE tabla1.columna1 =
tabla2.columna1
106
FULL JOIN
La sentencia FULL JOIN combina los valores de la primera tabla con los valores
de la segunda tabla. Siempre devolver las filas de las dos tablas, aunque no
cumplan la condicin.
La sentencia FULL JOIN es la unin de LEFT JOIN y RIGHT JOIN
SELECT * FROM tabla1 FULL JOIN tabla2 WHERE tabla1.columna1 =
tabla2.columna1
107
108
109
110
PRCTICA 10
LENGUAJE DE MANIPULACIN DE DATOS (DML)
Objetivos:
Material Requerido:
1.
2.
3.
4.
5.
6.
Instrucciones:
111
112
Nombre
Gussi
4002
Bubbaloo
4003
lunetas
Descripcin
Galleta rellena de
chocolate
Chicle con relleno
liquido
Chocolate confitado
1.00
sobres
6.00
Tabla marcas
Clave
001
002
003
nombre
De la rosa
Ricolino
Adams
113
Cdigo 1:
114
Cdigo 2:
Cdigo 3:
115
Cdigo 4:
116
BD: Hotel
Tabla: Reservaciones
Clave
90001
90002
90003
90004
90005
Num_habitacion
2034
2020
1018
1029
4035
Cliente
10001
10456
10379
10986
10845
F_ingreso
16-05-2014
16-05-2014
23-05-2014
24-05-2014
24-05-2014
F_egreso
18-05-2014
20-05-2014
25-05-2014
27-05-2014
29-05-2014
Promocio
n TI001
SI001
TI003
TI002
SI001
Tabla: Clientes
Id
1000
1
1045
6
1084
5
Nombre
Esteban
Israel
Juan
A_paterno
Prez
Mndez
Navarrete
A_materno
Iturralde
Arteaga
Ortiz
F_nacimiento
10/10/1980
09/11/1979
05/03/1970
Crear la BD.
Crear las tablas y relacionarlas a travs del cliente.
Ingresar los registros.
Borrar la reservacin del cliente 10986.
Cambiar la fecha de egreso de la reservacin 90005 por 31/05/2014.
A travs de cdigo agregar una columna que se llame comentarios a la
tabla Reservaciones.
7. A travs de cdigo crear una tabla que se llame dotacin (Clave,
Descripcin).
8. A travs de cdigo borrar la tabla dotacin.
1.
2.
3.
4.
5.
6.
117
Cdigo 1:
Cdigo 2:
118
Cdigo 3:
119
Cdigo 4:
120
Cdigo 5:
Cdigo 6:
Resultado Cdigo 6:
121
Cdigo 7:
Cdigo 8:
Resultado Cdigo 8:
122