Está en la página 1de 10

Trabajo Practico 1

Sistema de tickets ferroviarios

Base de Datos - 2017 : 2do Cuatrimestre

Grupo 02

Integrante LU Correo electronico

Celave, Martn 530/08 tolacelave@gmail.com


Sebastian, Fernandez Ledesma 392/06 sfernandezledesma@gmail.com
Diego Sueiro 75/90 dsueiro@gmail.com
Fabian Gonzalez Lopez 076/01 utyman@gmail.com

Reservado para la catedra

Instancia Fecha Docente Nota


Primera entrega
Segunda entrega

Facultad de Ciencias Exactas y Naturales


Universidad de Buenos Aires
Ciudad Universitaria - (Pabellon I/Planta Baja)
Intendente Guiraldes 2160 - C1428EGA
Ciudad Autonoma de Buenos Aires - Rep. Argentina
Tel/Fax: (54 11) 4576-3359
http://www.fcen.uba.ar
BBDD - TP1 - Sistema tickets ferroviarios INDICE

Indice
1. Introduccion 3

2. Diagramas 4
2.1. Modelo Entidad-Relacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Modelo Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Restricciones en Lenguaje Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. Suposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3. Diseno Fsico 8
3.1. Creacion del schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4. Conclusiones 9

Referencias 10

2
BBDD - TP1 - Sistema tickets ferroviarios Introduccion

1. Introduccion
Para el presente trabajo practico [?], se nos solicito el diseno y construccion de una base de datos para
un sistema de tickets ferroviarios. El objetivo es emular la solucion un problema del mundo real utilziando los
conocimientos que fueron impartidos en la materia.
El trabajo se divide en varias partes:

El diseno de la base de datos presentada en un Modelo Entidad-Relacion construido con la tecnica


Diagramas de Entidad-Relacion y su correspondiente Modelo Relacional, acompanado de las restricciones
en lenguaje natural, ademas de las suposiciones realizadas y acordadas previamente con el tutor.
El diseno fsico de la base de datos, para el cual hemos optado utilizar el motor MySql[1] en su version
X.X y donde tambien presentaremos el codigo utilizado para la creacion de los distintos objectos de la
base de datos, al igual que una carga inicial de datos para poder ver como se soportan varias de las
funcionalidades pedidas.

Por ultimo un apartado para presentar nuestras conclusiones respecto al modelado, el diseno fsico y a
los conceptos visto en la materia.

3
BBDD - TP1 - Sistema tickets ferroviarios Diagramas

2. Diagramas
2.1. Modelo Entidad-Relacion

Figura 1: DER

A continuacion un mapa de las entidades y que semantica tienen en el problema a resolver.

viaje: El viaje en concreto que hace un tren.

2.2. Modelo Relacional


tren(id Tren)
PK = CK = { id Tren }
FK = {}

vagon(id Tren, Nro Vagon, tipo Vagon)


PK = CK = { (id Tren, id Vagon) }
FK = { tipo Vagon }
Restricciones Adicionales
Vagon.tipo Vagon debe estar en tipo Vagon

tipo Vagon(tipo Vagon, descripcion)

4
BBDD - TP1 - Sistema tickets ferroviarios Diagramas

PK = CK = { tipo Vagon }
FK = { }

personal(legajo, estudiosAlcanzados, dni, apellido, nombre, obraSocial, telefono, celular, tipo)


PK = { legajo }
CK = { legajo, dni }

FK = { }

tieneAsignado(legajo, id Tren)
PK = CK = { (legajo, id Tren) }

FK = { legajo, id Tren}
Restricciones Adicionales
TieneAsignado.legajo debe estar en Personal.legajo

TieneAsignado.id Tren debe estar en Tren.id Tren

estacion ( id Estacion, ciudad, nombre)


PK = CK = { id Estacion }

FK = { }

trayecto ( id Trayecto, id Estacion Inicio, id Estacion Fin)


PK = CK = { id Trayecto }

FK = { id EstacionInicio id EstacionFin}
Restricciones Adicionales
Trayecto.id Estacion Inicio debe estar en Estacion.id Estacion
Trayecto.id Estacion Fin debe estar en Estacion.id Estacion

