Gestión de Bases de Datos y Correo Electrónico
Fuentes: documentación oficial de Oracle, MySQL (dev.mysql.com), PostgreSQL (postgresql.org), Microsoft SQL Server (learn.microsoft.com), RFCs de correo (RFC 5321 SMTP, RFC 3501 IMAP, RFC 1939 POP3), IETF.
PUERTOS SGBD
| SGBD | Puerto por defecto | Licencia | Lenguaje |
| Oracle Database | 1521/TCP (listener TNS) | Propietaria (ediciones Express gratuitas) | C, C++ |
| MySQL | 3306/TCP | GPL (Community) / Propietaria (Enterprise) | C, C++ |
| MariaDB | 3306/TCP (compatible MySQL) | GPL | C, C++ |
| PostgreSQL | 5432/TCP | PostgreSQL License (permisiva, tipo BSD) | C |
| SQL Server | 1433/TCP | Propietaria (edición Express gratuita) | C, C++ |
| MongoDB | 27017/TCP | SSPL | C++, JavaScript |
| Redis | 6379/TCP | BSD / RSAL | C |
Clave examen: Oracle = 1521, MySQL/MariaDB = 3306, PostgreSQL = 5432, SQL Server = 1433. Son los 4 puertos más preguntados en exámenes TAI.
ORACLE DATABASE
| Aspecto | Detalle |
| Listener | Proceso que escucha en el puerto 1521 y redirige conexiones a la instancia adecuada; configurado en listener.ora |
| TNS (Transparent Network Substrate) | Protocolo propietario de Oracle para la comunicación cliente-servidor; configurado en tnsnames.ora |
| SID / Service Name | Identificador de la instancia (SID) o del servicio (Service Name) para conectar |
| Tablespace | Unidad lógica de almacenamiento que contiene segmentos (tablas, índices). Tablespaces del sistema: SYSTEM, SYSAUX, UNDO, TEMP |
| RMAN | Recovery Manager: herramienta nativa de backup y recuperación. Soporta backup completo, incremental (nivel 0 y 1), y puede hacer backups en caliente (hot backup) |
| Data Guard | Solución de HA/DR: mantiene una o más copias sincronizadas (standby) de la base de datos primaria |
| RAC (Real Application Clusters) | Múltiples instancias accediendo a la misma base de datos compartida; alta disponibilidad y escalabilidad |
| JDBC string | jdbc:oracle:thin:@host:1521:SID o jdbc:oracle:thin:@host:1521/serviceName |
MySQL / MariaDB
| Aspecto | Detalle |
| Motores de almacenamiento | MySQL permite diferentes motores por tabla (arquitectura pluggable) |
| Backup | mysqldump (lógico, SQL), mysqlpump (paralelo), Percona XtraBackup (físico, en caliente para InnoDB) |
| Replicación | Maestro-esclavo (asíncrona), semisíncrona, Group Replication (multi-maestro) |
| HA | MySQL InnoDB Cluster (Group Replication + MySQL Router + MySQL Shell) |
| JDBC string | jdbc:mysql://host:3306/basedatos |
InnoDB vs MyISAM
| Característica | InnoDB | MyISAM |
| Transacciones ACID | Sí | No |
| Claves foráneas (FK) | Sí | No |
| Bloqueo | A nivel de fila | A nivel de tabla |
| Recuperación ante caída | Sí (crash recovery con redo log) | No (requiere reparación manual) |
| Full-text search | Sí (desde MySQL 5.6) | Sí |
| Rendimiento lectura pura | Bueno | Ligeramente mejor en lecturas simples |
| Motor por defecto | Sí (desde MySQL 5.5) | Era el default hasta MySQL 5.1 |
Clave examen: InnoDB = transacciones + FK + bloqueo por fila. MyISAM = sin transacciones + sin FK + bloqueo por tabla. InnoDB es el motor por defecto desde MySQL 5.5. Esta comparativa se pregunta en casi todos los exámenes.
PostgreSQL
| Aspecto | Detalle |
| Características | SGBD objeto-relacional; cumple ACID; MVCC (Multi-Version Concurrency Control) para concurrencia sin bloqueos de lectura |
| Backup | pg_dump (1 base de datos), pg_dumpall (todas las BBDD + roles), pg_basebackup (copia física binaria) |
| Replicación | Streaming Replication (física, síncrona/asíncrona), Logical Replication (selectiva por tablas) |
| HA | Patroni, repmgr, PgBouncer (connection pooling) |
| Extensiones | PostGIS (geoespacial), pg_trgm (búsqueda fuzzy), hstore/jsonb (datos semi-estructurados) |
| JDBC string | jdbc:postgresql://host:5432/basedatos |
SQL SERVER (Microsoft)
| Aspecto | Detalle |
| Puerto | 1433/TCP (instancia predeterminada); SQL Browser en 1434/UDP |
| Lenguaje | T-SQL (Transact-SQL) — extensión propietaria de SQL |
| HA | Always On Availability Groups (principal), Failover Clustering, Log Shipping, Database Mirroring (deprecated) |
| Backup | BACKUP DATABASE (T-SQL), copias completas, diferenciales, de log de transacciones |
| Herramienta | SSMS (SQL Server Management Studio) |
| JDBC string | jdbc:sqlserver://host:1433;databaseName=bd |
ACID — Propiedades de las transacciones
| Propiedad | Significado | Ejemplo |
| Atomicidad (Atomicity) | La transacción se ejecuta completa o no se ejecuta; si falla, se revierte todo (rollback) | Transferencia bancaria: se debita Y se acredita, o ninguna de las dos |
| Consistencia (Consistency) | La transacción lleva la BBDD de un estado válido a otro estado válido; se mantienen todas las reglas de integridad | Las restricciones de clave foránea se cumplen antes y después |
| Aislamiento (Isolation) | Las transacciones concurrentes no interfieren entre sí; cada una opera como si fuera la única en ejecución | Dos usuarios leyendo el mismo saldo no ven resultados intermedios del otro |
| Durabilidad (Durability) | Una vez confirmada (COMMIT), la transacción persiste aunque haya un fallo del sistema | Si el servidor se apaga tras el COMMIT, los datos se recuperan del log |
Clave examen: ACID es una de las preguntas más recurrentes. Atomicidad = todo o nada. Consistencia = estado válido a estado válido. Aislamiento = transacciones independientes. Durabilidad = persiste tras COMMIT.
NORMALIZACIÓN — Formas Normales
| Forma Normal | Requisito | Elimina |
| 1NF (Primera) | Todos los atributos contienen valores atómicos (indivisibles); existe clave primaria; no hay grupos repetitivos | Grupos repetitivos y valores multivaluados |
| 2NF (Segunda) | Cumple 1NF + no hay dependencias parciales (todo atributo no clave depende de TODA la clave primaria) | Dependencias parciales (relevante solo cuando la PK es compuesta) |
| 3NF (Tercera) | Cumple 2NF + no hay dependencias transitivas (los atributos no clave no dependen de otros atributos no clave) | Dependencias transitivas |
| BCNF (Boyce-Codd) | Cumple 3NF + todo determinante es una clave candidata | Anomalías restantes de 3NF (caso raro) |
| 4NF | Cumple BCNF + no hay dependencias multivaluadas independientes | Dependencias multivaluadas |
| 5NF | Cumple 4NF + no hay dependencias de join | Redundancia por descomposición |
Clave examen: 1NF = atómico. 2NF = sin dependencias parciales. 3NF = sin dependencias transitivas. En el examen TAI se suele preguntar hasta 3NF/BCNF. Regla de Codd para 3NF: "Todo atributo no clave depende de la clave, de toda la clave y nada más que de la clave".
FUNCIONES DEL DBA
| Función | Descripción |
| Instalación y configuración | Instalar el SGBD, configurar parámetros de memoria, red, almacenamiento |
| Gestión de usuarios y seguridad | Crear usuarios, asignar roles y privilegios, gestionar accesos (GRANT/REVOKE) |
| Backup y recuperación | Definir y ejecutar estrategias de backup; probar la recuperación periódicamente |
| Monitorización y rendimiento | Optimizar consultas, índices, planes de ejecución; monitorizar recursos (CPU, I/O, memoria) |
| Aplicación de parches y actualizaciones | Mantener el SGBD actualizado con parches de seguridad y correcciones |
| Alta disponibilidad | Configurar replicación, clusters, failover automático |
ALTA DISPONIBILIDAD (HA) — Resumen por SGBD
| SGBD | Solución HA principal | Tipo |
| Oracle | RAC (Real Application Clusters) + Data Guard | Cluster activo-activo + standby remoto |
| MySQL | InnoDB Cluster (Group Replication + Router) | Multi-maestro con failover automático |
| PostgreSQL | Streaming Replication + Patroni/repmgr | Primario-standby con failover |
| SQL Server | Always On Availability Groups | Réplicas síncronas/asíncronas con failover |
AGENTES DE CORREO
| Agente | Función | Ejemplos |
| MUA (Mail User Agent) | Cliente de correo del usuario final; compone y lee correos | Thunderbird, Outlook, Gmail (web), mutt |
| MTA (Mail Transfer Agent) | Transfiere correo entre servidores vía SMTP; enrutamiento | Postfix, Sendmail, Exim, Microsoft Exchange |
| MDA (Mail Delivery Agent) | Entrega el correo al buzón del destinatario final | Dovecot, Procmail, Cyrus |
| MAA (Mail Access Agent) | Permite al MUA acceder al buzón vía IMAP/POP3 | Dovecot (también MDA), Courier |
Clave examen: MUA = cliente. MTA = servidor SMTP (envía/retransmite). MDA = entrega al buzón. La cadena es: MUA → MTA (SMTP) → MTA destino → MDA → buzón → MAA (IMAP/POP3) → MUA.
PROTOCOLOS DE CORREO
| Protocolo | RFC | Función | Puerto sin SSL | Puerto con SSL/TLS |
| SMTP | RFC 5321 | Envío y retransmisión de correo entre servidores (y del cliente al servidor de envío) | 25 (relay entre servidores) | 465 (SMTPS) / 587 (submission con STARTTLS) |
| POP3 | RFC 1939 | Descarga de correo al cliente; por defecto borra del servidor | 110 | 995 |
| IMAP | RFC 3501 | Acceso y gestión de correo en el servidor; sincronización entre dispositivos | 143 | 993 |
IMAP vs POP3
| Característica | IMAP (RFC 3501) | POP3 (RFC 1939) |
| Almacenamiento | Correo en el servidor | Correo descargado al cliente |
| Sincronización | Sí — todos los dispositivos ven el mismo estado | No — cada cliente descarga su copia |
| Carpetas en servidor | Sí — gestión completa de carpetas remotas | No — solo buzón de entrada |
| Modo offline | Parcial (caché local) | Completo (todo descargado) |
| Ancho de banda | Mayor (descarga bajo demanda) | Menor tras la descarga inicial |
| Uso recomendado | Múltiples dispositivos, webmail | Un solo dispositivo, conexión limitada |
Clave examen: IMAP = correo en servidor + sincronización. POP3 = descarga al cliente, sin sincronización. Esta diferencia es la pregunta más frecuente sobre correo. Puerto SMTP = 25 (no 27).
FORMATO DE CORREO (RFC 5322 / MIME)
| Concepto | Detalle |
| RFC 5322 | Define el formato del mensaje de correo: cabeceras (From, To, Subject, Date, Message-ID) + cuerpo de texto |
| MIME (RFC 2045-2049) | Extensión que permite adjuntos, caracteres no ASCII, HTML. Cabecera Content-Type define el tipo (text/plain, text/html, multipart/mixed, etc.) |
| Base64 | Codificación usada por MIME para adjuntos binarios |
| Quoted-Printable | Codificación para texto con caracteres especiales (acentos, ñ) |
SECURIZACIÓN DEL CORREO — SPF, DKIM, DMARC
| Mecanismo | Tipo DNS | Función | Qué verifica |
| SPF (Sender Policy Framework) | Registro TXT | Publica qué servidores IP están autorizados a enviar correo en nombre del dominio | IP del servidor que envía vs lista autorizada |
| DKIM (DomainKeys Identified Mail) | Registro TXT | Firma criptográfica en la cabecera del correo; clave pública en DNS | Integridad del mensaje y autenticidad del dominio remitente |
| DMARC (Domain-based Message Authentication) | Registro TXT | Política que indica qué hacer si SPF y/o DKIM fallan (none, quarantine, reject). Envía informes | Alineación entre SPF/DKIM y el dominio en el From |
| STARTTLS | — | Extensión que permite iniciar cifrado TLS sobre una conexión SMTP/IMAP/POP3 ya establecida en texto plano | Cifrado del canal de comunicación |
Clave examen: SPF = quién puede enviar (IPs). DKIM = firma criptográfica (integridad). DMARC = política + informes (qué hacer si falla). Los tres se configuran como registros TXT en DNS.
DNS — REGISTROS
| Registro | Función | Ejemplo |
| A | Nombre → dirección IPv4 | www.ejemplo.es. IN A 93.184.216.34 |
| AAAA | Nombre → dirección IPv6 | www.ejemplo.es. IN AAAA 2001:db8::1 |
| CNAME | Alias (nombre canónico) → otro nombre | mail.ejemplo.es. IN CNAME servidor.ejemplo.es. |
| MX | Servidor de correo del dominio (con prioridad) | ejemplo.es. IN MX 10 mail.ejemplo.es. |
| NS | Servidores de nombres autoritativos del dominio | ejemplo.es. IN NS ns1.ejemplo.es. |
| SOA | Start of Authority: datos del servidor primario, email admin, serial, tiempos de refresco | Primer registro de cualquier zona |
| TXT | Texto libre; usado para SPF, DKIM, DMARC, verificación de dominio | ejemplo.es. IN TXT "v=spf1 mx -all" |
| PTR | Resolución inversa (IP → nombre) | 34.216.184.93.in-addr.arpa. IN PTR www.ejemplo.es. |
| SRV | Localización de servicios (host + puerto) | Usado por AD, SIP, XMPP |
Clave examen: Registro MX = correo. SOA = primer registro de zona. PTR = resolución inversa. Los registros SRV se usan mucho en Active Directory. Un CNAME no puede coexistir con otros registros en el mismo nombre.
RESOLUCIÓN DNS — Flujo
Cuando un cliente consulta un nombre de dominio:
| Paso | Acción |
| 1 | El cliente consulta su resolver local (caché del SO + fichero /etc/hosts o hosts de Windows) |
| 2 | Si no está en caché, consulta al servidor DNS recursivo configurado (ISP, 8.8.8.8, etc.) |
| 3 | El recursivo consulta a un servidor raíz (13 clusters, letras A-M) |
| 4 | El raíz redirige al servidor del TLD (.es, .com, .org) |
| 5 | El TLD redirige al servidor autoritativo del dominio |
| 6 | El autoritativo responde con el registro solicitado; el recursivo lo cachea y lo devuelve al cliente |
FUENTES PÚBLICAS
Este resumen ha sido elaborado íntegramente a partir de fuentes de dominio público. No se ha utilizado material con copyright de terceros ni material de preparadores.
| Fuente | Tipo | Referencia |
| IEEE 802.1Q — VLAN Tagging | Estándar | IEEE |
| IEEE 802.1D/W/S — Spanning Tree | Estándar | IEEE |
| RFCs 3031, 3032 — MPLS | Estándar | IETF |