Final del 26/12/13 (Bases de Datos)

De Cuba-Wiki

De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto)

SELECT saldo FROM cuenta WHERE userId = 3141592653; //s_pi

//Sacar 30 pé de la cuenta

UPDATE cuenta SET saldo=/*s-pi-30*/ WHERE userId = 3141592653;

Describa detalladamente dos pruebas que haria sobre un sistema para comprobar detalladamente el funcionamiento del lockeo. (2 puntos)

Definicion de forma normal de Boyce Codd. (1 punto)

Un esquema R está en forma normal de Boyce Codd si para toda dependencia funcional no trivial X->A vale que X es una superclave de R.

Definicion de dependencia funcional parcial. De un ejemplo. (1 punto)

Una dependencia funcional es una restricción semántica entre conjuntos de atributos. En una tabla existe la dependencia funcional A->B si cada vez que A[x] == A[y] necesariamente vale que B[x] == B[y].

Una dependencia funcional X->Y es parcial si existe un subconjunto C de X tal que {X\C}->Y sigue valiendo.

Ej: {codEmpleado,nombre}->{apellido}

Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos)

Una clave foránea es una restricción que aplica a un atributo de una relación que establece que el valor de ese atributo debe referenciar una columna (o conjunto de columnas) de otra tabla.

Esta restricción es tomada en cuenta para las operaciones INSERT y UPDATE. Para modificarla se utiliza ALTER y CREATE.

¿Cual es la diferencia entre una agregación y una relacion ternaria? (2 puntos)

¿Cuando un indice se llama secundario? (1 punto)

Cuando el índice no tiene el mismo órden que la tabla.

¿Como pueden utilizarse los stored procedures para aumentar la seguridad de una base de datos? ¿Por que? (2 puntos)

Se pueden utilizar para restringir las operaciones de los usuarios a aquellas que el DBA considera son adecuadas para los usuarios. Por ejemplo, no proveer acceso de bajo nivel sino más bien dar operaciones semánticas como "transferir dinero" o "consultar balance". Esto se puede combinar con la cláusula GRANT de SQL para determinar los permisos sobre la base.

¿Cual es la diferencia entre Commit y Checkpoint? (1.5 puntos)

Commit es para una transacción, Checkpoint es general para toda la base de datos. Commit indica que la transacción ha tenido éxito y las operaciones debieran ser bajadas a disco. Checkpoint es un punto de control de manera que en caso de tener que restaurar la base de datos desde el log no se tenga que restaurar.

Detalle el uso que le da el DBMS al System Catalog en el momento de hacer un insert en una tabla. (2 puntos)

Revisa que los tipos de datos provistos para el insert matcheen con la estructura de la tabla definida en el system catalog. Además valida todos los constrains de la tabla (también almacenados en el catalog) tales como UNIQUE, FOREIGN KEY.

¿Cuales son las formas clasicas que tienen los modelos de DW? (2 puntos)

  • Snowflake.
  • Star.

¿Que es una dimension en el modelo de un DW? (2 puntos)

Una dimensión es una colección de miembros o unidades o individuos del mismo tipo. Cada punto de entrada de la tabla de HECHOS está conectado a una DIMENSION. Determinan el contexto de los HECHOS. Informalmente, representan los ángulos desde los que puedo observar (tiempo, ubicación, etc).

Mencione y explique dos parametros que necesita conocer el DBA sobre una tabla a la hora de crearla. (1 punto)

  • Los atributos (con sus respectivos tipos de datos).
  • Sus restricciones (foreign keys, valores uniques, etc).

¿Cuales son los niveles de aislamiento de SQL? ¿Qué problema de control de concurrencia resuelve cada uno? (2 puntos)

Isolation level Dirty reads Non-repeatable reads Phantoms
Read Uncommitted may occur may occur may occur
Read Committed - may occur may occur
Repeatable Read - - may occur
Serializable - - -


¿Qué es una descomposicion de una relacion? ¿Cuando es la misma sin perdidas de dependencias funcionales? (2 puntos)

Una descomposición de una relación R = { A_1, A_2, ..., A_n } consiste en n relaciones R_1, R_2, ..., R_k tales que la unión de las mismas contiene todos los atributos de la relación R. La descomposición se dice sin perdida de dependencias funcionales si la union de las proyecciones de las dependencias funcionales en la descomposoción contiene todas.

Con j la jesima relación y F_i la iésima dependencia del conjunto F.

¿Cual es el costo de acceder por igualdad en una consulta si se tiene un indice B+ Clustered que aplica al criterio de busqueda? Expliquelo. (2 puntos)

El costo es la altura del árbol, para poder conseguir el bloque donde empiezan los datos usando el índice, más techo de la cantidad de tuplas con ese valor divido el factor de bloqueo, para leer todas las tuplas que tienen ese valor y encontrar cual es (porque el índice es clustered entonces varios pueden cumplir con el criterio de búsqueda).