BD
![]() |
![]() |
![]() |
Título del Test:![]() BD Descripción: examen final |




Comentarios |
---|
NO HAY REGISTROS |
Un factor de bloqueo alto en un fichero: Favorece la lectura secuencial del fichero. Favorece la lectura de registros individualmente. No afecta en nada a las operaciones de lectura. En los ficheros ordenados ¿que es cierto?. Insertar un nuevo registro es fácil. Obtener un registro por igualdad de clave cuesta siempre una lectura fisica. Hay que mantener el orden usando punteros. En hash normal (estático), ¿que es cierto?. Buscar registros por igualdad en la clave es ineficiente. Es imposible leer todos los registros que hay en el fichero. Si cambia el tamaño del fichero, probablemente habrá que recolocar casi todos los registros almacenados anteriormente. Un indice. Ayuda en todas las operaciones de inserción, borrado, y búsqueda. Ayuda siempre en todas las búsquedas y no perjudica las inserciones y borrados. Puede ayudar en búsquedas y perjudica las inserciones y borrados. En el protocolo de bloqueo riguroso de dos fases : Los bloqueos se pueden adquirir durante toda la transacción y se liberaran cuando termina. Los bloqueos solo se pueden adquirir en el instante de creación de la transacción y no se liberan hasta que la transacción termina. Hay una fase de crecimiento que dura mientras solo se adquieren bloqueos, la fase de decrecimiento comienza con la primera liberación de un bloqueo en cualquier momento de la transacción, a partir de ese instante, ya no se pueden adquirir nuevos bloqueos, y solo se pueden liberar. Si una ejecución concurrente de dos transacciones TI e T2 es serializable: El resultado final es igual al resultante de ejecutar primero TI y luego T2 o ejecutar primero T2 y luego TI. El resultado final es igual al resultante de ejecutar primero TI y luego T2 y también igual a ejecutar 12 y luego TI. El resultado final está bien, pero puede que no sea el mismo que ejecutar primero Tl y luego 12 ni tampoco. En el nivel de aislamiento REPEATABLE READ. Se puede dar el problema de lectura sucia. Se puede dar el problema de lectura fantasma. Se puede dar el problema de la lectura no repetible. Una árbol B+. Es un árbol homogéneo. Tiene dos tipos de punteros en cada nodo. Tiene todos los nodos hoja enlazados por punteros. En el modelo relacional, un atributo de una tupla: Tiene que almacenar obligatoriamente un valor del dominio del atributo o un nulo. Se pueden almacenar varios valores del dominio del atributo o un nulo. Se pueden almacenar otra relación o un nulo. Cuando hacemos Rollback en Oracle: Se deshace la última operación realizada en la base de datos. Es cuando se produce un fallo en la BD, y al recuperarse el sistema, éste recupera el estado de la BD inmediatamente anterior al fallo. Se recupera el estado de la BD que había al inicio de la transacción que termina con ese rollback. Un usuario dado de alta en un SGBD Oracle: Puede tener más de un rol. Tiene siempre un único papel(rol). No existen papeles en Oracle. Las anomalias de inserción, borrado y modificaciones son debidas a: Utilizar de forma errónea SQL para introducir datos. Un mal diseño de la base de datos. Manipular los datos de forma incorrecta, especialmente cuando hay restricciones not null. Usar la técnica de hash es más adecuado cuando: Las consultas que me importa acelerar son las de igualdad en la llave, del tipo "el empleado con número=7869". Las consultas que me importa acelerar son de rango, del tipo empleados que ganan más de 1000 euros. Las consultas que me importa acelerar son las de obtener todos los registros por orden de llave. En el hash normal(estático), qué es la técnica de prueba lineal?. Si la función hash indica la posición i, entonces la entrada del directorio con ese número es accedida, y allí se encontrará el puntero que apunta al bloque de disco en el que el registro será insertado. Durante la inserción, si la función hash indica la posición i, pero se produce una colisión, las posiciones i+1, i+2, i+3,... son probadas. Durante la inserción, si la función hash indica la posición i, pero se produce una colisión, las posiciones i+j. i+2j, i+3j,.... son probadas, con j obtenida a partir de una segunda función hash. En un fichero hash, con redireccionamiento abierto por rehasing... A diferencia del redireccionamiento por linear-probing (prueba lineal), evita la congestión de determinadas zonas del fichero. A diferencia del redireccionamiento por linear-probing (prueba lineal), puede provocar la congestión de determinadas zonas del fichero. Utilizar un factor de bloqueo alto favorece la realización de una búsqueda por igualdad en la clave. La técnica slotted-page... Es una estrategia usada por el sistema de paginación. Es una estrategia usada para almacenar registros de tamaño variable. Es una estrategia utilizada para gestionar colisiones en ficheros hash. En una estructura de bloques con slots (slotted-page) usada para almacenar los registros de un fichero,¿qué es cierto?. El número de registros que caben como máximo en cada bloque es variable, porque almacena registros de tamaño variable. Cada bloque está compuesto por varios slots, y cada uno de ellos puede ser transferido a la memoria independientemente de los demás. El número de registros que caben como máximo en cada bloque es fijo, porque almacena registros de tamaño fijo. Supongamos una búsqueda por igualdad en una clave en un fichero de datos con un índice sobre esa clave, sabiendo que sólo hay un registro con el valor de esa clave. En la práctica real, ¿cuál es normalmente el número de lecturas físicas que supone esta operación?. 4: una correspondiente al fichero de datos y 3 al índice(árbol), suponiendo que el árbol tenga tres niveles. 2: una correspondiente al fichero de datos, y 1 al índice (árbol). Suponiendo que el árbol tenga 3 niveles, los 2 primeros estén en memoria RAM y solamente el último nivel está en disco. 2B. Siendo N el número de registros del fichero y B el factor de bloqueo. En una tabla de empleados, supongamos que hay 100 empleados por bloque físico, y que hay una buena probabilidad de que haya por lo menos un empleado de cada uno de los departamentos de la empresa por bloque. En una consulta que retorna los empleados de un departamento determinado: Un índice por número de departamento no afectará en absoluto al tiempo de respuesta de la consulta. Un índice por el número de departamento acelerará la búsqueda seguro. Un indice por número de departamento probablemente no ayudara. La BD de la facultad guarda en un fichero ordenado por código los datos de las materias del grado (código, 0. La longitud media de las En los árboles los árboles homogéneos. mogé nombre, cuatrimestre), en N registros de longitud fija. Si B es el factor de bloqueo del fichero ¿cual seria el coste medio normalmente de buscar en el fichero una materia (que sabemos que existe) usando su código como clave?. N/B lecturas fisicas. B/N lecturas físicas. N/2B lecturas fisicas. Cuando se inserta un registro en un fichero ordenado que ya tiene registros, ¿cuál de estas sería la mejor opción?. Se hace siempre un hueco en el lugar apropiado para la inserción. El registro se inserta en una posición que no corresponde con el orden "natural" del fichero, pero se mantiene el orden usando punteros. El fichero siempre tiene un hueco libre para insertar el registro, ya que en el fichero siempre dejamos esos espacios. En una lectura secuencial de un fichero lo que conviene es: Tener un factor de bloqueo bajo. Tener un factor de bloqueo alto. Dejar huecos con espacio libre entre los registros. Un índice disperso…... Indexa algunos valores de clave. Indexa el campo por el que está ordenado el fichero. Indexa todos los valores de clave. Si tengo un fichero hash que coloca los sinónimos siguiendo la técnica de prueba lineal, ¿qué me favorece?: Que el fichero tenga un número de slots que sea un número par. Tener un factor de bloqueo bajo. Tener un factor de bloqueo alto. Arboles B: Si añadimos el valor 7 en este árbol, con d=1,¿qué valores almacenará el nodo que ahora contiene el valor 2?. 2 y 5. 2 y 4. 4. Árboles B: Si añadimos el valor 13 en este árbol, con d=1,¿qué valores almacenará el nodo que ahora contiene el valor 17?. 14. 14 y 17. 12 y 17. Árboles B: Si borramos el valor 12 en este árbol, con d=1,¿qué valores almacenará el nodo que ahora contiene el valor 17?. 14. 17. 12 y 14. En un árbol heterogéneo... Las búsquedas pueden terminar en nodos hoja. Cada nodo posee dos tipos de punteros. Las búsquedas siempre llegan a nivel de nodos hoja. La longitud media de las búsquedas por un valor concreto de clave, es mayor... En los árboles heterogéneos. En los árboles homogéneos. La longitud es la misma en los dos casos. Arboles B: En los árboles B no es posible un recorrido secuencial por orden de clave. No es posible construir un árbol B sobre una clave con valores duplicados. Cuánto más bajo, más rápidas son las búsquedas. Cuando se quiere modificar el valor de un campo de un registro (por ejemplo, cambiar el salario de un empleado). El sistema operativo debe trasladar de disco a memoria principal exclusivamente los bytes donde se almacena el campo del registro a modificar, en memoria se hace la modificación, y finalmente se debe escribir en disco esos bytes modificados. El sistema operativo debe trasladar de disco a memoria principal el (los) bloque(s) físico(S) entero(s) donde está el registro a modificar, en memoria se hace la modificación del campo, y finalmente se debe escribir en disco el(los) bloque(s) modificado(s). El sistema sobrescribe directamente en disco los bytes correspondientes al campo modificado. Tenemos una dependencia funcional A->B en un esquema de relación R. Sean s y t dos tuplas en una relación r(R). Si sabemos s[A]≠t[A], entonces. s[B]=t[B]. s[B]≠t[B]. No se puede asegurar nada. Si a una clave candidata se le añade un atributo, ¿sigue siendo clave candidata?. si. no. depende del caso. ¿Cúal de estos tres, no es un problema del esquema multiversión para control de concurrencia?. Las lecturas requieren actualizar una marca de lectura, lo que implica dos accesos potenciales al disco. Las lecturas pueden tardar demasiado por quedarse bloqueadas. Los conflictos se resuelven retrocediendo transacciones. El protocolo de bloqueo de dos fases: Especifica que una vez liberado un bloqueo ya nunca más se puede adquirir ningún otro en la misma transacción. Especifica que se tienen que adquirir los bloqueos compartidos antes que los exclusivos. Especifica que se tienen que liberar todos los bloqueos justo en el momento de terminar la transacción. El uso de bloqueos compartidos y exclusivos... No garantiza la seriabilidad, a menos que sea en combinación con un protocolo de bloqueo. Garantiza la seriabilidad. No garantiza la seriabilidad, pero sí que no se produzcan interbloqueos. Supongamos el siguiente ejemplo de utilización de esquema de multiversión para control de concurrencia. ¿ Qué versión del dato x leerá una transacción cuya marca temporal asociada es 2?. La versión Q2. La versión Q1. Ninguna de ellas, ya que la transacción será abortada. Una lectura en un sistema de gestión de base de datos con control de concurrencia basado en bloqueos y un protocolo de bloqueo de 2 fases estricto: Puede que tenga que esperar. Nunca espera pero puede dar una versión antigua del dato:. Nunca espera. Los logs o registros históricos son utilizados para: El control de concurrencia de una base de datos. La recuperación de una base de datos. La optimización de consultas de una base de datos. El protocolo de bloqueo de dos fases: Especifica que se tienen que adquirir los bloqueos compartidos antes que los exclusivos. Especifica que se tienen que adquirir todos los bloqueos justo en el momento de completar la transacción. Especifica que se tienen que adquirir todos los bloqueos antes de liberar ninguno. El uso de un índice... Siempre es preferible a una lectura secuencial. Ayuda siempre en las operaciones de búsqueda, pero perjudica inserciones y borrados. Ninguna de las dos respuestas anteriores es correcta. En un árbol B+... Cada nodo del árbol contiene sólo un tipo de punteros. Las búsquedas pueden resolverse sin tener que llegar a nivel de nodos hoja. Las dos respuestas anteriores son correctas. La tabla de VENTAS de una empresa ha sido particionada usando como campo de particionamiento la fecha de venta. Si una consulta especifica una condición sobre el campo fecha, el SGBD puede acelerar la búsqueda lanzando la consulta solo sobre las particiones afectadas. Si una consulta especifica una condición sobre un campo diferente de fecha, el SGBD aún puede llegar a acelerar la búsqueda lanzando la consulta en paralelo sobre todas las particiones. Las dos respuestas anteriores son correctas. Supongamos el siguiente ejemplo de utilización de esquema de multiversión para control de concurrencia. ¿Qué ocurrirá si una transacción, cuya marca temporal asociada es 2, quiere escribir el dato X?. La transacción será abortada. El contenido de la versión Q1 será sobreescrito. Se creará una nueva versión Q2. En relación a las vistas ... Se definen mediante una consulta sobre otra(s) tabla(s) o vista(s) y permiten un acceso selectivo a los datos. Su definición se almacena en el catálogo del SGBD y sus datos se almacenan en el espacio de datos del SGBD. Las dos respuestas anteriores son correctas. |