Preguntas Flashcards

1
Q

¿Qué es SQL Server?

A

SQL Server es un sistema de gestión de bases de datos relacional desarrollado por Microsoft. Se utiliza para almacenar y recuperar datos según lo solicitado por otras aplicaciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es la diferencia entre SQL y SQL Server?

A

SQL (Structured Query Language) es un lenguaje utilizado para interactuar con bases de datos, mientras que SQL Server es un sistema de gestión de bases de datos que utiliza SQL como lenguaje de consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es una base de datos en SQL Server?

A

Una base de datos es una colección organizada de datos que se almacena y gestiona dentro de SQL Server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explica la diferencia entre CHAR y VARCHAR.

A

CHAR es un tipo de dato de longitud fija, mientras que VARCHAR es un tipo de dato de longitud variable. CHAR siempre almacena la cantidad fija de caracteres especificada, rellenando con espacios si es necesario, mientras que VARCHAR solo almacena los caracteres que se le proporcionan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es una clave primaria y una clave foránea?

A

Una clave primaria es un identificador único para cada registro en una tabla. Una clave foránea es un campo en una tabla que crea una relación con la clave primaria de otra tabla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cómo se crea una tabla en SQL Server?

A

CREATE TABLE nombre_tabla (
nombre_columna tipo_dato NOT NULL,

);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es una consulta SELECT y cómo se usa?

A

Una consulta SELECT se utiliza para recuperar datos de una o varias tablas. Ejemplo:

SELECT nombre_columna1, nombre_columna2
FROM nombre_tabla
WHERE condición;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es una vista en SQL Server y para qué se utiliza?

A

Una vista es una consulta guardada que puede combinar datos de varias tablas con ciertas restricciones. Se utiliza para simplificar el acceso a datos complejos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explica cómo se usa la instrucción INSERT INTO para agregar datos a una tabla.

A

INSERT INTO nombre_tabla (columna1, columna2, …)
VALUES (valor1, valor2, …);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué es un índice y por qué es importante en SQL Server?

A

Un índice mejora la velocidad de las operaciones de consulta en una tabla. Los índices pueden ser clustered (agrupan los datos de la tabla física según el índice) o non-clustered (almacenan una copia ordenada de las claves del índice en una estructura separada).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cuál es la diferencia entre un JOIN interno y un JOIN externo?

A

Un INNER JOIN retorna solo los registros que tienen coincidencias en ambas tablas. Un OUTER JOIN (puede ser LEFT, RIGHT o FULL) retorna todos los registros que tienen coincidencias y los que no las tienen, rellenando con valores NULL cuando no hay coincidencia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cómo se optimiza una consulta en SQL Server?

A

Para optimizar una consulta en SQL Server, puedes:

Utilizar índices
Revisar el plan de ejecución
Utilizar vistas indexadas
Actualizar estadísticas
Evitar subconsultas innecesarias
Limitar el uso de funciones en las columnas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explica la diferencia entre DELETE, TRUNCATE y DROP.

A

DELETE elimina registros específicos de una tabla y se puede usar con una cláusula WHERE. TRUNCATE elimina todos los registros de una tabla de manera más rápida y no se puede usar con una cláusula WHERE. DROP elimina una tabla (u otro objeto de base de datos) por completo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es una transacción y cómo se maneja en SQL Server?

A

Una transacción es una secuencia de operaciones que se ejecutan como una sola unidad lógica de trabajo. En SQL Server, se maneja utilizando comandos como BEGIN TRANSACTION, COMMIT, y ROLLBACK.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es una función escalar y una función de tabla en SQL Server?

A

Una función escalar retorna un solo valor por cada llamada y puede ser una función incorporada o definida por el usuario. Una función de tabla retorna una tabla de resultados y puede ser definida por el usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cómo se maneja la concurrencia en SQL Server?

A

SQL Server maneja la concurrencia utilizando niveles de aislamiento de transacciones que controlan cómo las transacciones interactúan entre sí, como Read Uncommitted, Read Committed, Repeatable Read, Serializable y Snapshot.

17
Q

Explica el uso de GROUP BY y HAVING.

A

GROUP BY agrupa filas que tienen valores iguales en columnas especificadas en un conjunto de resultados. HAVING se utiliza para filtrar grupos definidos por la cláusula GROUP BY.

18
Q

¿Qué es una subconsulta y cómo se usa en SQL Server?

A

Una subconsulta es una consulta anidada dentro de otra consulta principal. Se utiliza para proporcionar resultados intermedios a la consulta principal.

19
Q

¿Cómo se utiliza el comando MERGE?

