Sei sulla pagina 1di 130

PRCTICA 3

CREACIN DE BASES DE DATOS CON USO DE SOFTWARE

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Definiciones y componentes de los modelos Entidad-Relacin,


diagrama de clases y modelacin de diagramas usando
MySQLWorkbench

MODELOS DE ENTIDAD RELACIN


El modelo E-R es un modelo de datos basado en una percepcin del mundo real
que consiste en un conjunto de objetos bsicos llamados entidades y relaciones
entre estos objetos, implementndose en forma grfica a travs del Diagrama
Entidad Relacin y tienen las siguientes condiciones:
Una entidad es un objeto de importancia sobre el que se guardan datos.
Una relacin es una asociacin entre dos entidades que expresa una conexin.
Los atributos pueden contener datos compuestos: Nombre, Edad, Etc.
Para que algo sea una entidad debe tener atributos. (Si se quiere hacer una
identidad fuerte es necesario llamarla PRIMARY KEY ID.
La relacin de las entidades comprende de las siguientes reglas:
(Ejemplo: ver fig.1)

*Nota: El modelo de datos conceptual es independiente del hardware o del


software que se utilice para la implementacin. Por tanto un modelo E-R puede ser
implementado o convertido a una BD jerrquica, de red o relacional
2

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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)

Un diagrama de clases est compuesto por los siguientes elementos:

Clase: atributos, mtodos y visibilidad.

Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.


ASOCIACIN O CARDINALIDAD EN DIAGRAMAS DE CLASES
La forma ms sencilla de relacin es aquella denominada asociacin. La
asociacinn se utiliza para expresar simplemente que dos clases estn vinculadas
entre s. En ella se expresa la navegabilidad entre la clase origen y la clase

destino, y la cardinalidad de la clase destino en la asociacin.


(Ejemplo: ver fig. 3)
Una vez que comprendidos estos trminos y condiciones se debern los
siguientes ejercicios para el desarrollo e implementacin de los conocimientos
aprendidos.

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Paso 2.- Ventana bienvenida de MySQLWorkbench, nos muestra las diferentes


opciones para la creacin de esquemas y tablas.

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.

Manual de Actividades y Prcticas


(Fundamentos de Bases 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.

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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 6.- Una vez creada


nuestra tabla vamos
a darle sus atributos
correspondientes en la misma zona donde creamos nuestra tabla encontraremos
la seccin para indicar cules son sus atributos.

Paso 7.- El llenado de los atributos ser de la siguiente manera pondremos en


primera posicin la llave primaria o PK (Primary Key) con su correspondiente tipo
de dato despus seleccionaremos las casillas que le corresponde en este atributo,
decimos que es PK (primary key), NN (not null),ZF (Zero-Filled)

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Dependiendo las necesidades del atributo es como seleccionaremos las ms


adecuadas, 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 automtico (valor de incremento con Auto)
Paso 8.- Llenamos toda la tabla con los atributos que requerimos como se muestra
en la imagen.

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

De esta manera llenamos la primer tabla de nuestra DB con este procedimiento


llenaremos las dems tablas que necesitemos.

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

VER EJEMPLOS DE TABLAS REALIZADAS, SE PRESENTAN A


CONTINUACIN.
Tabla Libros.

Tabla Facturas.

Tabla Libros Facturas.

10

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

Nota: Recordar que cada paso o cambio realizado debe de ir acompaado


del clic en Apply, de otro modo nuestros cambios no se vern reflejados.
Una vez realizado todo este procedimiento ya podemos hacer los registros
teniendo la seguridad de los enlaces funcionarn de manera correcta.

11

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)
con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

Reunir los elementos dados para la elaboracin de la base de datos e


identificar los siguientes elementos: ENTIDADES, RELACIONES y
ATRIBUTOS.

Realizar los diagramas de clases y modelos de entidad relacin con todos


sus 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 de


pantalla.

