7
Servicio de asesoría y resolución de ejercicios [email protected] www.maestronline.com Solicita una cotización a través de nuestros correos. Maestros Online Bases de datos Apoyo en ejercicios Servicio de asesorías y solución de ejercicios [email protected]

Bases de datos s14

Embed Size (px)

DESCRIPTION

www.maestronline.com [email protected]

Citation preview

Page 1: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Solicita una cotización a través de nuestros correos.

Maestros Online

Bases de datos

Apoyo en

ejercicios

Servicio de asesorías y solución de ejercicios

[email protected]

Page 2: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

1. El siguiente modelo corresponde a un DER (Diagrama de Entidad Relación) para un

sistema de renta de videos.

Imagen obtenida de Reinosa, E. (2012). Bases de datos. Buenos Aires, Argentina: Alfaomega. Sólo para fines

educativos.

2. Analiza el modelo y da respuesta a lo siguiente:

a. Identifica las entidades y sus atributos.

b. Escribe la interpretación del diagrama dado explicando el significado de cada

relación entre las entidades.

c. Explica el significado de relaciones 1:1, 1:N, M:N.

d. Investiga qué es una relación recursiva y da un ejemplo.

e. Agrega al modelo anterior lo siguiente: un miembro del videoclub puede tener

varios familiares que también son miembros del videoclub a través de una

relación M:N que se llame familiares.

1. Lee y analiza el siguiente caso:

Como consultor de TI, te contacta un videoclub para que diseñes una base de datos y

posteriormente implementarla.

Page 3: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Esta base de datos le permitirá almacenar consultar información acerca de las películas que

renta y devuelve un cliente.

El videoclub sólo proporciona la siguiente forma que actualmente utiliza para llevar un control

manual por cada transacción:

RENTAS/DEVOLUCION DE PELÍCULAS

Clave de cliente: ____________________________

Folio: _____________________________________

Fecha de emisión: __________________________

Nombre del cliente: _________________________

Dirección: ___________________________________

Teléfono: ___________________________________

RFC: ________________________________________

Clave de

película Título

Tipo de

Movimiento

Fecha de

Renta

Fecha de

Devolución

2. Obtén el diagrama entidad-relación o diagrama de clases.

3. Diseña detalladamente la base de datos resultante:

a. Normaliza la base de datos.

b. Nombre de columna, tipo de dato, especificación.

4. Construye la base de datos usando el DDL de SQL.

a. Incluye para cada tabla sus columnas y tipos.

b. Incluye para cada tabla su llave primaria.

c. Incluye para cada tabla sus llaves foráneas (si la hubiere).

5. Llena con al menos 10 campos cada una de las tablas.

1. El dueño de la empresa “Yo vendo” llega a ti como consultor del área de TI, te

presenta su problema y te pide que lo apoyes en darle solución: Compañía

yovendo.com

Page 4: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

La compañía “Yo vendo” se dedica a vender productos por Internet y requiere guardar la

información de todos sus clientes, productos, proveedores, empresas de mensajería y de

sus pedidos.

2. Entre las características que te solicitan para el diseño de la base de datos se

encuentran las siguientes:

a. Se tiene el nombre del producto, proveedor, precio unitario actual, unidades en

inventario, nivel de reorden (nivel en el que es necesario pedir más producto

para que la existencia se encuentre en equilibrio).

b. El producto se clasifica en categorías, cada producto tiene una categoría, para

cada una de ellas se tiene nombre y descripción.

c. Se tiene una lista de todos los clientes de la empresa con datos como su Id, su

nombre, título, dirección, ciudad, región, código postal, teléfono y correo

electrónico.

d. Debe guardar la información de clientes. el cual puede tener múltiples pedidos

(órdenes de compra).

e. Se guarda la fecha en que se hizo el pedido (orderDate), para cuándo es

requerido (Required date) y cuándo se envió (shippedDate).

f. Cada pedido se envía por mensajería a una dirección especificada en la orden

(ShipAddress). En cada uno de ellos se registra el empleado que lo atendió.

Del empleado se tiene su Id, su nombre y apellido, fecha de nacimiento

(BirthDate), fecha de contratación (HireDate), su dirección y el nombre de su

jefe, que a su vez es un empleado.

g. En cada pedido se pueden solicitar varias unidades del mismo producto y se

requiere guardar el precio al que se vendió.

h. El precio del producto en el catálogo de venta puede cambiar sin previo aviso.

i. De la compañía de mensajería se tiene el Id, el nombre y su teléfono. Para el

proveedor se necesita guardar el nombre, dirección, ciudad, CP, país y

teléfono.

3. Como parte de tu trabajo como especialista de TI, te pide que entregues lo siguiente:

a. Modelo de clases en UML.