A

El comando MERGE se utiliza para combinar operaciones de inserción, actualización y eliminación en una sola instrucción.

MERGE INTO tabla_destino AS target
USING tabla_fuente AS source
ON target.clave_primaria = source.clave_primaria
WHEN MATCHED THEN
UPDATE SET target.columna1 = source.columna1
WHEN NOT MATCHED BY TARGET THEN
INSERT (columna1, columna2) VALUES (source.columna1, source.columna2)
WHEN NOT MATCHED BY SOURCE THEN
DELETE;

20
Q

¿Qué es un procedimiento almacenado y cuáles son sus ventajas?

A

Un procedimiento almacenado es un conjunto de instrucciones SQL precompiladas que se almacenan en el servidor. Las ventajas incluyen la reutilización de código, la mejora del rendimiento y la seguridad.

21
Q

¿Cómo funciona la replicación en SQL Server y cuáles son sus tipos?

A

La replicación en SQL Server copia y distribuye datos y objetos de base de datos de una base de datos a otra y luego sincroniza entre bases de datos para mantener la consistencia. Los tipos son: replicación de instantáneas, replicación transaccional y replicación de mezcla.

22
Q

¿Qué es el particionamiento de tablas y por qué se usaría?

A

El particionamiento de tablas es una técnica para dividir una tabla grande en partes más pequeñas y manejables llamadas particiones, lo cual mejora el rendimiento de consultas y la gestión de grandes volúmenes de datos.

23
Q

Explica el concepto de un plan de ejecución y cómo se analiza.

A

Un plan de ejecución es una representación gráfica o textual de cómo SQL Server ejecuta una consulta. Se analiza utilizando SET SHOWPLAN_XML ON o SET SHOWPLAN_TEXT ON para ver el plan estimado y SQL Server Management Studio (SSMS) para ver el plan gráfico, observando operaciones costosas y cuellos de botella.

24
Q

¿Qué es el aislamiento de transacciones y cuáles son sus niveles en SQL Server?

A

El aislamiento de transacciones define cómo se ven los cambios realizados por una transacción a otras transacciones concurrentes. Los niveles en SQL Server son: Read Uncommitted, Read Committed, Repeatable Read, Serializable, y Snapshot.

25
Q

¿Cómo se maneja la alta disponibilidad en SQL Server?

A

SQL Server ofrece soluciones como clúster de conmutación por error (Failover Clustering), disponibilidad siempre activa (Always On Availability Groups), replicación y Log Shipping para manejar la alta disponibilidad.

26
Q

¿Qué son los bloques (locks) y cómo se manejan en SQL Server?

A

Los bloques (locks) son mecanismos que SQL Server utiliza para controlar el acceso concurrente a los datos y garantizar la integridad de las transacciones. SQL Server maneja los bloqueos automáticamente, pero los desarrolladores pueden influir en el comportamiento utilizando niveles de aislamiento y sugerencias de bloqueo.

27
Q

Explica el uso de CTE (Common Table Expressions).

A

Un CTE es una expresión de tabla temporal que se puede referenciar dentro de una instrucción SELECT, INSERT, UPDATE o DELETE. Ejemplo:

WITH CTE_Nombre (columna1, columna2) AS (
SELECT columna1, columna2
FROM tabla
WHERE condición
)
SELECT * FROM CTE_Nombre;

28
Q

¿Cómo se implementa y utiliza la auditoría en SQL Server?

A

La auditoría en SQL Server se implementa configurando especificaciones de auditoría de servidor y base de datos. Se utiliza SQL Server Audit para crear auditorías que registren eventos y acciones. Ejemplo:

CREATE SERVER AUDIT auditoriaServidor
TO FILE (FILEPATH = ‘C:\Audit' );
CREATE SERVER AUDIT SPECIFICATION especificacionAuditoria
FOR SERVER AUDIT auditoriaServidor
ADD (DATABASE_PERMISSION_CHANGE_GROUP);
ALTER SERVER AUDIT auditoriaServidor WITH (STATE = ON);

29
Q

¿Qué es el análisis de rendimiento con SQL Profiler?

A

SQL Profiler es una herramienta que captura eventos de SQL Server para monitorizar y analizar el rendimiento del servidor. Permite identificar consultas lentas, cuellos de botella y otros problemas de rendimiento.

30
Q

¿Cómo se manejan los datos no estructurados en SQL Server?

A

SQL Server maneja datos no estructurados utilizando tipos de datos como VARBINARY(MAX) y FILESTREAM. También puede utilizar XML y JSON para almacenar y consultar datos semi-estructurados.