jairogarcíarincón

La base de datos


8.48K

Introducción

Nuestro Blog estará basado en una base de datos MySQL a la que accederemos mediante PDO (puedes encontrar más información en mi clase Bases de Datos en PHP.

La base de datos

Nuestra base de datos debe tener codificación UTF-8 e intercalación utf8_general_ci.

Se recomienda además crear un usuario de base de datos restringido a las operaciones básicas CREATE, UPDATE, SELECT y DELETE, ya que no va a necesitar ninguna mas.

Todo esto lo podríamos hacer mediante algún editor gráfico de MySQL, o directamente accediendo con nuestro usuario root mediante un terminal con el comando:



Cuando nos hayamos conectado, podemos introducir las líneas siguientes para crear la base de datos:



Y lo siguiente para crear un usuario con contraseña restringido a la base de datos cms y a las operaciones básicas mencionadas:



Nota: Para evitar errores de validación de password, ésta debe tener al menos 8 caracteres e incluir un número, una mayúscula y un carácter especial.

Una vez creada la base de datos, necesitamos dos tablas: usuarios y noticias. El motor utilizado (MyISAM o InnoDB) es indiferente para este caso.

La tabla usuarios

Almacenará los datos de los usuarios del CMS, así como los permisos concedidos a cada uno de ellos:


  • id: es la clave primaria numérica e identifica de manera único a ese usuario

  • usuario: es el nombre del usuario y también es único

  • clave: es la clave de acceso, almacenada mediante un hash de cadena password_hash() de un solo sentido. Inicialmente será vacío, pero no permitiremos crear uno nuevo a menos que se rellene dicho campo.

  • fecha_acceso: almacena la fecha del último acceso del usuario

  • activo: indica si el usuario está activo (1) o inactivo (0)

  • usuarios: indica si el usuario tiene acceso (1) o no (0) a la gestión de usuarios

  • noticias: indica si el usuario tiene acceso (1) o no (0) a la gestión de noticias



A continuación se detalla la Sintaxis SQL para la creación de la tabla:




La tabla noticias

Almacenará los datos de cada noticia del CMS:


  • id: es la clave primaria numérica e identifica de manera única a esa noticia

  • titulo: cadena de texto para el título de la noticia

  • slug: cadena de texto para el slug o enlace personalizado de la noticia

  • entradilla: cadena de texto para la entradilla de la noticia.

  • texto: texto de la noticia

  • activo: indica si la noticia está activa (1) o inactiva (0)

  • home: indica si la noticia se muestra en la home (1) o no (0)

  • fecha: indica la fecha de publicación de la noticia

  • autor: indica el nombre del autor de la noticia

  • imagen: indica el id de la imagen de la noticia



A continuación se detalla la Sintaxis SQL para la creación de la tabla:



En la siguiente clase, inicializaremos los diferentes archivos de los diferentes directorios para posteriormente añadir la lógica necesaria de la aplicación.


Publicado el 28 de Enero de 2025

bloggestor de contenidosphpmysqlcss3javascriptjqueryajax