You are on page 1of 19

PREGUNTAS DE FINAL

Capitulo 1 Base de datos y usuarios de Base de datos


Capitulo 2 Conceptos y arquitectura de un sistema de Base de datos
8. Defina independencia lgica y explique cmo se vincula con los niveles de arquitectura de las bases de datos.
(1.5)
La Independencia lgica es la capacidad de modificar el esquema conceptual, sin modificar el esquema externo ni
los programas de aplicacin, en un esquema de tres niveles de un SGBD vinculamos al esquema conceptual con el nivel
conceptual de ese esquema, el cul oculta al usuario los detalles de las estructuras de almacenamiento fsico, y describe si
las entidades, tipos de datos, vnculos, operaciones del usuarios y restricciones. Con respecto al esquema externo, este,
est relacionado con el nivel externo o de vistas, el cual describe la parte que interesa de una BD a un grupo de usuarios,
ocultando el resto de la misma.
23. Qu es el DML? Mencione una instruccin SQL que pertenezca a este grupo (1)
DML significa Data Manipulation Language o en castellano Lenguaje de Manipulacin de Datos, son las
sentencias en SQL que permiten la consulta o modificacin de los datos contenidos en una BD. Una instruccin que
pertenece a este grupo es por ejemplo la de INSERT.
37. Defina independencia fsica y explique cmo se vincula con los niveles de arquitectura de las bases de datos.
(1.5)
La independencia fsica es aquella que nos permite modificar el esquema interno de la BD, sin modificar el
esquema conceptual de la misma, asimismo en una arquitectura de tres niveles de un SGDB, el esquema interno sta
relacionado con el nivel interno de la BD, el cul describe la estructura fsica de almacenamiento de la BD y los caminos de
acceso de la misma. Adems el esquema conceptual est relacionado con el nivel conceptual de esta arquitectura, la cual
describe la estructura de la BD para los usuarios, ocultando los detalles de la estructura fsica de almacenamiento, y
resaltando si en detalle las entidades, operaciones de usuarios, restricciones, tipos de datos y vnculos.
53. Mencione dos componentes del SGBD y explique su funcin (2)

Procesador de BD en tiempo de ejecucin: Se encarga de los accesos a la BD durante la ejecucin, recibe


operaciones de obtencin actualizacin y las ejecuta sobre la BD.
Compilador DML: Convierte las instrucciones DML en cdigo objeto para el acceso a la BD.
Compilador DDL: Procesa las definiciones de esquemas, especificadas en el DDL, y almacena los metadatos en
el catalogo del SGBD.

54. Cul es la diferencia entre instancia y schema de una base de datos? Qu sublenguajes actan sobre cada
una? (2)
La instancia de una BD son los datos que la base contiene en un determinado momento. En cada instancia, cada
elemento del esquema tiene su propio conjunto actual de ejemplares. El sublenguaje que acta sobre este es el DML.
El esquema de una BD es la descripcin. Se especifica durante el diseo y no se espera que se modifique muy a
menudo. A la mayora de los modelos de datos se los representa en diagramas de esquemas, que suelen representar la
estructura de todos los tipos de registros pero no los ejemplares reales de los registros. El sublenguaje que acta sobre este
es el DDL.
76. Defina nivel externo y conceptual. De un ejemplo de cada uno. (2)
El nivel externo y el conceptual forman parte de la arquitectura de un SGDB de 3 esquemas, siendo la externa el
nivel superior, el conceptual el nivel intermedio y por ltimo el nivel interno conforma el nivel inferior (estructura fsica de
almacenamiento de la BD y accesos).
El nivel externo o nivel de vistas describe la parte de la BD que interesa a un grupo de usuarios, ocultando la otra
parte de la BD. Un ejemplo en un modelo de dos tablas una de clientes y otra de productos sera generar vistas mostrando
a un grupo de usuarios solo la tabla de productos con sus campos de detalle de productos y algn campo como por ejemplo
la fecha de nacimiento de la tabla de clientes, ocultando el resto de los datos demogrficos de la tabla de clientes a ese
grupo.
El nivel conceptual describe la estructura de la BD para los usuarios, dejando de lado la estructura fsica de
almacenamiento de la BD, pero detallando los tipos de datos, las relaciones existentes, las operaciones de usuario,
restricciones, entidades, etc. Ejemplo la relacin que existe entre dos tablas de un modelo, una de ellas Clientes y otra la de
ventas, en donde estarn probablemente relacionadas con un campo llamado Cliente_Id en donde har de clave primaria
en la Tabla de clientes y de clave fornea en la de ventas.

113. Qu es el DDL? Mencione una instruccin SQL que pertenezca a este grupo (1)
DDL significa Data Definition Languaje o en castellano Lenguaje de Definicin de datos, el cual nos permite definir
el esquema conceptual de la BD, permitiendo realizar un ABM de la estructura de un objeto del esquema o cambiar los
permisos relativos a estos, por ejemplo la instruccin CREATE TABLE, la cual nos permite crear una nueva entidad en la
BD.
114. Indique los tres niveles que tiene la arquitectura de una base de datos. Ejemplifique (1.5)
Los tres niveles son Nivel Interno, Nivel Conceptual y Nivel Externo o de Vistas.
Para el Nivel Interno, es la estructura de almacenamiento fsico de la BD y sus caminos de acceso.
Para el Nivel Conceptual deja de lado el detalle de la estructura de almacenamiento fsico de la BD y sus caminos de
accesos, pero detallando sus entidades, restricciones, operaciones de usuario, tipos de datos, etc., por ejemplo mostrando
la relacin que existe entre dos tablas de un modelo para su correcta utilizacin.
Para el nivel externo o de vistas, describe la parte de la BD que le interesa o le es inherente a un grupo de usuarios,
ocultando el resto de la misma a este grupo, por ejemplo mediante la utilizacin de vistas sobre determinadas entidades de
la BD.

Capitulo 3 Modelado de Datos utilizando el modelo entidad-relacin


36. Cundo un atributo se considera compuesto? De un ejemplo (1.5)
Un atributo es compuesto cuando de l se pueden extraer atributos Simples, o sea que ese atributo es divisible en
otros atributos ms sencillos, por ejemplo un atributo direccin, puede ser dividido en los atributos Calle, Numero,
Departamento, Piso, Cdigo Postal, Localidad, Provincia, Pas
61. Defina dominio de un atributo. De un ejemplo. (1)
El dominio de un atributo es un conjunto de valores atmicos, que especifica los valores que es posible asignar a
ese atributo para cada entidad individual. Un dominio tiene un nombre, un tipo de datos y un formato. Ejemplo un atributo
color_de_auto = {Rojo, Verde, Negro} si estos fueran los nicos colores, del tipo de datos Varchar(25).
85. De un ejemplo de un atributo compuesto y de uno multi-valuado (1)
Un atributo compuesto es por ejemplo un domicilio, el cual es divisible en atributos simples, los cuales pueden ser
Calle, Nmero, Departamento, Piso, Cdigo Postal, Provincia, Pas. Y un atributo multi-valuado es aquel que tiene un
conjunto de valores para la misma entidad, por ejemplo los colores de un auto, el cual puede tener entre 1 y 5 valores,
suponiendo que puede tener solo cinco valores.
86. Qu es una relacin para la teora relacional? Ejemplifique (2)
Es un vnculo que se verifica entre entidades, asociaciones entre entidades que pueden tener atributos propios.
Por ejemplo una relacin entre una tabla sucursales y una tabla empleados, la relacin sera una sucursal posee
n empleados y un empleado pertenece a una sucursal, la relacin en este caso sera de 1:N de la tabla sucursal a la de
empleados. Las relaciones posibles son 1:N, N:1, 1:1, M:N.
87. Qu es un DER? Para qu se utiliza? (2)
DER, son las siglas de lo que se denomina Diagrama Entidad-Relacin, es un modelo conceptual de alto nivel, se
utiliza para modelar grfica y estticamente los datos de un sistema de informacin, mediante entidades, vnculos y
atributos. En definitiva, es una herramienta que sirve para disear una Base de datos.

Capitulo 21 Conceptos Avanzados del Modelado de Datos


