Está en la página 1de 7

Tema 4

Diseo fsico en bases de datos relacionales

Programa 1 Objetivos 2 Factores que influyen en el diseo fsico 3 Pautas de diseo fsico para sistemas relacionales 4 Resumen 5 Ejemplo de diseo fsico de una base de datos relacional 6 El Diseo Fsico en el SGBD ORACLE. Bibliografa

[ EN02] Secc. 16.2 y 16.3 Apuntes de la asignatura

Tema 4

Diseo fsico en bases de datos relacionales

La fase de diseo fsico consiste en la toma de decisiones sobre los aspectos de representacin interna y organizacin de los datos de manera que garanticen un buen rendimiento. 1 Objetivos
Disminuir los tiempos de respuesta, Minimizar el espacio de almacenamiento, Conseguir la mxima seguridad de los datos, y Optimizar el consumo de recursos.

Tema 4

Diseo fsico en BD r.

1 Objetivos (cont.)

Herramientas que los SGBDs ofrecen para realizar el diseo fsico: Eleccin de la organizacin de los datos (ficheros desordenados, ficheros con dispersin, o ficheros ordenados, etc.), Definicin de ndices, Definicin de los registros fsicos, Asignacin de ficheros a dispositivos de almacenamiento, y Asignacin de espacios de almacenamiento intermedio (bferes, etc.). En el estado actual de desarrollo de los SGBDs, el diseo fsico es dependiente del sistema de gestin sobre el que se va a hacer la implementacin.

Tema 4

Diseo fsico en BD r.

2. Factores que influyen en el diseo fsico Debe estar guiado por la naturaleza de los datos y adems por el uso esperado de stos. Para cada una de las relaciones hay que estimar el tamao de las tuplas y las previsiones de crecimiento de las ocurrencias a lo largo de la vida del sistema. Una lista de las consultas que se van a realizar y la frecuencia de ejecucin de stas. Una lista de las transacciones a ejecutar y la frecuencia de stas. Objetivos de rendimiento para cada una de las consultas y transacciones.

Tema 4

Diseo fsico en BD r. 2 Factores que influyen en el diseo fsico (cont.) Para cada consulta o transaccin ser necesario identificar:

Relaciones a las que se accede. Atributos que son obtenidos. Especialmente, los atributos que forman parte de la seleccin o de las concatenaciones si las hubiera. Tipo o tipos de acciones en cada transaccin (insertar, borrar o modificar). Es necesario conocer las caractersticas del SGBD escogido y del computador sobre el que se implementar la base de datos

Tema 4

Diseo fsico en BD r. 2 Factores que influyen en el diseo fsico

Para cada consulta se debe especificar lo siguiente: 1. Ficheros a los que tendr acceso la consulta. 2. Campo(s) sobre los que se especificar las condiciones de seleccin de la consulta. 3. Campo(s) sobre los que se especificarn condiciones de concatenacin, o condiciones para enlazar registros. 4. Campos cuyos valores obtendr la consulta. Los campos mencionados en los apartados 2 y 3 son candidatos para definir estructuras de acceso.

Tema 4

Diseo fsico en BD r. 2 Factores que influyen en el diseo fsico

Para cada transaccin o actualizacin debemos especificar lo siguiente: 1. Ficheros que se actualizarn. 2. Tipo de actualizacin en cada fichero. 3. Campos sobre los que se especificarn condiciones de seleccin para una operacin de modificacin o de borrado. 4. Campos cuyos valores alterar una operacin de modificacin. Los campos mencionados en el apartado 3 son candidatos para crear estructuras de acceso, Los indicados en el apartado 4 son candidatos para evitar estructuras de acceso, ya que su modificacin requiere la actualizacin de dichas estructuras.

Tema 4

Diseo fsico en BD r. 2 Factores que influyen en el diseo fsico

1. Anlisis de la frecuencia esperada de consultas y

transacciones.
1. 2. Esta informacin, junto con la de los campos para cada consulta y transaccin, nos da la frecuencia esperada de uso de cada campo para cada fichero, En general, cuando el volumen de procesamiento es elevado se aplica la regla informal 80-20, que establece que el 20% de las consultas y transacciones representan aproximadamente el 80% del procesamiento, por lo que en la prctica no resulta necesario recabar datos estadsticos de todas las transacciones. Es posible que algunas operaciones tengan restricciones de tiempo. Por ejemplo, una transaccin debe terminar antes de 5 segundos el 95% de las veces, y nunca debe tardar ms de 20 segundos. Estas consideraciones pueden servir para asignar ms prioridad a los campos de seleccin utilizados en consultas y transacciones con lmites temporales y que son candidatos a caminos de acceso.

2. Anlisis de las restricciones de tiempo.


1.

2.

3. Anlisis de la frecuencia esperada de operaciones de actualizacin.


1. Se debe especificar el mnimo posible de caminos de acceso para ficheros que se actualizan con frecuencia, porque la actualizacin de los caminos de acceso hace ms lentas las operaciones.

Tema 4

Diseo fsico en BD r.
3 Pautas de diseo fsico para sistemas relacionales

1. Tcnicas para acelerar las operaciones de concatenacin.


1. clusters, o agrupaciones de relaciones 2. Desnormalizacin.

2. Pautas para la organizacin de ficheros y la seleccin de ndices


1. Una opcin muy usada consiste en no mantener ordenados los registros de los ficheros, y crear tantos ndices secundarios como sea preciso. Los atributos que se usan con frecuencia en las condiciones de seleccin y de concatenacin son candidatos para ser ndices secundarios. 2. Otra opcin consiste en especificar un atributo de ordenacin para el fichero especificando un ndice primario.

