Administracion de datos (I) Esquema de la base de datos
Hoy estaba pensando en hacer o no hacer estas entradas sobre WordPress, no consideraba que tuvieran mucho interés, pero cuando he entrado en facebook he encontrado que un buen amigo y a quien considero un ejemplo a seguir y un maestro en muchos campos, me hacía una consulta sobre este tema, que he intentado responderle lo mejor posible, pero aun así me ha hecho decantarme por escribir esta sección que es menos de código y más de abstracción hacia la base de datos.
De modo que lo primero que vamos a hacer es mirar de que tablas se compone la base de datos de nuestro WP:
Como podemos observar se trata de una BBDD de 11 tablas en su inicio, ya que algunos temas o plugins pueden incluir algunas tablas adicionales. Esta simplicidad (aunque a los profanos del tema no se lo parezca) hace que la bbdd sea muy ligera y flexible, de hecho es uno de los puntos fuertes de WP. (Mejor no os cuento como funciona Magento…)
En ocasiones las tablas se modifican con una nueva versión aunque siempre se intenta que la BBDD siga siendo operativa con las nuevas versiones para que haya cuantos menos conflictos de compatibilidad mejor.
Lo más importante de saber en este ámbito, es que cada tabla contiene un campo de ID exclusivo para cada una de sus tuplas (filas), aunque en ocasiones pueden tener más de un indice para acelerar al máximo la búsqueda de información.
Si observamos las tablas podemos ver como se llaman y para que sirven:
- wp_commentmeta: Contiene todos los metadatos de comentarios
- wp_comments: Contiene todos los comentarios de wordpress. Cada comentarios se vincula a las entradas mediante la ID de la entrada.
- wp_links: Contiene todos los enlaces añadidos a través de la sección de administración de enlaces
- wp_options: almacena todas las opciones del sitio web definidas en el subpanel Ajustes, junto con opciones de plugins, del tema activo…
- wp_postmeta: Contiene los metadatos de la entrada (campos personalizados)
- wp_posts: Suele ser la tabla de mayor tamaño, su función es guardar todas las entradas, sean del tipo que sean (entradas propiamente dichas, paginas, registros de medios…)
- wp_terms: contiene todos los términos de taxonomía definidos en el sitio.
- wp_term_relationships: Combina términos de taxonomías con entradas creando una tabla de pertenecia
- wp_term_taxonomy: define la taxonomía a la que se asigna cada termino. Es lo que nos permite tener categorias y etiquetas con el mismo nombre
- wp_users: Contiene los datos de los usuarios creados para el sitio (inicio sesión, contraseña y correo electronico)
- wp_user_meta: Contiene los metadatos de usuarios
Cada tabla tiene una función especifica de wordpress que iremos viendo poco a poco.