120. Cul es la diferencia entre una agregacin y una relacin ternaria? (2)
La agregacin es un concepto de abstraccin para construir objetos compuestos a partir de sus objetos
componentes.
Una relacin ternaria es un vnculo establecido entre 3 entidades diferentes, por ejemplo las entidades Fbrica,
Proveedor y Partes, relacionados por un vnculo Compra.
Diferencias:

Las combinaciones estn restringidas en una agregacin.

Las relaciones n-arias producen un producto cartesiano.

En agregacin: ((A,B),C)

En Relacin n-aria (A,B,C)

Capitulo 6 El modelo de datos relacional y el Algebra Relacional

7. Mencione una restriccin de integridad e indique cmo se implementa en el modelo relacional (1)
Restricciones de integridad referencial: Esta restriccin se especifica entre dos relaciones, y sirve para mantener
la consistencia entre tuplas de las dos relaciones. O sea, establece que una tupla en una relacin que haga referencia a
otra relacin deber referirse a una tupla existente en esa relacin. Esta restriccin se implementa estableciendo una clave
fornea en una de las relaciones. Ejemplo, digo que para una tabla Clientes y otra tabla Ventas, el atributo cliente_id es
clave primaria de la tabla clientes y clave fornea en la tabla Ventas, as no podr existir ningn cliente_id en la tabla de
ventas que no exista en la tabla clientes, validando as la restriccin de integridad referencial.
22. Defina la operacin de select del lgebra relacional y mencione dos propiedades de la misma. (1.5)
Definicin:
Nombre de relacin: R
Condicin de seleccin: C
Tupla: T

(C)

(R)= {T / T R T satisface C}

Propiedades:

Conmutacin:

Cascada de seleccin:

(C1)

(C2)

(R)) =


(C2)

(C1 AND C2 AND AND CN)

(C1)

(R) =

(R))


(C1)

(C2)

(Cn)

(R))))

50. Definicin de superclave. Cul es la diferencia con la clave candidata? (1)


Una superclave especifica una restriccin de unicidad. Es un subconjunto de atributos (SC) de un esquema de
relacin R con la propiedad de que no debe haber dos tuplas en un ejemplar de relacin r de R con la misma combinacin
de valores para esos atributos, entonces siendo t1 y t2 dos tuplas distintas, tenemos que t1[SC] <> t2[SC].
Las claves candidatas, son superclaves mnimas, esto significa que adems de cumplir con la restriccin de
unicidad, deber cumplir con la condicin de minimalidad, o sea una superclave a la cual no podamos quitarle atributos sin
que deje de cumplir con la condicin de unicidad, adems en un esquema de relacin puede haber varias claves
candidatas.
52. Defina la operacin de select del lgebra relacional. Cmo se traduce en un SQL esta operacin? (1)
Definicin:
Nombre de relacin: R
Condicin de seleccin: C
Tupla: T

(C)

(R)= {T / T R T satisface C}

SELECT * FROM R WHERE C


63. Un modelo de datos debe poder expresar y/o representar los datos, las relaciones y las restricciones del mundo
real. Ejemplifique 2 restricciones posibles en un modelo de datos y explique como se implementan en un DBMS
relacional. (2)

Restriccin de Integridad de Entidades: Establece que ningn valor de la clave primaria puede ser nulo. Esto es
porque la PK identifica la tupla, si fuera nulo no podramos identificarlas, esto se implementa, declarando el
atributo o los atributos que conformarn la clave primaria en el momento del CREATE de la entidad.
Restriccin de Integridad Referencial: Se especifica entre dos relaciones y sirve para mantener la consistencia
entre tuplas de las dos relaciones. Esta restriccin se implementa estableciendo una clave fornea en una de las
relaciones. Ejemplo, digo que para una tabla Clientes y otra tabla Ventas, el atributo cliente_id es clave primaria
de la tabla clientes y clave fornea en la tabla Ventas, as no podr existir ningn cliente_id en la tabla de ventas
que no exista en la tabla clientes, validando as la restriccin de integridad referencial.

74. Defina la operacin de project del lgebra relacional. Cmo se traduce en un SQL esta operacin? (1.5)
Definicin:
Nombre de relacin: R
Lista de atributos: L
Tupla: T

(L)

(R)= {T(L) / T R }

SELECT LISTA_ATRIBUTOS FROM R


75. Defina clave fornea. Qu operaciones de SQL controlan esta restriccin? (2)
Un conjunto de atributos es clave externa o fornea en un esquema de relacin R si satisface las dos siguientes
reglas:

Los atributos de clave fornea tienen el mismo dominio que los atributos de clave primaria de otro esquema de
relacin R, entonces se dice que los atributos de clave fornea hacen referencia a la relacin R.
Un valor de clave fornea en una tupla t1 de R1 ocurre como valor de clave primaria en alguna tupla t2 de una
R2, o bien es nulo.

Las operaciones que controlan esta restriccin, es el INSERT, DELETE y el UPDATE


111. Defina la operacin de proyeccin. Indique dos propiedades que satisfaga la misma (1.5)
Definicin:
Nombre de relacin: R
Lista de atributos: L
Tupla: T

(L)

(R)= {T(L) / T R }

Propiedades:

No es conmutativa

Cascada de Proyeccin:


(L1)

(L2)

(Ln)

(R)))) =

(Li)

(R) si

L1 inc L2 inc .. Ln

123. Determine la diferencia entre clave candidata y clave primaria (2)


Las claves candidatas, son superclaves mnimas, esto significa que adems de cumplir con la restriccin de
unicidad, deber cumplir con la condicin de minimalidad, o sea una superclave a la cual no podamos quitarle atributos sin
que deje de cumplir con la condicin de unicidad, adems en un esquema de relacin puede haber varias claves
candidatas.
Una clave primaria, es lo mismo, la diferencia es que en un esquema de relacin puede haber solo una clave primaria entre
todas las claves candidatas posibles. La eleccin de la misma en principio debera ser la que represente mejor al negocio
que se est modelando y si hay varias que lo representen elegir la que posee menos atributos de ser posible uno solo.

Capitulo 15 El catalogo del sistema y ANEXO Triggers y Stored Procedures


14. Detalle el uso que el SGBD le da al system catalog en el momento de realizar un insert en una tabla (2)
Al insertar un Set de datos en una tabla la base de datos debe verificar consultando al catalogo del sistema, que
los datos a insertar cumplan con las restricciones de dominio, determinadas en l, es decir si son datos vlidos, tambin
verifica todas las reglas de integridad de dicha tabla, y si el usuario que realiza la insercin tiene permisos para ello.
15. Indique tres usos que la base de datos le d al system catalog (1.5)

Al insertar un set de datos en una tabla la base de datos verifica en el catalogo de sistema que no se est
violando ninguna restriccin de dominio, de clave, de integridad referencial, de integridad de entidades, es
decir si son datos vlidos, y si el usuario posee los permisos correspondiente para realizar esa operacin.
Al eliminar una tupla, la base de datos verifica en el catalogo que no se est violando la restriccin de
integridad referencial, y si el usuario posee los permisos correspondiente para realizar esa operacin.
Al modificar un valor de clave primaria, se debe verificar en el catalogo, las mismas restricciones que para
realizar la insercin, dado que una modificacin de una clave primaria requiere de eliminar una tupla e
insertar otra nueva con las modificacin, y adems verificar si el usuario posee los permisos correspondiente
para realizar esa operacin.

28. Explique 2 usos que le da el generador de cdigo del SGBD al system catalog (2)
Un uso es buscar en el catalogo la definicin de los objetos relacionados y verificar que existen ya que sino el plan de
ejecucin no puede ser generado, otro uso es consultar las estadsticas para armar el mejor plan posible.

43. Explique 2 usos que le da el compilador de DML al system catalog (2)


El compilador de DML usa al catalogo para obtener informacin sobre la correspondencia entre el esquema conceptual y las
estructuras de archivos del esquema interno.
43bis. Explique 2 usos que le da el compilador de DDL al system catalog (2)
El compilador de DDL almacena en el catalogo las construcciones y restricciones del esquema de BD escrita en DDL,
tambin almacena la informacin de correspondencia entre los diferentes niveles del esquema.
44. Indique dos ventajas y dos desventajas que tiene el uso de stored procedures. (1)
Ventajas:

Posee un diseo modular.

Elimina duplicacin de cdigo y reduce el tamao de las aplicaciones.

Pre compilado.
Desventajas:

No pueden ser migrados de un SGBD a otro, dado que puede no soportarlo, reduce la portabilidad.

Afecta negativamente al rendimiento de otras aplicaciones que usan el mismo servidor.


56. Tenamos una aplicacin operativa y fue necesario cambiarla de base de datos. La misma fue creada con un
script y se importaron todos los datos. La performance se redujo notablemente. Cul puede ser el problema?
Cmo lo resolvera? (2)
Es probable que el problema sea que le falte colectar estadsticas a las tablas de esa base, se resolvera
realizando previamente dicha coleccin. Otro problema es que no se haya realizado la creacin de ndices correspondiente
en las diferentes tablas migradas, lo cual mejorara la performance.
59. Necesito escribir una aplicacin que debe funcionar contra diferentes bases de datos. Mencione 3 restricciones
que debo tener en cuenta en cuanto al uso del SQL. (1.5)

No se deben usar Stored Procedures.


No se deben utilizar Triggers.
Se debe utilizar solo ANSI SQL.

68. Detalle el uso que el SGBD le da al system catalog en el momento de crear una tabla (2)
A travs del compilador DDL, en el momento de crear una tabla el SGBD inserta en el catalogo diferente
informacin que podr ser utilizada luego para diferentes situaciones. La informacin que se inserta es el nombre de la
tabla, nombre de los atributos, claves primarias, Claves Forneas, restricciones, relaciones, etc.
69. Cul es la diferencia entre un trigger y un stored procedure? (1)
La diferencia es que el trigger es disparado automticamente segn suceda algn evento en la base de datos, y
los Stored Procedure son ejecutados por el usuario en el momento que se desee.
96. Mencione dos permisos existentes sobre los stored procedures de una base de datos (1)
Los dos permisos pueden ser uno de CREATE PROCEDURE y el otro de ALTER PROCEDURE
121. Quin es el encargado de mantener actualizado el system catalog? (1)
El encargado de mantener actualizado el Catalogo del sistema es el Sistema Gestor de Base de Datos.
122. Detalle el uso que el SGBD le da al system catalog en el momento de validar una instruccin DML (2)
Eso va a depender del tipo de instruccin DML que se quiera validar, por ejemplo al insertar un set de datos en un
tabla de la base de datos, debe verificar que los datos a insertar cumplan con las restricciones de dominio, de clave, de
integridad referencial y de integridad de entidades, por ejemplo que respete el tipo de dato, que no se quieran insertar Nulos
en donde no es posible, etc.
Para la modificacin de un tupla, si esta involucra a la calve primaria, validar las mismas restricciones que se
comentaron anteriormente, dado que el proceso realiza un delete de la tupla a modificar y un insert con la nueva
informacin.
Si lo que se quiere validar es un Delete de una tupla, antes se debe verificar en el catalogo del sistema si no se
viola la restriccin de integridad referencial.
En definitiva el uso que le da el SGBD al Catalogo es el de validacin de diferentes restricciones segn la
instruccin DML a ejecutarse, adems de validar que sintcticamente sea correcta la instruccin DML.

Capitulo 16 Procesamiento y optimizacin de consultas


9. Enumere dos elementos del catlogo que utiliza el SGBD para optimizar las consultas, y explique para que los
usa (2)
Uno de los elementos del catlogo del sistema que utiliza es el tamao de cada archivo o fichero, esto es para
estimar el costo de acceso a memoria secundaria, otro elemento es la cardinalidad de seleccin de un atributo, para permitir
estimar la cardinalidad de seleccin de ese atributo, esto es el nmero medio de registros que satisfaceran una seleccin de
igualdad sobre un atributo.
10. Mencione dos reglas del lgebra relacional que toma en cuenta la optimizacin por reglas. Ejemplifique su uso
(2)
Una regla del algebra relacional es primero resolver la SELECCION (AR), la cual me permite reducir el nmero de
tuplas seleccionadas mediante una condicin de igualdad, y la de PROYECCION(AR), la cual me permite reducir el nmero
de atributos a seleccionar en la consulta, ambos preferentemente antes del JOIN.
Otra regla es en caso de ser posible sustituir el producto cartesiano por SELECT + JOIN.
24. Indique 4 datos que sera necesario mantener en el catlogo del sistema para la optimizacin por costos que no
se utilizaran en el caso de la optimizacin por reglas. Explique su utilidad (2)
Uno de los elementos del catlogo del sistema que utiliza es el tamao de cada archivo o fichero, esto es para
estimar el costo de acceso a memoria secundaria, otro elemento es la cardinalidad de seleccin de un atributo, para permitir
estimar la cardinalidad de seleccin de ese atributo, esto es el nmero medio de registros que satisfaceran una seleccin de
igualdad sobre un atributo. Tambin es necesario el nmero de niveles de cada ndice multinivel, esto permite estimar el
nmero de los accesos a bloque que ocurren durante la ejecucin de una consulta. Por ltimo el mtodo de acceso primario
y los atributos de ese acceso, dado que puede ser que los registros del archivo no estn ordenados, o que estn ordenados
segn un atributo con o sin ndice primario o de agrupamiento, o que estn dispersos segn un atributo
25. Qu es un plan de ejecucin desde el punto de vista de la optimizacin? (1)
Un plan de ejecucin es una estrategia razonablemente eficiente, que el optimizador de consultas elige para
ejecutar la consulta.
38. Cules son las posibilidades que se le pueden presentar el optimizador cuando tiene que evaluar dos
condiciones unidas por OR? (2)
Con una condicin as, poco es lo que puede optimizarse, porque los registros que satisfacen la condicin de
Disyuncin son la unin de los registros que satisfacen las condiciones individuales, por lo tanto, si alguna de las
condiciones no tiene un camino de acceso, estaremos obligados a utilizar el enfoque por bsqueda lineal (fuerza bruta).
Solo si existe un camino de acceso para todas y cada una de las condiciones podremos optimizar la seleccin.
64. Qu factores toma en cuenta la optimizacin por costos? (1)

Costo de acceso a almacenamiento secundario (acceso a disco)


Costo de almacenamiento
Costo de computo
Costo de comunicacin

77. Mencione dos ejemplos donde funcione mejor la optimizacin por costos que la por reglas (2)
La optimizacin por costos es ms apropiada para las consultas compiladas, en las que la optimizacin se efecta
en el momento de la compilacin y el cdigo de estrategia resultante se almacena y ejecuta en el momento de ejecucin.
Tambin es ms apropiada en el caso de consultas muy complejas y grandes, ya que determina el acceso ms
eficiente de una consulta, que en definitiva es el menos costoso en cuanto a la entrada y salida a disco.
78. En qu se diferencia la optimizacin por costos de la optimizacin por reglas? (2)
La optimizacin por reglas evala las sentencias SQL que est siendo ejecutada y elige que ndices utilizar, sin
considerar la distribucin estadstica de los datos en las tablas que estn siendo utilizadas. Tienden a evaluar cmo est
escrita cada consulta, para mejorar al mximo su ejecucin utilizando reglas heursticas.
La optimizacin por costos en cambio, usa estadsticas sobre los datos para determinar el camino de acceso
ms eficiente de una consulta dada, que en definitiva es el camino menos costoso en trminos de entrada y salida de disco.

Capitulo 5 Estructuras de ndices para archivos

13. Cul es la diferencia, desde el punto de vista de la organizacin fsica entre un ndice primario y un ndice
secundario? (1.5)
Un ndice primario:

Posee tanta cantidad de entradas como cantidad de bloques tenga el archivo de datos.

Es un ndice no denso.

Siempre es sobre un campo clave.

Posee ancla de bloques del archivo de datos.

Siempre es sobre un campo clave de ordenacin.

Existe un solo ndice primario por cada tabla.

La insercin de nuevos registros y eliminacin de ya existentes en el archivo de datos es compleja.


Un ndice secundario:

Posee tanta cantidad de entradas como cantidad de registros o cantidad valores distintos tenga el campo ndice.

