Gina Lizbeth Maza Anton
Esta página muestra parte del texto pero sin formato.
Puede bajarse el libro completo en PDF comprimido ZIP (207 páginas, 1,03 Mb) pulsando aquí
Implementación Relacional
Con la finalidad de referenciar a los objetos de la base de datos, se ha utilizado la siguiente sintaxis en la nomenclatura:
prefijo + ‘_‘ + nombre_objeto
donde:
nombre_objeto : son los objetos de la base de datos.
prefijo :según la tabla 4.1.
tabla 4.1 prefijos – objetos de la base de datos.
Objeto de la base de datos Prefijo
Tabla TBL
Vista vst
Procedimiento Almacenado usp
Disparador trg
Función Fx
Diagrama Drg
Reglas rlg
La base de datos académica, tiene el nombre BD_ETSUNP (se ha utilizado el prefijo BD para referenciar a la base de datos).
La implementación de los objetos que conforman la base de datos académica, se mencionan detallan en el anexo C.
4.1.3. Estimado del espacio requerido por el modelo físico.
Una buena estrategia en el mantenimiento de los archivos de la base de datos, es tener una estimación del espacio que va ocupar y asegurar la cantidad física adecuada de espacio en disco para almacenar los datos. Para obtener la estimación de espacio necesario para almacenar la base datos, se han definido los siguientes tamaños:
a) Tamaño de los tipos de datos.
b) Tamaño de las tablas, sin considerar sus índices.
c) Tamaño total de las tablas.
a) Tamaño de los tipos de datos.
En la tabla 4.2. se muestra el tamaño de los tipos de datos utilizados:
b) Tamaño de las tablas, sin considerar sus índices.
Se cuenta con las siguientes formulas para calcular el tamaño de las tablas:
1. Número de filas de la tabla = númFilas
2. Se realizan los siguientes cálculos:
Número de columnas = númCols
Suma de todas las columnas de longitud fija = datosTñoFijo.
Número de columnas de longitud variable = númColsVariables
Tamaño máximo de todas las columnas de longitud variable = tñoMáxVar
3. Si existen columnas de longitud fija en la tabla, se calcula:
Mapa de bits nulo (mapaBitsNulo) = 2+((númCols + 7)/ 8)
Sólo se utiliza la parte entera de la expresión anterior.
4. Tamaño total de las columnas de longitud variable (datosTñoVar) = 2 + (númColsVariables x 2) + tñoMáxVar
Si no hay columnas de longitud variable, datosTñoVar = 0.
5. Tamaño total de la fila (tñoFila) = datosTñoFijo + datosTñoVar + mapaBitsNulo +4
6. Se calcula el número de filas por página (8096 bytes disponibles por página):
N° de filas por página (filasPorPág) = ( 8096 ) / (tñoFila + 2)
El número de filas por página se redondea a la fila anterior.
7. Si la tabla tiene un índice agrupado, se calcula:
Número de filas libres por página (filasLibresPorPág) = 8096 x ((100 - factorRelleno) / 100) / tñoFila
El número de filas por página se redondea a la fila anterior.
8. Se calcula el número de páginas necesarias para almacenar todas las filas:
Número de páginas (númPágs) = númFilas / (filasPorPág - filasLibresPorPág)
El número de páginas estimado se redondea a la siguiente página.
9. Cálculo de la cantidad de espacio necesario para almacenar los datos en una tabla (8192 bytes por página):
Tamaño de la tabla (bytes) = 8192 x númPágs.
c) Tamaño total de las tablas.
Para calcular en tamaño total de las tablas, primero se deben calcular el tamaño de sus índices (agrupados y no agrupados).
Espacio utilizado para almacenar el índice agrupado
1. Se realizan los siguientes cálculos:
Número de columnas de la clave del índice = númColsClaveAgr
Suma de los bytes de todas las columnas de clave de longitud fija = TñoFijoClaveArg
Número de columnas de longitud variable de la clave del índice = númColsVarClaveAgr
Tamaño máximo de todas las columnas de clave de longitud variable = tñoVarMáxClaveAgr
2. Si hay columnas de longitud fija en el índice agrupado:
Mapa de bits nulo del índice (mapaBitsNuloÍndAgr) = 2 + (( númColsClaveAgr + 7) / 8 ).
Se utilizar la parte entera de la expresión anterior.
3. Si hay columnas de longitud variable en el índice:
Tamaño total de las columnas de longitud variable (tñoVarClaveAgr) = 2 + (númColsVarClaveAgr x 2) + tñoVarMáxClaveAgr
Si no hay columnas de longitud variable, tñoVarClaveAgr=0.
4. Tamaño total de la fila del índice (tñoFilaÍndAgr) = tñoFijoClaveAgr + tñoVarClaveAgr + mapaBitsNuloÍndAgr + 9.
5. Número de filas de índice por página (filasÍndAgrPorPág) = ( 8096 ) / (tñoFilaÍndAgr + 2).
6. Número de páginas (nivel 0) (númPágsNivelAgr0) = (espacioDatosUtilizado / 8192) / filasÍndAgrPorPág
Número de páginas (nivel 1) (númPágsNivelAgr1) = númPágsNivelAgr0 / filasÍndAgrPorPág.
Se repite el cálculo, a partir del nivel anterior n por filasÍndAgrPorPág hasta que el número de páginas para un nivel n dado (númPágsNivelAgrn) sea igual a uno.
Luego se calcula:
Número total de páginas (númPágsÍndAgr) = númPágsNivelAgr0 + númPágsNivelAgr1 + … + númPágsNivelAgrn.
7. Se calcula el tamaño del índice agrupado (8192 bytes por página):
Tamaño del índice agrupado (bytes) = 8192 x númPágsÍndAgr.
Espacio utilizado para almacenar cada índice no agrupado.
1. Se realizan los siguientes cálculos:
Número de columnas de la clave del índice = númColsClave
Suma de los bytes de todas las columnas de la clave de longitud fija = tñoFijoClave
Número de columnas de longitud variable de la clave del índice = númColsVarClave
Tamaño máximo de todas las columnas de clave de longitud variable = tñoVarMáxClave
2. Si hay columnas de longitud fija en el índice, entonces:
Mapa de bits nulo del índice (mapaBitsNuloÍnd) = 2 + (( númColsClave+ 7) / 8).
Se utiliza la parte entera del resultado anterior.
3. Si hay columnas de longitud variable en el índice:
Tamaño total de las columnas de longitud variable (tñoVarClave) = 2 + (númColsVarClave x 2) + tñoVarMáxClave
Si no hay columnas de longitud variable, tñoVarClave =0.
4. Tamaño total de la fila del índice no de hoja (tñoFilaÍndNH) = tñoFijoClave + tñoVarClave + mapaBitsNuloÍnd + 9.
5. Número de filas de índice no de hoja por página (filasÍndNHPorPág) = ( 8096 ) / (tñoFilaÍndNH + 2)
Se considera la parte entera del resultado anterior.
6. Tamaño total de la fila del índice de hoja (tñoFilaÍnd) = tñoFilaÍndAgr + tñoFijoClave + tñoVarClave + mapaBitsNuloÍnd + 1.
7. Número de filas de índice de nivel de hoja por página (filasÍndPorPág) = ( 8096 ) / (tñoFilaÍnd + 2)
8. Número de filas de índice libres por página (filasÍndLibresPorPág) = 8096 x ((100 - factorRelleno) / 100) / tñoFilaÍnd.
Se utiliza Factor de relleno = 100, por tanto esta formula no se considera.
9. Número de páginas (nivel 0) (númPágsNivel0) = númFilas / (filasÍndPorPág - filasÍndLibresPorPág)
Número de páginas (nivel 1) (númPágsNivel1) = númPágsNivel0 / filasÍndNHPorPág
Se repite el cálculo hasta que el número de páginas para un nivel n dado (númPágsNiveln) sea igual a uno.
Luego se calcula:
Número total de páginas (númPágsÍnd) = númPágsNivel0 + númPágsNivel1 … + númPágsNiveln
10. Se calcula el tamaño del índice no agrupado:
Tamaño del índice no agrupado (bytes) = 8192 x númPágsÍnd.
Finalmente se calcula el tamaño total de la tabla:
Tamaño total de la tabla (bytes) = espacioDatosUtilizado + Tamaño del índice agrupado + Tamaño del índice no agrupado.
La estimación del crecimiento de la base de datos se basa en aquellas tablas cuyo crecimiento es significativo en cada semestre académico y de aquellas tablas que varían en menor proporción
En el anexo D, se presenta el resumen del estimado del espacio requerido por el modelo físico.
Conclusiones
Las tablas de crecimiento significativo en cada semestre académico, se estima un aumento de 1.2. MB.
Las tablas cuyo crecimiento es de menor proporción, se estima un aumento de 0.2. MB.
La base de datos semestralmente se estima un crecimiento de 1.4 MB de tamaño.
Una estimación aproximada del tamaño del registro de transacciones es utilizar el 25% del tamaño de la base de datos, por tanto el tamaño del registro es 0.35 MB.
Finalmente se estima que la base de datos tendrá un crecimiento semestral de 2.0 MB .