Modelado físico relacional de bases de datos
Introducción a DCL
El Lenguaje de Control de Datos (DCL) se utiliza para controlar el acceso a los datos y gestionar permisos en una base de datos. Los principales comandos de DCL son GRANT y REVOKE.
Comando CREATE USER
Puedes crear nuevos usuarios usando la siguientes sintaxis.
Sintaxis:
1CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura'; 2--MySQL requiere especificar el host y usa IDENTIFIED BY.
Ejemplo:
1CREATE USER 'pepe'@'localhost' IDENTIFIED BY 'mi_contraseña_segura';
Este comando crea el usuario pepe con la contraseña mi_contraseña_segura. Si quieres que el usuario pueda iniciar sesión, asegúrate de incluir la propiedad LOGIN (que está habilitada por defecto).
Comando DROP USER
El comando DROP USER se utiliza para eliminar un usuario de la base de datos.
PostgreSQL:
1DROP USER 'nombre_usuario'@'localhost';
Comando GRANT
El comando GRANT se utiliza para otorgar permisos a los usuarios.
Sintaxis básica de GRANT:
1GRANT SELECT, INSERT, UPDATE 2ON base_datos.tabla 3TO 'usuario'@'localhost';
Ejemplo:
1GRANT SELECT, INSERT 2ON basedatos.estudiantes 3TO 'usuario1'@'localhost';
Este comando otorga a usuario1 los permisos para seleccionar (SELECT) e insertar (INSERT) datos en la tabla estudiantes.
1. Permisos Comunes
- ALL PRIVILEGES: Otorga todos los permisos disponibles.
- SELECT: Permite leer los datos de la tabla.
- INSERT: Permite agregar nuevos registros a la tabla.
- UPDATE: Permite modificar los registros existentes en la tabla.
- DELETE: Permite eliminar registros de la tabla.
- CREATE: Permite crear nuevas tablas, vistas, índices, etc.
- DROP: Permite eliminar tablas, vistas, índices, etc.
- ALTER: Permite modificar la estructura de las tablas.
- INDEX: Permite crear o eliminar índices en una tabla.
- REFERENCES: Permite crear claves foráneas que referencian las columnas de otras tablas.
- TRIGGER: Permite crear o eliminar triggers (disparadores).
- EXECUTE: Permite ejecutar funciones o procedimientos almacenados.
- USAGE: En algunos DBMS, permite el uso de esquemas o secuencias.
2. Alcance
- ON [object]: El objeto sobre el cual se otorgarán los permisos, como una tabla, vista, o base de datos.
- TO [user/role]: El usuario o rol al cual se le otorgan los permisos.
- WITH GRANT OPTION: Permite que el usuario que recibe los permisos los otorgue a otros usuarios.
- WITH ADMIN OPTION: Permite al usuario otorgar permisos con privilegios de administrador.
Comando REVOKE
El comando REVOKE se utiliza para revocar los permisos otorgados a un usuario.
Sintaxis básica de REVOKE:
1REVOKE SELECT, INSERT 2ON basedatos.tabla 3FROM 'usuario'@'localhost';
Ejemplo:
1REVOKE INSERT 2ON basedatos.estudiantes 3FROM 'usuario1'@'localhost';
Este comando revoca el permiso de insertar datos (INSERT) en la tabla estudiantes a usuario1.
Ejemplo Completo de DCL
Otorgar y revocar permisos:
1GRANT SELECT, UPDATE 2ON basedatos.estudiantes 3TO 'usuario2'@'localhost'; 4 5REVOKE UPDATE 6ON basedatos.estudiantes 7FROM 'usuario2'@'localhost';
En este ejemplo, usuario2 recibe permisos para seleccionar (SELECT) y actualizar (UPDATE) datos en la tabla estudiantes. Luego, el permiso de actualización (UPDATE) se revoca.
- Loading...