Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Industrial
EII 210 – Arquitectura de Sistemas de Software
Profesor: Claudio Cubillos
Ayudantes: Pablo Donoso – Daniela Gaete – Carla Morales
Segundo Semestre 2011
AYUDANTÍA DISEÑO BASE DE DATOS
Ejercicio 1:
Una base de datos para una pequeña empresa debe contener información acerca de clientes, artículos y
pedidos. Hasta el momento se registran los siguientes datos en documentos varios:

Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo,
Límite de crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000),
Descuento.

Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese
artículo en cada fábrica, Descripción del artículo.

Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está
formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son
varias líneas, en cada línea se especifican el número del artículo pedido y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el
uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver cuántos
artículos (en total) provee la fábrica. También, por información estratégica, se podría incluir información de
fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye hora.
Se pide hacer un modelo de base de datos relacional que represente esta información.
Ejercicio 2:
Se le ha encargado el desarrollo de una aplicación que se gestione la reserva de pasajes de avión en una
agencia de viajes. Tras analizar el problema con los clientes se ha recopilado la siguiente lista de requisitos:

La agencia de viajes desea mantener información de contacto relativa a cada cliente que ha
utilizado los servicios de reserva de pasajes a través de la agencia.

Cuando un cliente hace una reserva, compra un pasaje para trasladarse de una ciudad a otra. El
pasaje debe incluir, aparte del nombre del viajero y las ciudades de origen y destino, su fecha de
emisión y su precio total.

Los pasajes pueden ser de distintas categorías (ejecutivo, turista…).

Dado que no siempre hay vuelos directos entre dos ciudades, el trayecto realizado por el cliente
puede estar formado por distintos tramos. Cada tramo corresponde a un vuelo concreto entre
dos aeropuertos y viene definido por el código de vuelo, la fecha y la hora de salida. En algunas
ocasiones, la agencia es capaz de reservar un asiento concreto dentro del avión.

El código de cada vuelo está formado por el código de la compañía aérea y un número. Por
ejemplo, el vuelo LAN-365 es el vuelo número 365 de la compañía LAN.

Cada tiene un número determinado de asientos para cada categoría y cada categoría tiene
asociada una tarifa diferente para un mismo vuelo.

Los aeropuertos vienen identificados unívocamente por un código de tres letras (por ejemplo,
GRX corresponde al aeropuerto de Granada).

En el caso de los pasajes de ida y vuelta, lo único que tenemos que hacer es incluir los tramos
que sean necesarios para realizar el recorrido completo.
Diseñe una base de datos relacional para el problema planteando siguiendo los siguientes pasos:
a) Identifique las entidades del modelo y los atributos correspondientes a cada una de estos, indicando
explícitamente cuáles de esos atributos forman las claves primarias de las distintas entidades.
b) Dibuje un esquema relacional a partir de las tablas y relaciones obtenidas en la pregunta anterior.
Descargar

Ayudantia BD