Está en la página 1de 5

Apuntes fácilitos porque los profes explican como el puto culo ChusesApuntes

Formulario Bases de datos Avanzadas

Orden de resolución de los ejercicios (Siempre se resuelven de la misma manera):

*Leyenda*
Lr: Longitud de registro
Butil: Tamaño del bloque útil.
fr: factor de bloque
br: nº de registros por bloque
nrc: nº de registros a recuperar
nv: nº de consultas a realizar (6carnet=2345(r) nv=1;
6carnet=2345^2367(r) nv=2)
v: Cantidad de datos (codigo_carrera:10, v(codigo_carrera)=10;
carnet=100.000, v(carnet)=100.000)
(⬆):Redondear hacia arriba
(⬇):Redondear hacia abajo

1-Lr=Suma de todos los bytes


2-Butil=(B-Lcontrol) x fill factor
3-fr=Butil/Lr (⬇)
4- br=Nr/fr (⬆)
5- nrc=nr/v() x nv

6- Sacar el coste:
Secuencial: Todos los bloques
Binaria: Log2(br)(⬆) + nrc/fr(⬆) -1
Apuntes fácilitos porque los profes explican como el puto culo ChusesApuntes

Por aclarar mis apuntes de mierda que no se entienden xd:

Nrc=100.000/100.000=1 (carnet, hay 100.000


carnets) Nrc=100.000/10=10.000
(codigo_carrera, hay 10 codigo_carrera)

Lr se suman 12 bytes ya que anteriormente calcule los 60 bytes


sumando todo pero se añaden los 12 de Puntero a registro.

El ejercicios es Ordenado y No clave, por eso se hace secuencial y


binaria, ya que hay que ver cual es mejor, aunque casi siempre es
mejor binaria, pero hay casos raros que no.

Aclaraciones sobre los ejercicios:


*Si el campo NO está ordenado es búsqueda secuencial y si está
ordenado es secuencial y binaria para comprobar ambos.

*Si el campo está ordenado y es no clave, se necesitan Punteros a


registro, estos punteros a registro se dan en bytes y se suman al Lr.

Arboles B+
Nodo raíz:
n x Lpbloque + (n-1) x L(Campo) <= Butil (⬇)
Nodo hoja:
nh x Lregistro + Lpbloque <= Butil (⬇)

Nº nodos hoja= nr/nh (⬆)


Nº nodos intermedio 1=
Nº nodos hoja/n (⬆) Nº
nodos intermedio 2=
Nºnodo anterior/n (⬆)Nº
nodos intermedio 3=
Nºnodo anterior/n (⬆)
...Hasta que se acaben las divisiones posibles, es decir llegar a 1

que es la raíz. br=suma de los Nºnodos sacados

anteriormente(bloques)

Después para calcular el coste:


Si es una búsqueda de 1 solo dato:
Coste= 1 raíz + nº nodos intermedios + 1 nodo hoja
Si es una búsqueda de >= o <=:
Coste= 1 raíz + nº nodos intermedios + ncr/fr (Se suma 1 de la
raíz y todos los intermedios menos el último, ya que al ser más
consultas se lee todos los bloques.
Por ejemplo:
Apuntes fácilitos porque los profes explican como el puto culo ChusesApuntes

Hash
mod n
Coste:n x br

Aclaraciones:
Si es una consulta de >= o <=, se hace igual que los demás ejercicios pero teniendo en
cuenta que v() cambia, si por ejemplo es 6Codigo_carnet<>8 quiere decir que son todos
los números sin el 8 (0,1,2,3,4,5,6,7,9) por lo que V()=9 en vez de 10.
Además en el coste de la búsqueda binaria hay que sumar 70.000/4(⬆)+Log2(br)(⬆) +
nrc/fr(⬆) -1, siendo 70.000 porque son 7 búsquedas, del 1 al 7, por lo que 10.000 registros
por 7, y el resto de la fórmula es la consulta del 8. Así consigues los bloques del 1 al 7 y los
bloques del 8, aunque el 8 no lo queremos tenemos que llegar a él para saber que hemos
acabado la búsqueda.

Índices(Es igual que las consultas normales pero cambian algunas cosas)
1-Lri=bytes del campo que se pide + Lpreg
2- Butil=(B-Lcontrol) x fill factor
3- fri=Butil/Lri (⬇)
4- bri=Nr/fri (⬆)
5- Lri2=bytes del campo que se pide + Lpbloq
6- bri2=bri/fri (⬆)
7- bri3=bri2/fri (⬆)
8- Número de bloques=Bri+Bri1+Brin…
brn(n=número de multiniveles)

Se calculan tanto el denso como el disperso si es primario, si es secundario, se usa solo


denso en el primer nivel(bri1), en el resto disperso. Si al calcular los bloques, en el nivel 1
solo hay 1 bloque, no hay más niveles. La diferencia entre el denso y el disperso es que
denso: nri=v(campo) y disperso: nri=br.

Si es no clave, para sacar el coste hay que utilizar cajones de puntero, con las fórmulas:
nc(número cajones)=nr/v(campo)
Lrc=Lpreg
frc=Butil/Lrc
brc=nc/frc
Número de bloques=bri + nc x brc

Arboles B+
Siempre son densos y se hacen igual que en el apartado de arriba de arboles B+.
Apuntes fácilitos porque los profes explican como el puto culo ChusesApuntes

Ejemplos:

Esto es todo, solo es hacer los ejercicios resueltos,practicar e intentar entenderlo aunque es
una movida que flipas, pero en estos apuntes he intentado explicarlo para tontos como
yo , dale suerte

También podría gustarte