Este readme contiene la memoria sobre el trabajo asignado. Nos tocó ser el grupo 4 y hacer una base de datos que contenga la información sobre el último Torneo de Roland Garrós y sus participantes.
Se ha divido el trabajo de la siguiente forma:
- INSTALACIÓN DE MySQL
En este punto se desarrolla la instalación del servidor de MySQL y la configuración de este y los usuaruios de esta.
- DISEÑO DE LA BASE DE DATOS
Aquí realizamos el diseño de las tablas de nuestra base de datos y como relacionamos los datos de esta.
- CNEXIÓN DATAGRIP CON LA BASE DE DATOS DE MySQL
El último punto es sobre la como realizamos la conexión a la base de datos y como asignamos a los usuarios los permisos.
- CONCLUSIONES
Desarrollamos sobre como hemos realizado el trabajo.
- Instalar MySQL
Primero debatios que herramienta de las disponibles era mejor para el trabajo que tenemos que realizar nosotros.
En nuestro caso se ha decidido emplear MySQL HeatWave ya que es gratuito. MySQL Community Installer: https://dev.mysql.com/downloads/installer/
- Descarga desde la página
Entramos en MySQL y nos desplazamos por la parte de la navegación en busca de las descargas.
Una vez nos ha rediriguido a las descargas encontraremos varios links por lo que cogemos el de Community.
Ahora que hemos escogido la versión podremos buscar la que se adapte a lo que buscamos en nuestro caso el instalador para Windows.
Seleccionamos nuestro sistema operativo, en este caso el primero
En esta pestaña nos pide o realizar un login o registrarnos de vuelta, en nuestro caso lo que hacemos es saltarnos esas opciones dandole a no gracias.
Nos empezará a descargar.
Le damos instalar y se nos abrirá el instalador.
En esta ventana lo que nos está advirtiendo que nos avise cada vez que se haya actualizado el programa se decidió optar por que no lo hiciera.
Seleccionamos Full para que nos instale todo ya que de esta forma intalamos tanto el servidor coomo la parte que hará de router y gestionará las conexiones al servidor y mmás herramientas que igual no usaremos pero no está mal contar con ellas y no tener que reinstalar.
En esta parte de la instalación lo que podemos ver es la posibilidad de conectar MySQL con un editor de textos.
En esta parte nos lanza un aviso el cual nos avisa de que hay algunas cosas que o no se han instalado o no se ha actualizado, y nos pregunta si queremos continuar.
Esta es la pantalla de descarga, una vez le demos a execute, ejecutará la descarga y compobación de su correcta descarga.
Aquí vemos la compobación de que no ha fallado, le daremos a nexta para ir a la instalación.
En esta pestaña nos mostrará lo que vamos a instalar.
Tenemos una comprobación sobre el estado de la instalación.
En la siguiente captura podremos ver que se tuvo que escoger el método por el cual se accederá al servidor.
Aquí eMySQL nos instala server como si fuera un servicio para de windows 10 con lo que podríamos tenerlo corriendo siempre en segundo plano.
También tenemos la posibilidad de cambiarle el nombre.
Y de que al iniciar el equipo inicie el servidor, en nuestro caso se desmarcó ya que no lo estaremos usando constantemente y cuando vayamos a trabajar con la base o algo relacionado al proyecto lo iniciamos de forma manual.
En esta pestaña nos indica como queremos hacer el manejo de los datos de MySQL y los usuarios que tienen acceso de lectura u escritura y bloquear el resto.
Esta ventana nos muestra que proceso va a hacer y aplicar al servidor anteriormente instalado.
Después se mira que está correcto y con esto tenemos los usuarios cubiertos y parte de la configuración de este nuestro servidor.
En esta ventana también podremos ver un archivo llamado log el cual nos indica con más detalle el proceso que ha seguido.
Aquí nos muestran los productos que seleccionamos cuando empezamos la instalación a full, nos muestra el estado de estos.
Tenemos que desmarcar la casilla del boostrap.
Nuestro puerto será: 3306
Luego dependiendo de la conexión podremos hacer que directamente con el puerto solo pueda leer y no modificar datos.
En esta parte vemos que ya tenemos configurados tanto el server como el
Ahora tenemos que realizar una conexión para ello seleccionamos nuestro servidor y nos conectamos con el usuario root.
Despúes se hace un chequeo de todo para asegurar que no hay fallos.
Otra vez vemos que todo está correcto y con esto terminamos la instalación.
Aquí podemos hacer que se inicie el servidor cada vez que iniciemos el equipo nosotro lo hemos desactivado puesto que lo haremos de forma local.
- Contraseña de root
Al root le hemos puesto durante la instalación la contraseña de 12345a para tener eso cubierto ya que por defecto el usuario root su contraseña por defecto está vacía por lo que le asignamos una para evittar que un usuario externo a la base de datos pueda modificarla o entrar.
-
Como se ha creado la base de datos
-
Usuarios y persmisos (nombre, contraseña y cómo se ha creado)
Hemos decidido crear cinco tablas para contener la información del torneo.
- JUGADORES
Representa los participantes del torneo. Tienen nombre, apellido, género, país, y fecha de nacimiento. El género y el país se representan mediante "foreign keys", que apuntan a sus respectivas tablas.
- PARTIDOS
Representa los partidos que componen el torneo. Cada partido está caracterizado por dos jugadores participantes (dos foreign keys apuntando a la tabla de jugadores), así como la sección a la que pertenecen, y dentro de la sección, la ronda a la que pertenecen. También se almacena la fecha en la que se juega el partido.
Se han añadido CHECKs en el número de ronda (que va de 0 a 4 en secciones normales, y de 0 a 3 en la sección final) y en el número de sección (que va de 1 a 8 más la sección de las finales, para la que hemos decidido usar el número 0).
También cabe destacar la restricción de unicidad que agrupa los dos jugadores, el número de sección y el de ronda, que sirve para asegurar que no se pueda insertar información errónea al repetir partidos en la misma ronda.
- PUNTUACIONES
Representa los sets de cada partido. Un partido de tenis está compuesto por varios sets, hasta un máximo de 5 sets por partido. Por ello se tiene el número de set, que junto con el partido (foreign key) forma la clave primaria; y también las puntuaciones de cada jugador.
Hay CHECKs para el número de set, ya que solamente existen sets del 1 al 5, y para las puntuaciones, para que no tomen valores negativos.
- PAISES
Representa los países a los que pertenecen los jugadores. Es una tabla muy simple, consistente solo de un número de identificación y de un nombre de país.
- GÉNEROS
Representa los géneros de los jugadores, puesto que hay dos modalidades dependiendo del género. Igual que los países, esta tabla consiste solamente de un ID y un nombre.
- Pantallazo de datagrip
Una vez hemos terminado con la instalación y configuración del servidor de MySQL y realizado el diseño de las base de datos, haremos la conexión entre MySQL y DataGrip.
Entramos en DataGrip y añadimos una nueva conexión con MySQL, en este caso haremos dos conexiones puesto que tenemos dos usuarios.
Una como root con la que luego aislaremos el otro usuario para que solo acceda a la base de datos de tenis. Y el segundo usuario que es administrador.
En la primera conexión se hará con el root de tener bien puestos:
Nos tendremos que asegurar.
- El user, tendrá que ser root.
- El puerto, que en nuestro caso es el 3306.
- La contraseña del root será la que le pusimos durante la instalación.
En la segunda tendremos que hacer la conexión con el usuario que va a minupular la base de datos.
Y contendrá los siguientes datos.
- El user, tendrá que ser el usuario en este caso Simon.
- El puerto, que en nuestro caso es el 3306.
- La contraseña del usuario será la que le pusimos durante la instalación.
- Explicación
Al empezar con el diseño de la base de datos, incluimos varias tablas que luego han sido eliminadas: había una tabla de rondas, así como una de secciones; también una de torneos para dividir las diferentes modalidades (masculina y femenina). Las hemos quitado porque hemos considerado que realmente no aportaban nada al no tener atributos propios, y podían representarse como atributos en otras tablas (rondas y secciones en partidos, y torneos/modalidades mirando el género de los participantes).
Respecto al trabajo previo de investigación acerca del tenis, nos hemos dado cuenta muy rápidamente de que lo más difícil de las bases de datos es trasladar una situación real a un esquema de base de datos; esta parte es la que más tiempo nos ha llevado con diferencia.