Conocimientos clave de base de datos (mysql)
Mysql es la base de datos relacional más utilizada en Internet en la actualidad. La esencia de una base de datos relacional es dividir un problema en categorías y luego consultarlas a través de relaciones. Un problema típico es cuando un usuario toma prestado un libro. Hay tres tablas, una tabla de relaciones de préstamo de un usuario, un libro y una tabla de préstamo de libros. Cuando necesite consultar si un usuario tomó prestado un libro o si estas personas tomaron prestado el libro, puede utilizar consultas relacionales para lograrlo.
Ejemplo de base de datos relacional
Derivado de la forma normal inglesa, denominada NF. Para diseñar bien una relación, es necesario hacer que la relación cumpla con ciertas restricciones. Una base de datos que cumpla con estas especificaciones es simple y estructurada, y no se produce inserción, eliminación o eliminación. Las operaciones de inserción, eliminación y actualización son anormales. Hay seis paradigmas: primera forma normal (1NF), segunda forma normal (2NF), tercera forma normal (3NF), forma normal de código bajo (BCNF), cuarta forma normal (4NF) y quinta forma normal (5NF). , También llamado paradigma perfecto).
1NF significa que cada columna de la tabla de la base de datos es un elemento de datos atómicos indivisible. 2NF debe satisfacer el requisito de 1NF de que cada fila de la tabla de la base de datos debe ser distinguible de forma única. 3NF se basa en 2NF en el sentido de que ningún atributo no principal depende de ningún otro atributo no principal (eliminando las dependencias transitivas de 2NF). bcnf se construye sobre la base de 3NF. Cualquier atributo no primario no puede depender de un subconjunto de la clave primaria (la dependencia del subconjunto de clave primaria se elimina sobre la base de 3NF. Satisfacer BCNF ya no causará ninguna excepción debido a). dependencias funcionales, pero también podemos encontrar excepciones causadas por dependencias de múltiples valores. La definición de NF es simple: ya está en la forma normal BC y no contiene dependencias multivaluadas. 5NF aborda el problema de las conexiones sin pérdidas, lo que hace que el paradigma sea en gran medida discutible, ya que las conexiones sin pérdidas son raras y difíciles de detectar. El paradigma de clave de dominio intenta definir un paradigma último que considere todo tipo de dependencias y restricciones, pero su valor práctico también es mínimo y sólo existe en la investigación teórica.
Los catálogos y esquemas
son jerarquías en el espacio de nombres de objetos de la base de datos y se utilizan principalmente para resolver conflictos de nombres. Conceptualmente, un sistema de base de datos contiene múltiples directorios, cada directorio contiene múltiples esquemas y cada esquema contiene múltiples objetos de base de datos (tablas, vistas, campos, etc.). Sin embargo, el nombre de la base de datos Mysql es Schema y Catalog no es compatible.
Mysql tiene dos motores de bases de datos principales, MyISAM e InnoDB que admiten búsquedas de texto completo e InnoDB que admiten transacciones.
El carácter comodín "%" en SQL representa cualquier carácter que aparece cualquier número de veces. Las consultas SQL que combinan expresiones regulares se utilizan generalmente para WHERE nombre_tabla REGEXP '^12.34'. Las subconsultas se ejecutan de adentro hacia afuera.
La conexión a la base de datos (unión) involucra claves externas. Una clave externa significa que una columna en una tabla es la clave principal de otra tabla, entonces es una clave externa. Una unión de producto cartesiano (cuando no se especifican condiciones de unión) produce entradas de registro que son simplemente las filas de la primera tabla multiplicadas por las columnas de la segunda tabla. La más comúnmente utilizada es una unión equivalente, también conocida como unión interna.
Las uniones avanzadas también son autouniones, es decir, las dos tablas de la consulta son la misma tabla y generalmente se usan como declaraciones externas en lugar de subconsultas para recuperar datos de la misma tabla. Las uniones naturales devuelven cada columna sólo una vez. Una combinación externa contiene filas que no tienen filas relacionadas en la tabla relacionada. Por ejemplo, enumere todos los productos y las cantidades de sus pedidos, incluidos los productos que nadie ordenó. UNIÓN EXTERNA IZQUIERDA significa seleccionar todas las filas en la tabla de la izquierda.
Una consulta combinada es una consulta que une los resultados de dos consultas utilizando métodos como UNION.
Las vistas son herramientas para ver datos almacenados en otro lugar. No contiene datos en sí, por lo que si modifica los datos en la tabla, los datos devueltos por la vista también se modificarán, por lo que si usa vistas complejas o anidadas, tendrá un gran impacto en el rendimiento. Una de las funciones de las vistas es ocultar el SQL complejo que normalmente implica consultas de unión.
Un procedimiento almacenado es similar a un proceso por lotes y contiene una o más sentencias SQL. Sintaxis:
CREAR PROCEDIMIENTO nombre()
COMENZAR
SQL
FIN
----- --------------------
CALL name() // Llama al procedimiento almacenado
El cursor tiene una definición DECLARE , el cursor se vincula al procedimiento almacenado y cuando el procedimiento almacenado termina de procesarse, el cursor desaparecerá. Una vez abierto el cursor, puede utilizar la instrucción FETCH para acceder a cada fila.
Un disparador ejecuta automáticamente una declaración SQL cuando ocurre un momento específico. Sintaxis:
CREAR nombre DEL DISPARADOR DESPUÉS DE INSERTAR EN talbe_name PARA CADA FILA
El procesamiento de transacciones mantiene la integridad de la base de datos y garantiza que los lotes de operaciones se ejecuten por completo o no se ejecuten en absoluto. Incluye los términos clave transacción, reversión, compromiso y punto de retención. Las operaciones CREATE y DROP no se pueden revertir. Utilice COMMIT para asegurarse de que la transacción se confirme. Las transacciones complejas requieren una confirmación o reversión parcial, por lo que necesitamos usar el punto de guardado SAVEPOINT, puede usar ROLLBACK TO savepoint_name. Una vez completada la transacción, el punto de guardado se libera automáticamente.