Está en la página 1de 9

Benemérita Universidad

Autónoma de Puebla

Facultad de Ciencias de la Computación

Materia: Bases de Datos para Ingenieros 

Proyecto: Ómnibus 

Equipo Matrículas
Carlos Daniel González Luna 201727158
Miguel Alfredo González Pedraza 201745225
Luis Felipe Sánchez Hernández 201878921
Marco Antonio Bañuelos López 201726707

 
 
Otoño 2020 
Objetivo

Realizar el diseño, la implementación de la base de datos relacional y obtener las


consultas planteadas en el problema haciendo uso del programa MySQL

Problema
Se desea almacenar la información correspondiente a la actividad que se desarrolla
en una terminal de ómnibus de turismo, en la que se cuenta con un conjunto de
empleados y un conjunto de ómnibus para realizar los viajes programados para
excursiones.

De los empleados se conoce su número de identidad, su nombre y su dirección.


Existe un tipo particular de empleado que son los choferes, de los cuales también se
conoce su número de licencia de conducción y su tiempo de experiencia.

De los ómnibus se conoce el número que los identifica, su modelo y su capacidad.


El modelo define la capacidad. Para las excursiones existen diferentes rutas que
cubren los ómnibus. De las rutas se conoce su número, su destino y la distancia a
recorrer. Un ómnibus se asigna a una sola ruta.

Cada viaje tiene asignado un chofer, un ómnibus y una ruta. Para cada viaje se
conoce su fecha, su hora de salida, su hora de llegada y si se realizó o no.

Por otra parte, a los choferes de menos de tres años de experiencia se les imparten
cursos de superación. De los cursos se conoce su nombre, su objetivo y su tiempo
de duración. Un chofer puede recibir varios cursos. Asimismo, a los choferes de tres
o más años de experiencia se les aplican tests de habilidades.

De los tests se conoce su nombre, su calificación mínima y el tiempo máximo para


su aprobación. Los resultados de los cursos y de los tests se almacenan
convenientemente a fin de tenerlos en cuenta en las evaluaciones de los choferes.

La evaluación de un chofer se realiza una vez al año. Para cada chofer se


almacenan todas sus evaluaciones con la fecha en que se realizó, quién la realizó,
si el evaluado estuvo conforme o no y el resultado de la evaluación (excelente, bien,
regular o mal).
Análisis del Problema

Inicialmente tenemos que comprender el problema de tal modo que


identifiquemos los elementos que comprende el problema ya sean los
atributos, entidades, instrucciones y comportamientos

Se desea almacenar la información correspondiente a la actividad que se desarrolla


en una terminal de ómnibus de turismo, en la que se cuenta con un conjunto de
empleados y un conjunto de ómnibus para realizar los viajes programados para
excursiones.

De los ​empleados ​se conoce su ​número de identidad, su nombre y su dirección.


Existe un tipo particular de empleado que son los ​choferes​, de los cuales también se
conoce su​ número de licencia de conducción y su tiempo de experiencia.

De los ​ómnibus ​se conoce el ​número que los identifica, su modelo y su capacidad.
El modelo define la capacidad​. Para las excursiones existen diferentes rutas que
cubren los ómnibus. De las ​rutas ​se conoce su número, su destino y la distancia a
recorrer​. ​Un ómnibus se asigna a una sola ruta.

Cada ​viaje ​tiene asignado un chofer, un ómnibus y una ruta. Para cada viaje se
conoce su​ fecha, su hora de salida, su hora de llegada y si se realizó o no.

Por otra parte, ​a los choferes de menos de tres años de experiencia se les imparten
cursos de superación​. De los ​cursos ​se conoce su ​nombre, su objetivo y su tiempo
de duración​. ​Un chofer puede recibir varios cursos. Asimismo, a los choferes de tres
o más años de experiencia se les aplican tests de habilidades.