3. Eleccin de dispersin .
1. Si un atributo clave se va a usar principalmente para seleccionar por igualdad, y para operaciones de concatenacin, pero no para acceder a los registros en orden, podemos escoger un fichero disperso

Tema 4

Diseo fsico en BD r.
5. Ejemplo de diseo fsico de una base de datos relacional

(Ocurrencias, en miles (k-occ), tamao de cada tupla en octetos (oct), y crecimiento anual esperado (en porcentaje)

Ejemplar(nm_reg, ISBN, ) /* Contiene la informacin de los ejemplares fsicos almacenados en la biblioteca */ 100 k-occ / 50 oct / 20% Clave Primaria: {nm_reg} Clave Ajena: {ISBN} hace referencia a Ttulo Tiene(nm_reg, nm_us, fecha, ) /* Se refiere a los prstamos de ejemplares a usuarios */ 10 k-occ / 20 oct / despreciable Clave Primaria: {nm_reg} Clave Ajena: {nm_reg} hace referencia a Ejemplar Valor No Nulo: {nm_us, fecha} Clave Ajena: {nm_us} hace referencia a Usuario Solicita(nm_reg, nm_us, ) /* Contiene la solicitud de prstamos. */ 5 k-occ / 20 oct / despreciable Clave Primaria: {nm_reg, nm_us} Clave Ajena: {nm_reg} hace referencia a Ejemplar Clave Ajena: {nm_us} hace referencia a Usuario Usuario( nm_us,) /* Contiene los Usuarios registrados en la biblioteca * /60 k-occ / 200 oct / 5% Clave Primaria: {nm_us} Ttulo (ISBN, ttulo,) /* Contiene la descripcin de un Ttulo (del que puede haber uno o ms ejemplares) */50 k-occ / 100 oct / 20% Clave Primaria: {ISBN} Materia (n_materia,) /* Materias posibles tratadas en los Ttulos */1 k-occ / 30 oct / despreciable Clave Primaria: {n_materia} Trata (n_materia, ISBN) /* Relacin n:m entre Ttulos y Materias */ 200 k-occ / 20 oct / 20% Clave Primaria: {n_materia, ISBN} Clave Ajena: {n_materia} hace referencia a Materia Clave Ajena: {ISBN} hace referencia a Libro

Tema 4

Cd. T1 T2 T3 T4 T5 6 30 20 15 25

Diseo fsico en BD r.
5. Ejemplo de diseo fsico de una base de datos relacional Transacciones ms importantes
Frec. Descripcin Dar de alta un ejemplar, y en su caso el ttulo correspondiente (hay unos dos ejemplares por cada ttulo) Buscar ejemplares sabiendo el ttulo aproximado (cada consulta supone 4 accesos a ttulo; se encuentra y pide un ejemplar por consulta) Registrar/anular una solicitud Registrar/anular un prstamo Buscar ttulos a partir de un nombre de materia aproximado (cada consulta supone unos 5 accesos al atributo n_materia, de los cuales dos se traducen en un acceso al Ttulo, por medio de Trata) Altas/bajas de Usuarios

T6

Tema 4

Diseo fsico en BD r.
5. Ejemplo de diseo fsico de una base de datos relacional
Perfil de la carga para cada relacin

Cd.

Frec.

Ejemplar C M 1 1 C

Tiene M C

Solicita M C

Usuario M C

Ttulo M 0.5 4 C

Materia M C

Trata M

T1 T2 T3 T4 T5 T6 TOTAL

6 30 20 15 25 5 30

1 1 2 1 6 15 20 5 170 3 125 50 5 2

Tema 4

Diseo fsico en BD r.
5. Ejemplo de diseo fsico de una base de datos relacional

Anlisis de las relaciones


Ejemplar Prevalecen las consultas a partir de Ttulo, por lo que convendra agruparlo con Ttulo, con clave ISBN. Para su asignacin a un fichero, conviene prever espacio de crecimiento (un 20% anual). Tiene Se modifica por nm_reg. Convendra definir un ndice, o tambin podra usarse la dispersin. Solicita. Es presumible que se acceda tanto por num_soc como por nm_reg. Conviene definir un ndice para cada uno de dichos atributos, o bien dispersin para un atributo y un ndice para el otro. Usuario Se modifica por num_us. Convendra definir un ndice, o tambin podra usarse la dispersin. Se debe prever un crecimiento moderado (5% anual) Ttulo Es la relacin ms consultada, principalmente por ttulo (120 veces por la transaccin T2), y luego por ISBN (50 veces, a partir de Trata). Definiremos un ndice primario sobre ttulo (ya que adems conviene que el fichero est ordenado por ttulo, pues en muchos casos se busca un ttulo aproximado, segn T2), y uno secundario por ISBN. Este ndice secundario facilitar las altas (transaccin T1). Para su asignacin a un fichero, conviene prever espacio de crecimiento (un 20% anual). Materia Se consulta por n_materia con frecuencia. En general, la dispersin es ms rpida, por lo que es recomendable en esta relacin, aunque, como en el caso de Ttulo, podra ordenarse y definirse un ndice primario sobre el atributo n_materia. Trata Se accede por n_materia, desde Materia. Podra usarse agrupamiento con Materia, o bien un ndice secundario. La dispersin puede ser problemtica para relaciones con crecimiento constante, pero puede obviarse si se dispone de dispersin dinmica. Para su asignacin a un fichero, conviene prever espacio de crecimiento (un 20% anual).

También podría gustarte