Download Cómo utilizar bases de datos en el deporte
Document related concepts
Transcript
Cómo utilizar bases de datos en el deporte Atención: El siguiente artículo fue extraído de internet. Es una artículo libre, que ofrecemos a título gratuito, de libre disposición de Internet. Los conceptos aquí vertidos corren por exclusiva cuenta del autor y no expresan necesariamente la filosofía o manera de ver el deporte o disciplina por parte de los responsables de Fuerza y Potencia. Al pie, se cita al autor y su contacto. 1. Introducción Existe un gran número de libros en el mercado sobre Bases de Datos. En unos casos estos libros están orientados a los profesionales de la Informática que se dedican a gestionar y administrar Bases de Datos de gran volumen. Las técnicas de diseño que se exponen en este tipo de libros son excesivamente complejas y especializadas especialmente para aquellos usuarios que únicamente pretenden hacerse una base de datos simple que les solucione un problema sencillo o no muy complejo. En otros casos, los libros exponen todos los trucos y entresijos de una marca de Base de Datos concreta, pero no suelen hablar de para qué hacer la Base de Datos y de su utilidad. Se limitan a exponer en sus páginas una enorme cantidad de información técnica sobre posibilidades que éstas tienen y en muy pocas ocasiones se siguen casos prácticos de principio a fin, de modo que los lectores comprendan perfectamente qué pueden esperar de tales herramientas. Los autores de este trabajo imparten docencia de Informática en la Facultad de Ciencias de la Actividad Física y el Deporte. A lo largo del tiempo dedicado a ello, han ido elaborando una gran cantidad de casos prácticos que han servido de ejemplo a los alumnos de distintas asignaturas relacionadas con la informática aplicada a la organización de datos deportivos. En este trabajo se expondrá un caso práctico que ilustrará algunas de las posibilidades que ofrecen las Bases de Datos en la organización y catalogación de datos de tipo deportivo de forma simple. 2. Creación de una base de datos Una Base de Datos es una herramienta software creada con el fin de facilitar al usuario la tarea de organizar adecuadamente datos de cualquier tipo. El principal objetivo de tener datos bien organizados consiste en la posibilidad de extraer conclusiones, realizar consultas y confeccionar informes a partir de ellos de forma automatizada. En definitiva, las Bases de Datos son herramientas que permiten obtener información de interés, a partir de un conjunto de datos de entrada. A lo largo de este artículo se seguirá el proceso de creación de una Base de Datos deportiva y para ello, consideraremos dos grandes fases: • • Fase de Diseño: Durante esta etapa de la creación de una base de datos, se decide qué datos son interesantes en función de los resultados que se pretende obtener. Es decir, se dice qué datos hacen falta para obtener qué información. Una vez tomada esta decisión, se organizan los datos y para ello se construye un modelo teórico que recogerá todas las necesidades y requerimientos del usuario. Fase de Implementación: Esta segunda etapa consiste en llevar el modelo teórico propuesto en la fase de diseño al mundo real. Hay que escoger una herramienta comercial de las muchas que existen. Sin querer entrar en polémica sobre su bondad o no, en este caso se llevará a cabo la implementación de la Base de Datos en la herramienta software Microsoft Access. A continuación exponemos el enunciado de un ejercicio que nos servirá de guía en todas las fases de diseño e implementación. Pruebas de Atletismo En las pruebas de atletismo celebradas en la ciudad de XX durante el mes de YY, había una gran cantidad de datos a manejar. La organización necesitaba saber en todo momento a qué hora se celebra cada uno de los eventos y quiénes participan en los mismos, sin olvidar que es posible que un mismo atleta participe en varias pruebas diferentes. La organización desea tener una relación de atletas por orden alfabético para facilitar la elaboración de diplomas. También quiere saber cuántos atletas han participado en total, y cuántos hay de cada continente. Al final del campeonato publicará la clasificación general por pruebas. 2.1. Diseño de la base de datos La etapa de diseño es una fase de estudio incremental en la cual, sobre un diseño inicial se irán añadiendo nuevas necesidades y se irán detectando fallos que habrá que subsanar de forma continua, hasta que finalmente se obtenga el modelo definitivo. La construcción del modelo teórico de la Base de Datos, lleva dos fases: • • Elaboración de un diseño teórico, independiente del tipo de Base de Datos en el que se va a llevar a la práctica, que denominaremos modelo conceptual. Traducción de este diseño teórico al tipo de Base de Datos que se utilizará para implementarla. En este caso, se utilizará un modelo relacional ya que Microsoft Access es una Base de datos de tipo relacional. Si bien existen otros tipos de Base de Datos, las relacionales son las más populares y difundidas en la actualidad. 2.1.1. Modelo conceptual El primer paso en el diseño, consiste en localizar y decidir qué datos se van a considerar necesarios en la Base de Datos. Comenzaremos por decidir las Entidades. Una entidad es un objeto del mundo real distinguible de otro objeto. Para obtener las entidades, es conveniente elaborar una lista inicial con todos los datos que consideramos necesarios según el problema que tenemos y después agruparlos. En el ejemplo propuesto, una la lista inicial de datos podría ser: • • • • • • • Nombre de un atleta, Fecha de nacimiento, Continente al que pertenece el atleta, Pruebas disputadas, Resultado obtenido por un atleta en una prueba, Hora de celebración de cada prueba, Día de celebración de cada prueba Las entidades que englobarían esos datos serían: • • ATLETAS O PARTICIPANTES PRUEBAS La mayoría de datos relacionados en la lista inicial podrían encajar fácilmente en una de estas entidades. Por ejemplo, el nombre de un atleta encajaría en la entidad ATLETA. El segundo paso consiste en decidir qué atributos tendrán estas entidades. Los atributos son las propiedades de una entidad que la caracterizan. El conjunto de atributos no es arbitrario, debe describir perfectamente a la entidad y adaptarse a las necesidades de información previstas. • PRUEBAS: Nombre de prueba, hora de celebración, día de celebración. • ATLETAS: Nombre del atleta, edad o fecha de nacimiento continente de procedencia En ocasiones resulta difícil determinar estas características de forma que sean propias exclusivamente de cada entidad, ya que tendremos la tentación de poner algunas propiedades que en realidad, son relaciones entre entidades. Por ejemplo, en los datos de los ATLETAS podríamos incluir el resultado obtenido en una prueba, pero no lo haremos por el momento, ya que no se trata de un atributo de la entidad ATLETAS exclusivamente y depende también de la PRUEBA, es decir se trata de un atributo de la relación entre las dos entidades. Una vez decididas las entidades y los datos de cada una de ellas, se habrá de decidir qué asociaciones son posibles o son interesantes entre las entidades definidas. Es decir se definirán las relaciones entre entidades. Entre dos entidades asociadas, puede haber muchos tipos de relación, por eso hay que especificar de cuál de todas las posibles se trata. Puede interesarnos guardar información de la propia relación, es decir, las relaciones también pueden tener atributos. Estas dos entidades están claramente relacionadas. La relación existente entre un atleta y una prueba será la de su participación en la misma y la del resultado obtenido en ella. Una vez decidida la relación existente entre las entidades, hay que determinar su cardinalidad, es decir, cuántos elementos de una entidad se relacionan con cuántos elementos de otra entidad. Por ejemplo, una cardinalidad del siguiente tipo: Representaría que un atleta puede participar en varias pruebas. La cardinalidad de la relación sería de 1 a N. También indicaría que en el sentido contrario no ocurre lo mismo, es decir que en una prueba únicamente puede participar un atleta. Mientras que una cardinalidad del siguiente tipo: Representaría que en una prueba pueden participar varios atletas. La cardinalidad sería también de 1 a N. En este caso, indicaría además que un atleta únicamente puede participar en una prueba. Por último, una cardinalidad del tipo: Representaría los dos tipos vistos anteriormente, es decir, un atleta puede participar en varias pruebas y a su vez, en una prueba pueden participar varios atletas. La cardinalidad adecuada por tanto en este ejemplo sería M:N. Finalmente, con todo ello se obtiene el modelo teórico, en el que se han de especificar claramente las entidades, los atributos de cada entidad, las relaciones y los atributos de cada relación. En este caso sería: Nombre, fecha de nacimiento, continente Resultado (posición) Nombre, día de celebración, hora de celebración 2.1.2. Modelo relacional Una vez finalizado el diseño inicial, hemos de saber qué tipo de base de datos vamos a utilizar. Una gran parte de las Bases de Datos comerciales son relacionales, como Access. Hemos de traducir pues, el modelo anterior a un modelo relacional. En primer lugar se decidirá cuál es la clave principal o primaria de cada relación. La clave primaria es aquel atributo de una entidad que identifica a la entidad. En nuestro ejemplo: • PRUEBAS: Nombre de la prueba • ATLETAS: Nombre del atleta, ó DNI. A continuación se realiza el proceso de traducción. La traducción de una entidad es una tabla. Una tabla consta de: • Filas: que contendrán los datos (a una fila también se la llama registro), • Columnas: contendrán los atributos o campos. En el ejemplo que nos ocupa, las entidades PRUEBAS y ATLETAS, se traducirían en sendas tablas: PRUEBAS NOMBRE DE LA PRUEBA ATLETAS DIA DE CELEBRACIÓN HORA DE CELEBRACIÓN NOMBRE ATLETA FECHA NACIMIENTO CONTINENTE Sin embargo, aunque esto es correcto, es mucho más práctico tomar como clave primaria un código. Es decir, añadimos un campo código a cada una de las tablas, en el que se codifiquen los distintos registros: PRUEBAS CÓDIGO DE LA NOMBRE DE LA DÍA DE PRUEBA PRUEBA CELEBRACIÓN HORA DE CELEBRACIÓN ATLETAS CÓDIGO DE ATLETA NOMBRE ATLETA FECHA NACIMIENTO CONTINENTE También hay que traducir las relaciones. Los distintos tipos de relación se traducen de distinta forma: • Relación 1:N -------------------> En la tabla destino, se incluye la clave primaria de la tabla origen, como clave extranjera. • Relación N:M <-------------------> Se crea una tabla nueva, cuyos campos serán las claves primarias de las tablas que forman esa relación, y los atributos de la relación: RESULTADO CÓDIGO DE ATLETA NOMBRE ATLETA FECHA NACIMIENTO El diseño relacional completo constaría de las tres tablas: PRUEBAS, ATLETAS y RESULTADOS. 2.2. Implementación de una base de datos En Windows podemos abrir la aplicación de ACCESS por menú, localizando en el botón Inicio, la opción Programas, subopción Microsoft Access. La aplicación nos preguntará si deseamos abrir una base de datos en blanco o utilizar una ya existente. En la versión de Office 97 el aspecto sería este: A continuación se nos pedirá el nombre de la Base de Datos. La llamaremos Primer Ejercicio. Una vez hecho esto, la aplicación presenta el siguiente aspecto en Access 97: En Access 2000 es similar. Si bien aparentemente son distintos, todas las opciones que se van a llevar a cabo en este ejercicio se realizan de igual modo en ambas versiones. Las opciones de manejo básico son similares a las de cualquier aplicación de Windows tanto para Abrir, Cerrar, Salir o Guardar y no insistiremos en ellas. Vemos que tenemos una serie de fichas, con las que iremos confeccionando poco a poco la Base de Datos. 2.2.1. Tablas La primera ficha es la de Tablas. Aquí crearemos las tablas que hemos decidido tener previamente diseñadas. Para ello pulsaremos el botón Nuevo, de la ficha Tablas. A continuación, de las opciones presentadas, escogeremos la Vista Diseño. En la pantalla que se nos presenta, iremos rellenando los campos de la tabla de PRUEBAS. Especificaremos los tipos de datos, según sean de texto, numéricos, etc. Para las claves primarias se suele utilizar el tipo Autonumérico, que es un tipo de dato que crea un número y lo va incrementando automáticamente. Una vez completa la tabla, seleccionamos qué campo va a ser clave primaria, y pulsamos el botón que tiene forma de llave: Al cerrar la ventana de la tabla, se nos preguntará el nombre de la misma: En cuanto a la tabla de ATLETAS, es similar. Como el nombre de continente tiene un rango de valores muy limitado, se utilizará un campo de búsqueda. Así se le facilitará al usuario la tarea de introducir datos, ya que en lugar de teclear directamente el continente, se le presentará una lista desplegable y únicamente tendrá que escoger uno entre los distintos valores posibles. Y a continuación escribiré los valores posibles: Y finalizamos grabando este dato: Procederemos así con la tabla de RESULTADOS, que tiene dos campos de búsqueda, uno para el código del atleta y otro para el código de la prueba. El asistente de búsqueda para el código del atleta sería diferente, ya que en este caso, los valores posibles están en la tabla de ATLETAS: En este caso se escogería la tabla de ATLETAS y los campos deseados. Hemos de pensar que estos datos serán de ayuda en el momento de completar la tabla de RESULTADOS y un código de ATLETA no es muy significativo pero si lo son el código y el nombre del mismo. Y de igual modo se procedería con el campo código de prueba. 2.2.2. Relaciones En la Barra de Botones, uno de ellos nos indica las Relaciones existentes: Si hemos establecido campos de búsqueda, hemos construido ya las relaciones de forma implícita, con lo que la pantalla aparecería así: Si faltara alguna relación, habría que construirla. La forma sería pinchar con el ratón en el campo de la tabla origen de la relación, arrastrar hacia el campo de la tabla destino de la relación y soltar. Por ejemplo, aunque en este caso no es necesario, se pincharía en el campo código prueba de la tabla PRUEBAS y se soltaría sobre el campo código prueba de la tabla RESULTADOS. 2.2.3. Datos Ahora es el momento de rellenar las tablas con datos. Comenzaremos con la tabla de ATLETAS. Desde la ficha de Tablas, pulsaremos en el botón Abrir. Desde este punto, rellenaremos los siguientes datos teniendo en cuenta que el campo de tipo autonumérico como el asignado al código de atleta se rellena sólo. Y que el campo de continente presenta una lista desplegable para escoger (ha sido construida previamente con el asistente de búsqueda). Se completará la tabla con los siguientes datos: En cuanto a la tabla de PRUEBAS: Y la de RESULTADOS: Observemos que es en la tabla de RESULTADOS donde está la información que relaciona las dos tablas anteriores. 2.2.4. Consultas Una Base de Datos nos permite realizar consultas de cualquier tipo sobre los datos existentes. Para utilizarla y construir una consulta hay que situarse en la ficha de Consultas y seleccionar Nueva. Escogeremos la Vista Diseño. Y después se escogerán las tablas que necesitemos: Para ilustrar el funcionamiento de las consultas, realizaremos varias consultas de distinto tipo: a) ¿Qué atletas participan en las pruebas de atletismo, por orden alfabético? Para realizar esta consulta, es necesaria la tabla de ATLETAS. En la pantalla que obtenemos, hay una cuadrícula, en la que hemos de ir añadiendo los términos de la consulta. En este caso, nos basta el Nombre del atleta. Podemos teclearlo, o podemos pincharlo directamente con el ratón, y arrastrarlo hasta la celda que indica Campo. Además en la casilla de Orden, escogeremos el Ascendente. El resultado se puede ver en la Vista Hoja de Datos: Finalmente grabamos la consulta. Queremos dejar constancia, de que lo que se graba realmente es la orden de la consulta, no los resultados de la misma. De este modo, si las tablas cambian, es decir, se incluyen o se eliminan atletas, la consulta estará siempre actualizada ya que cada vez que se entre en ella, se construyen los resultados. b) ¿Qué atletas participan, ordenados por edad? En este caso, necesitamos además el campo de fecha de nacimiento: El resultado: c) ¿Cuántos atletas han participado? Esta consulta es un poco diferente. Se trata de contar atletas. Para ello podemos escoger cualquiera de los campos de la tabla siempre y cuando no se repita. Además utilizaremos el botón de Totales, que permitirá realizar operaciones con los números. Al pulsar este botón con forma del símbolo sumatorio en matemáticas, se añade una nueva fila al casillero de consultas llamada Total y en su contenido las palabras Agrupar por. Si desplegamos la lista que le acompaña, veremos que disponemos de operaciones como suma, mínimo, etc. Escogeremos Cuenta: El resultado es: d) Clasificación por pruebas En esta consulta, queremos saber por cada una de las pruebas disputadas, qué atletas han participado en ellas y qué puesto han obtenido. Resultado: 2.2.5. Formularios Hemos visto hasta ahora que la forma de introducir datos en las tablas no tiene el aspecto de una aplicación profesional ya que estamos trabajando directamente con las tablas. Para conseguirlo, confeccionaremos formularios, que sirven para introducir datos, pero de una forma agradable para el usuario. Para realizar un formulario, nos situaremos en la ficha de Formularios y pulsaremos Nuevo. Escogeremos el Asistente para Formularios. Realizaremos un formulario sobre la tabla de ATLETAS, escogiendo esa tabla en la lista desplegable: Elegiremos también los campos que deseamos aparezcan en el formulario. A continuación la distribución del mismo: El aspecto que queremos que presente: El resultado será: 2.2.6. Informes Un informe es una información para imprimir y distribuir. Para confeccionar uno, escogeremos la ficha de Informes, opción Nuevo. Utilizaremos el Asistente para Informes ya que nos va a facilitar la tarea. En este caso vamos a realizar un informe sobre la consulta de Clasificación por pruebas, previamente creada: El asistente nos irá guiando. Decidiremos qué campos incluir en el informe: Y cómo queremos ver los datos: El tipo de ordenación: La distribución: Y el estilo: Daremos un título al informe: Y veremos el resultado, listo para imprimir: Al igual que las consultas, si los datos de las tablas varían, el informe estará siempre actualizado ya que su existencia no es real porque se crea en el momento de acceder a él. Conclusiones Con la herramienta Base de Datos, disponemos de una ayuda preciosa la hora de organizar datos deportivos y de extraer información a partir de ellos. No se debe olvidar que el diseño previo de la Base de Datos es un paso fundamental que hay que cuidar antes de pasar a la implementación en una herramienta software comercial. Se puede deducir fácilmente que si el diseño previo está más confeccionado, no obtendremos la información deseada, o esta no será correcta. Vale la pena pensar bien el diseño e invertir más tiempo del que suele hacerse antes de ponerse manos a la obra. Mercedes Macías García mmaciasg@unex.es Miguel Ángel Pérez Toledano toledano@unex.es