Realizar los esquemas de los modelos de diagrama realizados, mostrarlos


en captura de pantalla.

12

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

Modelo Relacional

14

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Beneficiados

Tabla Empleados

15

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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


Modelo E-R

16

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

Modelo Relacional

17

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Alumnos

Tabla Alumnos-Materias

Tabla Materias

Tabla Materias-Profesores

Tabla Profesores

18

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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


Diagrama E-R

19

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

Modelo Relacional

20

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Clientes

Tabla Clientes-Pedidos

Tabla Pedidos

Tabla Pedidos-Productos

Tabla Productos

21






PRCTICA 4

CREACIN DE MODELOS RELACIONALES CON EL USO DE SOFTWARE


Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)
con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

Reunir los elementos dados para la elaboracin de la base de datos e


identificar los siguientes elementos: ENTIDADES, RELACIONES y
ATRIBUTOS.

Realizar los diagramas de clases y modelos de entidad relacin con todos


sus 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 de


pantalla.

Realizar los esquemas de los modelos de diagrama realizados, mostrarlos


en captura de pantalla.

23

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

25

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

26

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Empleados

Tabla Empleados-Departamento

Tabla Prstamo

Tabla Departamento

27

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

29

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

30

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos.
Tabla Vendedor

Tabla Clientes

Tabla Libros

Tabla Facturas

Tabla Libros-Facturas

31

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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:

Cada edicin de la carrera est identificada por un cdigo adems interesa


conservar el ao en el que ha tenido lugar dicha edicin.

Todas las ediciones tienen las mismas etapas, aunque puede variar su
longitud.

Se quiere guardar la longitud de cada etapa de una edicin.

Cada equipo tiene un nombre tambin se desea guardar su fecha de


fundacin.

Todos los equipos tienen un nico patrocinador pero un patrocinador puede


financiar a varios equipos.

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.

De los corredores interesa guardar tambin su nombre y fecha de


nacimiento.

Interesa guardar los tiempos conseguidos por cada equipo en cada etapa
de una edicin.

32

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama E-R

33

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

34

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

35

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Corredores

Tabla Edicin

Tabla Equipo

Tabla Etapas

Tabla Historial

36

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Tabla Patrocinador

Ejercicio 4

Disear un diagrama E-R, un diagrama de clases y un Modelo Relacional para el
siguiente ejercicio:

Un soldado pertenece a un nico cuerpo y a una nica compaa durante


todo el servicio militar.

A una compaa pueden pertenecer solados de diferentes cuerpos no


habiendo relacin directa entre compaeros y cuerpos.

Los soldados de una misma compaa pueden estar destinados en


diferentes cuarteles, es decir una compaa puede estar ubicada en varios
cuarteles y en un cuartel puede haber varias compaas.

Un soldado realiza varios servicios a lo largo de su servicio militar. Un


mismo servicio puede ser realizado por ms de un soldado (con
independencia de la compaa)

37

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama E-R

38

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

39

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

40

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos.
Tabla Compaa

Tabla Compaa-Cuartel

Tabla Cuartel

Tabla Cuerpo

Tabla Servicio

Tabla Servicio-Soldado

Tabla Soldado

41

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Ejercicio 5
Se necesita reflejar la informacin necesaria para la administracin de las
lneas del metro de la ciudad de Mxico considerando lo siguiente:

Una lnea est compuesta por una serie de estaciones en un orden


determinado siendo muy importante guardar esta informacin.

Cada estacin pertenece por lo menos a una lnea pudiendo

Pertenecer a varias. Una estacin nunca deja de pertenecer a la lnea


que anteriormente pereca, por ejemplo: Balbuena que pertenece a la
lnea 1 y nunca podr dejar de pertenecer a esta lnea.

Cada estacin puede tener varios accesos pero se considera que un


acceso solo puede pertenecer a una estacin.

Un acceso nunca podra cambiar de estacin.

