Evilnapsis

Programming, Hacking and More

Databases

Tabla de Configuración Dinámica Clave-Valor en SQL

La configuración dinámica es la que puede cambiar a lo largo de la ejecución, puede ser personalizada y alterar las funciones o apariencia de un sistema.

La tabla de configuración dinámica para una mejor facilidad usaremos un formato clave valor, usar ids puede ser confuso y solo debe haber una clave única para cada configuración.

Los IDs seguirán siendo las llaves primarias, pero accederemos al valor de la configuración usando las claves.

Las claves deben tener el siguiente formato.

  • Ser solo minúsculas
  • No llevar espacios, en caso de tener espacio usar guion bajo “_”

Ejemplo de clave:

  • title
  • currency
  • footer_text

Tabla de la base de datos

Ahora vamos con tabla de la base de datos:

create table configuration(
	id int not null auto_increment primary key,
	preffix varchar(255) not null unique,
	label varchar(255) not null,
	kind int not null,
	val varchar(255) not null
);

La tabla configuration tiene lo que necesitamos:

  • id: es la llave primary
  • preffix: es la clave o nombre de la configuración con el formato de clave.
  • label: Es una etiqueta que da mas descripción sobre la entrada de configuración
  • kind: Es el tipo de dato, básicamente usaremos números y texto, pero después podrían ser fechas, archivos, etc.
  • val: Es el valor de la configuración

Un ejemplo de configuración ya instalada seria:

idpreffixlabelkindval
1titleTitulo del sistema1Tienda en Linea
2currencyMoneda1$

Consultas SQL importantes

Algunas consultas SQL importantes serian:

Seleccionar todas las configuraciones

select * from configuration;

Seleccionar solo una configuracion por preffix:

select * from configuration where preffix =’title’;

Actualizar una configuracion por preffix:

update configuration set val=’Otra tienda en Linea’ where preffix=’title’;

Validaciones

Al usar un sistema de configuraciones podemos hacer validaciones por ejemplo.

Contar el numero de configuraciones y si las configuraciones no corresponden al numero correspondiente entonces lanzar alguna advertencia.

Otro caso seria si al seleccionar una configuración no se cuenta con la entrada en la BD entonces usar un valor por default que puede ser un dato estático en algún archivo y por otro lado notificar al administrador.

Agustin Ramos

Desarrollador de Software

Leave a Reply