Puede ser un ndice tanto denso como no denso.

Puede ser sobre un campo clave como sobre uno no clave.

No posee ancla de bloques del archivo de datos.

Siempre es sobre un campo no de ordenacin.

Puede haber ms de un ndice secundario para la misma tabla.

Requieren mayor espacio de almacenamiento y tiempo de bsqueda que los primarios.

La insercin de nuevos registros en el archivo de datos es ms sencilla que los ndices primarios.
39. Qu es la selectividad de un ndice? (1)
La selectividad de un ndice es la relacin que hay entre el nmero de posibles valores en un ndice, y el nmero
total de registros. La mejor selectividad es 1, y ocurre cuando hay tantos valores posibles como registros presentes, que es
el caso de una clave primaria. La peor selectividad es la que tiende a 0.
42. Cul es la organizacin fsica con la que se almacenan los ndices en las bases de datos? (2)
Un ndice primario es un ndice especificado sobre el campo clave de ordenacin, es un archivo ordenado de
longitud fija y contiene dos campos, uno con el mismo tipo de datos que el campo clave de ordenamiento del archivo de
datos, y el segundo es un apuntador a un bloque de disco. Para cada entrada de ndice los valores de sus campos, son el
campo de la clave primaria del primer registro del bloque y el apuntador a ese bloque.

Un ndice secundario se puede especificar sobre cualquier campo del archivo que no sea de ordenacin, estos
tambin son archivos ordenados con dos campos, el primero es del mismo tipo que algn campo de no ordenamiento del
archivo de datos, denominado campo de indizacin, el segundo es el apuntador a registro, por lo tanto contiene una entrada
por cada registro. Como los registros del archivo de datos no estn ordenados, no podemos usar anclas de bloques.

Un ndice de agrupamiento es un ndice especificado sobre cualquier campo no clave de ordenacin, dicho campo
se llama campo de agrupamiento. Es un archivo ordenado con dos campos, el primero del mismo tipo que el campo de
agrupamiento, y el segundo el apuntador a bloque de archivo de datos que tiene un registro con ese valor, existiendo una
entrada por cada valor distinto del campo de agrupamiento.

55. Mencione dos casos en los que no sea recomendable crear un ndice (1)

Los Atributos tienen un nmero pequeo de valores posibles, a pesar de que la tabla tienen muchos datos.
Se hace referencia en muy pocos casos a ese atributo.

Capitulo 17 Conceptos sobre procesamiento de transacciones


1. Una transaccin hace commit y antes de que se produzca el check-point la base de datos sufre una cada
abrupta. Qu propiedad de las transacciones garantiza que al recuperarse la base de datos la transaccin va a
encontrarse en la misma? (2)
La propiedad es la de durabilidad, esta propiedad garantiza que al ejecutar un transaccin y esta hacer commit, y
posteriormente hay una cada abrupta del sistema, la transaccin va a ser realizada.
2. La transaccin T1 efecta una lectura sucia sobre un valor de la transaccin T2. Luego de esto se produce un
rollback en la transaccin T2 y la base de datos fuerza un rollback sobre la T1. Qu propiedad de las transacciones
se aplic para forzar el rollback de T1? (2)
La propiedad aplicada es la aislamiento, la cual asegura cambios de estados correctos sin violacin de integridad,
lleva la base de datos de un estado consistente a otro estado consistente.
4. Explique el problema de la modificacin perdida. Cmo resuelve este problema el control de concurrencia por
timestamp? (2)
La modificacin perdida ocurre cuando las transacciones que tienen acceso a los mismos elementos de la base
de datos, tienen sus operaciones intercaladas de modo que hacen incorrecto el valor de algn elemento.

T1

T2

Read(X)
X=X-N
Read(X)
X=X+M
Write(X)
Write(X)

T2 tiene un x
desactualizado

Resolveramos aplicando un ordenamiento de transacciones por timestamp, haciendo serializable el plan de


ejecucin, poniendo en orden las transacciones segn sus valores de timestamp. El algoritmo debe asegurar, que para un
elemento X utilizado por ms de una transaccin en el plan, el orden con que se tiene acceso no viole la seriabilidad del
plan. Siempre que una transaccin intenta emitir una operacin de lectura o escritura, el algoritmo compara la marca de
tiempo de la transaccin con las marcas de tiempo de lectura o escritura del elemento para asegurar que no se viole el
orden de ejecucin por timestamp de las transacciones. Si la operacin viola dicho orden, entonces abortara. Lo que deber
verificar es si:

emite operacin escribir, si TS_escritura(x) > TS_transaccin o TS_lectura > TS_transaccin entonces aborta,
revierte transaccin y rechaza la operacin, de lo contrario ejecuta la operacin escritura y reemplaza
TS_escritura(x) por TS_transaccin.

Emite operacin lectura, si TS_escritura(x) > TS_transaccin entonces aborta, revierte transaccin y rechaza la
operacin, de lo contrario ejecuta la operacin lectura y reemplaza TS_lectura(x) por el mayor de Ts_lectura(x) o
Ts_transaccin.
12. Cul es la diferencia entre el commit y el checkpoint? (1.5)
Una transaccin alcanza su commit cuando esta termin con xito y cualquier cambio ejecutado por esta
transaccin puede ser confirmada sin peligro en la BD y no se cancelar.
El chekpoint se escribe en la bitcora peridicamente cada vez que el sistema escribe en la BD en disco el efecto
de todas las operaciones de las transacciones confirmadas. Esto se hace para mejorar la performance y no se tenga que
estar guardando todo el tiempo en disco cada cambio que se haga en cada operacin que se ejecute y de esta manera
haya menos operaciones de entrada y salida. En este punto la base de datos baja todas las pginas de la memoria cache al
disco y las hace efectivas.
16. Una transaccin hace rollback porque produca un valor duplicado en una PK. Qu propiedad de las
transacciones es la que se aplica para producir el rollback? (2)

La propiedad es la de consistencia, la transaccin debe llevar a la base de datos de un estado de consistencia a


otro estado de consistencia, si hubiera permitido el valor duplicado, la base de datos estara en un estado de inconsistencia.
17. Una transaccin hace rollback por un error de lgica. Qu propiedad de las transacciones es la que se aplica
para volver al estado inicial de la transaccin? (2)
La propiedad es la de atomicidad, dado que no se puede terminar debido a la falla de un error lgico en la PK, o
se hace en su totalidad o no se hace.
31. Cules son los niveles de aislamiento de SQL? Indique que problema resuelve cada uno de esos niveles (2)
Se dice que una transaccin tiene aislamiento de grado 0 si no sobrescribe las lecturas sucias de transaccin del nivel ms
alto; una transaccin con aislamiento de grado 1 no posee actualizaciones perdidas; aislamiento de grado 2 no tiene
actualizaciones perdidas ni lecturas sucias, por ltimo el aislamiento de grado 3 tiene adems de las propiedades de las de
grado 2, lecturas repetibles.
SQL Standard define 4 niveles de aislamiento en trminos de 3 fenmenos que deben ser prevenidos entre transacciones
comunes. Estos 4 niveles de aislamiento son:
Lectura No confirmada: Es el nivel ms bajo donde se aslan las transacciones, garantiza que no se lean datos
fsicamente daados
Lectura Confirmada: Solo se permiten lecturas de datos confirmados.
Lectura Repetible: Las lecturas repetidas de las mismas filas para las mismas transacciones dan los mismos resultados
Serializable: Es el nivel ms alto de aislamiento, las transacciones se aslan completamente.

NIVEL DE
AISLAMIENTO
Lectura no
confirmada
Lectura confirmada
Lectura repetible
Serializable

Lectura
Sucia

Tipo de Problema
Lectura no
Lectura
repetible
fantasma

Si
No
No
No

Si
Si
No
No

Si
Si
Si
No

