Sie sind auf Seite 1von 21

FUNDAMENTOS DE BASES DE DATOS

SEMANA 8
Utilización del gestor de base de datos
MySQL II

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 8
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 8
ÍNDICE

UTILIZACIÓN DEL GESTOR DE BASE DE DATOS MYSQL II .................................................................... 4


OBJETIVO ESPECÍFICO ......................................................................................................................... 4
INTRODUCCIÓN ................................................................................................................................... 4
1. UTILIZACIÓN DE MYSQL .............................................................................................................. 4
1.1. CREACIÓN DE MODELO ENTIDAD-RELACIÓN ...................................................................... 5
1.2. CREACIÓN DE BASE DE DATOS .......................................................................................... 10
1.3. CREACIÓN DE TABLAS ....................................................................................................... 11
1.4. CREACIÓN DE RELACIONES ............................................................................................... 12
1.5. USO DE SENTENCIA SQL .................................................................................................... 13
COMENTARIO FINAL.......................................................................................................................... 19
REFERENCIAS ..................................................................................................................................... 20

3
ESTE DOCUMENTO CONTIENE LA SEMANA 8
UTILIZACIÓN DEL GESTOR DE BASE DE DATOS MYSQL II

OBJETIVO ESPECÍFICO
 Analizar el uso de MySQL como gestor de base de datos.

INTRODUCCIÓN
A lo largo de la asignatura se han abordado los conceptos relacionados con las bases de datos, sin
embargo, se hace necesario plasmar todos estos en un gestor de bases de datos. Es por ello que
en la presente semana se abordará un ejemplo práctico y se irá desarrollando en el gestor MySQL
el modelo entidad-relación, la creación de la base de datos como tal y sus tablas y relaciones, para
luego hacer las pruebas con algunas sentencias SQL.

Esta semana completaría el curso de Fundamentos de Bases de Datos, permitiendo conocer desde
el punto de vista práctico todo lo aprendido a lo largo de esta asignatura.

1. UTILIZACIÓN DE MYSQL
Para conocer la utilización del gestor de bases de datos MySQL, es necesario abordarlo a través de
un ejemplo. Es por ello que a lo largo de esta semana se desarrollará el mismo ejemplo visto al
inicio de la asignatura, el cual se trata de una base de datos para un hotel en el que se contemplan
las entidades: habitación, tipo de habitación, huésped, reserva y forma de pago.

Los atributos por cada entidad son:

 Tipo_Habitación: código, descripción.


 Habitación: código, piso, capacidad, código_tipo_habitación.
 Huésped: RUT, nombre, apellido, teléfono, dirección.
 Forma_Pago: código, descripción.
 Reserva: código_reserva, código_habitación, rut_huesped, fecha_desde, fecha_hasta,
monto, código_forma_pago, observaciones.

4
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Las relaciones entre las entidades son:

 Relación entre Tipo_Habitación y Habitación: una habitación tiene un tipo de habitación,


pero un tipo de habitación lo pueden tener muchas habitaciones del hotel.
 Relación entre Reserva y Habitación: una reserva tiene una habitación asociada, pero esa
habitación puede tener muchas reservas asociadas (respetando la disponibilidad de la
habitación en cada reserva).
 Relación entre Huésped y Reserva: un huésped tiene muchas reservas, y una reserva es
de un solo huésped; esto pensando que un huésped podría reservar para la misma fecha
varias habitaciones.
 Relación entre Forma_Pago y Reserva: una reserva tiene una forma de pago, pero una
forma de pago puede estar en muchas reservas.

1.1.CREACIÓN DE MODELO ENTIDAD-RELACIÓN


Para poder crear el diagrama del modelo entidad-relación (MER) dentro del gestor de base de
datos MySQL, en primer lugar se deberá tener desarrollado el modelo como tal, donde para el
caso abordado el modelo se puede consultar en la página siguiente:

 Recuerde que el modelo puede ser diferente al que usted


tiene pensado, pero lo importante es analizar las reglas de
negocio y diseñar el modelo lo más ajustado a la realidad y
sobre todo tener en cuenta que se aborda un ejemplo
sencillo para que sea de fácil comprensión.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 8
6
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Para crear el diagrama del modelo entidad-relación, se abre el MySQL Workbench y se pincha
sobre New Model:

Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

