Preparar las oposiciones al Cuerpo de Técnicos Auxiliares de Informática de la Administración del Estado (TAI) exige enfrentarse a un temario denso y técnico. Dentro de este recorrido, el Bloque III (Desarrollo de sistemas) supone uno de los pilares fundamentales para conseguir la ansiada plaza. Hoy nos detenemos en uno de los temas más evaluados y temidos por los opositores: el Tema 3: Lenguajes de interrogación de bases de datos. Estándar ANSI SQL. Procedimientos almacenados. Eventos y disparadores. Dominar este tema no es una opción, es una obligación matemática si queremos garantizar una alta puntuación en el examen oficial tipo test.
A lo largo de esta guía integral, estructurada con el máximo rigor académico, desgranaremos los secretos del estándar ANSI SQL, las peculiaridades de los sublenguajes de bases de datos, y el comportamiento exacto de los procedimientos almacenados y los triggers. Todo ello enfocado exclusivamente a cómo pregunta el INAP (Instituto Nacional de Administración Pública) en las pruebas selectivas reales.
¿Qué es SQL y por qué es clave en la oposición TAI?
SQL (Structured Query Language) es el lenguaje estándar internacional diseñado para la gestión, manipulación y recuperación de información en sistemas gestores de bases de datos relacionales (SGBDR). Es clave en la oposición TAI porque constituye la columna vertebral del desarrollo de aplicaciones informáticas en la Administración General del Estado, siendo evaluado tanto en su vertiente teórica pura como en la detección de errores de sintaxis en el examen tipo test.
Cuando analizamos las convocatorias publicadas en el BOE en los últimos años, observamos un patrón innegable: el tribunal siempre incluye preguntas sobre sentencias SQL. La Administración requiere funcionarios capaces de interactuar eficazmente con grandes repositorios de datos. Por consiguiente, el dominio de la interrogación de bases de datos es una competencia básica para el Técnico Auxiliar de Informática.
Además, este tema no se estudia de forma aislada. Su comprensión es un requisito indispensable para abordar con éxito otros apartados del temario. Por ejemplo, es imposible entender a fondo el Tema 5: SGBD relacionales y NoSQL del Bloque II o el Tema 1: Modelado de datos del Bloque III sin tener interiorizados los conceptos de SQL que veremos a continuación.
Contenido clave del Tema 3: SQL para la oposición TAI
El núcleo del Tema 3 exige distinguir perfectamente las clasificaciones semánticas del estándar ANSI SQL, la lógica de programación mediante procedimientos y la automatización mediante triggers. Veamos en detalle cada uno de estos bloques teóricos, imprescindibles para resolver con soltura cualquier simulacro o test TAI.
El Estándar ANSI SQL y la clasificación de sentencias
El Instituto Nacional Estadounidense de Estándares (ANSI) y la Organización Internacional de Normalización (ISO) han publicado diversas revisiones del lenguaje SQL a lo largo de las décadas (SQL-86, SQL-92, SQL:1999, SQL:2003, SQL:2006, etc.). En las oposiciones TAI, las preguntas suelen basarse en la sintaxis consolidada y genérica del estándar SQL-92 y posteriores, evitando peculiaridades exclusivas de fabricantes concretos como Oracle (PL/SQL) o Microsoft (T-SQL), a menos que se especifique lo contrario.
La arquitectura del lenguaje se divide académicamente en cuatro sublenguajes principales que debes memorizar a la perfección:
- DDL (Data Definition Language): Lenguaje de Definición de Datos. Se utiliza para definir las estructuras que almacenarán los datos. Sentencias clave:
CREATE(crear objetos),ALTER(modificar objetos),DROP(eliminar objetos) yTRUNCATE(vaciar tablas). - DML (Data Manipulation Language): Lenguaje de Manipulación de Datos. Es el corazón operativo. Permite consultar y modificar la información. Sentencias clave:
SELECT(consultar, aunque algunos autores puristas lo separan en un DQL o Data Query Language),INSERT(insertar filas),UPDATE(actualizar filas) yDELETE(borrar filas). - DCL (Data Control Language): Lenguaje de Control de Datos. Gestiona la seguridad y los permisos. Sentencias clave:
GRANT(otorgar privilegios) yREVOKE(revocar privilegios). - TCL (Transaction Control Language): Lenguaje de Control de Transacciones. Administra los cambios realizados por el DML para garantizar las propiedades ACID. Sentencias clave:
COMMIT(confirmar cambios),ROLLBACK(deshacer cambios) ySAVEPOINT(establecer puntos de restauración).
Estructura de la sentencia SELECT y los JOINs
El comando SELECT es la instrucción DML más compleja y frecuente en los exámenes. El orden lógico de escritura y, más importante aún, el orden lógico de ejecución por parte del motor de la base de datos, es un clásico de las preguntas de test.
El orden jerárquico de las cláusulas es: SELECT, FROM, WHERE, GROUP BY, HAVING y ORDER BY. Es vital comprender que la cláusula WHERE filtra filas individuales antes de la agrupación, mientras que la cláusula HAVING filtra grupos de filas después de aplicar GROUP BY. Confundir estas dos cláusulas es uno de los errores más comunes entre los opositores.
Asimismo, los distintos tipos de reuniones de tablas (JOIN) definidos en el estándar ANSI exigen un estudio minucioso. Debes ser capaz de distinguir entre INNER JOIN (devuelve solo las filas con coincidencias en ambas tablas), LEFT OUTER JOIN (devuelve todas las filas de la tabla izquierda y las coincidencias de la derecha) y sus equivalentes (RIGHT y FULL OUTER JOIN), así como el producto cartesiano CROSS JOIN.
Procedimientos almacenados (Stored Procedures)
Un procedimiento almacenado es un conjunto de instrucciones SQL y lógicas de control de flujo (condicionales, bucles) precompiladas y almacenadas físicamente en el diccionario de datos del servidor SGBD. Al ser invocados (generalmente mediante comandos como CALL o EXECUTE), se ejecutan en el lado del servidor.
En el temario de Técnico Auxiliar de Informática, es fundamental conocer las ventajas de utilizar procedimientos almacenados frente al envío continuo de consultas SQL desde una aplicación cliente abordada en el Tema 6: Cliente/servidor. Estas ventajas incluyen:
- Rendimiento: Al estar precompilados, el SGBD no necesita analizar ni optimizar la consulta cada vez que se ejecuta, ahorrando tiempo de procesamiento.
- Reducción del tráfico de red: Solo se envía a través de la red la llamada al procedimiento y sus parámetros, no cientos de líneas de código SQL.
- Seguridad: Se pueden otorgar permisos a los usuarios para ejecutar un procedimiento sin necesidad de darles permisos directos sobre las tablas subyacentes, previniendo además ataques de Inyección SQL.
- Reutilización y modularidad: La lógica de negocio reside en un único lugar, facilitando el mantenimiento y la actualización por parte del equipo de desarrollo.
Eventos y disparadores (Triggers)
Los disparadores o triggers son un tipo especial de procedimiento almacenado que se ejecuta automáticamente e implícitamente cuando ocurre un evento particular en la base de datos (generalmente una operación DML: INSERT, UPDATE o DELETE). A diferencia de los procedimientos almacenados, un trigger no puede ser invocado manualmente por el usuario.
Los conceptos teóricos que más se evalúan en esta sección son:
- Momento de ejecución:
BEFORE(se ejecuta antes de que la instrucción que lo provoca modifique los datos) oAFTER(se ejecuta después de que la modificación ha tenido lugar). Ocasionalmente se pregunta por el triggerINSTEAD OF, utilizado principalmente sobre vistas. - Nivel de acción:
FOR EACH ROW(el trigger se dispara una vez por cada fila afectada) frente al nivel de instrucción oSTATEMENT(se dispara una sola vez por toda la sentencia, independientemente del número de filas afectadas). - Variables de transición: La disponibilidad de los pseudoregistros
NEW(contiene los nuevos valores de la fila) yOLD(contiene los valores originales antes de la modificación).
Comparativa: Procedimientos vs. Triggers
Para sistematizar el estudio, presentamos la siguiente tabla comparativa que resume las diferencias fundamentales exigidas en el temario TAI:
| Característica | Procedimiento Almacenado | Disparador (Trigger) |
|---|---|---|
| Ejecución | Explícita (Llamada manual o desde app) | Implícita (Automática basada en eventos) |
| Paso de parámetros | Permite parámetros de entrada (IN) y salida (OUT) | No acepta parámetros externos directamente |
| Control de Transacciones | Puede incluir COMMIT / ROLLBACK | Generalmente NO puede incluir COMMIT / ROLLBACK (forma parte de la transacción disparadora) |
| Uso principal | Lógica de negocio compleja, procesos por lotes | Auditorías, integridad referencial compleja, logs |
¿Cómo se pregunta este tema en los exámenes TAI?
En los exámenes TAI, las preguntas sobre SQL combinan cuestiones de memoria taxonómica (identificar a qué sublenguaje pertenece un comando) con ejercicios de compresión lógica o detección de errores sintácticos. Para enfocar tu preparación con la máxima eficacia, analizaremos a continuación el formato clásico de las preguntas de test reales.
Ejemplo de pregunta 1: Sublenguajes SQL
¿Cuál de las siguientes sentencias del lenguaje SQL se clasifica dentro del DCL (Data Control Language)?
- UPDATE
- GRANT
- DROP
- COMMIT
Explicación: La respuesta correcta es la B. GRANT se utiliza para asignar permisos a los usuarios, controlando el acceso a los datos (DCL). UPDATE es DML, DROP es DDL y COMMIT pertenece a TCL.
Ejemplo de pregunta 2: Triggers y pseudoregistros
Dentro de un trigger a nivel de fila (FOR EACH ROW) en una base de datos relacional estándar, ¿qué ocurre si intentamos acceder al pseudoregistro NEW durante una operación DELETE?
- Devuelve los valores de la fila justo antes de ser eliminada.
- Provoca un error de compilación del disparador.
- El pseudoregistro NEW tendrá valor NULL o no estará disponible, ya que no hay valores nuevos que asignar.
- Se asignan valores por defecto definidos en el esquema DDL.
Explicación: La respuesta correcta es la C. En un evento DELETE, el registro se destruye, por lo que no hay "nuevos" valores. Solo el pseudoregistro OLD está poblado con los datos del registro antes del borrado. El pseudoregistro NEW solo tiene sentido en sentencias INSERT y UPDATE.
Ejemplo de pregunta 3: Estándar ANSI SQL y JOINs
Dada la sintaxis del estándar SQL ANSI, ¿qué cláusula utilizaría para filtrar los resultados de una consulta basándose en una función de agregación (por ejemplo, mostrar solo aquellos departamentos con más de 5 empleados)?
- WHERE COUNT(empleados) > 5
- HAVING COUNT(empleados) > 5
- FILTER COUNT(empleados) > 5
- GROUP BY COUNT(empleados) > 5
Explicación: La respuesta correcta es la B. Las funciones de agregación como COUNT, SUM, AVG no pueden evaluarse en la cláusula WHERE. Requieren agrupar los datos primero y aplicar la restricción mediante la cláusula HAVING.
Consejos para estudiar SQL para la oposición TAI
Para estudiar SQL de cara a las oposiciones TAI, es imprescindible combinar la memorización de las normativas ANSI con la práctica constante a través de simulacros de preguntas test, prestando especial atención a las «trampas» sintácticas comunes de los tribunales.
Desde la experiencia académica, recomiendo encarecidamente la siguiente metodología:
- Mapeo conceptual de comandos: Crea esquemas visuales separando estrictamente DDL, DML, DCL y TCL. El tribunal suele mezclar opciones de diferentes sublenguajes para causar confusión en las preguntas de descarte directo.
- Comprender antes de memorizar: No memorices las cláusulas de un
SELECTde forma aislada. Entiende el orden de procesamiento lógico interno del motor SQL. Si entiendes queFROMse procesa antes queSELECT, te resultará obvio por qué ciertos alias de columnas a veces no están disponibles en otras cláusulas. - Práctica cruzada: Relaciona este tema con los fundamentos de programación. Si comprendes cómo funciona la lógica condicional en el Tema 2: Lenguajes de programación, entender la estructura de control de flujo dentro de un Procedimiento Almacenado será inmediato.
- Cuidado con los detalles sutiles: En el estudio de Triggers, enfócate en la matriz de combinaciones: INSERT/UPDATE/DELETE cruzado con BEFORE/AFTER cruzado con nivel ROW/STATEMENT. Las preguntas difíciles del INAP salen de esa matriz.
- Haz cientos de preguntas oficiales: La teoría asimilada solo se consolida enfrentándose a la redacción técnica y ambigua típica de la Administración Pública. Necesitas equivocarte en los simulacros para no hacerlo el día del examen.
Practica con test de SQL en nuestra plataforma
¿Listo para poner a prueba tus conocimientos sobre SQL?
Accede a cientos de preguntas tipo test con respuestas explicadas y simulacros de examen real.
Empezar a practicar →Preguntas frecuentes sobre SQL en la oposición TAI
¿Cuántas preguntas suelen caer de SQL en el examen TAI?
Históricamente, el Bloque III tiene un peso muy significativo en el primer ejercicio. Dentro de este bloque, el tema de SQL y bases de datos relacionales es de alta recurrencia, pudiendo encontrar entre 3 y 6 preguntas directas sobre comandos, funciones, procedimientos almacenados y diseño de consultas en cada convocatoria oficial.
¿Qué versión del estándar ANSI SQL debo estudiar para el Estado?
Las preguntas de los procesos selectivos de la AGE suelen ser agnósticas respecto a las ultimísimas versiones del estándar, centrándose en el núcleo consolidado en SQL-92 y SQL:1999. Es decir, los conceptos de JOIN explícitos, funciones de agrupamiento, subconsultas y triggers básicos. No obstante, conocer la evolución general de la norma suma solidez a tu preparación.
¿Entran sentencias propietarias de Oracle (PL/SQL) o SQL Server (T-SQL)?
El temario oficial especifica "Estándar ANSI SQL". Salvo que el epígrafe cambie, el tribunal debe atenerse al estándar. Sin embargo, en ocasiones el INAP ha utilizado sintaxis muy ligeramente decantada hacia Oracle (por su amplia presencia en la Administración), pero siempre en conceptos básicos que son fácilmente deducibles si dominas el estándar. Tu objetivo primario debe ser el SQL estándar, no los dialectos.
¿Cuál es la diferencia entre un Trigger BEFORE y un Trigger AFTER?
La diferencia radica en el instante de ejecución. Un trigger BEFORE se activa antes de que el motor de la base de datos escriba los cambios en el disco, permitiendo validar o modificar los datos que van a entrar (por ejemplo, forzar a mayúsculas un texto). Un trigger AFTER se ejecuta una vez la modificación ya se ha realizado, lo cual es ideal para auditar cambios en tablas de log o actualizar tablas consolidadas dependientes.
¿En qué fase de la oposición TAI es más importante dominar este tema?
Es vital en ambas partes. En el primer ejercicio tipo test, evaluarán tu conocimiento teórico y de sintaxis. En el segundo ejercicio (el supuesto práctico), si eliges la opción de desarrollo, comprender la interacción con bases de datos relacionales será la base para resolver escenarios relacionados con la persistencia de datos en aplicaciones y la arquitectura técnica general del sistema.
No subestimes la importancia de los lenguajes de interrogación de bases de datos. Superar el examen TAI requiere una estrategia impecable y el acceso a materiales de calidad y actualizados a las últimas exigencias del tribunal. Para asegurar tu apto, te animo a que no te quedes solo en la teoría y prueba nuestra plataforma de test TAI accediendo a nuestro curso integral especializado, donde encontrarás simulacros idénticos a los del día D y explicaciones pormenorizadas para cada pregunta del estándar SQL.