Diferencia entre revisiones de «Final del 26/12/13 (Bases de Datos)»
De Cuba-Wiki
(Arreglé el formato. Era horrible) |
|||
(No se muestran 6 ediciones intermedias de 3 usuarios) | |||
Línea 1: | Línea 1: | ||
{{Back|Bases de Datos}} | |||
=Preguntas= | |||
#De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto) | |||
#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) | |||
#Definicion de dependencia funcional parcial. De un ejemplo. (1 punto) | |||
#Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos) | |||
#¿Cual es la diferencia entre una agregación y una relacion ternaria? (2 puntos) | |||
#¿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) | |||
#¿Cual es la diferencia entre Commit y Checkpoint? (1.5 puntos) | |||
#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) | |||
#¿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) | |||
#¿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) | |||
#¿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= | |||
# | |||
#*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 67: | Línea 55: | ||
| Serializable || - || - || - | | Serializable || - || - || - | ||
|} | |} | ||
</center> | |||
<ol start="15"> | |||
<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 | |||
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) | |||
Una descomposición de una relación R = { A_1, A_2, | si la clausura de la unión de las proyecciones de las dependencias funcionales en la descomposición contiene todas las DF originales. | ||
de las mismas contiene todos los atributos de la relación R. La descomposición se dice sin | <center> | ||
si la | |||
<math> | <math> | ||
\ | F^+ = \left(\bigcup_{i=1}^k F_i \right)^+ | ||
</math> | </math> | ||
</center> | |||
Con <math>F_i = \pi_{R_i}(F)</math> </li> | |||
</ol> | |||
<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> | |||
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). |
Revisión actual - 15:07 16 dic 2014
Preguntas
- De un ejemplo que involucre mas de una instruccion SQL donde sea necesario utilizar una transacción. (1 punto)
- 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)
- Definicion de dependencia funcional parcial. De un ejemplo. (1 punto)
- Definir clave foranea. ¿Qué operaciones de SQL controlan esta restriccion? (2 puntos)
- ¿Cual es la diferencia entre una agregación y una relacion ternaria? (2 puntos)
- ¿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)
- ¿Cual es la diferencia entre Commit y Checkpoint? (1.5 puntos)
- 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)
- ¿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)
- ¿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)
- ¿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
-
- 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).
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 | - | - | - |
- 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.
- 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).