Teoría Flashcards
(15 cards)
¿Qué es una DB? ¿Para qué sirve?
Es un conjunto de datos estructurados que pertenecen a un mismo contexto y están organizados de forma lógica.
Ejemplo: Información de pacientes en un hospital.
Propósito:
Guardar y manipular datos de forma organizada y eficiente.
¿Qué es un DBMS (Manejador de Base de Datos)?
Es un programa que permite almacenar, organizar y administrar los datos.
Ejemplos: MySQL, PostgreSQL, MongoDB.
Si el DBMS está apagado, la base de datos no existe funcionalmente.
¿Qué es una base de datos relacional?
Una base de datos relacional cumple las reglas de Codd: los datos se organizan en tablas, con filas (tuplas) y columnas (atributos).
¿Qué es una tabla? ¿Y una vista?
• Tabla: Conjunto de datos con columnas (atributos) y filas (tuplas).
• Vista: Es como una “tabla virtual” que se genera desde una consulta (query). No guarda datos, solo muestra resultados.
Llaves: primaria y foránea
• Llave primaria: Identifica de forma única cada fila. No se puede repetir.
• Llave foránea: Apunta a una llave primaria de otra tabla. Asegura que los datos referenciados existan.
Cascada
cuando se borra/modifica un dato en la tabla padre, se aplica automáticamente en la tabla hija. No es buena práctica crear muchas dependencias en cascada.
Cluster vs Copia
• Cluster: Varios nodos trabajando como si fueran una sola base de datos distribuida. Se necesita confirmar (commit) en varios nodos.
• Copia: Solo se replican datos, pero no asegura que el commit se haya realizado en todos los nodos.
Logs
• Se usan para registrar transacciones (logs de transacciones).
• Permiten hacer rollback si algo falla.
• Ayudan a detectar errores de aplicación.
Problemas de performance
• Relacionados con: índices, hardware, consultas mal hechas.
• Buen diseño y normalización ayuda a evitar cuellos de botella.
Normalización
Es un proceso para organizar los datos y evitar duplicados o dependencias innecesarias. Se divide en formas normales (1FN, 2FN, 3FN…).
Transacciones, Commit, ACID
• Transacción: Grupo de operaciones que se ejecutan como un todo.
• Commit: Confirma los cambios.
• ACID: Reglas que aseguran que las transacciones se hagan correctamente:
• Atomicidad
• Consistencia
• Isolamiento
• Durabilidad
Trigger, procedimiento almacenado, función
• Trigger: Código que se ejecuta automáticamente cuando ocurre un evento (insert, delete, update).
• Procedimiento almacenado: Conjunto de instrucciones que se puede ejecutar.
• Función: Devuelve un valor, se usa dentro de consultas. No se puede hacer commit dentro de una función.
Query, CRUD, dinámico, cursores
• Query: Consulta a la base de datos (SELECT, INSERT, etc.).
• CRUD: Crear, Leer, Actualizar, Borrar.
• Query dinámico: Permite enviar texto como parámetro para formar una consulta.
• Cursor: Permite recorrer una tabla tupla por tupla, útil cuando necesitas analizar cada fila con lógica específica.
Joins
• Natural Join: Une tablas usando columnas que coinciden (clave primaria = clave foránea).
• Outer Join:
• Left Join: Toma todos los datos de la tabla izquierda.
• Right Join: Toma todos los datos de la derecha.
• Full Join: Toma todos los datos de ambas, aunque no haya coincidencia.
Índices y tipos
• Índice: Estructura que mejora la velocidad de búsqueda.
• No forma parte de la tabla, es externo.
• Tipos:
• B-Tree (Árbol binario): Muy usado, permite rangos.
• Hash: Rápido para igualdad exacta.
• Fusión Hash: Técnica avanzada que agrupa y busca coincidencias usando claves hash.