Conceptos básicos de MySQL relacionados con los números-1

  1. ¿Cuáles son los tres principales paradigmas de bases de datos?

Los tres paradigmas principales de bases de datos son garantizar la racionalidad y eficiencia de la estructura de la base de datos, e incluyen principalmente:

  1. Primera forma normal: asegúrese de que cada celda tenga un solo valor para evitar la redundancia de datos.

  1. Segunda forma normal: las columnas de clave no principal deben depender de la clave principal para evitar anomalías y redundancias en la actualización de datos.

  1. Tercera forma normal: no puede haber dependencias entre columnas de clave no principal para evitar la redundancia de datos.

La introducción de estos conceptos de normalización puede hacer que el diseño de la base de datos sea más estandarizado y garantizar la precisión, coherencia y eficiencia de los datos.

Adjunto:

Una celda se refiere a una intersección en una tabla de base de datos, que se encuentra en la intersección de filas y columnas y se utiliza para almacenar un elemento de datos. En una base de datos relacional, una tabla generalmente consta de varias filas y columnas, cada celda es la intersección de estas filas y columnas y se utiliza para almacenar los datos correspondientes a la intersección de la fila y la columna.

Por ejemplo, en una tabla de información de estudiantes, cada celda puede representar un determinado atributo de un estudiante, como nombre, edad, sexo, número de estudiante, etc.

La celda es la unidad de almacenamiento de datos más pequeña en la tabla de la base de datos y también es la unidad más básica para el procesamiento de datos. Al diseñar y administrar una base de datos, cada celda debe estar claramente definida para garantizar la precisión y coherencia de los datos de la tabla.

  1. Introduzca las 4 características principales de las transacciones.

  1. Atomicidad: o todas las transacciones se ejecutan con éxito o todas las transacciones fallan y se revierten.

  1. Coherencia: antes y después de ejecutar una transacción, los datos de la base de datos deben permanecer coherentes. Ejemplo: restricciones de clave externa en una base de datos relacional. Las operaciones de inserción o actualización deben satisfacer restricciones de clave externa; de lo contrario, se producirán inconsistencias en los datos.

  1. Aislamiento: varias transacciones deben aislarse entre sí y cada transacción debe desconocer la existencia y las operaciones de otras transacciones.

  1. Durabilidad: una vez confirmada una transacción, sus modificaciones deben guardarse permanentemente en la base de datos.

Abreviatura: ÁCIDO

A-Atomicidad: una transacción es un "átomo" indivisible, es decir, la transacción se completa por completo o no se completa en absoluto, sin un estado intermedio.

C- Consistencia: El resultado de la ejecución de la transacción debe ser que la base de datos cambie de un estado de consistencia a otro estado de consistencia. Cualquier error que ocurra durante la ejecución de la transacción debe revertirse al estado anterior al inicio de la transacción.

I-Aislamiento: cuando se ejecutan múltiples transacciones, cada transacción está aislada entre sí y no interferirá entre sí.

D- Durabilidad: después de completar la transacción, los datos deben persistir en la base de datos y no se pueden perder incluso si el sistema falla o se apaga.

  1. Hay 4 niveles de aislamiento de transacciones comúnmente utilizados

Hay cuatro niveles de aislamiento de transacciones: lectura no confirmada, lectura confirmada, lectura repetible y serializada.

El nivel de aislamiento de transacciones es el mecanismo utilizado por el sistema de gestión de bases de datos para controlar el acceso concurrente. Define el grado de aislamiento entre múltiples transacciones simultáneas.

  1. Lectura no confirmada: este nivel permite que una transacción lea datos que aún no han sido confirmados por otra transacción. Este nivel es más propenso a problemas como lecturas sucias y lecturas fantasma.

  1. Lectura confirmada: este nivel permite que una transacción lea solo datos que han sido confirmados por otra transacción. Este nivel puede evitar problemas de lectura sucia, pero pueden ocurrir problemas de lectura fantasma.

  1. Lectura repetible: este nivel garantiza que cuando una transacción lea los mismos datos varias veces, los resultados siempre sean consistentes. Esto puede evitar problemas de lectura sucia y lectura fantasma, pero pueden ocurrir problemas de lectura no repetibles.

  1. Serializable: este nivel es el nivel de aislamiento más alto, lo que evita problemas de concurrencia al bloquear datos. Todas las transacciones se ejecutan una por una en orden, lo que evita todos los problemas de concurrencia, pero reducirá en gran medida el rendimiento de la base de datos.

