[Base de datos] Preguntas frecuentes

P1: ¿Cuáles son los productos comunes del sistema de gestión de bases de datos relacionales?

Oracle 、 Servidor SQL 、 mysql 、 Sybase

P2: ¿Qué partes incluye el lenguaje SQL? ¿Qué palabras clave hay en cada sección?

El lenguaje SQL incluye cuatro partes: definición de datos (DDL), manipulación de datos (DML), control de datos (DCL) y consulta de datos (DQL)

DDL: Crear tabla, ALTER TABLE, Drop Table, Crear / gota Índice Crear / Eliminar - tabla / índice de
LMD: Select, Insert, Update, Delete CRUD
DCL: concesión, autorización y revocación revocación de la autorización
DQL: seleccione

P3: ¿Cuáles son las restricciones de integridad?

Hay tres tipos principales de restricciones de integridad, a saber, integridad de la entidad, integridad referencial e integridad definida por el usuario.
Los dos primeros son requisitos del sistema de base de datos, y la integridad definida por el usuario existe desde la perspectiva del usuario.
La integridad de la entidad se refiere a (código primario), uno o un grupo de atributos es el atributo primario de la relación básica R, entonces el atributo no puede estar vacante (no puede ser sin sentido, no lo sabe, no existe)
La integridad referencial se refiere a (código externo), Si un atributo o grupo de atributos F es el código externo de la relación básica R, toma un valor nulo o corresponde al código principal de la relación S, que es igual a la
integridad definida por el usuario del valor del código principal de un antepasado en S , Es una condición de restricción para una base de datos relacional específica, que refleja los requisitos semánticos que deben cumplir los datos involucrados en una aplicación específica.

P4: ¿Cuáles son los tipos de restricciones de SQL?

La restricción de integridad de la entidad es la clave primaria, que se utiliza para controlar que el contenido del campo no se repita. Solo una clave primaria puede
referirse a la restricción de integridad en una tabla. Es la clave externa de clave externa, que se utiliza para la conexión de referencia entre tablas y tablas. destrucción de la conexión entre la mesa de operaciones, es posible evitar que los datos ilegales en la columna de clave externa, ya que debe ser un valor del punto de referencia de la tabla
restricciones de integridad campos, se refiere a la columna de la tabla debe satisfacer un restricciones de tipo de datos específico , Incluyendo rango de valores, precisión, etc.
La integridad definida por el usuario es el requisito semántico que deben cumplir los datos para una aplicación específica. Existen principalmente condiciones de restricción de atributos
No NULL, se usa para controlar el contenido del
campo no es único, se usa para controlar el contenido del campo no se puede repetir, puede haber múltiples
Verificaciones, se usa para controlar el rango de valores del campo, verifica si el valor de la columna cumple una determinada condición Expresión

P5: ¿Qué se puede usar para garantizar que los campos de la tabla solo acepten un rango específico de valores?

check puede usarse para limitar el valor ingresado en la columna, dentro de un cierto rango

P6: ¿Qué es una tabla básica? ¿Qué es una vista?

Una tabla básica es una tabla que existe por sí misma, y ​​una relación corresponde a una tabla básica en SQL.
Las vistas son tablas derivadas de una o varias tablas básicas. La vista en sí no se almacena de forma independiente en la base de datos, es una tabla virtual. Se pueden realizar las operaciones básicas de agregar, eliminar y modificar la vista, pero modificar la vista no afecta a la tabla básica. Debido a que la base de datos solo almacena la definición de la vista y no almacena los datos correspondientes a la vista, estos datos aún se almacenan en la tabla básica de la vista exportada.

P7: Ventajas de la vista

Comodidad: la vista puede simplificar la operación del usuario
Ángulo: Permitir que el usuario vea los mismos datos desde múltiples ángulos
Independencia lógica: La vista proporciona un cierto grado de independencia lógica a la base de datos reconstruida
Seguridad: La vista puede proporcionar protección de seguridad para datos confidenciales

P8: Explique las subconsultas correlacionadas y las subconsultas no correlacionadas

En una consulta anidada, si el resultado de la subconsulta no depende de la consulta principal, se convierte en una subconsulta no relacionada; si la condición de consulta de la subconsulta depende de la consulta primaria, se llama subconsulta correlacionada

P9: La diferencia entre soltar \ eliminar \ truncar

