La estructura de una base de datos hace referencia a los tipos de datos, los vínculos o relaciones y las restricciones que deben cumplir esos datos (integridad de datos y redundancia de datos). La estructura de una base de datos es diseñada o descripta empleando algún tipo de modelo de datos.

La estructura de la base de datos es bastante sencilla. Las convenciones utilizadas aparecen implícitamente en este documento. Por ejemplo, la mayoría de los objetos se indexan con un entero auto incrementado cuyo nombre es de tipo id_objet, y que se declara como clave primaria en la tabla apropiada.

EJEMPLO:

Las secciones: spip_rubriques

Cada sección se identifica por su id_rubrique.

- id_parent es la id_rubrique de la sección que contiene esta sección (cero si la sección se encuentra en la raíz del sitio).
- titre, descriptif, texte se explican ellos mismos.
- id_secteur es la id_rubrique de la sección inicial de la jerarquía que contiene la sección actual. Una sección depende de una sección que depende de una sección… hasta una sección colocada en la raíz del sitio; es esta última sección la que determina el id_secteur. Este valor calculado previamente permite acelerar ciertos cálculos del espacio público (de hecho las breves son clasificadas únicamente por sector y no según toda la jerarquía).
- maj es un campo técnico calculado automáticamente por MySQL. Contiene la fecha de la última modificación introducida en la tabla.

- export, id_import son dos campos reservados para funcionalidades futuras.


Los autores/as: spip_auteurs


Cada autora o autor es identificado por su id_auteur.
- nom, bio, nom_site, url_site, pgp son, respectivamente, el nombre de la autora o autor, una corta biografía, su dirección de email, el nombre de la URL de su sitio Web, y su clave PGP. Son informaciones que él o ella pueden modificar libremente.
- email, login son su email de inscripción y su login. Sólo puede modificarlos un administrador.

- pass es el hash MD5 de la contraseña.

- htpass es el valor encriptado (es decir, generado mediante crypt()) de la contraseña para el .htpasswd.

- statut es el estado del autor/a: 0minirezo (administrador/a), 1comite (redactor/a), 5poubelle (en la papelera), 6forum (registrado en los foros, cuando están definidos en el modo «por registro»).
- maj tiene el mismo significado que en las otras tablas.


Los artículos: spip_articles


Cada artículo está identificado por su id_article.
- id_rubrique indica en que sección está incluido el artículo.
- id_secteur indica el sector correspondiente a la sección antes mencionada (ver el párrafo precedente para advertir la diferencia entre los dos).

- titre, surtitre, soustitre, descriptif, chapo, texte, ps se explican ellos mismos.

- date es la fecha de publicación del artículo (si todavía no está publicado, es la fecha de creación).

- date_redac es la fecha de publicación anterior si introduces un valor; si no, es « 0000-00-00 ».

- statut es la situación actual del artículo: prepa (en curso de redacción), prop (propuesto a su publicación), publie (publicado), refuse (rechazado), poubelle (en la papelera).
- accepter_forum: permite seleccionar manualmente si el artículo acepta foros o no (por omisión, sí).

- maj: el mismo significado que en la tabla de las secciones.
- export es un campo reservado para funcionalidades futuras.
- images es un campo que contiene la lista de las imágenes utilizadas por el artículo, en un formato propio. Este campo se genera por
spip_image.php3...

- visites y referers son usados para las estadísticas sobre los artículos. El primero es el número de visitas del artículo en el espacio público; el segundo contiene un extracto de hash de las visitas externas para recordar esos diferentes enlaces externos.


Las breves: spip_breves


Cada breve está identificada por su id_breve.

- id_rubrique es la sección (de hecho el sector) en la cual está clasificada la breve.

- titre, texte, lien_titre, lien_url son el título, el texto, y el nombre y la dirección de referencia asociados a la breve.

- date_heure es la fecha de la breve.

- statut es el estado de la breve: prop (propuesta a su publicación), publie (publicada) o refuse (rechazada).

- maj: igual que en las otras tablas.



Las palabras clave: spip_mots


Cada palabra clave es identificada por su id_mot.
- El type de la palabra clave es el tipo, o grupo, elegido para esa palabra clave. Definiendo varios tipos se obtienen diversas clasificaciones independientes (por ejemplo «tema», «época», «país»...).
- titre, descriptif, texte se explican ellos mismos.

- maj: igual que en las otras tablas.



Los sitios sindicados: spip_syndic


Cada sitio sindicado es identificado por su id_syndic.

- id_rubrique e id_secteur contienen la posición en la jerarquía del sitio donde se encuentran los contenidos sindicados.

- nom_site, url_site, descriptif son el nombre, la dirección y la descripción del sitio sindicado.

- url_syndic es la dirección del archivo dinámico utilizado para recoger los contenidos sindicados (normalmente se trata de la url_site seguida de backend.php3).



Los artículos sindicados: spip_syndic_articles


Cada artículo sindicado es identificado por su id_syndic_article.
- id_syndic se refiere al sitio sindicado de donde es extraído el artículo.
- titre, url, date, lesauteurs se explican ellos mismos.