De los ​tests ​se conoce su ​nombre, su calificación mínima y el tiempo máximo para
su aprobación​. ​Los resultados de los cursos y de los tests se almacenan
convenientemente a fin de tenerlos en cuenta en las evaluaciones de los choferes.

La evaluación de un chofer se realiza una vez al año​. Para cada ​chofer se


almacenan todas sus evaluaciones con la fecha en que se realizó, quién la realizó,
si el evaluado estuvo conforme o no y el resultado de la evaluación (excelente, bien,
regular o mal).

Color Descripción
Posibles Atributos de Identidad 

Posibles Entidades 

Posibles Instrucciones de Programación 

Posibles Comportamientos de Relación 


Detectando los posibles atributos con los que trabajamos desarrollaremos el cual es
su razón para ser considerados factores principales para nuestra base de datos,
considerando las relaciones que comparten con el proyecto principal o con otras
entidades.

● Empleados ● Tests
● Choferes ● Cursos
● Omnibus ● Viajes
● Rutas
Empleados: ​Considerando que son una parte vital que trabaja dentro de una
terminal de turismo, refiriéndose al mantenimiento del lugar, los vehículos, atención
al público, etc. Se tiene que mantener un control sobre quien trabaja en la terminal,
donde vive y su identificación única siendo esta su número de empleado​.

Choferes:​ Este atributo lo manejaremos por separado, por el motivo que sus tareas
no están relacionadas directamente a la terminal, puesto que sus características y
atributos son diferentes a la de los empleados que trabajan dentro de la terminal, ya
que aunque deben tener un número empleado, su trabajo que es manejar un
vehículo requiere de experiencia (antigüedad) y una capacitación diferente a la de
los empleados de la terminal, la cual se relaciona a la experiencia y nos lleva a dos
atributos igualmente importantes para mantener la organización de los choferes.

Tests: ​El objetivo de mantenerlo como un atributo es por ser ideado para los
choferes con tres o más años de experiencia, al asegurarse que mantienen un
estándar mínimo y calificando sus habilidades de manejo para que continúen
trabajando de manera adecuada.

Cursos: ​Como el atributo anterior, es dirigido a los choferes con menos tiempo de
experiencia, e igualmente se considera un atributo por los elemento que debemos
manejar dentro de la base de datos, ya que no es para calificar el desempeño, sino
para capacitar a los choferes con menos tiempo de experiencia.

Ómnibus: ​Es necesario para mantener un control respecto a los vehículos que hay
en la terminal, teniendo que registrar su número, y su modelo, la capacidad es
posible programarla depende el modelo que introducimos.

Rutas:​ Asignadas una por ómnibus, su control es para evitar confusiones en cuanto
a modelos de ómnibus iguales, y mantener un control sobre dónde se encuentran
los vehículos y comenzar a desarrollar un horario organizado con el tiempo de
recorrido que realiza cada ómnibus.

Viajes:​ En este atributo consideramos que tendremos el control respecto a un


itinerario donde la terminal sabrá quién, qué vehículo y qué ruta viajará, así como un
control sobre las fechas, horas y si se realizó el viaje.
Entidades

Empleado
ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

ID ID del empleado Llave primaria Numérico

Nombre Nombre del empleado Atributo simple Texto

Dirección Dirección del Atributo simple Texto


empleado

Chofer

ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

ID ID del chofer Llave primaria Numérico

Licencia Licencia del empleado Atributo simple Numérico

Antigüedad Antigüedad del chofer Atributo simple Numérico

Omnibus

ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

NoBus Número de unidad del Llave primaria Numérico


bus

Modelo Modelo del bus Atributo simple Texto

Capacidad Capacidad del bus Atributo simple Numérico

Viaje Descripción del viaje Atributo multivaluado Alfanumérico

Ruta
ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

NoRuta Número de la ruta Llave primaria Numérico

Destino Destino de la ruta Atributo simple Texto

Distancia Distancia de la ruta Atributo simple Texto