Cada lnea tiene asignados una serie de trenes no pudiendo suceder


que un tren este asignado a ms de una lnea pero s que no est
asignado a ninguna.

Por ejemplo si se encuentra en reparacin.

Algunas estaciones tienen asignadas cocheras, pero una cochera


solo es asignada a una estacin.

42

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama E-R

43

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

44

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

45

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Serie

Tabla Accesos

Tabla Cocheras

Tabla Estaciones

Tabla Lnea

Tabla Lnea -Estacin

46






PRCTICA 5

CREACIN DE MODELOS RELACIONALES CON EL USO DE SOFTWARE


Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)
con servidores apache, WAMP, XAMPP, etc.

INSTRUCCIONES:

Reunir los elementos dados para la elaboracin de la base de datos e


identificar los siguientes elementos: ENTIDADES, RELACIONES y
ATRIBUTOS.

Realizar los diagramas de clases y modelos de entidad relacin con todos


sus 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 de


pantalla.

Realizar los esquemas de los modelos de diagrama realizados, mostrarlos


en captura de pantalla.

48

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase

50

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional

51

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos
Tabla Especie

Tabla Lotes

Tabla Comprador

52

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Se desea disear un modelo relacional que guarde la informacin de las


reservaciones de una empresa dedicada al alquiler de automviles tomando en
cuenta que:

Un determinado cliente puede tener en un momento dado varias


reservaciones.

Una reservacin la realiza un nico cliente, pero puede involucrar a varios


coches.

Es importante registrar la fecha de comienzo de la reservacin as como su


fecha de terminacin.

Todo coche tiene siempre asignado un nmero de garaje que no puede


cambiar.

En la base de datos pueden existir clientes que no hayan hecho ninguna


reservacin.

Diagrama E-R.

53

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Diagrama de Clase.

54

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional.

55

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Insercin de Datos.
Tabla Cliente

Tabla Coche

Tabla Garage

Tabla Reservacin

56






PRCTICA 6

CREACIN DE MODELOS RELACIONALES CON EL USO DE SOFTWARE


Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

OBJETIVOS

Aprender a depurar tablas, utilizando la normalizacin.


Realizar un mejor diseo 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 funcin especfica.
Realizar los ejercicios sugeridos.

MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQL Workbench (MAC OSX, WINDOWS)
con servidores apache, WAMP, XAMPP, etc.

57

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Definiciones y componentes de DATOS RELACIONALES en


MySQLWorkbench
NORMALIZACION:
Proceso de descomposicin de tablas
OBJETIVOS DE LA NORMALIZACIN.
Mejor diseo
Fcil de utilizar
Rpidas
Menor tamao
Sin prdida de datos
FORMAS NORMALES
Primera Forma Normal (1FN): Son todos los campos de la tabla son
atmicos 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 no
dependan directamente de la llave primaria
Tercera Forma Normal (3FN): Son todos los campos que estan en
su 2 FN y no deben tener campos calculados

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

REALIZAR EL EJERCICIO SUGERIDO:


Se desea mantener una base de datos para el control de medicamentos de
una farmacia.
Cada medicamento contiene su presentacin (por ejemplo: ampolletas de 5
unidades, jarabe de 100 ml, inyecciones por 10 unidades, pomadas 60
gramos, etc.), la o las mono drogas que lo componen, el laboratorio que lo
comercializa (de los cuales tambin se desea llevar el control) y su accin
teraputica (analgsico, antibitico, etc.), adems de su precio y la cantidad
en 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 datos
generales del mdico que los receta (nmero de cdula, nombre completo,
especialidad si la tiene-).

60

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

BASE DE DATOS FARMACIA


DIAGRAMA E-R

61

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

DIAGRAMA DE CLASES

62

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

MODELO RELACIONAL

63

Manual de Actividades y Prcticas


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

64

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

65

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

INSERCIN DE DATOS
Tabla presentacin

