Cuando entrevisto a desarrolladores de bases de datos de SQL Server, utilizo un conjunto estándar de preguntas técnicas de referencia. Las siguientes preguntas son las que creo que realmente ayudarán a descartar a los candidatos no calificados. Están ordenados de más fácil a más difícil. Cuando hace preguntas sobre claves primarias y claves externas, estas últimas preguntas son muy difíciles porque las respuestas pueden ser más difíciles de explicar y explicar, especialmente en las entrevistas.
¿Puede describir brevemente algunos de los objetos de base de datos utilizados en SQL Server 2000?
Las respuestas que desea escuchar incluyen objetos como tablas, vistas, funciones personalizadas, procedimientos almacenados, etc.; sería mejor si también mencionaran objetos como activadores. Si un candidato no puede responder esta pregunta básica, no es una buena señal.
¿Qué significa nulo?
El valor de null es algo muy difícil en el mundo de las bases de datos, así que no se sorprenda si muchos candidatos se topan con este tema.
El valor nulo representa desconocido: no representa " " (cadena vacía). Suponiendo que tiene ANSI_nullS en su base de datos de SQL Server, por supuesto, es así de forma predeterminada. Cualquier comparación de valores nulos producirá un valor nulo. No se puede comparar ningún valor con un valor desconocido y lógicamente esperar una respuesta. Tienes que usar el operador nulo IS.
¿Qué es un índice? ¿Qué tipos de índices existen en SQL Server 2000?
Cualquier desarrollador de bases de datos experimentado debería poder responder esta pregunta fácilmente. Algunos desarrolladores sin experiencia pueden responder a esta pregunta, pero algunos aspectos no quedarán claros.
En pocas palabras, un índice es una estructura de datos que se utiliza para acceder rápidamente a los datos en una tabla o vista de una base de datos. En SQL Server, se presentan en dos formas: índices agrupados e índices no agrupados. Un índice agrupado contiene datos en el nivel de hoja del índice. Esto significa que no importa qué campos de la tabla existan en el índice agrupado, estos campos se almacenarán en la tabla en orden. Debido a este orden, sólo hay un índice agrupado por tabla. Los índices no agrupados tienen un identificador de fila en el nivel de hoja del índice. El identificador de fila es un puntero a los datos en el disco. Permite múltiples índices no agrupados por tabla.
¿Qué es una clave primaria? ¿Qué es una clave externa?
La clave principal es un campo de la tabla que solo se utiliza para definir las filas de la tabla; el valor de la clave principal siempre es único. Las claves externas son restricciones que se utilizan para establecer una relación entre dos tablas. Esta relación normalmente implica un campo de clave principal en una tabla y una serie de campos de combinación en otra tabla (aunque puede ser la misma tabla). Entonces estos campos conectados son claves externas.
¿Qué es un desencadenante? ¿Cuáles son los diferentes tipos de desencadenadores en SQL Server 2000?
Comprender los tipos de activadores disponibles y cómo implementarlos será muy beneficioso para los futuros desarrolladores de bases de datos.
Un desencadenador es un tipo especial de procedimiento almacenado que está vinculado a una tabla o vista de SQL Server 2000. En SQL Server 2000, hay dos activadores: OF y después. El disparador INSTEAD-OF es un procedimiento almacenado que ejecuta declaraciones en una tabla, en lugar de declaraciones en lenguaje de manipulación de datos (dml). Por ejemplo, si tengo un activador de actualización EN LUGAR DE-ACTUALIZAR en la Tabla A, y al mismo tiempo ejecuto una declaración de ACTUALIZACIÓN en esa tabla, el código en el activador de ACTUALIZACIÓN EN LUGAR DE-se ejecutará, pero la declaración de ACTUALIZACIÓN que ejecuto no. Haz esto.
El disparador After se ejecuta después de usar la instrucción dml en la base de datos. Estos tipos de desencadenadores son útiles para monitorear los cambios de datos que ocurren en las tablas de la base de datos.
¿Cómo asegurar que la tabla TableB con un campo llamado Fld1 solo tenga esos valores en el campo Fld1, y que estos valores también estén en el campo Fld1 de la tabla llamada TableA?
Hay dos posibles respuestas a esta pregunta relacionada con las relaciones. La primera respuesta (y la que desea escuchar) es utilizar restricciones de clave externa. Las restricciones de clave externa se utilizan para mantener la integridad referencial. Se utiliza para garantizar que un campo en una tabla solo contenga valores que se han definido en otro campo en una tabla diferente (o la misma). Este campo es una clave candidata (normalmente la clave principal de otra tabla).
Otra respuesta es el desencadenante. Los activadores se pueden utilizar de otra manera para garantizar el mismo efecto que los límites, pero son muy difíciles de configurar y mantener, y su rendimiento suele ser deficiente. Por este motivo, Microsoft recomienda que los desarrolladores utilicen restricciones de clave externa en lugar de activadores para mantener la integridad referencial.
¿Cuáles son las consideraciones de rendimiento al tener demasiados índices en una tabla de transacciones en línea activa?
Buscas candidatos relacionados con el tratamiento de datos. Cuantos más índices haya en una tabla, más tiempo le tomará al motor de la base de datos actualizar, insertar o eliminar datos porque los índices también deben mantenerse mientras se manipulan los datos.
¿Qué puedes utilizar para garantizar que los campos de una tabla solo acepten valores dentro de un rango específico?
Esta pregunta se puede responder de muchas maneras, pero sólo una respuesta es "buena". La respuesta que desea escuchar es el límite de verificación, que se define en la tabla de la base de datos para limitar la entrada de valores para esa columna.
Los activadores también se pueden utilizar para limitar los valores aceptables de los campos en una tabla de base de datos, pero este método requiere que los activadores estén definidos en la tabla, lo que puede afectar el rendimiento en algunos casos. Por lo tanto, Microsoft recomienda utilizar límites de verificación en lugar de otros medios para limitar la integridad del dominio.
ltb? ¿Cuál es la diferencia entre los parámetros de retorno y los parámetros de salida? gtSi el candidato puede responder esta pregunta correctamente, entonces sus posibilidades son muy altas, porque demuestra que tiene experiencia en el uso de procedimientos almacenados.
El parámetro de retorno siempre lo devuelve el procedimiento almacenado y se utiliza para indicar si el procedimiento almacenado tuvo éxito o falló. Los parámetros de retorno siempre son de tipo de datos int.
El parámetro de salida debe ser especificado explícitamente por el desarrollador y puede devolver otros tipos de datos, como caracteres y valores numéricos. Existen algunas restricciones sobre los tipos de datos que se pueden utilizar como parámetros de salida. Se pueden usar múltiples parámetros de salida en un procedimiento almacenado, pero solo se puede usar un parámetro de retorno.
¿Qué es una subconsulta correlacionada? ¿Cómo utilizar estas consultas?
Los desarrolladores más experimentados podrán describir con precisión este tipo de consulta.
Una subconsulta correlacionada es un tipo especial de consulta que contiene subconsultas. Una subconsulta contenida dentro de una consulta en realidad solicita valores de la consulta externa, creando una situación similar a un bucle. lt/b? ¿Cuál es la diferencia entre los parámetros de retorno y los parámetros de salida? gt