Bases de Datos

El objetivo de esta base de datos es mantener información relativa al funcionamiento del portal como tal y a guardar distintas informaciones relacionadas con los usuarios. No guarda, en principio, datos temporales necesarios para el funcionamiento de los juegos. El esquema general de la base de datos es la siguiente:

diagrama.jpg

Tablas

noticias: Tabla donde que almacena las noticias que aparecen en el portal.
<Todos los campos se rellenan manualmente en la base de datos>.

  • id <int 11>: Clave para identificar las noticias
  • autor <varchar 255>: Nombre del escritor de la noticia.
  • titulo <varchar 255>: Título de la noticia.
  • texto <text>: Texto de la noticia.
  • fecha <datetime>: Fecha de escritura de la noticia.
  • resumen <varchar 255>: Breve descripción de la noticia.
  • rutaFoto <varchar 255>: ruta donde el portal buscará la imagen asociada a la noticia.

usuario: Tabla donde se guardan todos los datos relativos al alta de un usuario.
<Todos los campos se rellenan automáticamente en el alta de usuario, y se pueden modificar (excepto categoría) en la sección editar tu perfil. Posteriormente, el campo categoría se puede modificar manualmente en la BBDD>.

  • nombre <varchar 255>: Es el username con el que tiene que hacer login.
  • contrasena <varchar 255>: Es el password.
  • correo <varchar 255>: La dirección de correo electrónico. Necesaria para finalizar el registro.
  • online <tinyint 1>: Este campo refleja si el usuario está conectado o no.
  • rutafoto <varchar 255>: [Opcional] La ruta de la foto para mostrar a los demás.
  • msn <varchar 255>: [Opcional] La dirección de correo de Messenger.
  • yahooMsn <varchar 255>: [Opcional] Ídem con el Messenger de yahoo.
  • skype <varchar 255>: [Opcional]
  • mensaje <varchar 1000>: [Opcional] Descripción de sí mismo hecha por el usuario.
  • categoría <tinyint 1>: Categoría en la que englobamos al usuario (normal, moderador, administrador…)

juego: Tabla para almacenar los juegos del portal.
<Todos los campos se rellenan en el alta del Juego, manualmente en la BBDD>.

  • nombre <varchar 255>: Nombre del juego.
  • tipo <varchar 255>: Categoría en la que se engloba el juego.
  • descripción <varchar 255>: Breve descripción del juego.
  • rutaApplet <varchar 255>: Para saber dónde tiene que buscar el applet al cargar un juego.
  • rutaFoto <varchar 255>: Para saber dónde tiene que buscar la foto asociada al juego.
  • nombreClase <longtext>: Nombre de la clase que se carga.
  • disponible <tinyint 1>: Para saber si el juego está en condiciones de ser ejecutado, o está en otro estado como mantenimiento o revisión.
  • fechaAlta <date>: La fecha de cuando el juego se dio de alta en el portal.
  • vecesEjecutado <int 20>: Contador para saber el número de veces que se ha ejecutado cierto juego en concreto.

partida: Tabla que guarda los datos referentes a partidas.
<Todos los campos se rellenan automáticamente al crear una partida>.

  • id <int 11>: Clave para diferenciar las partidas.
  • observable <tinyint 1>: Especifica si se pueden unir jugadores como observadores.
  • nivelMax <int 11>: Nivel máximo del jugador para poder unirse.
  • nivelMin <int 11>: Ídem con el nivel mínimo.
  • nUsuarios <int 11>: Nº de usuarios que ya se han unido.
  • usuariosMax <int 11>: Nº máximo de usuarios que se pueden unir.
  • usuariosMin <int 11>: Nº mínimo de usuarios que se pueden unir.
  • entrarAmistad <tinyint 1>:
  • enCurso <tinyint 1>: Si la partida ya ha comenzado o está a la espera de más jugadores.
  • privada <tinyint 1>: Si es visible para todos los jugadores o sólo para los invitados.
  • contrasenha <varchar 255>: Contraseña necesaria para entrar en la partida (en caso de ser privada).

mensaje: Tabla para guardar los mensajes entre usuarios.
<Actualmente, sin uso>

  • id <int 11>: Clave para identificar el mensaje.
  • texto <Text>: Texto del mensaje.
  • fecha <datetime>: Fecha de creación del mensaje.
  • usuarioOrigen <varchar 255> Escritor del mensaje.
  • usuarioDestino <varchar 255> Receptor del mensaje.

faq: Tabla que guarda el faq que después se visualza en la sección creada a tal efecto en el portal.
<Tabla fija y de sólo lectura, con los valores “ya impresos” de fábrica>

  • pregunta <longtext>: Pregunta que aparecerá en el FAQ.
  • respuesta <longtext>: Respuesta asociada a la pregunta anterior.

[Test]: Tabla especial donde se guardan los resultados del test de opinión que ejecutan nuestros beta-testers.
<Todos los campos se rellenan automáticamente al pulsar sobre el botón Enviar de la subsección Opinión portal de la sección Ayuda del portal>.

Relaciones

amigo: Relaciona dos Usuarios que son amigos.
<Todos los campos se rellenan automáticamente al pulsar sobre el botón Añadir Amigo>

creaPartida: Relaciona un Usuario con la Partida que ha creado.
<Todos los campos se rellenan automáticamente al crear una patida>

estadística: Relaciona un Usuario con un Juego, añadiendo datos de sus estadística en dicho juego (puntos en ese juego, partidas ganadas y partidas perdidas).
<Todos los campos se rellenan automáticamente al finalizar una partida>

juega: Relaciona un Usuario con una Partida concreta que se está jugando o se ha jugado. Le asigna una probabilidad de ganar que después influirá en la puntación ganada o perdida en el juego.
<Todos los campos se rellenan automáticamente al pulsar el botón crear partida, si eres el creador de la partida, o al pulsar el botón unirse a partida si te unes a una partida creada por otro usuario>

(Version de la documentación en .doc: BBDD.doc )