Curso
ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

NoCurso Número de curso Llave primaria Numérico

Nombre Nombre del curso Atributo simple Texto

Objetivo Objetivo del curso Atributo multivaluado Texto

Duración Duración del curso Atributo simple Numérico

Test
ATRIBUTO DESCRIPCIÓN TIPO DE ATRIBUTO TIPO DE DATOS

NoTest Número de test Llave primaria Numérico

Nombre Nombre del test Atributo simple Texto

CalifMin Calificación mínima Atributo simple Numérico


para aprobar el test

MaxAprob Aprobación máxima Atributo simple Numérico


del test

Modelo Entidad-Relación
Diagrama Entidad-Relación

Modelo Relacional
Empleado​ (​ID​, Nombre, Dirección)

PK: ​ID

Chofer​ (​ID​, Licencia#, Antigüedad)

PK:​ ID​ referencia a empleado

Ruta ​(​R#​, Destino, Distancia)

PK: ​R#

Ómnibus​ (​BUS#,​ Modelo, Capacidad, ​R#​)

PK: ​BUS#

FK: ​R#​, referencia a Ruta

Modelo ​<--​ Capacidad (Dependencia Funcional se rompe, la tercera forma normal)

Test​ (​T#,​ Nombre, CalificaciónMin, TiempoMaxAprobación)

PK: ​T#

CursaTest​ (​T#, ID​)


PK: ​T#, ID​ son una llave primaria compuesta

FK: ​T#​, referencia a Test

FK: ​ID​, referencia a Chofer

Curso​ (​C#​, Nombre, Duración)

PK: ​C#

Objetivo​ (​C#​, Obj)

PK: ​C#​, Obj (autoinc)

FK: ​C#​, referencia a Curso

CursaCurso​ (​C#,​ ​ID​, Resultado, Fecha, Conformidad)

PK: ​C#​, ​ID​ son una llave primaria compuesta

FK: ​C#​, referencia a Curso

FK: ​ID​, referencia a Chofer

ViajeAsignado​ (​ID,​ ​R#,​ ​BUS#​, HoraSalida, HoraLlegada, Fecha, Realizado)

PK: ​ID,​ ​R#,​ ​BUS#​, son una llave primaria compuesta

FK: ​ID​, referencia a Chofer

FK: ​R#​ referencia a Ruta

FK: ​Bus#​, referencia a Ómnibus

Hora de salida ​-->​ hora de llegada (Se rompe la forma normal 3)

Formas Normales

Todas las relaciones cumplen la primera forma normal, ya que todas tienen una
llave primaria única.

Todas las relaciones cumplen la segunda forma normal porque cumplen la forma
normal ​F1 ​y los atributos no llaves dependen de las llaves primaria; sean
compuestas o sean únicas.

Hay dos relaciones que pierden la tercera forma normal

Ómnibus​ (​BUS#,​ Modelo, Capacidad, ​R#​)

La relación Ómnibus se va a particionar en dos nuevas relaciones:

Ombinus1(​BUS#​, Modelo, ​R#​)


Omnibus2(​BUS#​, ​Modelo​, Capacidad)

Las dos relaciones tienen como llave primaria ​BUS# ​y Modelo, es un atributo a la
relación 1 que queda como llave primaria en Omnibus2, lo que permite consultar ambas
relaciones a partir de las nuevas llaves primarias creadas

La relacion ViajeAsignado se va a particionar en dos nuevas tablas para garantizar


la tercera forma normal

ViajeAsignado​ (​ID,​ ​R#,​ ​BUS#​, HoraSalida, HoraLlegada, Fecha, Realizado)

ViajeAsignado1(​ID,​ ​R#,​ ​BUS#,​ HoraSalida, Fecha, Realizado)

ViajeAsignado2(​ID,​ ​R#,​ ​BUS#,​ ​HoraSalida,​ HoraLlegada)

También podría gustarte