32. Defina la durabilidad de una transaccin y de un ejemplo donde se aplique esta propiedad (1)
La propiedad de durabilidad determina que los cambios aplicados a una Base de datos deben durar en el tiempo,
estos cambios no deben perderse por fallas posteriores.
Por ejemplo si se realiza un transferencia bancaria de dinero de una cuenta a otra, esta debe quedar registrada
por siempre en la cuenta destino y no debe perderse bajo ninguna circunstancia.
46. Defina la consistencia de una transaccin. De un ejemplo donde sea necesario aplicar esta propiedad (1)
La propiedad de consistencia de una transaccin describe que al ejecutar una transaccin la base de datos que
antes de esa ejecucin se encontraba en un estado de consistencia y ahora se encuentra en un estado inconsistente, debe,
cuando finaliza esa transaccin dejar en estado consistente a la base de datos. O sea parte de un estado consistente,
cuando se ejecuta pasa a inconsistente, y cuando finaliza debe volver al estado de consistencia. Por ejemplo un cliente de
un banco desea borrar los datos personales de la base, pero no dar de baja sus cuentas, esto no se podra realizar, dado
que la base de datos quedara inconsistente al violarse una restriccin de integridad referencial.
47. Qu es el rollback de una transaccin? (1)
El rollback de una transaccin es la accin que se realiza para deshacer todas las modificaciones que haya
realizado esa transaccin que por algn motivo no pudo terminar de realizarla. Este motivo puede ser un error durante el
procesamiento o simplemente que el usuario haya decidido cancelarla.
48. Explique el problema de la falsa modificacin. Cmo resuelve este problema el control de concurrencia por
timestamp? (2)
Esto ocurre cuando una transaccin T1 actualiza un elemento de la base de datos y sin hacer commit una
transaccin T2 utiliza ese elemento, realizando rollback luego la transaccin T1. El T2 en este caso debe volver a hacerse
dado que ley un dato incorrecto porque el T1 nunca hizo el commit.

T1

T2
Al Haber un rollback, el
T2 debe volver a
hacerse porque ley un
dato incorrecto(X) t1
nunca hizo commit

Read(X)
X=X-N
Write(X)
Read(X)
X=X+M
Write(X)
Commit
Rollback
Resolveramos aplicando un ordenamiento de transacciones por timestamp, haciendo serializable el plan de
ejecucin, poniendo en orden las transacciones segn sus valores de timestamp. El algoritmo debe asegurar, que para un
elemento X utilizado por ms de una transaccin en el plan, el orden con que se tiene acceso no viole la seriabilidad del
plan. Siempre que una transaccin intenta emitir una operacin de lectura o escritura, el algoritmo compara la marca de
tiempo de la transaccin con las marcas de tiempo de lectura o escritura del elemento para asegurar que no se viole el
orden de ejecucin por timestamp de las transacciones. Si la operacin viola dicho orden, entonces abortara. Lo que deber
verificar es si:

emite operacin escribir, si TS_escritura(x) > TS_transaccin o TS_lectura > TS_transaccin entonces aborta,
revierte transaccin y rechaza la operacin, de lo contrario ejecuta la operacin escritura y reemplaza
TS_escritura(x) por TS_transaccin.

Emite operacin lectura, si TS_escritura(x) > TS_transaccin entonces aborta, revierte transaccin y rechaza la
operacin, de lo contrario ejecuta la operacin lectura y reemplaza TS_lectura(x) por el mayor de Ts_lectura(x) o
Ts_transaccin.
49. Cundo se dice que un plan es recuperable? (1)
Un Schedule es recuperable si nunca es necesario deshacer una transaccin confirmada.
57. Supongamos que Ud. es el administrador de una base de Datos cmo resolvera la siguiente situacin.
Justifique su respuesta:
a) Hay varios usuarios que le vienen planteando que sus modificaciones se pierden. Por ejemplo cambiaron un
domicilio y cuando lo van a revisar la modificacin se perdi.
Est ocurriendo el problema de modificacin perdida, en donde dos transacciones estn interactuando sobre un
mismo elemento de la BD sin ningn control de concurrencia, para solucionar esto se debera implementar un mecanismo
de control de concurrencia como el timestamp o sharedlock segn sea conveniente.
b) En el sistema existe una tabla que se llama pedidos, pero el usuario Juan al intentar leerla no puede hacerlo.
Probablemente el usuario Juan no tiene permisos para SELECT, en el caso de corresponder se le otorgaran
dichos permisos.
60. En qu situaciones una transaccin puede abortar a causa de los controles de integridad referencial de la
Base de datos? (1.5)
Por ejemplo al querer hacer DELETE de una tupla t la cual es referenciada por otra tupla p ya que la clave
fornea de la P quedara desvinculada. Tambin, al hacer un UPDATE o INSERT de una tupla en una tabla donde ese
atributo es clave fornea de otra tabla y el valor a insertar o actualizar no existe en la tabla donde ese atributo es clave
primaria.
70. Defina el aislamiento de una transaccin y de un ejemplo donde se aplique esta propiedad (1)
La propiedad de aislamiento de una transaccin nos debe permitir ejecutar una transaccin sin interferir con otras
que estn utilizando el mismo o los mismos elementos, o sea que no se superpongan.
Por ejemplo dos clientes depositan dinero al mismo tiempo en una misma cuenta bancaria en dos sucursales
diferentes, esto no debe traer complicaciones, y se deben poder de realizar ambas al mismo momento (para el cliente)
71. Explique el problema de la falsa sumarizacin. Cmo resuelve este problema el control de concurrencia por
timestamp? (2)
Si una transaccin est calculando una suma sobre varios registros mientras otras transacciones estn
actualizando algunos de ellos, puede ser que la suma calcule algunos valores antes de que se actualicen y otros despus
de actualizarse.

T1

T2

Read(X)
X=X-N
Write(X)
Read(Y)

T2 leyo un dato que ha


cambiado y no se
enter y lo ha
sumarizado con otro.

Read(X)
Read(Y)
Y=Y+N
Z=X+Y
Write(Y)
Write(Z)
Commit
Commit

Resolveramos aplicando un ordenamiento de transacciones por timestamp, haciendo serializable el plan de


ejecucin, poniendo en orden las transacciones segn sus valores de timestamp. El algoritmo debe asegurar, que para un
elemento X utilizado por ms de una transaccin en el plan, el orden con que se tiene acceso no viole la seriabilidad del
plan. Siempre que una transaccin intenta emitir una operacin de lectura o escritura, el algoritmo compara la marca de
tiempo de la transaccin con las marcas de tiempo de lectura o escritura del elemento para asegurar que no se viole el
orden de ejecucin por timestamp de las transacciones. Si la operacin viola dicho orden, entonces abortara. Lo que deber
verificar es si:

emite operacin escribir, si TS_escritura(x) > TS_transaccin o TS_lectura > TS_transaccin entonces aborta,
revierte transaccin y rechaza la operacin, de lo contrario ejecuta la operacin escritura y reemplaza
TS_escritura(x) por TS_transaccin.

Emite operacin lectura, si TS_escritura(x) > TS_transaccin entonces aborta, revierte transaccin y rechaza la
operacin, de lo contrario ejecuta la operacin lectura y reemplaza TS_lectura(x) por el mayor de Ts_lectura(x) o
Ts_transaccin.
81. Qu es una transaccin? (1)
Una transaccin es una unidad lgica de procesamiento de la base de datos que incluye una o ms operaciones
de acceso a la base que es indivisible por ser atmica. Esto significa que se lleva a cabo en su totalidad o no se realiza.
82. De un ejemplo que involucre ms de una instruccin SQL donde sea necesario utilizar una transaccin. (1)
BEGIN_TRANSACTION
Delete from pedido where pedido_id = 30
Delete from Pedido_detalle where pedido_id = 30
COMMIT_TRANSACTION
83. Definicin de plan serializable. De un ejemplo de un plan y luego transfrmelo en serial. (1.5)
Un plan es serializable cuando un plan P de n transacciones es equivalente a un plan en serie de las mismas n
transacciones.
Schedule inicial

T1
READ(X)

Schedule Serializado

T2
READ(Y)

X=X+N
Y=Y+N
WRITE
(Y)
WRITE
(X)

T1
READ(X)
X=X+N
WRITE
(X)

T2

READ(Y)
Y=Y+N
WRITE
(Y)