Los niveles de aislamiento de bajo a alto mejoran el grado de aislamiento entre transacciones, pero al mismo tiempo también provocan una degradación del rendimiento. Por lo tanto, es necesario seleccionar el nivel de aislamiento adecuado en función de escenarios comerciales y requisitos de rendimiento específicos.

  1. 4 tipos de problemas que puede encontrar al controlar la concurrencia de transacciones de bases de datos

  1. Lectura sucia: significa que una transacción lee los datos modificados no confirmados de otra transacción. Cuando la otra transacción retrocede, los datos leídos no son válidos, lo que provoca consecuencias muy graves y destruye la coherencia de los datos.

  1. Lectura fantasma: significa que en la misma transacción, la misma consulta devolverá diferentes números de resultados en diferentes momentos. Por ejemplo, en una transacción, cuando se ejecuta la sentencia SELECT por primera vez para consultar el número de filas que cumplen las condiciones, el resultado es 2 filas, sin embargo, en la operación posterior, otra transacción inserta una tercera fila de datos que cumple con las mismas condiciones de consulta. Cuando esta transacción ejecuta la instrucción SELECT nuevamente, el resultado son 3 filas, que es una lectura fantasma.

  1. Lectura repetible: significa que cuando una transacción ejecuta la misma consulta varias veces, los resultados siempre son consistentes. Si otra transacción modifica datos durante la consulta de la transacción, la transacción no leerá los resultados de la modificación.

  1. Lectura no repetible: se refiere a una transacción que lee los mismos datos varias veces, pero durante este proceso, otras transacciones modifican los datos, lo que genera resultados diferentes en cada consulta.

La razón principal de estos problemas es un nivel de aislamiento de transacciones inadecuado o un control de concurrencia de transacciones deficiente, por lo que es necesario elegir un nivel de aislamiento apropiado al realizar el acceso concurrente para evitar que ocurran estos problemas.

Para simplificarlo:

Lectura sucia significa que una transacción lee datos no confirmados de otra transacción; lectura fantasma significa que la misma consulta devuelve un número diferente de resultados en diferentes momentos; lectura repetible significa que el número total de resultados de leer los mismos datos varias veces es consistente; no -La lectura repetible se refiere a leer los mismos datos varias veces, pero otras transacciones modifican los datos durante el proceso, lo que da como resultado resultados de consulta diferentes cada vez. La razón principal de estos problemas es un nivel de aislamiento de transacciones inadecuado o un control de concurrencia deficiente, por lo que es necesario elegir un nivel de aislamiento adecuado para evitar estos problemas.

  1. 2 formas de dividir

En las bases de datos, existen dos métodos de división comunes: división horizontal y división vertical.

  1. División horizontal (fragmentación): divida una tabla grande en varias tablas pequeñas por filas. Cada tabla pequeña puede almacenar parte de los datos, lo que reduce la presión de almacenamiento y la presión de consulta de una sola base de datos.

  1. Partición vertical: divida una tabla grande en varias tablas pequeñas según funciones comerciales o columnas, lo que reduce la cantidad de filas en una sola tabla y mejora la eficiencia de las consultas.

  1. División híbrida: combina los dos primeros métodos para dividir tanto por el número de filas como por el número de columnas, logrando así una división y gestión de datos más flexible.

  1. División dinámica: de acuerdo con estrategias como el equilibrio de carga, la división dinámica y la gestión de datos se pueden lograr creando y eliminando bases de datos o tablas dinámicamente, adaptándose así mejor a los cambios en los volúmenes de datos y los volúmenes de acceso.

  1. Consulta entre bases de datos: utilice datos de múltiples bases de datos mediante consultas conjuntas para lograr consultas simultáneas de múltiples fuentes de datos para satisfacer mejor las necesidades comerciales.

Cada método de división tiene sus ventajas, desventajas y escenarios aplicables. La elección específica debe evaluarse y decidirse en función de la situación real.

Se puede utilizar tanto la división horizontal como la vertical para fragmentar bases de datos y tablas.

La división horizontal consiste en dividir horizontalmente una tabla o base de datos grande en varias tablas o bases de datos pequeñas para reducir el almacenamiento y la presión de consulta de una sola tabla o base de datos. Al utilizar la división horizontal en subbases de datos y subtablas, los datos se pueden dividir en diferentes bases de datos o tablas de acuerdo con ciertas reglas, y cada base de datos o tabla solo contiene parte de los datos.

La división vertical consiste en dividir una tabla o base de datos grande en varias tablas o bases de datos pequeñas según columnas o funciones comerciales para reducir la redundancia y complejidad de una sola tabla o base de datos. Al utilizar la división vertical en subbases de datos y subtablas, puede dividir verticalmente una tabla de datos larga en varias tablas de datos cortas, cada una de las cuales contiene solo algunas columnas, o dividir una aplicación grande en varias pequeñas. Las aplicaciones relativamente independientes reducen el tamaño y complejidad de las aplicaciones individuales.

Por lo tanto, en aplicaciones prácticas, según la situación específica, se puede utilizar la división horizontal, la división vertical o una combinación de ambas para lograr el almacenamiento y la gestión de datos a gran escala.

Supongo que te gusta

Origin blog.csdn.net/samsung_samsung/article/details/129749223
Recomendado
Clasificación