Tabla nota_medicamento

Tabla nota

Tabla monodroga

66

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Tabla medico

Tabla medicamento

Tabla laboratorio

Tabla cliente

67

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Tabla accin teraputica

68






PRCTICA 7

CREACIN DE MODELOS RELACIONALES CON EL USO DE SOFTWARE


Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Objetivos

Usar operadores matemticos en funcin de una consulta en MySQL


Workbench.
Realizar consultar bsicas y complejas dentro de una base de datos.
Analizar y consultar datos en forma multi-tabla.
Realizar lo ejercicios sugeridos.

69

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

MATERIAL REQUERIDO:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS)
con servidores apache, WAMP, XAMPP, etc.

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Definiciones y componentes de consultas en MySQLWorkbench


SENTENCIAS Y CONSULTAS EN SQL SERVER
En esta seccin nos preocuparemos por conocer, las consultas en
SQL que describiremos aqu. Para eso haremos un pequeo ejemplo de las
palabras 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
edicin es solo un trabajo de introduccin bsica, es por esta razn
que el contexto de consultas SQL completas, escapa de esta edicin.
Palabra Clave SQL

Descripcin

SELECT

Recupera datos de una o ms tablas.

FROM

Las tablas involucradas en la consulta. Se


requiere para cada SELECT.

WHERE

Los Criterios de seleccin que determinan cuales


filas se van a recuperar, eliminar o actualizar.

GROUP BY

Criterio para agrupar filas.

ORDER BY

Criterio para ordenar filas.

INSERT

Insertar filas en una tabla especificada.

UPDATE

Actualizar filas en una tabla especifica.

DELETE

Eliminar filas de una tabla especifica.

71

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)


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.

CONSULTA BSICA SELECT: lo que hace una consulta SELECT, es


obtener datos de una Tabla determinada, en las que se especifican filas y
columnas. La sintaxis bsica de una consulta SELECT es:
SELECT * FROM nombreDeTabla
En la consulta anterior, el asterisco (*) indica que deben recuperarse todas
las columnas de la tabla nombreDeTabla. Por ejemplo, deseamos
recuperar todos los datos de la tabla Alumno, la sintaxis seria la siguiente:

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

LA CLUSULA WHERE: en la mayora de casos es necesario localizar, en


una base de datos, filas que cumplan con ciertos criterios de seleccin. SQL
utiliza la clusula WHERE en una consulta SELECT para especificar los
criterios de seleccin para la consulta. La forma bsica de una consulta
SELECT con criterios condicin de seleccin es:
SELECT nombreDeColumnas FROM nombreDeTabla WHERE criterios
Por ejemplo, para seleccionar las columnas IdAlumno, monto de la
tabla Pagos, para las cuales el monto sea mayor que 340, utilizamos la
siguiente consulta:
SELECT IdAlumno, Monto FROM Pagos WHERE monto>340 Los criterios
de la clusula WHERE pueden contener los siguientes
operadores de comparacin: =, >, <, >=, <=, !=, <>, IN, NOT IN, BETWEEN,
NOT BETWEEN, LIKE. Adems, se puede construir condiciones mltiples
usando los operadores lgicos AND, OR y NOT. Se puede utilizar
parntesis si se desea forzar algn orden de evaluacin.
LA CLUSULA ORDER BY: El resultado de una consulta puede ordenarse
en forma ascendente o descendente, mediante el uso de la clusula ODER
BY opcional. La forma bsica de una instruccin SELECT con una clusula
ORDER BY es:
SELECT nombreDeColumnas FROM Tablas ORDER BY columna1 ASC
SELECT nombreDeColumnas FROM Tablas ORDER BY columna1 DESC
En donde ASC especifica el orden ascendente (de menor a mayor), DESC
especifica el orden descendente (de mayor a menor) y columna1 especifica
la columna en la cual se basa el ordenamiento.

73

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

USO DE FUNCIONES DE AGREGADO: Las funciones que calculan