88. Defina la atomicidad de una transaccin y de un ejemplo donde se aplique esta propiedad (1)
Una transaccin es atmica dado que los cambios en la base de datos que realice esa transaccin son realizados
en su totalidad o no son realizados. En una transferencia bancaria si transfiero $ 100 deben llegar los $100 y no parte, o no
debe llegar nada y rechazarse esa transferencia.
89. Se borraron datos de una tabla y la transaccin hizo commit, cmo puede recuperarse la informacin? (1.5)
A travs de la recuperacin de la ltima versin de la tabla guardada en el backup realizado, teniendo cuidado
que entre la ltima versin guardada y el recupero no se hayan realizado modificaciones en la misma, generando
inconsistencias.
93. En qu situacin el SGBD realiza un undo? (1)
Cuando se ejecuta el rollback en una transaccin. Entonces de esa forma se deshacen las operaciones
involucradas.
106. Explique las 4 propiedades que deben tener las transacciones. De ejemplos de la vida real para cada una de
ellas. (4)
La propiedad de durabilidad determina que los cambios aplicados a una Base de datos deben durar en el tiempo,
estos cambios no deben perderse por fallas posteriores.
Por ejemplo si se realiza un transferencia bancaria de dinero de una cuenta a otra, esta debe quedar registrada
por siempre en la cuenta destino y no debe perderse bajo ninguna circunstancia.
La propiedad de consistencia de una transaccin describe que al ejecutar una transaccin la base de datos que
antes de esa ejecucin se encontraba en un estado de consistencia y ahora se encuentra en un estado inconsistente, debe,
cuando finaliza esa transaccin dejar en estado consistente a la base de datos. O sea parte de un estado consistente,
cuando se ejecuta pasa a inconsistente, y cuando finaliza debe volver al estado de consistencia. Por ejemplo un cliente de
un banco desea borrar los datos personales de la base, pero no dar de baja sus cuentas, esto no se podra realizar, dado
que la base de datos quedara inconsistente al violarse una restriccin de integridad referencial.
Una transaccin es atmica dado que los cambios en la base de datos que realice esa transaccin son realizados
en su totalidad o no son realizados. En una transferencia bancaria si transfiero $ 100 deben llegar los $100 y no parte, o no
debe llegar nada y rechazarse esa transferencia.
La propiedad de aislamiento de una transaccin nos debe permitir ejecutar una transaccin sin interferir con otras
que estn utilizando el mismo o los mismos elementos, o sea que no se superpongan.
Por ejemplo dos clientes depositan dinero al mismo tiempo en una misma cuenta bancaria en dos sucursales
diferentes, esto no debe traer complicaciones, y se deben poder de realizar ambas al mismo momento (para el cliente)
107. Indicar cules de las siguientes afirmaciones son ciertas al final de la ejecucin de las siguientes
instrucciones: (1.5)
A = 5000
BEGIN TRANSACTION
A= 3000
B= A - 1000
COMMIT
A= 2000
a) El valor de A es 5000
b) El valor de A es 3000 y el de B 2000
c) El valor de A es 2000
d) Ninguna de las anteriores
108. Cundo dos planes son equivalentes? (1)
Dos planes son equivalentes si las operaciones que se aplican en cada uno de los elementos de esos
planes se aplican en el mismo orden en ambos planes.

Capitulo 18 Tcnicas de control de concurrencia


3. Indique dos similitudes y dos diferencias entre lockeo optimista y el pesimista. (2)
Diferencias:

No se efecta verificacin alguna durante la ejecucin de la transaccin, en cambio en el pesimista si se


realiza en ese momento.

Con el control de simultaneidad del lockeo optimista las operaciones de lectura no utilizan bloqueos de
lectura que bloquean las operaciones de modificacin de datos, en cambio el pesimista si utiliza
bloqueo de lectura para bloquear la modificacin de datos.

Similitudes:

Ambas chequean concurrencia.


Ambas mantienen la seriabilidad del plan de ejecucin.

19. Indique dos similitudes y dos diferencias entre el shared lock y el control por timestamp (2)
Diferencias:

El shared lock no evita el deadlock, en cambio el Timestamp si lo evita porque no existen bloqueos.
El timestamp utiliza la marca de tiempo (TS) para ordenar la ejecucin segn el plan en serie equivalente. El
Shared Lock permite que varias transacciones accedan a un elemento si es para leerlo, si es para escribirlo
debe poseer acceso exclusivo a l.

Similitudes:

Ambas garantizan la seriabilidad del plan.


Ambos le asignan una marca para leer o escribir los elementos:
o
Ellas son para Timestamp MT_Lectura(X) y MT_Escritura(X).
o
Para el Shared Lock Bloqueo_Escritura(X), Bloqueo_Lectura(X).

18. Explique detalladamente cmo funciona el control de concurrencia por timestamp (1.5)
Este enfoque garantiza la seriabilidad del plan de ejecucin e implica el uso de Marcas de tiempo (Timestamp) de
las transacciones para ordenar la ejecucin de las mismas segn el plan en serie de las mismas.
Las marcas de tiempo son identificadores nicos que el SGBD crea para identificar una transaccin, por lo
general se asignan en el orden en que las transacciones se introducen en el sistema, por lo que se puede considerar como
el tiempo de inicio de una transaccin. Estas tcnicas no utilizan bloqueos, por lo tanto no puede haber deadlocks.
Funciona de la siguiente manera:
El timestamp (TS) hace una marca que tienen en cuenta la hora y almacena distintas versiones sobre
un elemento en intervalos de tiempo. Para cada registro de la base de datos se sabe cul es el timestamp de la ltima
transaccin que lo ley y que lo escribi. Cuando una transaccin comienza le asigna un TS, cuando esa transaccin quiere
acceder a modificar un dato, se fija que el TS de la ltima escritura sea menor al de la transaccin. Si esa transaccin
quiere acceder a leer un dato, ocurre lo mismo, se fija que el TS de la ltima escritura sea menor al de la transaccin. Si la
transaccin viola dicho orden abortara y se deber deshacer las operaciones realizadas de esa transaccin, si no viola este
orden entonces se asigna el nuevo valor al elemento y se escribe para ese elemento una nueva TS de escritura, si fuera
una lectura se asignara una TS de lectura.
33. Describa detalladamente dos pruebas que hara sobre un sistema para comprobar el funcionamiento del lockeo.
(2)
Una prueba sera realizar un insert de una tupla o un conjunto de tuplas en una tabla e inmediatamente realizar un
select sobre esa misma tabla. La otra prueba sera realizar un delete de una tupla o un conjunto de tuplas en una tabla e
inmediatamente realizar un select sobre esa misma tabla. En ambas situaciones el select debera quedar esperando hasta
que terminen el insert o el delete. Eso verificara el lockeo.
34. Explique detalladamente cmo funciona el control de concurrencia por shared lock (lockeo compartido
/exclusivo) (1.5)
El shared lock, posee tres operaciones. Ellas son bloque_lectura(X), bloqueo_escritura(X) y desbloqueo(X). Este
control de concurrencia bloquea al elemento en forma exclusiva cuando se trata de escritura, no permitiendo leer o escribir
con otra transaccin hasta que la primera desbloquee el elemento. Tambin para la lectura utiliza el bloqueo lectura, el cual
permitir a las dems transacciones de lectura utilizar el mismo elemento, pero bloqueara a la transaccin de escritura
hasta que las que estn bloqueando el elemento lo desbloqueen, o sea producir un bloqueo compartido de un elemento
para lectura.

Capitulo 19 Tcnicas de recuperacin.


27. Se tiene una base de datos con actualizacin inmediata, muestre en un grafico en qu situacin tena que estar
t2 para que el SGBD tuviera que hacer un undo. (2)

T2 debe deshacer lo que haba hecho y en el prximo checkpoint la carga de nuevo como si fuera una nueva
transaccin, porque no conozco el final entonces no la puedo rehacer.
41. Se tiene una base de datos con actualizacin inmediata, muestre en un grafico en qu situacin tena que estar
t2 para que el SGBD tuviera que hacer un redo. (2)