Eliminar contenido: eliminar y truncar solo puede eliminar los datos de la tabla, eliminar elimina una fila de datos de la tabla cada vez, truncar puede eliminar los datos de toda la tabla, pero no pueden eliminar la estructura de la tabla, soltar los datos de la tabla y estructurar juntos Eliminar
Después de la eliminación, la eliminación pertenece al lenguaje de manipulación de datos DML. La operación de eliminación se guardará como un registro de transacción en el registro. Por lo tanto, la operación de eliminación se puede revertir y la operación de eliminación se puede deshacer. Truncar y soltar son lenguajes de definición de datos DDL. Una vez ejecutados, no se pueden revertir.
En velocidad de ejecución, truncar y soltar son más rápidos.
Si la operación está relacionada con la transacción, aún debe usar eliminar

Q10: escenarios de aplicación de soltar \ eliminar \ truncar

Cuando ya no necesite una tabla, use soltar para borrar toda la tabla. Para borrar
algunas filas de datos, puede usar borrar, y puede usar la cláusula where para limitar la eliminación de las filas.
Debe mantener la tabla, pero cuando quiera borrar los datos, puede usar truncar

Q11: índice de la base de datos

El índice de la base de datos es similar a un directorio de libros, que puede acelerar la velocidad de consulta de la base de datos.
Un índice es una estructura de datos que puede ordenar los valores de una o más columnas en una tabla de base de datos para acelerar el acceso a los datos. Al buscar contenido específico, no necesita escanear toda la tabla para obtener los datos requeridos. Solo necesita encontrar la correspondencia de acuerdo con el índice. Dirección La analogía es encontrar un cierto punto de conocimiento, no necesita revisar todo el libro, solo necesita encontrar el contenido correspondiente en la tabla de contenido.

P12: Cuándo no crear un índice

El uso principal de los índices es acelerar las consultas, por lo que una base de datos que requiere menos consultas puede reducir el uso o no de un índice.
Para las bases de datos con una pequeña cantidad de datos y un tamaño pequeño, puede haber solo unos pocos registros. El escaneo de una tabla en sí no lleva mucho tiempo. , No es necesario crear un índice. Si agrega un índice, aumentará el contenido que el sistema necesita para mantener y ocupará espacio innecesario
. Las tablas que a menudo deben modificarse y también reducirán el índice tanto como sea posible, al igual que las listas vinculadas y las tablas de secuencia en la estructura de datos. El índice es para facilitar la recuperación, pero la operación de agregar, eliminar y modificar es demasiado frecuente también desperdiciará muchas operaciones al modificar el índice

P13: optimización de índice

El objetivo de la indexación es acelerar la búsqueda. La idea de buscar en la estructura de datos se optimiza principalmente a partir de dos aspectos. Por un lado, la estructura de datos, seleccione la estructura de datos apropiada, el árbol B o la tabla hash; Algoritmos de búsqueda apropiados, búsqueda secuencial, media búsqueda y búsqueda de bloque
Además, los problemas de la computadora también se pueden dividir en hardware y software, el software es en realidad la asignación y optimización de la programación de recursos de hardware.
En el hardware, la búsqueda es principalmente el consumo de tiempo y espacio del acceso a la CPU. La tabla indexada es generalmente grande, y es imposible almacenarlo todo en la memoria. Es decir, la CPU necesita acceder al disco cuando accede a una determinada tabla, lo que genera la programación de E / S de disco. , Asignación de CPU y otros problemas, por lo que la elección de la estructura de datos y el algoritmo debe ser lo más coordinada posible con estos problemas, puede lograr la optimización.

P14: Ventajas y desventajas de los índices.

Ventajas:
pueden aumentado en gran medida el acceso a la base de datos mediante la indexación de la velocidad de información deseada, al tiempo que mejora la eficiencia de los procesos del servidor relacionados con la solicitud de búsqueda
, además de más rápida recuperación de los datos en sí también se puede utilizar en las teclas externas, y la velocidad a la mesa La velocidad de conexión entre tablas.
Desventajas:
lleva tiempo construir y mantener la tabla de índice. En el caso de aumentar los datos, el tiempo empleado también aumentará el
índice. Se necesita una cierta cantidad de espacio físico. Si el sistema operativo gestiona un disco, Debe haber algo así como una tabla de índice para administrar cada dato en el disco, la tabla en sí también ocupa espacio

P15: Diferencia entre clave primaria, clave externa e índice