intermedia ( id Trayecto, id Estacion, dia Partida, hora Partida, dia Llegada, dia Llegada)
PK = CK = { (id Trayecto, id Estacion) }
FK = { (id Trayecto, id Estacion}

Restricciones Adicionales.
Intermedia.id Trayecto debe estar en Trayecto.id Trayecto.
Trayecto.id Estacion debe estar en Estacion.id Estacion.
(Trayecto.id, dia Partida, hora Partida) deben ser unicos.

(Trayecto.id, dia Llegada, hora Llegada) deben ser unicos.


Trayecto.id Trayecto y ademas debe ser la de da y hora menor.
Trayecto.id Estacion Inicio debe estar una vez asignada en Intermedia correspondiendo a Trayecto.id Trayecto
y ademas debe ser la de da y hora menor.

5
BBDD - TP1 - Sistema tickets ferroviarios Diagramas

Trayecto.id Estacion Fin debe estar una vez asignada en Intermedia correspondiendo a Trayecto.id Trayecto
y ademas debe ser la de da y hora mayor.

viaje ( id Viaje, id Tren, id Trayecto, ubicacion, estado)


PK = CK = { id Viaje }
FK = { id Tren id Trayecto}

Restricciones Adicionales
Viaje.id Tren debe estar en Tren.id Tren
Viaje.id Trayecto debe estar en Trayecto.id Trayecto

incidente ( id Incidente, reportado por, tipo, fecha, ubicacion, id Viaje)


PK = CK = { id Incidente }
PK = { id Viaje }
Restricciones Adicionales

Incidente.id Viaje debe estar en Viaje.id Viaje

precio ( id Precio, id Trayecto, tipo Vagon, valor)


PK = { id Precio }

CK = { id Precio, ( id Trayecto, tipo Vagon) }


FK = { id Trayecto tipo Vagon}
Restricciones Adicionales

Precio.id Trayecto debe estar en Trayecto.id Trayecto


Precio.tipo Vagon debe estar en TipoVagon.tipo Vagon
Precio.( id Trayecto, tipo Vagon) debe ser unico.

pasajero ( id Pasajero, nombre, apellido, tipo Documento, numero Documento, domicilio)


PK = { id Pasajero }
CK = { id Pasajero, (tipo Documento, numero Documento) }

Plan ( id Plan, nombre)


PK = CK = { id Plan }

Suscripto ( id Plan, id Pasajero)

PK = CK = { (id Plan, id Pasajero) }


FK = { id Plan, id Pasajero }
Restricciones Adicionales
Suscripto.id Plan debe estar en Plan.id Plan

Suscripto.id Pasajero debe estar en Pasajero.id Pasajero

6
BBDD - TP1 - Sistema tickets ferroviarios Diagramas

ticket ( id Ticket, anden Llegada, anden Salida, asiento, fecha, id Precio, id Pasajero)
PK = CK = { id Ticket }

FK = {id Precio}
Restricciones Adicionales
ticket.id Pasajero debe estar en Pasajero.id Pasajero
ticket.id Precio debe estar en Precio.id Precio

(ticket.id Precio, anden Llegada, asiento, fecha) debe ser unico.

2.3. Restricciones en Lenguaje Natural


1. Una restriccion en lenguaje natural

2.4. Suposiciones
Estas suposiciones fueron consensuadas con el tutor.

1. una suposicion

7
BBDD - TP1 - Sistema tickets ferroviarios Diseno Fsico

3. Diseno Fsico
Para llevar nuestro modelo de entidad relacion a un estado fsico hemos optado por utilizar el motor de base
de datos MySql en su version X.x[?]. Al momento de elegir el motor de base de datos, tuvimos en cuenta que
fuera Open Source, multiplataforma, con abundante documentacion y de facil acceso, y que ademas ofreciera
algun tipo de soporte (ya sea empresarial o comunitario).

3.1. Creacion del schema

8
BBDD - TP1 - Sistema tickets ferroviarios Conclusiones

4. Conclusiones
Una vez finalizado el trabajo practico pudimos sacar varias conclusiones.

9
BBDD - TP1 - Sistema tickets ferroviarios REFERENCIAS

Referencias
[1] Mysql: www.mysql.com.

10

También podría gustarte