Ubicado en la pestaña del nuevo modelo, se procede a crear un diagrama. Para ello, se pincha en
Add Diagram:

7
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

Al pulsar dicha opción, se abre una nueva pestaña para así poder crear el diagrama MER, por lo
que se utilizará la barra de opciones ubicada a mano izquierda del lienzo de dibujo:

8
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

 En el siguiente recurso se presenta un ejemplo de cómo crear


un MER en MySQL Workbench.

http://goo.gl/1aX4pL

Luego de creado el MER, se obtendrá la siguiente imagen, en la que se puede apreciar cada una de
las entidades con sus respectivos atributos, así como las claves primarias y las claves foráneas:

9
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

1.2.CREACIÓN DE BASE DE DATOS


Luego de haber creado el diagrama modelo entidad-relación, se procederá a crear la base de
datos, sin embargo, MySQL Workbench ofrece la opción de hacer un Forward Engineer1, y de esta
forma hacer el trabajo más sencillo. Solo es necesario contar con el diagrama listo para así crear la
base de datos. Es importante aclarar que también se puede crear la base de datos de forma
manual y a partir de ella generar el diagrama modelo entidad-relación, pero es importante
aprovechar las bondades que ofrece la herramienta y decidir qué se quiere crear primero. A
continuación, se observa la base de datos ya creada:

1
Conocida por muchos como “ingeniería directa”, permite crear a partir de un modelo la base de datos en
MySQL Workbench.

10
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

 En el siguiente recurso se presenta un ejemplo de cómo crear


bases de datos con sentencias SQL en MySQL Workbench.

http://goo.gl/5oG6ke

1.3.CREACIÓN DE TABLAS
Al momento de crear una base de datos de forma manual en MySQL, se generan de forma manual
las tablas con sus respectivas columnas, sin embargo, el proceso de creación de la base de datos a
través del Forward Engineer es automático. Es por eso que se puede observar en la siguiente
imagen que la base de datos llamada “hotel” ya tiene las tablas creadas:

11
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

 En el siguiente recurso se presenta un ejemplo de cómo crear


tablas con sentencias SQL en MySQL Workbench.

http://goo.gl/PyXI5Y

1.4.CREACIÓN DE RELACIONES
Al igual que con las tablas, el proceso de Forward Engineer creó automáticamente las relaciones
que se habían incluido en el diagrama modelo entidad-relación, sin embargo, se puede hacer este
proceso también de forma manual. A continuación, se observan las relaciones de cada una de las
tablas:

12
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

 En el siguiente recurso se presenta un ejemplo de cómo crear


tablas con relaciones usando un script con sentencias SQL en
MySQL Workbench.

http://goo.gl/gQRdr8

1.5.USO DE SENTENCIA SQL


Una base de datos por sí sola no trae beneficios si no permite su utilización, es por ello que ahora
se procederá a crear sentencias en SQL de inserción, de eliminación y de búsqueda, para que así se
pueda ver cómo se lleva a cabo este proceso en MySQL Workbench. Primeramente, se debe ir a
MySQL Workench y abrir la conexión con la cual se está trabajando. En el ejemplo que se está
desarrollando se hace doble clic en la conexión “curso”:

13
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

En la pestaña de Query se procede a escribir y ejecutar las sentencias SQL:

Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

14
ESTE DOCUMENTO CONTIENE LA SEMANA 8
A continuación, se describen las sentencias que se ejecutarán. Primeramente se verán los Insert
para cada tabla, posterior a eso se hará un delete y por último varias consultas:

USE hotel;

INSERT INTO TIPO_HABITACION VALUES (1,'SUITE');


INSERT INTO TIPO_HABITACION VALUES (2, 'SENCILLA');
INSERT INTO TIPO_HABITACION VALUES (3, 'DOBLE');

INSERT INTO HABITACION VALUES (1,1, 3,1);


INSERT INTO HABITACION VALUES (2,2, 1,2);
INSERT INTO HABITACION VALUES (3,3, 2,3);

INSERT INTO FORMA_PAGO VALUES (1, 'EFECTIVO');