Clave primaria: identifica de forma exclusiva un registro, no puede haber duplicados y no se permite que esté vacío. Puede garantizar la integridad de la entidad de datos y solo puede haber una clave principal.
Clave externa: la clave externa de una tabla puede estar vacía, o puede usarse gradualmente para establecer contacto con otras tablas para garantizar la integridad referencial de la tabla. Una tabla puede tener múltiples claves externas.
Índice: el índice no tiene valores duplicados, pero puede haber un control que se puede usar para aumentar la velocidad de clasificación de consultas. Una tabla puede tener múltiples índices únicos

P16: ¿Qué es una transacción y sus características?

La transacción es una serie de secuencia inseparable de operaciones de la base de datos, y también es la unidad lógica básica del control de concurrencia de la base de datos.
Los cuatro elementos básicos de la transacción: ACID
atomicity (Atomicity): es decir, la transacción es un período de operación, o todos se ejecutan, o toda la
coherencia revertida (Consistencia): la ejecución de la base de datos de transacciones de un estado a otro estado y atómica de cerca
la línea de separación (aislamiento): antes de las confirmaciones de transacción, no se les permite poner los asuntos de cualquier cambio en los datos disponibles para otros asuntos
persistente (durabilidad): después de la transacción del derecho a presentar los resultados serán almacenados de forma permanente en la base de datos Incluso si hay otras fallas después de que se envíe la transacción, se guardarán los resultados del procesamiento de la transacción. Es decir, una vez enviada, la transacción cambia los datos en la base de datos de forma permanente.

P17: ¿Qué es un cursor?

SQL está orientado a conjuntos. Una sola instrucción SQL puede generar o procesar múltiples registros. El lenguaje principal de SQL incorporado está orientado a registros. Un grupo de variables principales solo puede almacenar un registro a la vez. Por lo tanto, la variable del lenguaje principal no puede cumplir con los requisitos de los datos de salida de la declaración SQL, por lo que el SQL incorporado introduce un cursor para coordinar el procesamiento de los dos.
El cursor es un búfer de datos creado por el sistema para que el usuario almacene el resultado de la ejecución de la instrucción SQL. Cada cursor tiene un nombre. El usuario obtiene el registro a través del cursor y lo asigna a la variable principal, y lo entrega al idioma principal para su posterior procesamiento.

Q18: ¿Qué es un disparador?

Un disparador es un objeto de base de datos relacionado con una tabla, se dispara cuando se cumple una condición definida y ejecuta el conjunto de instrucciones definidas en el disparador. Puede ayudar a la aplicación en el lado de la base de datos para garantizar la integridad de la base de datos

P19: ¿Qué es un procedimiento almacenado? Que llamar

Los procedimientos almacenados son similares a las funciones en otros idiomas. Es un proceso escrito por sentencias SQL de procedimiento. Este proceso se almacena en el servidor de la base de datos después de la compilación y la optimización, y solo se puede invocar cuando se usa.
Use Call / Perform para activar la ejecución del procedimiento almacenado. En el procedimiento SQL, el servidor de bases de datos admite la llamada a otros procedimientos almacenados en el cuerpo del procedimiento.

Formato:
LLAMADA / PROCEDIMIENTO DE RENDIMIENTO nombre del procedimiento

P20: ¿Cuáles son las ventajas y desventajas de los procedimientos almacenados?

Ventajas: puede encapsular un código de operación y guardarlo en la base de datos. Solo necesita ser llamado cada vez. Ahorra mucho tiempo de programación que la realización de oración por oración, y el procedimiento almacenado se almacena en la base de datos después de la compilación. Cada llamada se puede ejecutar directamente, lo que es más eficiente
Desventajas: la sintaxis del procedimiento almacenado de cada base de datos es casi diferente, la compatibilidad es muy pobre y no puede ser universal. Debe poner la lógica empresarial en el lado del servidor, como JAVA.

Q21: comprensión del paradigma

