Diferencia entre revisiones de «Final del 11/04/12 (Bases de Datos)»

De Cuba-Wiki
(Página creada con «{{Back|Bases de Datos}} Criterio de aprobación: Se aprueba con 12/18.5 puntos, y sin errores conceptuales. == Preguntas == # Defina la durabilidad de una transacción y...»)
 
Línea 5: Línea 5:
== Preguntas ==
== Preguntas ==


# Defina la durabilidad de una transacción y de un ejemplo donde se aplique esta propiedad (1 punto).
===Defina la durabilidad de una transacción y de un ejemplo donde se aplique esta propiedad (1 punto)===
# Defina grafo de precedencia y enuncie el teorema de serializabilidad. Por qué es importante este teorema en el control de concurrencia?(2.5 puntos).
Hace referencia a que una vez commiteados los cambios de una transacción estos cambios no deben ser perdidos incluso ante fallas posteriores (cortes de corriente, crasheos, tuviejas, etc).
# Indique y explique dos diferencias entre el lockeo binario y el shared-lock ( o lockeo ternario).(2 puntos).
 
# Defina la clausura de un atributo. Escriba la definición de clave candidata en función de la clausura.(1.5 puntos).
===Defina grafo de precedencia y enuncie el teorema de serializabilidad. Por qué es importante este teorema en el control de concurrencia?(2.5 puntos)===
# Dada la siguiente relación {NROPEDIDO; CODART, NOMART, CANTPEDIDA, PRECIO, CODEMP. NOMEMP., FECHA}. Indicar: (1.5 puntos).
El grafo de precedencia para una historia H sobre un conjunto T de transacciones (T={t_1, t_2, ..., t_n}) es el grafo digido SG = (V,E) que tiene como nodos a las transacciones y donde existe una arista (u,v) si alguna operación de T_u precede y conflictua con alguna operación de T_v en H.
## Una dependencia funcional completa  
 
## Una dependencia funcional parcial.  
El teorema de serializabilidad consiste en que la historia H es serializable si y solo si su grafo de precedencia es acíclico.
## Una dependencia funcional transitiva.
 
# Cuál es la diferencia entre una clave primaria y un índice único? (1 punto).
===Indique y explique dos diferencias entre el lockeo binario y el shared-lock ( o lockeo ternario).(2 puntos)===
# Indique los tres niveles que tiene la arquitectura de una base de datos. Ejemplifique (1.5 puntos).  
* El lockeo binario tiene dos estados mientars que el ternario tiene 3.
# Mencione dos reglas del álgebra relacional que toma en cuenta la optimización por reglas. Ejemplifique su uso (2 puntos).
* El lockeo binario fuerza exclusión mutua tanto para lectura como para escritura mientras que el ternario lo fuerza sólo para escritores (permite acceso a múltiples lectores).
# De un ejemplo de cómo funciona el recovery en el caso de una caída abrupta de la base de datos por un corte de luz si la misma utiliza redo logging? (2 puntos).
* El lockeo ternario puede sufrir starving de escritores mientras que el binario no.
# Detalle el uso que el DBMS le da al system catalog en el momento de crear una tabla (1 punto).
 
# ¿Por qué es necesario para un DBA conocer la cantidad de registros que inicialmente va a tener una tabla? (1 punto).
===Defina la clausura de un atributo. Escriba la definición de clave candidata en función de la clausura.(1.5 puntos)===
# ¿Cuándo una entidad se considera débil? De un ejemplo (1.5 puntos).
La clausura de un atributo X bajo una serie de dependencias funcionales F es el conjunto X+ de atributos que estan determinados funcionalmente por X aplicando las reglas de inferencia a las dependencias funcionales F. Una clave candidata es un conjunto de atributos tal que su clausura contiene a todos los atributos de la relación.
 
===Dada la siguiente relación {NROPEDIDO; CODART, NOMART, CANTPEDIDA, PRECIO, CODEMP. NOMEMP., FECHA}. Indicar: (1.5 puntos)===
# Una dependencia funcional completa  
# Una dependencia funcional parcial.  
# Una dependencia funcional transitiva.
 
* Dependencia funcional completa: CODART -> NOMART
* Dependencia funcional parcial: CODART, NOMART, CANTPEDIDA -> PRECIO
* Dependencia funcional transitiva: NROPEDIDO -> NOMEMP
 
===Cuál es la diferencia entre una clave primaria y un índice único? (1 punto)===
Para una tabla puede haber mas de un índice único pero solo una clave primaria.
 
===Indique los tres niveles que tiene la arquitectura de una base de datos. Ejemplifique (1.5 puntos). ===
* Esquema conceptual: Las tablas y los atributos que las forman corresponden al esquema conceptual, asi como el
lenguaje utilizado para realizar queries a la base de datos.
* Esquema interno: Corresponde a la estructura de los archivos y como se almacenan los datos en los mismos (sorted, heap). Tambien
incluye elementos como los índices que tenga la tabla.
* Esquema externo: Corresponde a las vistas para usuarios, que dan una porción de interés del esquema conceptual para esconder el
resto a los usuarios que no les concierne.
 
===Mencione dos reglas del álgebra relacional que toma en cuenta la optimización por reglas. Ejemplifique su uso (2 puntos)===
* Conmutatividad de selects: Permite elegir el select menos selectivo para disminuir rapidamente la cantidad de tuplas, lo
cual disminuye la cantidad de bloques que hay que leer y escribir a disco para mantener los buffers.
* Conmutatividad de la junta: Permite, al realizar un block nested loop join, elegir la menor de las relaciones para tener en
memoria para disminuir el uso de bloques de disco y por lo tanto disminuir la cantidad de lecturas necesarias para poder realizar el
escaneo.
 
===De un ejemplo de cómo funciona el recovery en el caso de una caída abrupta de la base de datos por un corte de luz si la misma utiliza redo logging? (2 puntos). ===
En primer lugar se restaura la base de datos a un punto consistente si la misma resulto dañada. Posteriormente, asumiendo que no se utiliza checkpointing, se comienza desde el inicio del log hacia abajo, rehaciendo todas las operaciones de las transacciones que commitearon. Por ultimo, se escribe abort para las transacciones que no commitearon y se flushea el log a disco.
 
===Detalle el uso que el DBMS le da al system catalog en el momento de crear una tabla (1 punto)===
Al crear una tabla, el DBMS debe revisar que la definicion sea consistente (por ejemplo revisando que no haya una tabla con el mismo nombre en la base de datos, y que las foreign keys y constraints referencien tablas correctas y existentes). Posteriormente de validar la definición de la tabla, escribe los metadatos de la misma al system catalog para posterior referencia en comandos usando el DDL y DML.
 
===¿Por qué es necesario para un DBA conocer la cantidad de registros que inicialmente va a tener una tabla? (1 punto)===
Para saber en cuantos shards debe dividir la tabla para poder escalar acordemente. Por ejemplo, si se sabe que la cantidad de datos excede el tamaño que permite tolerar una máquina sera necesario dividirlos en varias máquinas.
 
===¿Cuándo una entidad se considera débil? De un ejemplo (1.5 puntos)===
Una entidad se considera débil si no tiene atributos clave propios: derivan su existencia de otra entidad y necesitan de su identificación para distinguirse de otras.
 
Ejemplo: Hotel -- Habitación.

Revisión del 20:51 25 jul 2014

Plantilla:Back

Criterio de aprobación: Se aprueba con 12/18.5 puntos, y sin errores conceptuales.

Preguntas

Defina la durabilidad de una transacción y de un ejemplo donde se aplique esta propiedad (1 punto)

Hace referencia a que una vez commiteados los cambios de una transacción estos cambios no deben ser perdidos incluso ante fallas posteriores (cortes de corriente, crasheos, tuviejas, etc).

Defina grafo de precedencia y enuncie el teorema de serializabilidad. Por qué es importante este teorema en el control de concurrencia?(2.5 puntos)

El grafo de precedencia para una historia H sobre un conjunto T de transacciones (T={t_1, t_2, ..., t_n}) es el grafo digido SG = (V,E) que tiene como nodos a las transacciones y donde existe una arista (u,v) si alguna operación de T_u precede y conflictua con alguna operación de T_v en H.

El teorema de serializabilidad consiste en que la historia H es serializable si y solo si su grafo de precedencia es acíclico.

Indique y explique dos diferencias entre el lockeo binario y el shared-lock ( o lockeo ternario).(2 puntos)

  • El lockeo binario tiene dos estados mientars que el ternario tiene 3.
  • El lockeo binario fuerza exclusión mutua tanto para lectura como para escritura mientras que el ternario lo fuerza sólo para escritores (permite acceso a múltiples lectores).
  • El lockeo ternario puede sufrir starving de escritores mientras que el binario no.

Defina la clausura de un atributo. Escriba la definición de clave candidata en función de la clausura.(1.5 puntos)

La clausura de un atributo X bajo una serie de dependencias funcionales F es el conjunto X+ de atributos que estan determinados funcionalmente por X aplicando las reglas de inferencia a las dependencias funcionales F. Una clave candidata es un conjunto de atributos tal que su clausura contiene a todos los atributos de la relación.

Dada la siguiente relación {NROPEDIDO; CODART, NOMART, CANTPEDIDA, PRECIO, CODEMP. NOMEMP., FECHA}. Indicar: (1.5 puntos)

  1. Una dependencia funcional completa
  2. Una dependencia funcional parcial.
  3. Una dependencia funcional transitiva.
  • Dependencia funcional completa: CODART -> NOMART
  • Dependencia funcional parcial: CODART, NOMART, CANTPEDIDA -> PRECIO
  • Dependencia funcional transitiva: NROPEDIDO -> NOMEMP

Cuál es la diferencia entre una clave primaria y un índice único? (1 punto)

Para una tabla puede haber mas de un índice único pero solo una clave primaria.

Indique los tres niveles que tiene la arquitectura de una base de datos. Ejemplifique (1.5 puntos).

  • Esquema conceptual: Las tablas y los atributos que las forman corresponden al esquema conceptual, asi como el

lenguaje utilizado para realizar queries a la base de datos.

  • Esquema interno: Corresponde a la estructura de los archivos y como se almacenan los datos en los mismos (sorted, heap). Tambien

incluye elementos como los índices que tenga la tabla.

  • Esquema externo: Corresponde a las vistas para usuarios, que dan una porción de interés del esquema conceptual para esconder el

resto a los usuarios que no les concierne.

Mencione dos reglas del álgebra relacional que toma en cuenta la optimización por reglas. Ejemplifique su uso (2 puntos)

  • Conmutatividad de selects: Permite elegir el select menos selectivo para disminuir rapidamente la cantidad de tuplas, lo

cual disminuye la cantidad de bloques que hay que leer y escribir a disco para mantener los buffers.

  • Conmutatividad de la junta: Permite, al realizar un block nested loop join, elegir la menor de las relaciones para tener en

memoria para disminuir el uso de bloques de disco y por lo tanto disminuir la cantidad de lecturas necesarias para poder realizar el escaneo.

De un ejemplo de cómo funciona el recovery en el caso de una caída abrupta de la base de datos por un corte de luz si la misma utiliza redo logging? (2 puntos).

En primer lugar se restaura la base de datos a un punto consistente si la misma resulto dañada. Posteriormente, asumiendo que no se utiliza checkpointing, se comienza desde el inicio del log hacia abajo, rehaciendo todas las operaciones de las transacciones que commitearon. Por ultimo, se escribe abort para las transacciones que no commitearon y se flushea el log a disco.

Detalle el uso que el DBMS le da al system catalog en el momento de crear una tabla (1 punto)

Al crear una tabla, el DBMS debe revisar que la definicion sea consistente (por ejemplo revisando que no haya una tabla con el mismo nombre en la base de datos, y que las foreign keys y constraints referencien tablas correctas y existentes). Posteriormente de validar la definición de la tabla, escribe los metadatos de la misma al system catalog para posterior referencia en comandos usando el DDL y DML.

¿Por qué es necesario para un DBA conocer la cantidad de registros que inicialmente va a tener una tabla? (1 punto)

Para saber en cuantos shards debe dividir la tabla para poder escalar acordemente. Por ejemplo, si se sabe que la cantidad de datos excede el tamaño que permite tolerar una máquina sera necesario dividirlos en varias máquinas.

¿Cuándo una entidad se considera débil? De un ejemplo (1.5 puntos)

Una entidad se considera débil si no tiene atributos clave propios: derivan su existencia de otra entidad y necesitan de su identificación para distinguirse de otras.

Ejemplo: Hotel -- Habitación.