INSERT INTO FORMA_PAGO VALUES (2, 'RED COMPRA');
INSERT INTO FORMA_PAGO VALUES (3, 'TARJETA DE
CREDITO');

INSERT INTO HUESPED VALUES ('15963874-1', 'MARIA',


'GONZALEZ', '+56950659871', 'SALVADOR 1318,
PROVIDENCIA, SANTIAGO');
INSERT INTO HUESPED VALUES ('12963374-1', 'LUISA',
'FUENTES', '+56952659871', 'SERRANO 100, SANTIAGO
CENTRO, SANTIAGO');
INSERT INTO HUESPED VALUES ('17963374-1', 'ALVARO',
'URBINA', '+56964659871', 'SUECIA 200, NUNOA,
SANTIAGO');

INSERT INTO RESERVA VALUES (1, 1, '15963874-1',(


'2016/08/20'),( '2016/08/30'),1, 'INCLUIR CUNA PARA
BEBE');
INSERT INTO RESERVA VALUES (2, 2, '12963374-1',(
'2016/08/22'),( '2016/08/30'),2, ' ');
INSERT INTO RESERVA VALUES (3, 3, '17963374-
1',('2016/08/28'),( '2016/08/30'),3, 'DESAYUNO A LA
HABITACION');

15
ESTE DOCUMENTO CONTIENE LA SEMANA 8
USE hotel;

INSERT INTO TIPO_HABITACION VALUES (4,'PRUEBA');


DELETE FROM TIPO_HABITACION WHERE CODIGO = 4;

SELECT * FROM TIPO_HABITACION;

Y el resultado es el siguiente:

Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

16
ESTE DOCUMENTO CONTIENE LA SEMANA 8
USE hotel;

SELECT RESERVA.RUT_HUESPED, HUESPED.NOMBRE, HUESPED.APELLIDO,


TIPO_HABITACION.DESCRIPCION, HABITACION.CODIGO,
RESERVA.FECHA_DESDE, RESERVA.FECHA_HASTA,
FORMA_PAGO.DESCRIPCION
FROM HUESPED, TIPO_HABITACION, HABITACION, RESERVA, FORMA_PAGO
WHERE RESERVA.RUT_HUESPED = HUESPED.RUT AND
RESERVA.CODIGO_HABITACION = HABITACION.CODIGO
AND HABITACION.CODIGO_TIPO_HABITACION = TIPO_HABITACION.CODIGO
AND RESERVA.CODIGO_FORMA_PAGO = FORMA_PAGO.CODIGO;

Al ejecutar la instrucción anterior, se generará el siguiente resultado:

Fuente: material elaborado para esta asignatura (C. Zammarrelli, 2016).

17
ESTE DOCUMENTO CONTIENE LA SEMANA 8
 Debe recordarse que los ejemplos pueden ser infinitos y que
todo va a depender de lo que se requiera en el momento. Se
invita a crear este ejemplo en MySQL Workbench y hacer
varias pruebas para así familiarizarse más con la
herramienta.

 En el siguiente video se podrá conocer la forma en la cual se


puede exportar toda una base de datos en MySQL
Workbench:

http://goo.gl/wDDLFD

 En el siguiente video se da a conocer la forma en la cual se


puede importar toda una base de datos a MySQL Workbench:

http://goo.gl/ccEBpL

18
ESTE DOCUMENTO CONTIENE LA SEMANA 8
COMENTARIO FINAL
Al finalizar la semana se pudo constatar a través de un ejemplo gran parte de los conceptos
manejados a lo largo de la asignatura, siendo importante acotar que a medida que se hacen las
pruebas es como se conoce más a fondo la herramienta MySQL Workbench.

Es importante que siempre se tenga presente que los ejemplos pueden ser infinitos, y que cuanto
más se practique será más sencillo el trabajo en la base de datos. Se invita por tanto a realizar
diferentes pruebas, y en el caso de que surjan dudas, apoyarse en el tutor o en los foros
destinados para tal uso en la asignatura.

19
ESTE DOCUMENTO CONTIENE LA SEMANA 8
REFERENCIAS
Ramos, M.; Ramos, A. y Montero, F. (2006). Sistemas gestores de bases de datos. Madrid, España:

McGraw-Hill.

Ricardo, C. (2009). Bases de datos. México DF, México: McGraw-Hill.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

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

Semana 8.

20
ESTE DOCUMENTO CONTIENE LA SEMANA 8
21
ESTE DOCUMENTO CONTIENE LA SEMANA 8

Das könnte Ihnen auch gefallen