En ambos casos T2 no alcanzo a hacer commit en el checkpoint y ambas se rehacen mediante el log
58. Se estaban efectuando simultneamente 3 transacciones independientes T1, T2 y T3, cuando se produjo una
cada del equipo.
- T1 lleg al commit
- T2 se interrumpi cuando solo haba realizado lecturas
- T3 llego a escribir pero no llego al commit
Analizar sobre que transaccin se hizo "undo", "redo" o nada cuando se recuper
(levant) el equipo con bitcora (logs) de actualizacin inmediata(2)

T1 Debe hacer un redo (rehacer la transaccin), dado que antes de la cada se logro realizar el commit de la transaccin, en
cuanto a T3 se deber realizar un undo (deshacer transaccin), dado que la transaccin no ha llegado a realizar commit, y
por ende no conozco como termina. En cuanto a T2 es solo lectura, no se hace nada porque no actualiza informacin,
simplemente no se ejecuta y listo.
66. Qu mtodos de back-up se encuentran disponibles en las bases de datos? Explique su funcionamiento. (2)
Los mtodos de backup son online u offline, incremental y lgico.
El online se hace un backup de la base en un momento dado, y se obtiene una copia de ese momento, durante el
tiempo que tarda en realizar el backup se suspenden los checkpoint, para evitar que el backup quede inconsistente. Luego
se realiza un backup del log, que contiene todos los cambios hasta la ltima transaccin realizada, despus de esto se
podr realizar un checkpoint.
EL Offline se realiza con la base de datos parada, se realiza copia de toda la base, es considerado el mtodo de
backup completo de la base de datos.
El incremental en el primer backup se realiza una copia completa de todos los datos, pero en los siguientes solo
se almacena los ficheros nuevos o modificados, esto reduce tanto el tiempo de la copia como el del trfico de la red.
El lgico consiste en copiar el contenido de la base de datos pero sin almacenar la posicin fsica de los datos, se
realiza un export que copia los datos y la definicin de la base de datos en un fichero, es simple, y su principal desventaja
es que el tiempo de recuperacin es mucho mayor que el del backup offline u online. Si el error por ejemplo viene dado por
un usuario que malogro accidentalmente una tabla puede ser ms fcil recuperar de un export que de un back completo
79. Si una transaccin NO tiene registrado commit en el log y (por algn motivo) se par el proceso, qu valores
tiene la base de datos en ese momento? (los anteriores a la transaccin, los nuevos, no es posible asegurar ni lo
uno ni lo otro) para el caso de actualizacin inmediata (2)

En el caso de la actualizacin inmediata a esta transaccin se debe realizar un undo, dado que no conocemos como
termina dicha transaccin y las escrituras ya fueron realizadas. En este caso en particular, en el momento de la cada
abrupta del sistema, si se hubiera ejecutado una transaccin de actualizacin antes de la cada, ya tendra los datos
nuevos porque la actualizacin inmediata no espera al commit de la transaccin para actualizar la base.
97. Cmo funciona detalladamente el mecanismo de back-up on-line? (2)
El backup online se efecta en el momento que se le indique comenzar con este procedimiento, en ese instante
se suspenden los checkpoint durante el tiempo que se tarde en realizar la copia, luego se realiza un backup del log el cual
contendr todos los cambios hasta la ltima actualizacin, una vez finalizado recin ah se habilita nuevamente los
checkpoint.
101. De un ejemplo de cmo funciona el recovery en el caso de una cada abrupta de la base de datos por un corte
de luz si la misma utiliza Inmediate Update y deferred Update (2)

Inmediate Update
T1 Listo.
T2 Y T3, se realiza un Undo/redo mediante el log, debido a que no alcanzaron a hacer el commit en el checkpoint
T4, T5 Se deshace (undo) porque no conozco como termina.
Deferred Update
T1 Listo. No hay necesidad de rehacer, dado que hicieron Commit antes del CheckPoint
T2 Y T3, mira el log y el checkpoint para rehacerla (Redo), dado que llegaron a hacer commit.
T4 Y T5 no existen porque no llegaron a hacer Commit

Capitulo 20 Seguridad y autorizacin en BD


11. De un ejemplo de cmo funcionara la seguridad por roles (2)
La seguridad por roles lo que permite es crear un rol al que se le asigna un conjunto de privilegios especficos,
entonces el usuario que le sea asignado este rol tendr esos privilegios determinados.
Por Ejemplo se puede definir un rol llamado marketing, el cual posee acceso a todas las tablas de productos y sus
relaciones, si darle acceso a este rol a los datos demogrficos de un cliente, luego si un usuario de marketing solicitara
acceso a la base de datos en principio se le asignara este rol
26. Qu significa la clausula with grant option? (1)
La clausula Gran Option permite que un usuario A propague los privilegios a otros usuarios de una base R, sin
que el propietario de la base R se entere.
29. Por qu es necesario para un DBA conocer la forma en que se van a incrementar los registros de una tabla? (1)
Porque le permitir al DBA calcular el espacio necesario que se utilizar en la BD a medida que se va
incrementando la tabla en cuestin, evitando generar un problema de espacio en la BD.
30. Por qu es necesario para un DBA conocer la cantidad de registros que inicialmente va a tener una tabla? (1)
Porque le permitir al DBA estimar el espacio fsico necesario en la BD para la carga inicial de la tabla.
40. Cmo pueden utilizarse las vistas para aumentar la seguridad de una base de datos, por qu? (2)
Las vistas pueden utilizarse para limitar el acceso a determinados atributos de una tabla, o realizando
restricciones a travs de un where dentro de la vista, esto se utiliza para restringir el acceso a informacin sensible a los
usuarios que posean permiso de select de esa vista, sin necesidad de crear un rol especifico o de cambiar privilegios en
cuentas de usuarios. Las vistas constituyen un importante mecanismo de seguridad discrecional.
65. Defina la seguridad para las siguientes tablas: Empleado, Departamento, Ventas, DetalleVentas,
Articulo, Cliente. Los perfiles de usuarios que existen son:
a) Las personas que cargan las ventas
ROL VENDEDOR
Permisos de select a tablas empleado, departamento, Ventas, detalleventas, artculo, cliente
Permisos de insert, delete y update a tablas ventas, detalleventas
b) Las personas que cargan Empleado, Departamento, Artculo, Cliente. (2)
ROL RRHH
Permisos de select , insert, delete y update a tablas Empleado, Departamento,
ROL ADMINISTRACION
Permisos de select, insert, delete y update a tablas Articulos, Cliente.
Permisos de select Empleado, Departamento, Ventas, DetalleVentas
ROL DBA
Permisos de select, insert, delete y update a todas las tablas
67. Mencione y explique dos parmetros que necesita conocer el DBA sobre una tabla a la hora de crearla. (2)

Debe conocer primero cual ser la cantidad de registros que se cargarn inicialmente, esto permitir proveer el
espacio necesario al momento de la carga inicial, otro parmetro que debe conocer es con que periodicidad y
aproximadamente con qu cantidad de registros se incrementar la tabla en cada carga, esto permitir calcular a largo
plazo el espacio que necesitar en la BD.
80. Compare la definicin de seguridad discrecional ( discretionary) con la mandatoria (mandatory)(2)
La seguridad discrecional es aquella que otorga permisos a los usuarios a nivel tablas, registros, o campos de
datos especficos en un determinado modo (lectura, actualizacin, escritura, borrado) un ejemplo de este tipo de seguridad
es la utilizacin de vistas.
La seguridad mandatoria se realiza a diferentes niveles especificando los datos y los usuarios en varias clases de
seguridad e implementando despus la poltica de seguridad apropiada para la organizacin. Por ejemplo se podrn
distinguir 4 niveles de seguridad TOP_SECRET, SECRET, CONFIDENCIAL, UNCLASIFIED, siendo TOPSECRETel mas
alto nivel de seguridad y UNCLASIFIED el ms bajo.
92. Mencione dos permisos que existen sobre los usuarios de una base de datos (1)
GRANT LOGON
GRANT SELECT
GRANT UPDATE
GRANT DELETE
100. Qu tipos de permisos existen sobre los objetos de una base de datos? (1.5)
TABLAS O VISTAS: Select, Update, Delete, Insert, Create, Drop, Alter
STORED PROCEDURE: Create, Drop, Execute.
TRIGGERS: Create, Drop
BASE DE DATOS: Create, Drop, Restore, BackUp
117. Qu se entiende por seguridad integrada entre la Base de datos y el Sistema Operativo? (2)
La base de datos le confa la autenticacin de los usuarios al sistema operativo, siendo as ms fcil de administrar.

