Seguridad en SQL
¿Cómo se puede ocultar una tabla de una base de datos en SQL?
En SQL no existe un comando directo para “ocultar” físicamente una tabla, pero sí puedes restringir o impedir que ciertos usuarios la vean o accedan usando permisos, vistas o esquemas.
La estrategia depende del motor de base de datos (SQL Server, MySQL, PostgreSQL, Oracle, etc.), pero en general tienes estas opciones:
1. Revocar permisos de acceso
Si un usuario no tiene permisos SELECT (ni INSERT, UPDATE, DELETE) sobre una tabla, no podrá consultarla ni modificarla.
Ejemplo en SQL Server / MySQL / PostgreSQL:
Sql
-- Revocar permisos de lectura
REVOKE SELECT ON nombre_tabla FROM usuario;
-- Revocar todos los permisos REVOKE ALL PRIVILEGES ON nombre_tabla FROM usuario;
Esto no elimina la tabla, solo evita que el usuario pueda acceder a ella.
2. Usar esquemas y control de acceso
Puedes mover la tabla a un esquema distinto y dar permisos solo a quienes deban verla.
Sql
-- Crear un esquema CREATE SCHEMA privado;
-- Mover la tabla al esquema
ALTER SCHEMA privado TRANSFER dbo.nombre_tabla;
-- SQL Server
-- En PostgreSQL sería: ALTER TABLE nombre_tabla SET SCHEMA privado;
-- Dar permisos solo a ciertos usuarios
GRANT SELECT ON privado.nombre_tabla TO usuario_autorizado;
3. Crear vistas filtradas
En lugar de dar acceso directo a la tabla, creas una vista que muestre solo lo que quieres.
Sql
CREATE VIEW vista_publica AS SELECT columna1, columna2 FROM nombre_tabla;
-- Dar permisos solo sobre la vista
GRANT SELECT ON vista_publica TO usuario;
REVOKE SELECT ON nombre_tabla FROM usuario;
Así el usuario cree que consulta una “tabla” pero en realidad es una vista controlada.
4. Enmascaramiento de datos (SQL Server)
Si quieres que la tabla sea visible pero con datos ocultos, puedes usar Dynamic Data Masking:
Sql
ALTER TABLE nombre_tabla ALTER COLUMN columna_sensible ADD MASKED WITH (FUNCTION = 'partial(0,"XXXX",4)');
✅ Sugerencias:
La forma más segura de “ocultar” una tabla es revocar todos los permisos sobre ella y dar acceso solo a vistas o procedimientos almacenados controlados.
_________________________________
Base de Datos II * Tecnicatura en Desarrollo de Software * Instituto CyP Soft, Tucumán.
Crea tu propia página web con Webador