promedios y sumas se llaman funciones de agregado. Cuando se ejecuta
una funcin de agregado, SQL Server resume los valores de toda una tabla
o de grupos de columnas de una tabla, y produce un valor por cada
conjunto de filas para las columnas especificadas:
Funciones de
agregado

Descripcin

AVG

Promedio de valores en una expresin numrica

COUNT

Nmeros de valores en una expresin

COUNT(*)

Numero de filas seleccionadas

MAX

Valor ms alto en la expresin

Con la excepcin de la funcin COUNT(*), todas las funciones de agregado


devuelven NULL si ninguna fila cumple la clusula WHERE. La funcin
COUNT(*) devuelve el valor cero si ninguna fila cumple la clusula WHERE.
COUNT: es la nica funcin de agregado que se puede utilizar en las
columnas 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 pueden
utilizar en las columnas con tipos de datos int, smallint, tinyint, dcimal,
numeric, flota, real, nomey, y samallmoney.
Cuando se utiliza la funcin SUM o AVG, SQL Server trata los tipos de
datos smallint o tinyint como un valor de tipo de datos int en el conjunto de
resultados.

74

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

LA CLUSULA GROUP BY: Utilice la clusula GROUP BY en


columnas o expresiones para organizar filas en grupos y para resumir
dichos grupos. Por ejemplo, utilice la clusula GROUP BY para determinar
la cantidad de cada producto pedida en todos los pedidos.
Cuando utilice la clusula GROUP BY, considere los hechos e instrucciones
siguientes:
SQL Server produce una columna de valores por cada grupo definido.
SQL Server slo devuelve filas por cada grupo especificado; no
devuelve informacin de detalle.
Todas las columnas que se especifican en la clusula GROUP
BY tienen que estar incluidas en la lista de seleccin.
Si incluye una clusula WHERE, SQL Server slo agrupa las
filas que cumplen las condiciones de la clusula WHERE.
No utilice la clusula GROUP BY en columnas que contengan
varios valores nulos, porque los valores nulos se procesan
como otro grupo.
Utilice la palabra clave ALL con la clusula GROUP BY para
presentar todas las filas que tengan valores nulos en las
columnas de agregado, independientemente de si las filas
cumplen la condicin de la clusula WHERE.

75

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

REALIZAR EL EJERCICIO SUGERIDO: BASE DE DATOS FTBOL


DIAGRAMA ENTIDAD RELACION







76

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

DIAGRAMA DE CLASE

MODELO RELACIONAL


77

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

REALIZAR LAS SIGUIENTES CONSULTAS:


1. Todos los datos de los jugadores con ms 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 ordenados
por apaterno.
4. Mostar el nmero mximo de goles anotados.
5. Mostrar cuantos jugadores existen en cada equipo.
6. Mostrar en que equipo juega Ernesto.


CONSULTA 1:




CONSULTA 2:

78

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)


CONSULTA 3:


CONSULTA 4:


CONSULTA 5:

79

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)


CONSULTA 6:

80

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

REALIZAR
EL
EJERCICIO
PRODUCTOS/PROVEEDORES

BASE

DE

DATOS

DIAGRAMA ENTIDAD-RELACIN











81

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

DIAGRAMA DE CLASE

MODELO RELACIONAL

82

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

REALIZAR LAS SIGUIENTES CONSULTAS:

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

CONSULTA 1:

CONSULTA 2:




84

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

CONSULTA 3:

CONSULTA 4:



85

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

CONSULTA 5:

CONSULTA 6:

86

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

CONSULTA 7:

CONSULTA 8:



87

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

CONSULTA 9:

88






PRCTICA 8
CREACIN DE VISTAS CON SQL

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) con
servidores apache, WAMP, XAMPP, etc.

Instrucciones:

De los diagramas de ENTIDAD- RELACIN, CLASES y MODELO


