¿Alguien conoce las preguntas de la entrevista para las pruebas de software de Newegg Technology?
Respuesta: Ventajas de los procedimientos almacenados:
(1) Permite la programación modular y puede ser llamado repetidamente en el futuro. Puede ser completado por una persona dedicada y puede modificarse independientemente de él; el código fuente del programa. Una vez completado el análisis de requisitos, el diseño de la interfaz y el diseño de la base de datos de dicho proyecto, puede comenzar a escribir los procedimientos almacenados y, al mismo tiempo, puede comenzar a escribir la capa de acceso a datos. Al codificar, no es necesario esperar a que se completen las instrucciones de diseño detalladas antes de comenzar a escribir declaraciones SQL.
(2) Ejecución más rápida
Los procedimientos almacenados son comandos precompilados que se ejecutan más rápido que las sentencias SQL.
(3) Reducir el tráfico de la red
(4) Puede utilizarse como mecanismo de seguridad para proteger la base de datos para que los usuarios no conozcan la verdadera estructura de la base de datos.
Desventajas de los procedimientos almacenados
La mayor desventaja es que cuando la base de datos cambia, como cuando la base de datos SQL_server se cambia a una base de datos Oracle, los procedimientos almacenados de la base de datos SQL_server están en Oracle No se puede utilizar en absoluto y el procedimiento almacenado solo se puede reescribir utilizando los comandos de Oracle.
2. Si su proyecto utiliza procedimientos almacenados durante el desarrollo, ¿qué problemas ocurrirán al cambiar la base de datos y cómo solucionarlos?
Respuesta: Cuando la base de datos cambia, como cuando la base de datos SQL_server se cambia a una base de datos Oracle, los procedimientos almacenados de la base de datos SQL_server no se pueden usar en Oracle en absoluto y los procedimientos almacenados solo se pueden reescribir. utilizando comandos de Oracle.
La forma de resolver este problema es utilizar una herramienta de modelado de base de datos unificada, como (). Todo el diseño de la base de datos se realiza en esta herramienta, y los procedimientos almacenados también se pueden completar en esta herramienta. Finalmente, se convierte en una base de datos específica según sea necesario. Si necesita SQL_server, conviértalo a la base de datos SQL_server. Si necesita Oracle, conviértalo a la base de datos Oracle.
3. Si hay un error en la declaración anterior en el procedimiento almacenado, ¿se ejecutará la siguiente declaración?
4. ¿Cómo manejar excepciones en procedimientos almacenados?
5. Existen varias formas de parámetros de salida de procedimientos almacenados. Presentémoslos respectivamente. ¿Existe alguna restricción sobre el tipo de valor de retorno?
Respuesta: Hay cuatro formas en SQL_Server:
(1). Devuelve datos en forma de parámetros de salida. Los tipos de valores de retorno se limitan a valores enteros, valores de caracteres o variables de cursor. De esta forma, se pueden devolver varios valores a la vez.
(2) Devuelve un valor en forma de Devolución El tipo de valor devuelto se limita a: un valor entero que representa el estado de ejecución del proceso.
(3) Devuelve el conjunto de resultados de la instrucción SELECT.
(4) puede devolver un cursor global al que se puede hacer referencia desde fuera del procedimiento almacenado.
Hay tres formas en Oracle:
(1), los datos se devuelven como un parámetro OUT y el tipo de valor de retorno se limita a: no puede ser LOB, CLOB , BFILE y otros tipos de big data.
(2) Devuelve datos en forma de IN OUT El tipo de valor devuelto se limita a: y no puede ser un tipo de big data.
(3) Devuelve el conjunto de resultados de la instrucción SELECT.
En Oracle, los procedimientos almacenados no tienen valores de retorno, sólo las funciones de los métodos tienen valores de retorno.
6. ¿Qué debo hacer si se llaman dos procedimientos almacenados diferentes en el mismo lado al mismo tiempo y cualquiera de ellos es anormal y requiere que las operaciones de ambos procedimientos almacenados se reviertan en el mismo? ¿al mismo tiempo?
Respuesta: Puede crear otro procedimiento almacenado. En esta tienda puedes crear una transacción temporal. En esta transacción temporal, no debe llamar a estos dos procedimientos almacenados por separado.
La sintaxis es la siguiente:
Crear el proceso CallTwoProc
como
Iniciar transacción
Ejecutar el primer procedimiento almacenado
Ejecute el segundo procedimiento almacenado
Confirmar la transacción
Ir
7. Hable sobre las ventajas de las vistas (la necesidad de crear vistas). ¿Qué problemas surgirán al agregar, eliminar o modificar vistas y cómo solucionarlos?
a: Ventajas de las vistas:
(1), puedes filtrar filas en la tabla.
(2) Se pueden abstraer varias tablas de datos físicos en una tabla lógica, lo que resulta beneficioso para las operaciones entre bases de datos.
(3) Evitar que usuarios no autorizados accedan a datos confidenciales.
(4) Reducir la complejidad de la base de datos.
(5) La vista es una tabla abstracta y no ocupa espacio de almacenamiento.
La adición, eliminación y modificación basadas en vistas traerá dos problemas:
(1), las declaraciones INSERT, UPDATE y DELETE deben cumplir las condiciones de la vista, es decir, la La vista debe ser visible. Realice INSERTAR, ACTUALIZAR y ELIMINAR. Tenga cuidado al eliminar datos a través de vistas. Si la vista no es visible, no se puede eliminar.
Solución: Después de agregar la restricción con opción de verificación a una vista, cualquier modificación, inserción o eliminación basada en una vista que no cumpla con las restricciones de vista (donde...) dará un error para limitar la modificación de la vista.
(2) Cuando la vista se basa en varias tablas base, al modificar los datos en la vista, solo puede insertar o actualizar los valores de los campos basados en una tabla base, y no puede modificar dos o más campos de la tabla base al mismo tiempo. DELETE no se puede ejecutar porque la instrucción DELETE solo puede hacer referencia a la vista actualizada si la cláusula FROM de la vista contiene solo una tabla.
Solución: establezca el activador INSTEAD OF para convertir operaciones de inserción, actualización y eliminación en la vista en operaciones de inserción, actualización y eliminación en varias tablas base en varios pasos. De esta forma, las operaciones de inserción, actualización y eliminación en la vista son válidas.
8. ¿Cuáles son las ventajas y desventajas de los índices? Cuando usamos el índice, ¿lo mostramos? ¿Cómo aplicar? Por favor dé un ejemplo.
Respuesta: La ventaja del índice es que puede acelerar nuestra consulta.
Desventajas de los índices:
(1) Cuando insertamos, actualizamos o eliminamos, el sistema de base de datos siempre tiene que actualizar cada índice, lo que desperdicia mucho tiempo. Por lo tanto, en un sistema basado en transacciones, debería haber la menor cantidad de índices posible.
(2) Los feeds indexados ocuparán más espacio de almacenamiento en la base de datos.
No se utilizan índices, pero sí al ejecutar sentencias SQL, incluyendo WHERE, ORDER BY, GROUP BY, HAVING, etc. En otras palabras, siempre que haya declaraciones para buscar y ordenar datos, el componente del optimizador de consultas encontrará la forma más eficiente de realizar consultas y el optimizador de consultas elegirá el mejor índice para trabajar.
9. Si comúnmente se usan tres campos en una tabla, a saber, A, B y C, y el campo B se usa más comúnmente, ¿cómo se debe crear un índice?
Respuesta: Cree un índice compuesto, que incluya tres campos A, B y C, pero el campo B debe colocarse primero.
Debido a que el campo B es el más utilizado, la unicidad debe ser la más alta.
10. Si una tabla tiene 65438 millones de registros y otros 10 segmentos se usan con mucha frecuencia, ¿cómo se deben indexar?
Respuesta: Cree un índice compuesto que solo contenga 10 campos de uso muy común. El orden de disposición debe basarse en el nivel de unicidad, con el campo con la unicidad más alta al frente y el campo con la unicidad más baja al final.
11. ¿Los disparadores generarán llamadas recursivas? Por favor dé un ejemplo. ¿Cómo se puede evitar esto?
Respuesta: Los disparadores generan llamadas recursivas. Hay dos situaciones.
El primer tipo: recursividad directa significa que se activa el disparador y se realiza una operación, que a su vez hace que se active el mismo disparador.
Segundo tipo: la recursividad indirecta significa activar un disparador y realizar una operación, lo que a su vez provoca que se active otro disparador. El segundo disparador actualiza la tabla original del primer disparador, activando así el primer disparador nuevamente.
Los métodos para evitar esta situación son:
(1), al escribir el disparador, noté esto artificialmente.
(2) Evite la recursividad directa: modifique las publicaciones de la base de datos y desactive los activadores _ recursivos.
Para evitar la recursión indirecta: establezca la opción del servidor de activación anidado en 0.
12. Si se crean muchos disparadores del mismo tipo basándose en una tabla base, como los disparadores UPDATA, ¿cómo determinamos su orden de ejecución?
13. (1) En la consulta de datos, necesitamos conectar dos o más tablas horizontalmente. ¿Qué comando debemos usar?
Respuesta: Utilice join... para resolver este problema.
(2)¿Cuántos tipos de conexiones existen y cuáles son?
Respuesta: Hay tres tipos. Dejan Unión...activada, Unión derecha...activada, Unión interna...activada o Unión...activada.
(3)En conexión, ¿qué se utiliza para especificar las condiciones de conexión?
Respuesta: Cuando se utiliza en
(4) consulta de conexión, ¿se requiere que los campos de las dos tablas consultadas tengan campos de clave principal?
Respuesta: Sin esta declaración, no es necesario consultar la clave principal. Para ser correcto, una combinación típica especifica una clave externa en una tabla y una clave relacionada en otra tabla.
14(1) En la consulta de datos, necesitamos conectar dos o más tablas verticalmente. ¿Qué comando se utilizó?
Respuesta: Utilice el Comando Federal Unificado.
(2) ¿A qué se debe prestar atención al utilizar el comando conjunto sindical?
Respuesta: Los nombres de los campos de las consultas combinadas pueden ser diferentes, pero los tipos y números de los campos deben ser los mismos.
(3) ¿Por favor dígame la diferencia entre los dos comandos Unión y Unión Todo?
Respuesta: El resultado del comando Unión eliminará los duplicados y realizará una operación diferente.
El comando Unir todo no eliminará duplicados.
15. No se preguntan cuestiones de seguridad y gestión de bases de datos.
Según años anteriores, las preguntas 1 a 7 son las más frecuentes. Échale un vistazo.