Final del 06/03/20 (Bases de Datos)
Creo que no me olvidé de nada, pero puede fallar. Also, me tomé muchas libertades en la redacción.
1) Definir superclave, clave candidata y clave primaria. ¿Cúando es que un esquema está en 3FN?
2) ¿Qué es una dependencia funcional? Dado el esquema R = {idMascota, nombreMascota, vacuna, fecha, idDueño} y TU conocimiento del dominio (o sea, asumí lo que tu querai), proponé dependencias funcionales para la misma. ¿En qué forma normal está el esquema? Proponé una descomposición que mejore el diseño.
3) ¿Que significa que un conjunto de transacciones sea serializable? Relacionarlo con una propiedad ACID. (decía así textual 'conjunto de transacciones' la consigna, yo asumí que se refería a una historia)
4) ¿Para que sirve la normalización de una BD? Relacionarlo con la calidad de datos. ¿Qué incovenientes trae una BD desnormalizada? ¿Cómo ayuda la normalización? Ejemplifique.
5) Qué es una base de datos distribuida. Describir el protocolo 3FN(3PC será?).
6) Tenés 2 relaciones E = {idEstudiante, nombreEstudiante, idFacultad, fechaInscripción} y F = {idFacultad, nombreFacultad}. Los registros de E miden 30 B, y hay 10.000 de ellos. Los registros de F miden 20 B y hay 500 de ellos. Hay 3 nodos N1, N2 y N3. N1 tiene a E, N2 tiene a F, y N3 hace la query 'Devolver id de estudiante y nombre de la facultad de los estudiantes que se inscribieron después de 1980'.
- i) ¿Que agregarías a la BD para capturar la siguiente situación: 'un estudiante puede inscribirse a varias facultades, pero en fechas distintas'?
- ii) Escribir la query en AR y en CR
- iii) Describir una estrategia de resolución de la query, junto con cuantos bytes son transferidos. Reemplace por variables las cantidades desconocidas (con eso se refiere a que no sabés cuantos estudiantes se inscribieron después de 1980, y que tendrías que reemplazar dicha cantidad por una variable).
7) Supongamos que hay 4 facultades f1, f2, f3 y f4; y 4 nodos correspondientes N1, N2, N3 y N4. Se quiere fragmentar la información de E y F del anterior punto, para que tanto la información de las facultades, como la de estudiantes esten solo en el nodo de su facultad correspondiente.
- i) Definir qué queries en AR hacen falta para definir la fragmentación, y definir un esquema de asignación para obtener lo requerido.
- ii) Decir qué tipo de fragmentación se usó en el anterior punto. ¿Cómo obtendría las relaciones originales luego de la fragmentación?