Conceptos Fundamentales y Objetivos
- Las vistas definidas utilizando funciones de agrupamiento y agregación no son actualizables.
- Las vistas son relaciones virtuales definidas mediante una expresión de consulta.
Notación
- T: Condición simple.
- L: Lista de atributos.
- R, S, T: Relaciones.
- ATRIB(X): Conjunto de atributos que aparecen en X.
Objetivos de Aprendizaje
- Comprender las tareas de procesamiento y optimización de consultas realizadas por un Sistema Gestor de Base de Datos Relacional (SGBDR).
- Conocer diferentes estrategias de implementación de operaciones relacionales, en particular la de unión (JOIN), y cómo evaluar el coste estimado de cada estrategia.
Operaciones y Fases
- Realizar las operaciones S tan pronto como sea posible.
- Realizar las operaciones P tan pronto como sea posible, pero no antes de las operaciones.
Implementación y Gestión de Bases de Datos
Implementación de Vistas
- Tabla virtual: Vista.
- Modificación de la consulta de la vista: Modificación de consulta.
- Creación de tabla temporal: Materialización de vista.
Tipos de Transacciones
- Cuando el cliente hace requerimientos a más de un servidor y cada transacción accede a los objetos en los servidores secuencialmente: Transacción Plana.
- Cuando la transacción de mayor nivel puede abrir subtransacciones y, a su vez, cada subtransacción puede abrir otras en niveles más bajos de anidamiento: Transacción Anidada.
Control de Concurrencia: Bloqueos
- Fase de Crecimiento: Una transacción puede obtener bloqueos, pero no puede liberarlos.
- Fase de Decrecimiento: Una transacción puede liberar bloqueos, pero no puede obtener ninguno nuevo.
Seguridad en Bases de Datos: Vulnerabilidades y Contramedidas
Personal
- Vulnerabilidad: Contraseñas cortas e incluyen fecha de nacimiento. Contramedida: Usar autenticación de múltiple nivel.
- Vulnerabilidad: Contraseña en blanco. Contramedida: Políticas complejas de contraseña.
Estación de Trabajo
- Vulnerabilidad: Personal no autorizado puede utilizar la computadora. Contramedida: Agregar equipos de seguridad a la computadora.
- Vulnerabilidad: Datos perdidos por discos duros robados. Contramedida: Planes de respaldo y recuperación de datos.
Sistema Operativo (SO)
- Vulnerabilidad: Violadores de contraseñas. Contramedida: Usar GPO para instalaciones no autorizadas.
- Vulnerabilidad: Ataques de virus. Contramedida: Instalar software antivirus y antiespía.
Aplicaciones (APP)
- Vulnerabilidad: Correos de ingeniería social. Contramedida: Educar usuarios contra ataques de ingeniería social (I.S.).
- Vulnerabilidad: Inyección SQL, asalto a sesión. Contramedida: Extensas pruebas de vulnerabilidad de seguridad.
Red
- Vulnerabilidad: Detectores de paquetes. Contramedida: Redes Privadas Virtuales (VPN).
- Vulnerabilidad: Falsificación de datos IP. Contramedida: Instalar cortafuegos.
Datos
- Vulnerabilidad: Se puede tener acceso remoto a datos. Contramedida: Usar permisos de acceso.
- Vulnerabilidad: Datos robados desde recursos compartidos. Contramedida: Cifrar datos a nivel de SO base.
Caracterización de Consultas
Realice un diagrama sobre caracterización de consultas. Los elementos clave son:
- Lenguaje
- Optimización
- Estadísticas
- Lugar de decisión
- Topología de red
- Fragmentos replicados
- Uso de semijoins
Cuestionario de Verdadero o Falso (V/F)
- Una vista en terminología SQL es una tabla que deriva de otras tablas. (V)
- Una vista en terminología SQL es una vista que deriva de otras BD. (F)
- En SQL se utiliza el comando
SELECT * FROMpara especificar una vista. (F) - En SQL se utiliza el comando
CREATE VIEWpara especificar una vista. (V) - Los sistemas que contienen bases de datos están completamente seguros y no necesitan procedimientos de seguridad. (F)
- El DBA (Administrador de Base de Datos) debe trabajar estrechamente con especialistas en seguridad en Internet para asegurar que las bases de datos estén debidamente protegidas de ataques. (V)
- El trabajo del DSO (Oficial de Seguridad de Datos) es garantizar la seguridad e integridad de la base de datos. (V)
- Las características que se deben recoger de cada transacción son las siguientes: datos que utiliza la transacción, características funcionales de la transacción, salida de la transacción, importancia para los usuarios, frecuencia de utilización. (V)
- La integridad en una base de datos se refiere a la corrección y exactitud de la información contenida. (V)
- La integridad de dominio no viene dada por la validez de las entradas para una columna determinada. (F)
- La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. (V)
- El objetivo de la reducción de expresiones es eliminar redundancias en la propia expresión o contrastes con reglas de integridad. (V)
- Por razones de eficiencia del procesamiento de consulta, una vista puede estar materializada, es decir, la consulta se evalúa y el resultado se almacena virtualmente. (F)
- La confiabilidad se puede interpretar como la probabilidad de que un sistema no haya experimentado ninguna falla dentro de un periodo de tiempo dado. (V)
- La durabilidad es cuando las operaciones de una transacción se ejecutan todas o ninguna. (F)
- El Administrador de la Base de Datos es el responsable de garantizar la integridad, confidencialidad y confiabilidad de la base de datos. (V)
- Las fallas del medio de almacenamiento se pueden deber a un error debido a datos de entrada incorrectos, así como a la detección de un interbloqueo. (F)
- Compartido: Si una transacción TI obtiene un bloqueo en modo exclusivo (denotado por X) sobre el elemento Q, entonces TI puede tanto leer como escribir Q. (F)
Preguntas de Opción Múltiple
- Sobre implementación de vistas y sus metodologías eficientes: Todas las anteriores.
- Seguridad significa: Proteger los datos contra uso accidental o intencional por usuarios no autorizados.
- ¿Con qué comando puedo deshacer una transacción en BDD?
ROLLBACK - ¿Con qué comando se inicia una transacción en BDD?
BEGIN - ¿Cuáles son las propiedades de las transacciones? Atomicidad, Coherencia, Aislamiento, Durabilidad (ACID).
- Define una fila como entidad única para una tabla determinada: Integridad de Entidad.
- Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas: Integridad Referencial.
- Algunos casos de concurrencia pueden ser: La multiprogramación, las aplicaciones estructuradas.
- Con la reducción de expresiones se pretende: Reducir la complejidad de la consulta.
- Las operaciones básicas del Álgebra Relacional se dividen en: Operaciones básicas, operaciones adicionales, operaciones extendidas.
- Subraye las características de los procesadores de consultas: Tipo de optimización, granularidad de la optimización, estadísticas, nodos de decisión.
- Después de que una transacción se ejecutó con éxito, los cambios en la base de datos persisten más allá de las fallas del sistema, esto se conoce como: Durabilidad.
- Asegura que en el sistema implementado no ocurrirá ninguna falla. Se buscan todas las fallas durante el desarrollo antes de ser implementado, y si alguna falla surge se hace el mantenimiento manualmente: Técnica de Prevención de Fallas.
- En un sistema distribuido se pueden presentar fallas en el procesador, la memoria principal o la fuente de energía de un nodo. Este tipo de fallas se asume que el contenido de la memoria principal se pierde, pero el contenido del almacenamiento secundario es seguro, esto se conoce como: Fallas en el Sistema.
- Para asegurar la confiabilidad de la base de datos (proceso para fallo) se debe de tener: Seguridad, copias de respaldo, unificación del lenguaje.
- Tiempo medio hasta la falla de un producto no reparable o tiempo hasta la primera falla de un producto reparable: TMHF (Tiempo Medio Hasta la Falla).
- Es el tiempo promedio operativo de un sistema o equipo entre mantenimientos para prevenir o corregir el mal funcionamiento: Tiempo Medio Entre Mantenimiento (TMEM).
- ¿Cuántos elementos posee el protocolo basado en el bloqueo? 5
- ¿Cuántos métodos de implementar las marcas temporales existen? 2
- Subraye las opciones que corresponde a las reglas de escritura de Thomas: Todas las anteriores son correctas.
Preguntas Abiertas y Definiciones
¿Qué es una Vista?
Una vista no existe necesariamente en formato físico; es considerada como una tabla virtual. En SQL se utiliza el comando
CREATE VIEWpara especificar una vista. A una vista se le asigna un nombre de tabla (virtual).¿Qué es una Política de Seguridad?
Es un conjunto de normas, políticas y procedimientos creados para garantizar la seguridad de un sistema, de una auditoría y del apego a normas.
¿Cuáles son los tipos de violación de seguridad?
Dañada y perseverada.
Escriba las características de la Descomposición de Consultas.
- Normalización
- Análisis
- Simplificación
- Reestructuración
Mencione las cuatro capas principales de la Arquitectura del Procesamiento de Consultas.
- Descomposición de Consultas
- Localización de Datos
- Optimización Global de Consultas
- Optimización Local de Consultas
Las ventajas de utilizar la Descomposición de Consultas son:
- Favorecer la naturaleza distribuidora de muchas aplicaciones, no solamente a nivel local sino incluso en diferentes lugares.
- Mejorar el rendimiento de las consultas a través de la utilización de algoritmos eficientes.
- Reducir el número de transacciones ejecutándose por sitio.
- Un paralelismo entre las consultas ejecutando varias de estas en sitios diferentes.
- Aumento de la fiabilidad y la disponibilidad de los datos.
- La autonomía de estos sistemas es alta.
Las desventajas de utilizar la Descomposición de Consultas son:
- Hay una menor seguridad en cuanto al control de acceso a los datos: control de réplicas y errores que puedan producirse en la red.
- Mayor complejidad en el diseño e implementación del sistema. Además, si la replicación de datos no se hace de forma adecuada, las ventajas se pueden transformar en desventajas.
- Falta de estándares y de experiencia en estos modelos avanzados de BD.
- No se puede garantizar al 100 % el rendimiento y la fiabilidad.
Responda cuáles son los subsistemas de Transacciones que existen y describa alguna de ellas.
- En las transacciones de recuperación se accede a los datos para visualizarlos en la pantalla a modo de informe.
- En las transacciones de actualización se insertan, borran o actualizan datos de la base de datos.
- En las transacciones mixtas se mezclan operaciones de recuperación de datos y de actualización.
Nombre los comandos más utilizados para tener control de una transacción en BDD.
ROLLBACKBEGINCOMMITROLLBACK TOSAVEPOINT
¿Qué es Atomicidad?
En un sistema de transacciones se asegura de que todas las operaciones realizadas por una transacción confirmada correctamente se completen o ninguna. (Propiedad ACID).
¿Qué es Coherencia?
Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente. (Propiedad ACID).
¿Qué es Aislamiento?
El aislamiento requiere que parezca que cada transacción sea la única que manipula el almacén de datos, aunque se puedan estar ejecutando otras transacciones al mismo tiempo. (Propiedad ACID).
¿Qué es Serializabilidad?
Serializabilidad significa que los efectos de un conjunto de transacciones simultáneas deben dar el mismo resultado que si se ejecutaran en serie.
Nombre los problemas de Concurrencia:
- Actualización Perdida
- Dependencia No Confirmada
- Análisis Inconsistente
Indique las dos fases de algoritmos basados en candados y describa una de ellas:
- Fase de Crecimiento: En la fase de crecimiento de la transacción se establecen los cerrojos (bloqueos).
- Fase de Decrecimiento: En la fase de decrecimiento se liberan los cerrojos (bloqueos).
Escriba una característica de las Pruebas de Validación Optimista (OPT):
- No realiza ninguna verificación durante la ejecución.
- Los cambios se realizan sobre copias locales.
- Al final de la ejecución existe una fase de validación que comprueba que cualquiera de las actualizaciones violaba la serializabilidad.
Según la estimación del coste, mencione los tres principales puntos de vista que son considerados.
- Atributo
- Medida
- Métrica
¿En qué sentido difiere el procesamiento de consultas en los sistemas relacionales del procesamiento de lenguajes de consultas de bajo nivel para sistemas de red jerárquicos?
En los sistemas de bases de datos en red y jerárquicos de primera generación, el sistema de consulta procedimental de bajo nivel está generalmente incrustado en un lenguaje de programación de alto nivel y es responsabilidad del programador seleccionar la estrategia de ejecución más apropiada.
¿Cuáles son las fases del Procesamiento de Consultas?
- Descomposición
- Optimización
- Generación de Código
- Ejecución
¿Cuál es la función principal del Procesador de Consultas?
Transformar una consulta en una especificación de alto nivel (típicamente en cálculo relacional) a una consulta equivalente en una especificación de bajo nivel (típicamente alguna variación del álgebra relacional).
Nombre todos los componentes y defina uno de ellos.
- Intérprete del LDD: Interpreta las instrucciones del LDD (Lenguaje de Definición de Datos) y registra las definiciones en el diccionario de datos.
- Compilador del LMD: Traduce las instrucciones del LMD (Lenguaje de Manipulación de Datos) en un lenguaje de consultas a instrucciones de bajo nivel que entienda el motor de evaluación de consultas.
- Motor de Evaluación de Consultas: Ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD.
