Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Se pide diseñar la base de datos de un sistema integrado de reserva de buses para la Asociación Nacional de Buses
Interprovinciales.
El sistema administrará centralizadamente la venta de pasajes para distintas compañías de buses. Las compañías se
distinguen por un código, y poseen un nombre y una ciudad de origen de la compañía.
Los buses realizan viajes directos entre distintos terminales. Los terminales se reconocen por un código, y poseen una ciudad
de ubicación.
El sistema mantiene la planificación de los viajes. Cada viaje se distingue por su fecha y código de ruta, los cuales determinan
a la compañía de buses que ejecuta el servicio, la hora de partida del bus, el terminal de origen, el terminal de destino. Cabe
desatacar que el código de ruta determina por si solo a la compañía de buses, el terminal de origen, el terminal de destino y el
precio del pasaje. La figura 1 muestra una pantalla correspondiente al listado de viajes programados.
Los pasajes que generará este sistema tendrán impreso un número de pasaje (identificador), el nombre y rut del pasajero, los
datos del viaje, y el precio del pasaje. Por su parte el Rut del pasajero determina el nombre del mismo. La figura 2 muestra un
ejemplo de pasaje.
Desarrollo
1) “Las compañías se distinguen por un código, y poseen un nombre y una ciudad de origen de la
compañía.“
TERMINAL(cód_terminal, ciudad)
3) “El sistema mantiene la planificación de los viajes. Cada viaje se distingue por su fecha y código
de ruta, los cuales determinan a la compañía de buses que ejecuta el servicio, la hora de partida del
bus, el terminal de origen, el terminal de destino”.
4) “Cabe desatacar que el código de ruta determina por si solo a la compañía de buses, el terminal
de origen, el terminal de destino y el precio del pasaje.”
Es decir, si volvemos sobre la relación anterior (no considerando por el momento el precio del
pasaje), observamos que hay una dependencia parcial de la clave primaria :
A lo anterior debemos agregar el atributo precio del pasaje, el cual depende sólo del código de ruta:
5) “Los pasajes que generará este sistema tendrán impreso un número de pasaje (identificador), el
rut y nombre del pasajero, los datos del viaje, y el precio del pasaje”.
Lo anterior genera una tabla PASAJE, con número_pasaje como clave. El número_pasaje
determina el rut y nombre del pasajero. También determina los datos del viaje y el precio. Como los
datos del viaje se encuentran descritos en la relación VIAJE, incorporamos dentro de los atributos de
PASAJE sólo a los atributos que conforman la clave de la relación VIAJE (es decir, fecha y
cód_ruta). Cabe mencionar que cód_ruta es la clave de RUTA, desde donde podemos obtener el
precio del pasaje. Por lo anterior, la relación PASAJE queda, por el momento, de la siguiente forma:
Lo anterior nos pone en evidencia que en la relación PASAJE existe una dependencia transitiva de
un atributo no clave respecto de otro:
El atributo nombre depende transitivamente de la clave primaria, a través del atributo rut. En otras
palabras, el atributo clave número_pasaje determina a los atributos no claves rut y nombre, pero, a
su vez, rut (que no es clave de la relación PASAJE) determina también al atributo nombre. Por esta
razón la relación PASAJE no se encuentra en 3ª Forma Normal. El problema se resuelve separando
las dependencias transitivas en otra tabla, que hemos denominado PERSONA:
A partir de todo el desarrollo anterior, hemos obtenido finalmente la siguiente base de datos del
SISTEMA DE RESERVA DE PASAJES en 3ª Forma Normal:
En las tablas de esta base de datos, se identifican las siguientes claves foráneas:
a) En la tabla VIAJE:
- cód_ruta es clave foránea que va hacia RUTA.
b) En la tabla RUTA:
- cód_compañia es clave foránea que va hacia COMPAÑíA.
- cód_terminal_orig es clave fóranea que va hacia TERMINAL.
- cód_terminal_dest es clave fóranea que va hacia TERMINAL.
c) En tabla PASAJE:
- rut es clave foránea que va hacia PERSONA.
- fecha+cód_ruta es clave foránea que va hacia VIAJE.
- cód_ruta es clave foránea que va hacia RUTA.
Problemas propuestos
Problema 2
Problema 3
Se deberá diseñar la base de datos del sistema de concesión de autopistas urbanas de la capital. En estas autopistas el
derecho a uso por parte de los automovilistas exige que los vehículos se encuentren equipados con dispositivos electrónicos
de reconocimiento que operan por radiofrecuencia, denominados Tags. Las autopistas cuentan con diversos pórticos a lo largo
de ellas. Cada pórtico tiene diversos sensores (uno por cada pista de circulación) que son capaces de leer la información
almacenada en los tags, cuando los vehículos circulan bajo ellos.
En este sistema se reconocen diferentes empresas concesionarias de la administración de autopistas. Una concesionaria se
identifica por un código, tiene un nombre, y puede poseer varias autopistas bajo su administración. Una autopista, sin
embargo, es administrada por una única concesionaria. Cada autopista tiene un código de ruta que la identifica, un nombre y
una longitud en kilómetros.
Las autopistas poseen varios pórticos. Cada pórtico se reconoce, al interior de una autopista, mediante un código de pórtico
(sin embargo, en distintas autopistas puede haber pórticos distintos, pero con el mismo código de pórtico). Cada pórtico tiene
una fecha de puesta en marcha.
El sistema registra información de los vehículos. Cada vehículo se reconoce por su código de Tag, el cual determina la
patente, la marca y el modelo del vehículo, así como también, el RUT y nombre del propietario del vehículo. Se sabe que la
patente, por si sola, determina la marca y modelo del vehículo. El RUT, por su parte, determina el nombre del propietario del
vehículo.
Cada vez que un vehículo pasa bajo un pórtico, el pórtico lee el código de Tag, y queda registrado en el sistema la
identificación del pórtico, el número de tag, el número de pista de circulación, la fecha y la hora en que se produce el paso.
Cabe mencionar que por un determinado pórtico, en una determinada pista, en una fecha y hora específica puede pasar un
único vehículo.
Problemas más desafiantes
Problema 4
Se desea construir un sistema que apoye la gestión de los diversos proyectos que debe ejecutar una organización. Un
proyecto contiene múltiples actividades a realizar, genera diversos resultados e involucra el trabajo de diversas personas.
El sistema deberá generar una Carta Gantt de cada proyecto como se muestra en la figura de la derecha. La Carta Gantt
permite visualizar las actividades del proyecto a lo largo del tiempo (barras), y los resultados asociados a la realización de
ciertas actividades (rombos).
En este cada proyecto es identificado por un código de proyecto. Cada proyecto posee un nombre y una fecha de inicio.
Cada proyecto tiene sus propias actividades. A cada
CARTA GANTT
actividad se le asigna un número correlativo que
permite identificarla dentro de un proyecto, sin Proyecto: XMZ1 –Abrelatas
Actividades
embargo, pueden existir dos actividades distintas, en Resultado: 1. Proyecciones de demanda
proyectos distintos, a los cuales se les asigne el 1.ANALISIS MERCADO
mismo correlativo. Las actividades poseen, además,
2.ESTUDIO PRODUCTO
una descripción y una duración proyectada. Cada
3.ESTUDIO MATERIALES
actividad puede tener un número indefinido de 4.ANALISIS TECNICO Resultado: 2. Especificación técnica
Problema 5
Se debe diseñar la base de datos de un sistema de planificación de producción para una empresa procesadora de frutas.
Este sistema registra las órdenes de procesamiento requeridas por sus clientes. Cada orden se identifica por un número de
orden y posee un código de cliente, un nombre de cliente, una dirección de cliente, y una fecha de emisión de la orden.
Se sabe que el código de cliente determina el nombre y la dirección del mismo.
Una orden de procesamiento puede especificar requerimientos de varias frutas, donde las frutas se identifican mediante un
código de fruta. Particularmente, se sabe que del número de orden y del código de fruta (en conjunto) dependen
funcionalmente el nombre de la fruta, el color de la fruta, el precio por kilogramo y la cantidad de kilogramos de frutas
requeridas por el cliente. Asimismo, se sabe que del código de fruta, por si solo, dependen funcionalmente el nombre de fruta,
el color de la misma y el precio por kilogramo.
El sistema de planificación de producción será capaz de almacenar varios planes de producción alternativos. Un plan se
identifica por un número de plan y posee una fecha de creación. Cada plan contiene una secuencia de órdenes de
procesamiento para ser elaboradas, bajo la restricción de que a la vez es posible procesar una sola orden.