Diferencia entre revisiones de «Final del 26/12/13 (Bases de Datos)»

De Cuba-Wiki
(Arreglé el formato. Era horrible)
 
Línea 1: Línea 1:
==De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto)==
{{Back|Bases de Datos}}
SELECT saldo FROM cuenta WHERE userId = 3141592653; //s_pi


//Sacar 30 pé de la cuenta
=Preguntas=
 
#De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto)
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)
==Describa detalladamente dos pruebas que haria sobre un sistema para comprobar detalladamente el funcionamiento del lockeo. (2 puntos)==
#Definicion de dependencia funcional parcial. De un ejemplo. (1 punto)
 
#Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos)
==Definicion de forma normal de Boyce Codd. (1 punto)==
#¿Cual es la diferencia entre una agregación y una relacion ternaria? (2 puntos)
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.
#¿Cuando un indice se llama secundario? (1 punto)
 
#¿Como pueden utilizarse los stored procedures para aumentar la seguridad de una base de datos? ¿Por que? (2 puntos)
==Definicion de dependencia funcional parcial. De un ejemplo. (1 punto)==
#¿Cual es la diferencia entre Commit y Checkpoint? (1.5 puntos)
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].
#Detalle el uso que le da el DBMS al System Catalog en el momento de hacer un insert en una tabla. (2 puntos)
 
#¿Cuales son las formas clasicas que tienen los modelos de DW? (2 puntos)
Una dependencia funcional X->Y es parcial si existe un subconjunto C de X tal que {X\C}->Y sigue valiendo.
#¿Que es una dimension en el modelo de un DW? (2 puntos)
 
#Mencione y explique dos parametros que necesita conocer el DBA sobre una tabla a la hora de crearla. (1 punto)
Ej: {codEmpleado,nombre}->{apellido}
#¿Cuales son los niveles de aislamiento de SQL? ¿Qué problema de control de concurrencia resuelve cada uno? (2 puntos)
 
#¿Qué es una descomposicion de una relacion? ¿Cuando es la misma sin pérdidas de dependencias funcionales? (2 puntos)
==Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos)==
#¿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)
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)==
En una relacion ternaria las tres entidades tienen que ser partícipes.
 
En una agregación una de las entidades puede no participar.
 
==¿Cuando un indice se llama secundario? (1 punto)==
Segun el Elmasri, cuando el índice no tiene el mismo órden que la tabla.
 
Según el apunte de optimización de la materia cuando en las hojas del índice contiene sólo los ids correspondientes y un puntero al valor/bucket.
 
==¿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. Además se ven los índices presentes y los permisos del usuario.
 
==¿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)==


=Respuestas=
#
#*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;
#????
#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.
#
#*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}
#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.
#En una relacion ternaria las tres entidades tienen que ser partícipes. En una agregación una de las entidades puede no participar.
#Segun el Elmasri, cuando el índice no tiene el mismo órden que la tabla. Según el apunte de optimización de la materia cuando en las hojas del índice contiene sólo los ids correspondientes y un puntero al valor/bucket.
#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.
#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.
#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. Además se ven los índices presentes y los permisos del usuario.
#
#* Snowflake.
#* Star.
#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).
#
#* Los atributos (con sus respectivos tipos de datos).
#* Sus restricciones (foreign keys, valores uniques, etc).
#
<center>
{|class="wikitable"
{|class="wikitable"
! Isolation level !! Dirty reads !! Non-repeatable reads !! Phantoms
! Isolation level !! Dirty reads !! Non-repeatable reads !! Phantoms
Línea 71: Línea 55:
| Serializable || - || - || -
| Serializable || - || - || -
|}
|}
</center>


 
<ol start="15">
==¿Qué es una descomposicion de una relacion? ¿Cuando es la misma sin pérdidas de dependencias funcionales? (2 puntos)==
<li>Una descomposición de una relación <math>R = { A_1, A_2, \dots , A_n }</math> consiste en <math>k</math> relaciones <math>R_1, R_2, \dots, R_k</math> tales que la unión de todos los atributos
 
Una descomposición de una relación <math>R = { A_1, A_2, \dots , A_n }</math> consiste en <math>k</math> relaciones <math>R_1, R_2, \dots, R_k</math> tales que la unión de todos los atributos
de las mismas contiene todos los atributos de la relación original R. La descomposición se dice sin pérdida de dependencias funcionales (SPDF)
de las mismas contiene todos los atributos de la relación original R. La descomposición se dice sin pérdida de dependencias funcionales (SPDF)
si la clausura de la unión de las proyecciones de las dependencias funcionales en la descomposición contiene todas las DF originales.
si la clausura de la unión de las proyecciones de las dependencias funcionales en la descomposición contiene todas las DF originales.
Línea 83: Línea 66:
</math>
</math>
</center>
</center>
Con <math>F_i = \pi_{R_i}(F)</math>
Con <math>F_i = \pi_{R_i}(F)</math> </li>
 
</ol>
==¿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).
<ol start="16">
<li>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).</li>
</ol>

Revisión actual - 15:07 16 dic 2014

Plantilla:Back

Preguntas[editar]

  1. De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto)
  2. Describa detalladamente dos pruebas que haria sobre un sistema para comprobar detalladamente el funcionamiento del lockeo. (2 puntos)
  3. Definicion de forma normal de Boyce Codd. (1 punto)
  4. Definicion de dependencia funcional parcial. De un ejemplo. (1 punto)
  5. Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos)
  6. ¿Cual es la diferencia entre una agregación y una relacion ternaria? (2 puntos)
  7. ¿Cuando un indice se llama secundario? (1 punto)
  8. ¿Como pueden utilizarse los stored procedures para aumentar la seguridad de una base de datos? ¿Por que? (2 puntos)
  9. ¿Cual es la diferencia entre Commit y Checkpoint? (1.5 puntos)
  10. Detalle el uso que le da el DBMS al System Catalog en el momento de hacer un insert en una tabla. (2 puntos)
  11. ¿Cuales son las formas clasicas que tienen los modelos de DW? (2 puntos)
  12. ¿Que es una dimension en el modelo de un DW? (2 puntos)
  13. Mencione y explique dos parametros que necesita conocer el DBA sobre una tabla a la hora de crearla. (1 punto)
  14. ¿Cuales son los niveles de aislamiento de SQL? ¿Qué problema de control de concurrencia resuelve cada uno? (2 puntos)
  15. ¿Qué es una descomposicion de una relacion? ¿Cuando es la misma sin pérdidas de dependencias funcionales? (2 puntos)
  16. ¿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)

Respuestas[editar]

    • 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;
  1. ????
  2. 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.
    • 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}
  3. 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.
  4. En una relacion ternaria las tres entidades tienen que ser partícipes. En una agregación una de las entidades puede no participar.
  5. Segun el Elmasri, cuando el índice no tiene el mismo órden que la tabla. Según el apunte de optimización de la materia cuando en las hojas del índice contiene sólo los ids correspondientes y un puntero al valor/bucket.
  6. 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.
  7. 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.
  8. 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. Además se ven los índices presentes y los permisos del usuario.
    • Snowflake.
    • Star.
  9. 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).
    • Los atributos (con sus respectivos tipos de datos).
    • Sus restricciones (foreign keys, valores uniques, etc).
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 - - -
  1. Una descomposición de una relación consiste en relaciones tales que la unión de todos los atributos de las mismas contiene todos los atributos de la relación original R. La descomposición se dice sin pérdida de dependencias funcionales (SPDF) si la clausura de la unión de las proyecciones de las dependencias funcionales en la descomposición contiene todas las DF originales.

    Con
  1. 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).