RELACIONAL hacer unas bases de datos llamada dulcera.
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.
Generar las vistas correspondientes a travs de cdigo de cada punto dado
y ejecutar las mismas.

Hacer todos los ejercicios sugeridos.

89

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Concepto de vista.

Una vista es una tabla derivada de otras tablas (bsicas 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 a
nivel fsico).
Se puede consultar como cualquier tabla bsica.
Las actualizaciones se transfieren a la/s tabla/s original/es
(con ciertas limitaciones).

Aplicaciones de las vistas.

Para la especificacin de tablas con informacin que se accede con


frecuencia pero no posee existencia fsica:
Informacin derivada de la relacin entre varias tablas.
Informacin derivada de la formacin de grupos de tuplas (p.e.
para la obtencin de estadsticas).
En general: informacin derivada de consultas complejas a la
que se accede con frecuencia.
Como mecanismo de seguridad: creacin de vistas con, nicamente,
los atributos de las tablas a los cuales se desea permitir acceder a
determinados usuarios.
Para la creacin de esquemas externos.

90

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Manipulacin de Vistas con SQL.

La sintaxis para la creacin de vistas en SQL es la siguiente:

CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresin_tabla [with


check option] en donde:

CREATE VIEW es la orden que permite la creacin de la


vista.
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 expresin_tabla.
Es obligatorio si algn atributo de expresin_tabla es el resultado de
una funcin de agregacin o una operacin aritmtica.
La sintaxis para la creacin de vistas en SQL es la siguiente:

CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresin_tabla [with


check option] en donde:

expresin_tabla es una consulta SQL cuyo resultado ser el


contenido de la vista.
WITH CHECK OPTION es opcional y se debe incluir si se
desea actualizar la vista de una manera ntegra.
Para la eliminacin de una vista se utiliza la instruccin:
DROP VIEW vista [restrict | cascade];

91

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

A partir de la siguiente tabla que pertenece a la base de datos dulcera


Tabla dulce
clave
4001

Nombre
Gussi

4002

Bubbaloo

4003

lunetas

Descripcin
Galleta rellena de
chocolate
Chicle con relleno
liquido
Chocolate confitado

Unidades Precio_venta marca


Piezas
2.50
1
Piezas

1.00

sobres

6.00

Tabla marcas
Clave
001
002
003

nombre
De la rosa
Ricolino
Adams

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


tablas):
a) Mostrar el nombre y las unidades de los dulces cuyo precio de venta sea
mayor a 2.
b) Mostrar el nombre de los dulces y el nombre de las marcas cuya unidad sea
piezas.
c) Mostrar cuantos dulces hay por cada marca ordenndolos de forma
descendente por marca.
d) Mostrar cual es el dulce con menor precio.
e) Insertar un registro en cada tabla (marcas, dulces).
f) Cambiar la descripcin 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

92

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Modelo Relacional: Dulces-Marcas.

93

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista 1:

Resultado 1:

94

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista 2:

Resultado 2:

95

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista 3:

Resultado 3:

96

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

1. Realizar las siguientes vistas:


a. Mostrar cuntas reservaciones hay por cada promocin

ordenndolos por promocin en forma ascendente.

b. Mostrar cul es el cliente con mayor edad.


c. Mostrar la promocin y el nmero de habitacin de las

reservaciones cuya fecha de ingreso sea mayor a 16 de mayo


de 2014.
d. Mostar el nmero de habitacin de las reservaciones que
terminaban antes del 17 de mayo del 2014.
e. Mostrar la primera fecha de ingreso del cliente ms joven.
f. Mostrar la clave del cliente que haya realizado ms de 3
reservaciones.

97

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista A:

Resultado A:

98

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista B:

Resultado B:

99

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista C:

Resultado C:

100

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista D:

Resultado D:

101

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista E:

Resultado E:

102

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Vista F:

Resultado F:

103