Primera forma normal (1NF): todos los atributos en el modelo relacional R son elementos de datos básicos indivisibles, luego R pertenece a 1NF. El primer paradigma es el requisito mínimo para el modelo relacional: un modelo de base de datos que no cumpla con el primer paradigma no puede llamarse una base de datos relacional.
Segunda forma normal (2NF): si el modo de relación R pertenece a 1NF, y cada atributo no primario depende completamente del código de R, entonces R pertenece a la
tercera forma normal de 2NF (3NF): si el modo de relación R <U, F> No existe tal código X, grupo de atributos Y y atributo no primario Z (Z no está incluido en Y), sí X-> Y (Y no puede determinar X), Y-> Z está establecido, se llama R <U, F> Pertenece a 3NF. (La tercera forma normal elimina las dependencias transitivas sobre la base de la segunda forma normal)
BCND, 3NF modificado o 3NF extendido: si X-> Y e Y no pertenecen a X, X debe tener un código, entonces se llama R <U , F> pertenece a BCNF.
La cuarta forma normal (4NF): el modo de relación R <U, F> pertenece a 1NF, si para cada valor múltiple trivial de R depende de X-> Y (Y no está incluido en X), X tiene un código, se llama R <U , F> pertenece a 4NF.
Dependencia de valores múltiples: Sea R (U) un patrón de relación en el conjunto de atributos U, X, Y, Z son un subconjunto de U, y Z = U-X-Y, dependencia de valor múltiple X en el patrón de relación R (U) -> -> Y es verdadero si y solo si para cualquier relación r de R (U), dado un par de valores (x, z), hay un conjunto de valores Y, que se determina solo por el valor de x y Independiente del valor z

Cualquier relación binaria pertenece a 3NF, BCNF, 4NF

Q22: ¿Qué es un candado?

Similar a la gestión de programación de procesos en el sistema operativo, es una tecnología importante para lograr el control de concurrencia. La base de datos es un recurso compartido utilizado por varios usuarios. Cuando varios usuarios acceden a los datos simultáneamente, se producirán varias transacciones en la base de datos para acceder a los mismos datos simultáneamente. Por lo tanto, debe haber un mecanismo de bloqueo como control.
Cuando la transacción opera en un determinado objeto de datos, envía una solicitud al sistema para que se bloquee. Después del bloqueo, la transacción puede operar en los datos y, después del final, desbloquear y liberar recursos para otras transacciones.

P23: ¿Qué son el bloqueo optimista y el bloqueo pesimista de la base de datos?

La tarea de control de concurrencia en el sistema de gestión de bases de datos DBMS es asegurar que cuando múltiples transacciones accedan a los mismos datos en la base de datos al mismo tiempo, el aislamiento y la unidad de las transacciones y la unidad de la base de datos no se destruyan.
El bloqueo optimista y el bloqueo pesimista son los principales métodos técnicos utilizados en el control de concurrencia.
Bloqueo optimista, es decir, bloqueo de control de concurrencia optimista. Asumiendo que no ocurrirán conflictos de concurrencia, solo verifique las violaciones de integridad de datos cuando envíe operaciones. (Es decir, asigne recursos primero y verifique si hay un problema después de que se complete la operación)
Bloqueos pesimistas, es decir, bloqueos de control concurrentes pesimistas. Suponiendo que ocurran conflictos de concurrencia, se bloquean todas las operaciones que pueden violar la integridad de los datos.

P24: ¿Cuáles son los tipos de tabla de datos?

MySQL admite InnoDB, GEAP, BOB, ARCHIVE, CSV y otros tipos de tablas de datos

Q25: sentencia SQL optimizada

instrucción SQL lo más simple posible
para no tener demasiadas uniones de tablas
menos subconsultas, consulta anidada o vista de anidación tan simples como sea posible
para evitar un escaneo completo de tabla
uso racional del índice, donde cláusula
como la medida de lo posible declaración escrita con mayor claridad,% Aunque se puede omitir mucho, también significa que aumenta la carga de la consulta
. Se reduce el uso de in. Por ejemplo, entre y existe,
se usa select * from table. Los
resultados intermedios se pueden almacenar temporalmente en una tabla temporal, evitando múltiples escaneos del objetivo principal y reduciendo la ejecución de bloqueos compartidos "" Bloqueo "
utiliza un campo lo más pequeño posible, ahorrando memoria y consumo de lectura

P26: La idea de la optimización de la base de datos.

Optimización de la estructura de la base de datos Optimización de
paradigma, eliminando
la división de tablas redundantes (que ahorran espacio) , de modo que la estructura de la tabla no sea demasiado complicada
Optimización del índice
Algoritmo Optimización de la estructura de datos Optimización
física Optimización de la
declaración SQL: como arriba

16 artículos originales publicados · Me gusta0 · Visitas 458

Supongo que te gusta

Origin blog.csdn.net/weixin_43951831/article/details/104842449
Recomendado
Clasificación