Parte 2 -Tema 5 Flashcards
Bases de datos relacionales
¿Qué es una base de datos relacional?
Es una colección de datos estructurados en tablas relacionadas entre sí. Cada tabla contiene registros (filas) y campos (columnas) que representan entidades y sus atributos.
¿Qué es un SGBDR?
Es un software que permite crear, mantener y manipular bases de datos relacionales. Facilita el almacenamiento, recuperación y gestión de grandes volúmenes de datos.
¿Cuáles son los componentes principales de un SGBDR?
Motor de base de datos, lenguaje de consulta (SQL), diccionario de datos y herramientas de administración.
¿Cuál es la importancia del modelo relacional en los SGBDR?
El modelo relacional proporciona una estructura lógica para organizar los datos en tablas relacionadas, lo que facilita la comprensión, el acceso y la manipulación de la información.
¿Qué significa ACID?
ACID es un acrónimo que representa las cuatro propiedades fundamentales de una transacción en una base de datos:
* Atomicidad: Una transacción se ejecuta como una unidad atómica. O se completa en su totalidad o no se realiza ningún cambio.
* Consistencia: Una transacción mueve la base de datos de un estado consistente a otro. Se preservan las reglas de integridad.
* Aislamiento: Cada transacción se ejecuta como si fuera la única en el sistema. Los efectos de una transacción no son visibles para otras transacciones concurrentes hasta que se completa.
* Durabilidad: Una vez que una transacción se ha comprometido, los cambios realizados son permanentes y sobreviven a fallos del sistema.
¿Por qué son importantes las propiedades ACID?
- Integridad de los datos: Garantizan que los datos se mantengan consistentes y libres de corrupción.
- Confiabilidad: Aumentan la confiabilidad de las aplicaciones que interactúan con la base de datos.
- Recuperación: Facilitan la recuperación de la base de datos en caso de fallos.
- Concurrencia: Permiten que múltiples transacciones se ejecuten de forma concurrente sin comprometer la integridad de los datos.
¿Cómo se implementan las propiedades ACID?
- Mecanismos de bloqueo: Se utilizan para garantizar el aislamiento de las transacciones y evitar conflictos.
- Registros de transacciones: Se mantienen registros de las operaciones realizadas en una transacción para permitir la recuperación en caso de fallo.
- Puntos de control: Se establecen puntos de control periódicos para facilitar la recuperación.
- Gestores de transacciones: Son componentes del SGBDR que se encargan de coordinar y gestionar las transacciones.
¿Qué es el modelo relacional?
Es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Organiza la información en tablas relacionadas entre sí, lo que facilita su gestión y consulta.
¿Cuáles son los componentes básicos del modelo relacional?
- Tabla: Una estructura bidimensional compuesta por filas (tuplas) y columnas (atributos).
- Tupla: Una fila en una tabla que representa un registro o entidad.
- Atributo: Una columna en una tabla que define una característica de la entidad.
- Dominio: El conjunto de valores posibles que puede tomar un atributo.
- Clave primaria: Un atributo o conjunto de atributos que identifica de forma única cada tupla en una tabla.
- Clave foránea: Un atributo en una tabla que hace referencia a la clave primaria de otra tabla, estableciendo una relación.
¿Qué es una relación en el modelo relacional?
Es un conjunto de tuplas que comparten un esquema común. En términos más simples, es una tabla.
¿Cuál es la importancia del modelo relacional?
- Estructura: Proporciona una estructura clara y organizada para los datos.
- Flexibilidad: Permite representar una amplia variedad de información.
- Estandarización: SQL, el lenguaje estándar para bases de datos relacionales, facilita la interacción con los datos.
- Integridad: Las claves primarias y foráneas garantizan la integridad de los datos.
¿Qué es la normalización y por qué es importante?
Es un proceso que busca minimizar la redundancia y las anomalías en los datos, organizándolos en tablas de forma lógica y eficiente.
¿Qué es un diagrama entidad-relación (DER)?
Es una representación gráfica que muestra la estructura lógica de una base de datos, ilustrando las entidades (objetos o conceptos) y las relaciones entre ellas.
¿Cuáles son los elementos principales de un DER?
- Entidades: Representan los objetos o conceptos del mundo real.
- Atributos: Son las propiedades de las entidades.
- Relaciones: Muestran cómo se conectan las entidades entre sí.
¿Cuáles son los tipos de relaciones más comunes en un DER?
- Uno a uno: Una entidad se relaciona con una y solo una entidad de otro tipo.
- Uno a muchos: Una entidad se relaciona con muchas de otro tipo, pero una entidad de la segunda solo se relaciona con una de la primera.
- Muchos a muchos: Una entidad se relaciona con muchas de otro tipo y viceversa.
¿Cuáles son los pasos para crear un DER?
- Identificar las entidades y sus atributos.
- Establecer las relaciones entre las entidades.
- Definir las cardinalidades de las relaciones.
- Determinar las claves primarias y foráneas.
¿Qué es una cardinalidad en un DER?
Indica el número de instancias de una entidad que pueden estar asociadas con una instancia de otra entidad en una relación.
¿Cuál es la diferencia entre una entidad fuerte y una débil?
- Entidad fuerte: Existe por sí misma y tiene su propia clave primaria.
- Entidad débil: Depende de otra entidad para existir y su clave primaria incluye parte de la clave primaria de la entidad fuerte.
¿Cómo se relaciona la normalización con los DER?
La normalización ayuda a asegurar que el diseño del DER sea eficiente y evite redundancias. Los DER se utilizan para representar el diseño lógico de una base de datos antes de la normalización.
¿Qué es SQL?
SQL (Structured Query Language) es un lenguaje estándar para gestionar bases de datos relacionales. Se utiliza para definir, manipular y consultar datos.
¿Cuáles son los principales tipos de sentencias SQL?
- DDL (Data Definition Language): Crea, modifica y elimina objetos de la base de datos (tablas, índices, etc.). Ejemplos: CREATE TABLE, ALTER TABLE, DROP TABLE.
- DML (Data Manipulation Language): Inserta, actualiza, elimina y recupera datos de las tablas. Ejemplos: SELECT, INSERT, UPDATE, DELETE.
- DCL (Data Control Language): Controla el acceso a los datos y define los permisos de los usuarios. Ejemplos: GRANT, REVOKE.
¿Qué es una unión (JOIN) en SQL?
Combina filas de dos o más tablas basadas en una relación común.
¿Cuáles son los tipos de uniones más comunes?
- INNER JOIN: Devuelve solo las filas que tienen un valor coincidente en ambas tablas.
- LEFT JOIN: Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la derecha.
- RIGHT JOIN: Devuelve todas las filas de la tabla derecha y las filas coincidentes de la izquierda.
- FULL OUTER JOIN: Devuelve todas las filas cuando hay una coincidencia en alguna de las tablas.
¿Qué es un índice en una base de datos?
Es una estructura de datos que mejora la velocidad de acceso a los datos, similar a un índice de un libro.
¿Cuándo es recomendable crear un índice?
Cuando se realizan consultas frecuentes sobre una columna específica o una combinación de columnas.
¿Qué es T-SQL?
Es el lenguaje de programación estructurado para SQL Server. Se utiliza para crear procedimientos almacenados, funciones, triggers y otros objetos de base de datos.
¿Qué es PL/SQL?
Es el lenguaje de programación procedural para Oracle. Ofrece funcionalidades similares a T-SQL y se utiliza para crear bloques de código, procedimientos, funciones y paquetes.
¿Cuáles son las principales diferencias entre T-SQL y PL/SQL?
- Sintaxis: Aunque son similares, existen diferencias en la sintaxis de algunas sentencias y funciones.
- Características: Ambos ofrecen funcionalidades similares, pero hay algunas diferencias en cuanto a las características avanzadas y la implementación de ciertas funcionalidades.
- Optimización: Los mecanismos de optimización pueden variar entre ambos lenguajes.
¿Qué es un procedimiento almacenado?
Es un conjunto de sentencias SQL precompiladas y almacenadas en la base de datos. Se ejecutan como una unidad atómica y pueden recibir parámetros de entrada y devolver resultados.
¿Qué es una función?
Es similar a un procedimiento almacenado, pero siempre devuelve un valor.
¿Qué es un trigger?
Es un procedimiento que se ejecuta automáticamente en respuesta a un evento de base de datos, como una inserción, actualización o eliminación.
¿Cuáles son las técnicas básicas para optimizar consultas SQL?
- Crear índices adecuados.
- Evitar el uso de funciones en las cláusulas WHERE.
- Utilizar subconsultas de forma eficiente.
- Minimizar la cantidad de datos devueltos por una consulta.