PRCTICA 9
USO DE JOINS EN SQL

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Objetivos:

Entender la estructura de los JOINS dentro de una sintaxis SQL.


Comprender el uso de cada JOIN para necesidades diferentes.

Material Requerido:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) con
servidores apache, WAMP, XAMPP, etc.

Instrucciones:

De los diagramas de ENTIDAD- RELACIN, CLASES y MODELO


RELACIONAL hacer unas bases de datos llamada dulcera.
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.
Generar las consultas correctas a travs del uso de JOINs en SQL.

Hacer todos los ejercicios sugeridos.

104

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

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


tabla2.columna1

105

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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.

SELECT * FROM tabla1


LEFT JOIN tabla2
WHERE tabla1.columna1 = tabla2.columna1

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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


Cdigo INNER JOIN

Resultado INNER JOIN

108

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo LEFT JOIN

Resultado LEFT JOIN

109

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo RIGHT JOIN

Resultado RIGHT JOIN

110






PRCTICA 10
LENGUAJE DE MANIPULACIN DE DATOS (DML)

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Objetivos:

Conocer las sentencias ms comunes de SQL.


Analizar el uso de Su-Consultas SQL.

Material Requerido:
1.
2.
3.
4.
5.
6.

Hojas blancas tamao carta


Regla
Lpices de colores
Borrador
Software adicional yed graph editor (MAC OSX, WINDOWS)
Se requiere tener instalado MySQLWorkbench (MAC OSX, WINDOWS) con
servidores apache, WAMP, XAMPP, etc.

Instrucciones:

De los diagramas de ENTIDAD- RELACIN, CLASES y MODELO


RELACIONAL hacer unas bases de datos llamada dulcera.
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.

111

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Lenguaje de manipulacin de datos


(DML: Data Manipulation Language):
Lenguaje artificial de cierta complejidad que permite el manejo y procesamiento el
contenido de la base de datos. En la prctica puede consistir en un subconjunto de
instrucciones de otro lenguaje informtico. Las aplicaciones que trabajan sobre la
base de datos se programan en un lenguaje de programacin (C, Cobol, ...)
insertando en el cdigo fuente sentencias del DML. Al utilizar un DML se deben
especificar los datos que sern afectados por las sentencias del lenguaje. Un DML
puede tener o no procedimientos, segn sea necesario especificar adems cmo
deben obtenerse esos datos. Los DML con procedimientos tienen sentencias de
control de flujo como bucles o condicionales. Los DML sin procedimientos son
conocidos tambin como declarativos.

112

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

A partir de la siguiente tabla que pertenece a la base de datos dulcera


Tabla dulce
clave
4001

Nombre
Gussi

4002

Bubbaloo

4003

lunetas

Descripcin
Galleta rellena de
chocolate
Chicle con relleno
liquido
Chocolate confitado

Unidades Precio_venta marca


Piezas
2.50
1
Piezas

1.00

sobres

6.00

Tabla marcas
Clave
001
002
003

nombre
De la rosa
Ricolino
Adams

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


tablas):
a) Mostrar el nombre y las unidades de los dulces cuyo precio de venta sea
mayor a 2.
b) Mostrar el nombre de los dulces y el nombre de las marcas cuya unidad sea
piezas.
c) Mostrar cuantos dulces hay por cada marca ordenndolos de forma
descendente por marca.
d) Mostrar cual es el dulce con menor precio.
e) Insertar un registro en cada tabla (marcas, dulces).
f) Cambiar la descripcin 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.

113

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 1:

114

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 2:

Cdigo 3:

115

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 4:

116

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

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

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 1:

Cdigo 2:

118

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 3:

119

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 4:

120

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 5:

Cdigo 6:

Resultado Cdigo 6:

121

Manual de Actividades y Prcticas


(Fundamentos de Bases de Datos)

Cdigo 7:

Cdigo 8:

Resultado Cdigo 8:

122

Potrebbero piacerti anche