CAPÍTULO 1 - MOTIVOS
Existen varios motivos, pero los más importantes son 2:- Reducción de sentecias sql, lo cual repercute a medio-largo plazo en la velocidad del server.
- Limpieza y orden.
CAPÍTULO 2 - ESTRUCTURA
Lo primero que tenemos que hacer antes de crearla, es tener bien claro las variables y tener en mente que en un futuro puede ser que deseemos añadir más. Para ello podemos valernos de cualquier procesador de textos o papel y lapiz (como a la antigua usanza).Una vez que sabemos todos los datos que queremos guardar, deberíamos dividirlos en 2 bloques, datos básicos (requeridos para poder jugar) y datos opcionales o indispensables.
Consejo: A la hora de crear tablas es recomendable que sean de tipo innodb. Esta opción nos dejará trabajar con posibles relaciones. También cabe estudiar el tema de los Procesos Almacenados.
ESTRUCTURA BÁSICA
A continuación muestro como debería de quedar las tablas y/o campos.Tabla: cuentas
| Campo | Tipo | Atributos | Extra | Otros |
| id_cuenta | int | unsigned | auto_increment | primary key |
| cuenta | varchar(100) | |||
| password | varchar(100) | |||
| cdkey | longtext | |||
| baneado | int |
Tabla: personajes
| Campo | Tipo | Atributos | Extra | Otros |
| id_pj | int | unsigned | auto_increment | primary key |
| id_cuenta | int | unsigned | relación | |
| nombre | varchar(100) | |||
| online | int |
Tabla: server
| Campo | Tipo | Atributos | Extra | Otros |
| id_server | int | unsigned | auto_increment | primary key |
| ano | int | |||
| mes | int | |||
| dia | int |
ESTRUCTURA AVANZADA
Tabla: caracteristicas| Campo | Tipo | Atributos | Extra | Otros |
| id_car | int | unsigned | auto_increment | primary key |
| id_pj | int | unsigned | relación | |
| fue | int | |||
| des | int | |||
| con | int | |||
| inte | int | |||
| sab | int | |||
| car | int | |||
| pgact | int | |||
| pgtotal | int | |||
| fechainicial | int | |||
| xp | int | |||
| oro | int | |||
| id_deidad | int | relación | ||
| raza | varchar(100) | |||
| fortaleza | int | |||
| reflejos | int | |||
| voluntad | int | |||
| ataquebase | int |
Tabla: areas
| Campo | Tipo | Atributos | Extra | Otros |
| id_area | int | unsigned | auto_increment | primary key |
| ref | varchar(100) | |||
| descripcion | longtext |
Tabla: quest
| Campo | Tipo | Atributos | Extra | Otros |
| id_quest | int | unsigned | auto_increment | primary key |
| ref | varchar(100) | |||
| descripcion | longtext | |||
| activa | int |
Tabla: diario
| Campo | Tipo | Atributos | Extra | Otros |
| id_diario | int | unsigned | auto_increment | primary key |
| id_pj | int | unsigned | relación | |
| id_quest | int | unsigned | relación |
Tabla: areasv
| Campo | Tipo | Atributos | Extra | Otros |
| id_areasv | int | unsigned | auto_increment | primary key |
| id_pj | int | unsigned | relación | |
| id_area | int | unsigned | relación |
Tabla: estadisticas
| Campo | Tipo | Atributos | Extra | Otros |
| id_estad | int | unsigned | auto_increment | primary key |
| id_pj | int | unsigned | relación | |
| xpmonstruos | int | |||
| xpviajes | int | |||
| xpfabricar | int | |||
| xpquest | int |
Tabla: dioses
| Campo | Tipo | Atributos | Extra | Otros |
| id_deidad | int | unsigned | auto_increment | primary key |
| ref | varchar(100) | |||
| descripcion | longtext |
CAPÍTULO 3 - OTRAS ALTERNATIVAS
Si sois de los que no os gustan tener muy estructurada la base de datos pero no queréis renuncionar a tenerla optimizada, siempre podéis juntar con la tabla de personajes aquellas tablas que solo van a tener un registro por pj.Por ejemplo: Los campos de las tablas estadisticas y características podrían agregarse a la de personajes.
Y con éste último capítulo doy por concluido este tutorial. Espero que veáis en él un ejemplo a seguir.
No hay comentarios:
Publicar un comentario