martes, 28 de mayo de 2013

INSERTAR EN BASE DE DATOS (ORDEN DE LAS INSERCIONES)

insert into Tipo_Estadistica(Nombre) values ('la que sea')
insert into Sede(Nombre) values ('Fello meza')

insert into Campeonato(Fecha_Inicio,Fecha_Fin) values ('12/06/2012','12/12/2012')
insert into Calendario(FechaInicio,FechaFin,FK_Campeonato) values ('12/07/2013','12/09/2013',1)

insert into Equipo(Nombre,FK_Sede) values ('Liga',1)
insert into EquiposXcampeonato(FK_Campeonato,FK_Equipo) values (1,1)
insert into EstadisticasXequipo(FK_Equipo,Tipo_Estadistica) values (1,1)

insert into Partido(FK_Casa,FK_Visita) values (1,1)
insert into PartidosXcalendario(FK_Calendario,FK_Partido) values (1,1)
insert into EstadisticasXjuego(FK_Partido,HoraInicio,Duracion) values (1,'3:00:00','2:00')

insert into Jugador(Nombre) values ('Juan rodriguez')
insert into JugadoresXequipo(FK_Equipo,FK_Jugador) values (1,1)
insert into EstadisticasXjugador(FK_Jugador,Minuto,Tipo_Estadistica) values (1,'50',1)

martes, 21 de mayo de 2013

Proyecto 2


ITCR - Escuela de Ing. en Computacion - Bases de datos - Prof. fquiros 
- Mayo 2013
Segunda tarea programada 

EstadIsticas de campeonato de futbol

1) Objetivos 
A partir de la descripciOn de un problema y un modelo conceptual, 
contruir: 
+ Una base de datos fisica 
+ Scripts de llenado de datos bAsicos 
+ Scripts de migraciOn de datos para pruebas 
+ Scripts para la creaciOn de los store procedures 
+ Una aplicacion que utilice la base de datos 

2) DescripciOn del problema 
Consiste en llevar el registro de equipos y jugadores, histOrico y actual de los campeonatos de futbol en Costa Rica.

Un campeonato tiene fecha de inicio y fecha de fin, (se ignoran las vueltas y las rondas finales), al inicio de cada campeonato se registra los equipos que participan en el, asI como los jugadores de cada equipo. Los jugadores y su pertenencia a equipos puede variar de campeonato en campeonato.
Se ingresa un calendario de partidos, cada partido se realiza en un estadio que es la sede de un equipo, considerado equipo casa, que juega contra un equipo visitante. Conforme se realizan los partidos, se ingresan al sistema estadisticas que son del jugador, y estadisticas que son del juego. EstadIsticas del jugador: minuto de entrada al partido, minuto de salida, minuto de tarjeta amarilla, minuto de tarjeta roja, minuto de gol, minuto de falta recibida, minuto de falta cometida, minuto de tiro libre, minuto de penal y minuto de tiro de esquina. EstadIsticas del juego: duraciOn de juego, hora de inicio. Hay estadisticas del juego o del equipo que son la suma de estadisticas de jugador: por ejemplo, cantidad de goles (anotados o recibidos), cantidad faltas recibidas, cantidad de faltas cometidas, etc. 

Las estadisticas se pueden consultar de manera acumulada para el campeonato actual; o de manera histOrica, ya sea para un rango de fechas o para toda la historia. 

Consultas: 
+La tabla de posiciones para una fecha cualquiera, en orden descendente de puntos. La tabla contiene: nombre del equipo, numero de juegos jugados, cantidad de ganados, cantidad de empatados, cantidad de juegos perdidos, cantidad de goles a favor, cantidad de goles en contra, y puntos. Los puntos se calculan asi: 3 puntos por juego ganado, 1 por juego empatado, 0 por juego perdido. Si dos equipos tienen la misma cantidad de puntos, tiene mejor posiciOn el que tiene la menor cantidad de partidos jugados, si tuvieran la misma cantidad de partidos jugados, el que tenga mejor gol diferencia (goles anotados - goles recibidos). Esta consulta debe mostrarse a travEs de una aplicaciOn web.
+ Las estadIsticas de un partido
+ La estadIsticas de un equipo en un campeonado o entre un rango de fechas, o histOrico total, 
+ Las estadIsticas de un jugador en un equipo histOrico total, la estadIsticas de un jugador acumuladas en el campeonato actual, o dentro de un rango de fechas o histOrico total. 
+ Las estadIsticas de un equipo versus otro equipo histOrico total.
3) Se pide: 
+ Un Modelo conceptual completo, basado en el construido por el 
profesor, pero adaptado a la soluciOn que cada grupo de trabajo provea 
para este proyecto. 
+ Un Modelo fIsico completo 
+ La bitacora.
+ Scripts de creacioOn de la bd, de llenado de datos bAsicos 
+ Scripts de migraciOn de la bd que contendra los datos de prueba (BD no normalizada), la cual proveera, al menos 3 campeonatos (uno de ellos en ejecucion), 8 equipos, al menos 20 jugadores por equipo, 64 partidos de todos con todos, y estadisticas de todos los tipos. 
+ El cOdigo creado 
+ DemostraciOn del cOdigo corriendo.
4) Condiciones de entrega 
+ Grupos de dos personas 
+ Fecha de entrega: 4 de Junio, 2013

lunes, 6 de mayo de 2013

Resúmen final

+Total de horas en general
Total de horas de trabajo: 21 horas y 15 minutos aproximadamente.


+Total de horas por persona
Juan Rodríguez: 12 horas aprox.
Albin Arias: 8 horas y 15 min aprox.


Análisis de resultados.
El trabajo final cumple con todos los puntos requeridos por el profesor. Durante la realización todo transcurrió de manera normal y sin problemas, exceptuando el de la migración de la base de datos brindada a la creada por nosotros, ya que la base de datos brindada fué creada en el motor de base de datos: MySQL, el cual es diferente al motor utilizado por nosotros: MSSQL. Luego de haber logrado la migración de la base de datos brindada gracias a programas gratuitos encontrados en internet, lo demás fué sencillo: realizar pruebas con los datos nuevos.

En resúmen:
Primero nos encargamos de informarnos sobre ciertos temas desconocidos, además de practicar lo que es el lenguaje de programación C#, ya que ninguno había utilizado este lenguaje con anterioridad. Una vez dominado el lenguaje, nos dedicamos a la investigación de la creación de interfaz gráfica y aplicaciones Web utilizando como lenguaje web ASP.NET y C# en VisualStudio 2008. Terminado esto, nos dimos a la tarea del modelado y diseño de la base de datos. Fue un proceso de largas horas en el cual debimos ponernos deacuerdo con respecto a las diferentes relaciones entre las tablas en nuestra base para lograr una correcta normalización. Con esto, el siguiente reto fué conectar la base de datos a nuestra aplicación Web, lo cual se logró gracias a diferentes tutoriales y videos de YouTube (los cuales se encuentran en anteriores entradas de este blog). Cuando se logró la conexión entre las diferentes capas, realizamos consultas sencillas para acostumbrarnos al comportamiento de la base de datos en MSSQL. Una vez acostumbrados al comportamiento de MSSQL, nos dimos a la tarea de realizar todos los storeprocedures correspondientes para cada una de las funciones solicitadas por el profesor. Y finalmente, se dió la migración de la base de datos brindada a la propia.

Juan Rodríguez
Albin Arias
Bases de Datos I
2013