Capitulo 5 Teora del diseo relacional


5. Defina la clausura de un atributo. Escriba la definicin de clave primaria en funcin de la clausura. (1.5) FALTA!!!!!
Se define la clausura de un conjunto de atributos X incluido R con respecto a F (conjunto de dependencias
funcionales) indicado por Xf + , como un conjunto de todos los atributos A R / x -> A puede ser derivado desde F utilizando
los axiomas de Amstrong de todas las formas posibles.
XF + = { A R / F|= X -> A }
6. Dada la siguiente relacin {NROPEDIDO; CODART, NOMART, CANTPEDIDA, PRECIO, CODEMP. NOMEMP.,
FECHA}. Indicar:
a) Una dependencia funcional completa
Codemp->Nomemp
b) Una dependencia funcional parcial.
Nropedido,Codart->NomArt porque se cumple Codart->NomArt
c) Una dependencia funcional transitiva. (1.5)
Codart->NomArt y NomArt->Precio => Codart-> Precio
20. Definicin de tercera forma normal (1)
Se basa en el concepto de dependencia transitiva, un esquema de relacin R esta en 3FN si:
i.
x->y y y inc x
ii.
x es Superclave de un esquema de relaciones R
iii.
x es subconjunto de alguna clave de R
21. Cules son los axiomas de Armstrong? (1.5)
Reflexiva, transitiva y Aumento

Reflexiva: x inc y => y -> x


Transitiva: x->y adems y->z => x->z
Aumento: x->y => xw->yw
35. Defina clave candidata usando la definicin de clausura de un atributo. De un ejemplo. (1.5)
Sea R = {A1,A2,.,An), F un conjunto de dependencias funcionales, X inc R es CC
1.
2.

XF + posee unicidad
No existe un Z inc X / ZF + minimalidad

Ejemplo:
R = (A,B,C,D,E)
F = (AB->C, BD->E, C->D)
AB+ = ABCDE
BD+ = BDE
C+= CD
AB+ = {A,B,C,D,E} = R -> AB ES CLAVE CANDIDATA
45. De un ejemplo de una relacin que se encuentre en segunda forma normal, pero no en tercera. (2)
Una dependencia funcional se encuentra en segundo forma normal, si adems de estar en 1FN, no posee
dependencias funcionales parciales, o sea es una dependencia funcional completa.
El caso que sera estar en 2FN pero no en 3FN es cuando no posee dependencias funcionales transitivas en los
atributos que no son clave, el ejemplo sera R={A,B,C,D}: AB Clave primaria => F={A,B -> C, C->D}, Se encuentra en 2FN
porque no hay dependencias funcionales parciales, y no se cumple 3FN porque existe dependencias funcionales transitivas
en atributos que no son clave.
51. Enuncie las reglas adicionales a los axiomas de Amstrong (1.5)
Pseudotransitividad, Descomposicion y Union
Descomposicion: x->yz entonces x->y y x -> z
Union: x-> y y x->z => x->yz
Pseudotransitividad: x->y y yz->w => xz->w
52. Se quieren crear 3 tablas: Pedidos, Renpedidos ( renglones de los pedidos ) y Artculos. Indique que
mecanismos de la BD le permiten obtener cada uno de los siguientes objetivos. Justifique su respuesta
a) Unicidad del nmero de Pedido
INDICE UNIQUE
b) Que no existan renpedidos sin su registro correspondiente en pedidos.
RESTRICCION DE INTEGRIDAD REFERENCIAL. FOREIGN KEY
c) Conocer quien insert cada registro y quien lo modific.
LOG DE ACTIVIDAD, O TRIGGERS DE AUDITORIA, se dispara cuando se produce el evento
d) Actualizar el monto total del pedido cada vez que se agrega o modifica un renpedido.
TRIGGER, se dispara cuando se produce el evento.
e) Controlar que la cantidad pedida sea mayor a cero.
CONSTRAINT CHECK Cant_Pedido > 0
f) Mejorar la performance de las consultas
CREAR INDICES PRIMARIOS Y SECUNDARIOS en los campos necesarios, UTILIZAR ESTADISTICAS
g) Resguardar la informacin para que en caso de catstrofe tengamos la informacin al ltimo minuto.
BACKUP ONLINE
h) Conocer los ndices que tiene cada una de las tablas
CATALOGO DEL SISTEMA
i) Impedir que existan pedidos sin su correspondiente renpedidos. (4.5)
Trigger que cree un renpedidos default para ese pedido.
62. Supongamos que tengo la siguiente tabla que indica la altura y el peso esperado para un beb en un cierto mes:
Meses Peso (en kg.) Altura (en cm.)
1
3
50
2
4
55
a) Cul es la clave primaria? Meses
b) Cules son las claves alternativas? {Meses,Peso} y {Meses,Altura}
c) Cules son FK? No posee
d) Cul es el dominio de cada atributo?

DOM(Meses) = {1,2,12}
DOM(Peso) = {3,4, }
DOM(Altura ={50,55,}
Qu reglas sera necesario crear sobre los campos?
Peso < Altura
e) En qu forma normal se encuentra?
Por qu? (1.5)
R= (Meses, Peso, Altura)
F={Meses->Peso, Meses-> Altura}
Meses+= Meses, Peso, Altura
Meses es clave candidata y superclave
Es 2FN dado que cumple con la 1FN en donde el dominio de todos los atributos deben ser atmicos y la
condicin propia de la 2FN, que no hay dependencias funcionales parciales.
Para 3FN se deben cumplir adems de la 2FN que X-> Y e Y inc X, y esta condicin no se cumple.
Pero si se cumple que Meses es superclave
Como no se cumple la condicin de que Altura y Peso es subconjunto de la clave Meses, entonces no es 3 FN.
72. Cul es la diferencia entre una dependencia funcional completa y una dependencia funcional parcial? (1)
Dependencia funcional completa: X->Y es df completa NO existe Z inc X / Z->Y. Ejemplo A, B->C
Dependencia funcional parcial: X->Y es df parcial existe un Z inc X / Z->Y. Ejemplo A, B->C y A->C
73. Definicin de Dependencia Funcional. De dos ejemplos. (1.5)
Es una restriccin sobre 2 conjuntos de atributos de la base de datos:
Sea R un esquema de relacin, x, y inc R:
X->Y para todo t1, t2 R
t1[X] = t2[X] -> t1[Y] = t2[Y]
Ejemplos

t1[nrodoc] = t2[nrodoc] => t1[nombre,apellido] = t2[nombre,apellido]


t1[codart] = t2[codart] => t1[precio_art] = t2 [precio_art]

84. Definicin de dependencia funcional completa. De un ejemplo (1)


Definicin: x->y es un df completa NO existe un z incl. x / z->y
Ejemplo: Tipo_documento, Nro_documento -> Nombre_persona

90. Defina F mnimo (conjunto mnimo de dependencia funcionales) (1)


Un F mnimo debe cumplir tres condiciones:
i.
ii.
iii.

Todo lado derecho de la dependencia funcional debe poseer un nico atributo, o sea Dependencias
funcionales descompuestas segn la regla adicional de descomposicin de los axiomas de armstrong.
No debe poseer atributos redundantes el lado izquierdo de la dependencia funcional.
No debe poseer dependencias funcionales redundantes.

109. Definicin de dependencia funcional parcial. De un ejemplo (1)


Definicin: X->Y es df parcial Existe un Z inc X / Z -> Y
Ejemplo: Nro_Legajo, Sueldo -> Nombre_empleado

y Nro_Legajo -> Nombre_Empleado

110. Definicin de Forma Normal Boyce Codd (1)


Una dependencia funcional se encuentra en FNBC si:
i.
X -> Y e Y inc X
ii.
X es superclave de R (esquema de relacin)
Garantiza la no redundancia y la no anomala en actualizacin.
** Base de datos distribuidas, no entra para el final, me lo confirmo el profesor el da 23/02/2010 por mail.

You might also like