b. Definición de las tablas, llaves primarias y llaves foráneas.

c. Normalización de tablas.

1. Analiza la siguiente tabla:

Mobiliario

Page 5: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

idArticulo Descripcion Existencia

1 Mesa 10

2 Sillon 15

2. Da solución a las siguientes instrucciones:

a. Crea dicha tabla en alguna de las bases de datos ya existentes usando el

DDL.

b. Incluye un procedimiento almacenado que inserte un registro a dicha tabla.

c. Incluye un procedimiento almacenado que borre un registro de dicha tabla.

d. Incluye un procedimiento almacenado que cambie la descripción y existencia

de un artículo en particular.

e. Incluye un procedimiento almacenado que muestre un registro en particular.

f. Diseña un bloque PL/SQL que utilice ciclos y que dé de alta al menos 100

registros en la tabla usando el procedimiento almacenado adecuado.

3. Toma nota de tus dudas y problemas a los que te enfrentaste para comentarlos en

clase.

1. Analiza la siguiente tabla:

Juguete

IdJuguete Descripcion Genero EdadMinima EdadMaxima Existencia

1 Pelota Ambos 3 10 2

2 Muñeca Niña 3 12 3

3 Soldado plastico

Niño 4 12 4

2. Construye la tabla en Oracle usando el DDL.

3. Desarrolla un cursor que sólo incluya aquellos juguetes de ambos géneros.

4. Realiza el código PL/SQL que recorra el cursor creado en el punto anterior y sume un

10% a la existencia de los juguetes con edad mínima de 8 años y máxima de 10.

5. Para el inciso 4 utiliza una estructura de registro adecuada a la tabla.

6. Construye un trigger que inserte un registro en una tabla llamada Auditoria que sólo

tiene un campo Id y un campo de descripción de evento, el trigger se ejecutará cada

vez que se inserte un registro a la tabla Juguete.

7. Lleva a cabo pruebas unitarias que permitan comprobar que la tabla de Auditoría se

este llenando.

Page 6: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Reporte de ejecución de consultas avanzadas en el estándar SQL con procedimientos almacenados y uso de triggers en un DBMS.

Construye la siguiente base de datos mediante un bloque de PL/SQL que incluya las

restricciones adecuadas según tu criterio de diseñador de bases de datos:

Tabla INVENTORY

PRODUCT_ID PRODUCT_DESCRIPTION PRODUCT_STATUS STD_ORDER_QTY

1 JACKET STYLE #1 IN STOCK 100

2 JACKET STYLE #2 BACK ORDERED 200

3 JACKET STYLE #3 SPECIAL ORDER 300

Tabla CUST_ORDERS

ORDER_NO PRODUCT_ID ARRIVAL_DATE

1 1 11/12/2013

2 2 23/11/2013

3 3 3/01/2014

4 7 29/12/2013

5 5 18/12/2013

6 3 20/12/2013

Tabla SPECIAL_ORDERS

ORDER_ID PRODUCT_ID ORDER_QTY

2. Utiliza las tablas INVENTORY, CUST_ORDERS y SPECIAL_ORDERS según las

especificaciones de la siguiente página para crear un bloque PL/SQL que realice las

siguientes operaciones:

a. Obtén del usuario un número de orden y obtén de la

tabla CUST_ORDERS el PRODUCT_ID asociado. Busca en la

tabla INVENTORY todos los datos cuyo PRODUCT_IDsea el que recuperamos

anteriormente.

Page 7: Bases de datos s14

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

b. Si el producto tiene un PRODUCT_STATUS de IN STOCK, hay que actualizar el

valor de la columna ARRIVAL_DATE de la tabla CUST_ORDERS asociado al

número de orden capturado por el usuario. El nuevo valor se calculará

sumándole al día de hoy siete días más.

c. Si el producto tiene un PRODUCT_STATUS de BACK ORDERED, hay que actualizar

el valor de la columna ARRIVAL_DATE de la tabla CUST_ORDERS asociado al

número de orden capturado por el usuario. El nuevo valor será el día de hoy

más un mes.

d. Si el producto tiene un PRODUCT_STATUS igual a SPECIAL ORDER, hay que

actualizar la columna de ARRIVAL_DATE de la tabla CUST_ORDERS asociado al

número de orden con el valor de la fecha de hoy más dos meses dentro de la

orden asociada (la que capturó el operador). Además inserta dentro de la

tabla SPECIAL_ORDERSun nuevo registro, tomando como valores lo siguiente

(este último requerimiento llevarlo a cabo usando triggers):

ORDER_ID: Un valor arbitrario.

PRODUCT_ID: El valor asociado.

ORDER_QTY: El valor de STD_ORDER_QTY correspondiente a ese

producto.