Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividad 1
Índice
1. Respecto a la búsqueda binaria:
(a) Investiga en qué consiste, explícalo como si tuvieses que decírselo a un robot
(algoritmo en pseudocódigo).
(b) ¿Cuál es el coste de la búsqueda en función del número de bloques? ¿Y en función
del número de registros?
(c) Suponiendo que tenemos esta lista de números enteros ordenada, (2 5 6 9 23)
indica el número de accesos a la lista que deberían realizarse para buscar el 9,
utilizando una búsqueda secuencial y una búsqueda binaria.
Explicado como seudocódigo seria: Partimos la lista de números dada por la mitad
sucesivamente comprobando cada número dependiendo si es mayor o menor al dato
que queremos buscar hasta que damos con él, o en su defecto, el dato no exista
dentro de la lista.
1c) Suponiendo que tenemos esta lista de números enteros ordenada, (2 5 6 9 23)
indica el número de accesos a la lista que deberían realizarse para buscar el 9,
utilizando una búsqueda secuencial y una búsqueda binaria.
Búsqueda binaria: 2 accesos, el primero partiendo la lista por la mitad (6) y viendo que
el numero 9>6. Luego el segundo acceso apunta al 9 o al 23 y dependiendo de cual
coja de los dos casos sabremos que 9 es el numero al que ha apuntado o que el 23>9 y
por tanto el 9 estará justo detrás del 23, respectivamente.
ACTIVIDAD 2
2c) ¿Cuál será el coste de una búsqueda binaria para encontrar un registro de datos?
ACTIVIDAD 3
Fichero del índice = 157 bloques x (5 bytes + 4 bytes puntero) = 1413 bytes.
ACTIVIDAD 4
Muchos de los lenguajes de programación más utilizados (como C ++, Java, Python,
etc.) son de paradigma múltiple y admiten la programación orientada a objetos en
mayor o menor grado, normalmente en combinación con la programación
procedimental imperativa.
UML
Los diagramas de clases describen la estructura estática de un sistema. Las cosas que
existen y que nos rodean se agrupan naturalmente en categorías. Una clase es una
categoría o grupo de cosas que tienen atributos (propiedades) y acciones similares. Un
ejemplo puede ser la clase “Aviones” que tiene atributos como el “modelo de avión”,
“la cantidad de motores”, “la velocidad de crucero” y “la capacidad de carga útil”.
Entre las acciones de las cosas de esta clase se encuentran: “acelerar”, “elevarse”,
“girar”, “descender”, “desacelerar”.
ACTIVIDAD 5
Estos deben ser independientes: los cambios en una vista no deben afectar a otras.
Oculta los detalles del almacenamiento físico a los usuarios: los usuarios no deberían
tener que lidiar con los detalles del almacenamiento físico de la base de datos.
La estructura interna de la base de datos no debería verse afectada por cambios en los
aspectos físicos del almacenamiento: por ejemplo, un cambio a un nuevo disco.
Los tres niveles son:
Nivel interno: el nivel interno implica cómo la base de datos está representada
físicamente en el sistema informático. Describe cómo se almacenan realmente los
datos en la base de datos y en el hardware de la computadora.
La Arquitectura de Tres Niveles tiene como objetivo permitir a los usuarios acceder a
los mismos datos pero con una vista personalizada de los mismos. El distanciamiento
del nivel interno del nivel externo significa que los usuarios no necesitan saber cómo
se almacenan físicamente los datos en la base de datos. Esta separación de niveles
también permite al administrador de la base de datos (DBA) cambiar las estructuras de
almacenamiento de la base de datos sin afectar las vistas de los usuarios.
ACTIVIDAD 6
Introducción
En 1983, [1] Andreas Reuter y Theo Härder acuñaron el acrónimo ACID, basándose en
trabajos anteriores de Jim Gray [2], quien nombró atomicidad, consistencia y
durabilidad, pero no aislamiento, al caracterizar el concepto de transacción. Estas
cuatro propiedades son las principales garantías del paradigma de transacciones, que
ha influido en muchos aspectos del desarrollo de los sistemas de bases de datos.
Las características de estas cuatro propiedades definidas por Reuter y Härder son las
siguientes:
Atomicidad
Artículo principal: Atomicidad (sistemas de bases de datos)
Las transacciones a menudo se componen de varios extractos. La atomicidad garantiza
que cada transacción se trata como una única "unidad", que tiene éxito por completo
o falla por completo: si alguna de las declaraciones que constituyen una transacción no
se completa, toda la transacción falla y la base de datos no se modifica. Un sistema
atómico debe garantizar la atomicidad en todas y cada una de las situaciones, incluidas
las fallas de energía, los errores y las caídas. Una garantía de atomicidad evita que las
actualizaciones de la base de datos se produzcan solo parcialmente, lo que puede
causar mayores problemas que rechazar la serie completa. Como consecuencia, otro
cliente de base de datos no puede observar que la transacción está en curso. En un
momento dado, todavía no ha ocurrido, y en el siguiente ya ha ocurrido en su totalidad
(o no pasó nada si la transacción se canceló en curso).
Consistencia
La coherencia garantiza que una transacción solo puede llevar la base de datos de un
estado válido a otro, manteniendo invariantes de la base de datos: cualquier dato
escrito en la base de datos debe ser válido de acuerdo con todas las reglas definidas,
incluidas las restricciones, cascadas, desencadenantes y cualquier combinación de los
mismos. Esto evita la corrupción de la base de datos por una transacción ilegal, pero
no garantiza que una transacción sea correcta. La integridad referencial garantiza la
relación clave primaria - clave externa.
Aislamiento
Las transacciones a menudo se ejecutan al mismo tiempo (por ejemplo, múltiples
transacciones leyendo y escribiendo en una tabla al mismo tiempo). El aislamiento
asegura que la ejecución concurrente de transacciones deje la base de datos en el
mismo estado que se habría obtenido si las transacciones se hubieran ejecutado
secuencialmente. El aislamiento es el objetivo principal del control de concurrencia;
Dependiendo del método utilizado, los efectos de una transacción incompleta podrían
ni siquiera ser visibles para otras transacciones.
Durabilidad
La durabilidad garantiza que una vez que se ha comprometido una transacción, seguirá
comprometida incluso en el caso de una falla del sistema (por ejemplo, corte de
energía o falla). Esto generalmente significa que las transacciones completadas (o sus
efectos) se registran en una memoria no volátil.
ACTIVIDAD 7
Estos son los 3 SGBD que mas me han interesado y con los que ya he trabajado de
manera superficial en la carrera. Son los que más me gustaría ampliar mis
conocimientos en bases de datos durante estos dos años de estudios ya que son 3 de
los mas importantes y mas usados en el día a día actual.
Los sistemas de gestión de bases de datos como MySQL y los dos citados
anteriormente son los elementos centrales de Internet y del mundo interconectado.
Estos permiten procesar grandes cantidades de datos de manera electrónica,
archivarlos con coherencia y guardarlos permanentemente. Para ello, los datos
complejos se descomponen en cantidades manejables y, en función de las
necesidades, se relacionan entre sí.
Access es un gestor de datos que utiliza los conceptos de bases de datos relacionales y
pueden manejarse por medio de consultas e informes, mientras que Oracle Database
es un sistema de gestión de base de datos de tipo objeto-relacional, desarrollado por
Oracle Corporation.
Otra de las razones es que me centre muchísimo en MySQL, dejando un poco de lado
la base de datos de Microsoft y de Oracle.