Configuración de la Base de Datos para tu Aplicación de Control de Tiempo

Posted on 09/13/23 12:31:00
Random Image from Picsum

En el desarrollo de tu aplicación de control de tiempo, una parte fundamental es la configuración de la base de datos que almacenará todos los datos relevantes. En este artículo, te guiaremos a través del proceso de creación de la estructura de la base de datos y la configuración de los usuarios y permisos necesarios.

Usuarios de la Base de Datos

Primero, necesitamos crear los usuarios de la base de datos que se encargarán de administrar y utilizar la aplicación. Utilizaremos cuatro usuarios diferentes con roles específicos: el usuario DBA, el usuario de administración, el usuario web y el usuario anónimo.

Usuario DBA (Administrador de la Base de Datos)

Este usuario será el propietario de la base de datos y se utilizará para crear los esquemas y las tablas necesarias.

CREATE ROLE dba_user WITH LOGIN PASSWORD 'tu_contraseña';
ALTER ROLE dba_user CREATEDB;

Usuario de Administración

El usuario de administración será responsable de crear nuevos elementos en el esquema de la aplicación.

CREATE ROLE admin_user WITH LOGIN PASSWORD 'tu_contraseña';

Usuario Web (Para el API)

Este usuario se utilizará para el acceso al API de la aplicación.

CREATE ROLE web_user WITH LOGIN PASSWORD 'tu_contraseña';

Usuario Anónimo (Para Autenticación)

El usuario anónimo se utiliza para autenticar y proporcionar tokens JWT.

CREATE ROLE anon_user WITH LOGIN PASSWORD 'tu_contraseña';

Creación de Esquema y Tablas

Ahora que hemos configurado los usuarios, crearemos el esquema y las tablas necesarios para nuestra aplicación de control de tiempo. Comenzaremos con una tabla básica de usuarios como ejemplo.

Creación de Esquema

CREATE SCHEMA control_tiempo;

Creación de Tabla de Usuarios

La tabla de usuarios almacenará la información de los usuarios de la aplicación.

CREATE TABLE control_tiempo.usuarios (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(50),
    apellidos VARCHAR(50),
    email VARCHAR(100),
    clave VARCHAR(100),
    fecha_creacion TIMESTAMP,
    activo BOOLEAN
);

Asignación de Permisos

Finalmente, es importante asignar los permisos adecuados a los usuarios para garantizar que puedan acceder y manipular los datos según sus roles.

Asignación de Permisos a los Usuarios

GRANT ALL PRIVILEGES ON SCHEMA control_tiempo TO dba_user;
GRANT USAGE, CREATE ON SCHEMA control_tiempo TO admin_user;
GRANT USAGE, CREATE ON SCHEMA control_tiempo TO web_user;

Asignación de Permisos a las Tablas

GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE control_tiempo.usuarios TO admin_user;
GRANT SELECT ON TABLE control_tiempo.usuarios TO web_user;

Conclusión

Con estos comandos SQL, has configurado la base de datos para tu aplicación de control de tiempo. Los usuarios y las tablas son fundamentales para el funcionamiento de la aplicación y su seguridad. A medida que avances en el desarrollo, podrás agregar más tablas y relaciones según las necesidades específicas de tu proyecto.

En los próximos artículos, exploraremos cómo interactuar con esta base de datos y cómo implementar la lógica de tu aplicación.

Búsqueda
Side Widget
You can put anything you want inside of these side widgets. They are easy to use, and feature the Bootstrap 5 card component!