Está en la página 1de 23

- Bases de Datos -

- Diseo Fsico -

Luis D. Garca

Abril de 2006
- Bases de Datos -

* Diseo Fsico * Introduccin

El diseo de una base de datos est compuesto por


AGENDA tres etapas, el Diseo Conceptual, en el cual se
descubren la semntica de los datos, definiendo las
Introduccin entidades, atributos y relaciones, el Diseo Lgico, en
Metodologa el que se especifica qu se guarda en la Base de Datos
Traduccin del Esquema Lgico y el Diseo Fsico, donde se especifica cmo se
Diseo de la Representacin Fsica guardan los datos.
Diseo de los Mecanismos de Seg.
Monitorizar y afinar el Sistema
Para ello, el diseador debe conocer muy bien toda la
funcionalidad del SGBD concreto que se vaya a utilizar
y tambin el sistema informtico sobre el que ste va a
trabajar. El diseo fsico no es una etapa aislada, ya
que algunas decisiones que se tomen durante su
desarrollo pueden provocar una reestructuracin del
esquema lgico.
- Bases de Datos -

* Diseo Fsico * Metodologa

El diseo fsico se divide de cuatro fases, cada una


AGENDA de ellas compuesta por una serie de pasos:

Introduccin
1. Traducir el esquema lgico global para el SGBD
Metodologa
especfico:
Traduccin del Esquema Lgico
Diseo de la Representacin Fsica
Diseo de los Mecanismos de Seg.
- Disear las relaciones base para el SGBD.
Monitorizar y afinar el Sistema - Disear las reglas para el SGBD.

2. Disear la representacin fsica:

- Analizar las transacciones.


- Escoger las organizaciones de ficheros.
- Escoger los ndices secundarios.
- Estimar la necesidad de espacio en disco.
- Bases de Datos -

* Diseo Fsico * Metodologa

3. Disear los mecanismos de seguridad.


AGENDA

- Disear las vistas de los usuarios.


Introduccin
Metodologa
- Disear las reglas de acceso.
Traduccin del Esquema Lgico
Diseo de la Representacin Fsica 4. Monitorizar y afinar el sistema.
Diseo de los Mecanismos de Seg.
Monitorizar y afinar el Sistema El objetivo de la etapa de Diseo Fsico es producir
una descripcin de la implementacin de la base de
datos en memoria secundaria, incluyendo a su vez las
estructuras de almacenamiento y los mtodos de
acceso que se utilizarn para conseguir un acceso
eficiente a los datos.
- Bases de Datos -

* Diseo Fsico * Traduccin del Esquema Lgico

La primera fase del diseo lgico consiste en traducir


AGENDA el esquema lgico global en un esquema que se pueda
implementar en el SGBD escogido. Para ello, es
Introduccin necesario conocer toda la funcionalidad que ste ofrece.
Metodologa El diseador deber saber:
Traduccin del Esquema Lgico
- Disear las Relaciones Base Si el sistema soporta la definicin de claves
- Disear las Reglas primarias y forneas.

Diseo de la Representacin Fsica


Si el sistema soporta la definicin de datos
Diseo de los Mecanismos de Seg.
requeridos (es decir, si se pueden definir atributos como
no nulos).
Monitorizar y afinar el Sistema

Si el sistema soporta la definicin de dominios.

Si el sistema soporta la definicin de reglas.

Cmo se crean las relaciones base en el sistema?


- Bases de Datos -

* Diseo Fsico * Traduccin del Esquema Lgico

Disear las Relaciones Base para el SGBD


AGENDA

Las relaciones base se definen mediante el lenguaje


Introduccin
de definicin de datos del SGBD. Para ello, se utiliza el
Metodologa
esquema lgico global y el diccionario de datos. El
Traduccin del Esquema Lgico
esquema lgico consta de un conjunto de relaciones
- Disear las Relaciones Base
junto a sus atributos, clave primaria y claves forneas,
- Disear las Reglas si las tiene, as como sus reglas de integridad.

Diseo de la Representacin Fsica


En el diccionario de datos por otro lado, se describen
Diseo de los Mecanismos de Seg.
cada uno de los atributos definiendo a la vez, los tipo
Monitorizar y afinar el Sistema
de datos, longitud y restricciones de dominio, el valor
por defecto (opcional) y si admite o no valores nulos.
- Bases de Datos -

* Diseo Fsico * Traduccin del Esquema Lgico

Disear las Relaciones Base para el SGBD


AGENDA

Ejemplo:
Introduccin
Metodologa
CREATE DOMAIN string AS VARCHAR(15);
Traduccin del Esquema Lgico CREATE DOMAIN tipo AS VARCHAR(1)
- Disear las Relaciones Base CHECK (VALUE IN (O,A,E',P') );
- Disear las Reglas
CREATE TABLE empleado (
ci INT4 NOT NULL,
Diseo de la Representacin Fsica
nombre STRING NOT NULL,
Diseo de los Mecanismos de Seg.
tipo TIPO NOT NULL DEFAULT O',
Monitorizar y afinar el Sistema sueldo INT4 NOT NULL,
ci_jefe INT4 NOT NULL,

PRIMARY KEY (ci),


FOREIGN KEY (ci_jefe) REFERENCES propietario
ON DELETE cascade );
- Bases de Datos -

* Diseo Fsico * Traduccin del Esquema Lgico

Disear las Reglas para el SGBD


AGENDA

Las actualizaciones que se realizan sobre las


Introduccin
relaciones de la Base de Datos de una organizacin
Metodologa
deben observar ciertas restricciones propias de la
Traduccin del Esquema Lgico
misma. Algunos SGBD proporcionan mecanismos que
- Disear las Relaciones Base
permiten definir estas restricciones y vigilan que no se
- Disear las Reglas violen.

Diseo de la Representacin Fsica


Ejemplo:
Diseo de los Mecanismos de Seg.
Monitorizar y afinar el Sistema
No es posible que un empleado tenga un sueldo
menor que cero, por lo tanto, se debe definir entonces
una restriccin en la sentencia CREATE TABLE de la
relacin EMPLEADO.
- Bases de Datos -

* Diseo Fsico * Traduccin del Esquema Lgico

Disear las Reglas para el SGBD


AGENDA

- Creacin de la Restriccin:
Introduccin
Metodologa
CREATE FUNCTION validar_sueldo() RETURNS trigger as $validar$
Traduccin del Esquema Lgico
BEGIN
- Disear las Relaciones Base
- Disear las Reglas IF NEW.sueldo < 0 THEN
RAISE EXCEPTION % no puede tener un sueldo negativo,
Diseo de la Representacin Fsica NEW.nombre;
Diseo de los Mecanismos de Seg. END IF;
RETURN NEW;
Monitorizar y afinar el Sistema
END;

$validar$ LANGUAGE plpgsql;

CREATE TRIGGER validar BEFORE INSERT OR UPDATE


ON empleado FOR EACH ROW EXECUTE PROCEDURE
validar_sueldo();
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Uno de los objetivos principales del diseo fsico es


AGENDA almacenar los datos de modo eficiente. Para medir la
eficiencia hay varios factores que se deben tener en
Introduccin cuenta:
Metodologa
Traduccin del Esquema Lgico
- Productividad de Transacciones: es el nmero
Diseo de la Representacin Fsica de transacciones que se quiere procesar en un
- Escoger la Organizacin de Ficheros intervalo de tiempo.
- Escoger los ndices Secundarios
- Considerar Control de Redundancias
- Tiempo de Respuesta: es el tiempo que tarda en
- Estimar la necesidad de Espacio
ejecutarse una transaccin. Desde el punto de vista
- Analizar las Transacciones
del usuario, este tiempo debera ser el mnimo posible.

Diseo de los Mecanismos de Seg.


- Espacio en Disco: es la cantidad de espacio en
Monitorizar y afinar el Sistema
disco que hace falta para los ficheros de la base de
datos. Normalmente, el diseador querr minimizar
este espacio.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

En algunos casos todos estos factores no se pueden


AGENDA satisfacer a la vez. Por ejemplo, para conseguir un
tiempo de respuesta mnimo, puede ser necesario
Introduccin aumentar la cantidad de datos almacenados,
Metodologa ocupando ms espacio en disco. Por lo tanto, se
Traduccin del Esquema Lgico debern ir ajustando estos factores para conseguir un
Diseo de la Representacin Fsica equilibrio razonable.
- Analizar las Transacciones
- Escoger la Organizacin de Ficheros Para satisfacer de la manera ms equitativa posible
- Escoger los ndices Secundarios cada uno de estos factores nos basaremos en cinco
- Considerar Control de Redundancias actividades:
- Estimar la necesidad de Espacio

- Analizar las Transacciones


Diseo de los Mecanismos de Seg.
- Escoger la Organizacin de Ficheros
Monitorizar y afinar el Sistema
- Escoger los ndices Secundarios
- Considerar Control de Redundancias
- Estimar la necesidad de Espacio
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Analizar las Transacciones


AGENDA
Para realizar un buen diseo fsico es necesario
Introduccin conocer las consultas y las transacciones que se van a
Metodologa ejecutar sobre la base de datos. Esto incluye tanto
Traduccin del Esquema Lgico informacin cualitativa, como cuantitativa. Para cada
Diseo de la Representacin Fsica transaccin, hay que especificar:
- Analizar las Transacciones
- Escoger la Organizacin de Ficheros - La frecuencia con que se va a ejecutar.
- Escoger los ndices Secundarios
- Considerar Control de Redundancias - Las relaciones y los atributos a los que accede la
transaccin, y el tipo de acceso: consulta, insercin,
- Estimar la necesidad de Espacio modificacin o eliminacin.

Diseo de los Mecanismos de Seg. - Si es una consulta, los atributos involucrados en el


Monitorizar y afinar el Sistema join de dos o ms relaciones.

- Las restricciones temporales impuestas sobre la


transaccin.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Escoger la Organizacin de Ficheros


AGENDA
El objetivo de este paso es escoger la organizacin
Introduccin de ficheros ptima para cada relacin. Por ejemplo, un
Metodologa Fichero Desordenado es una buena estructura
Traduccin del Esquema Lgico cuando se va a cargar gran cantidad de datos en una
Diseo de la Representacin Fsica relacin en el momento de inicializarla, ya que la
- Analizar las Transacciones relacin tiene pocas tuplas.
- Escoger la Organizacin de
Ficheros Por otra parte, los Ficheros Dispersos son
- Escoger los ndices Secundarios apropiados cuando se accede a las tuplas a travs de
- Considerar Control de Redundancias los valores exactos de alguno de sus campos
- Estimar la necesidad de Espacio (condicin de igualdad en el WHERE).

Diseo de los Mecanismos de Seg. Las organizaciones de ficheros a elegir en el diseo


Monitorizar y afinar el Sistema deben documentarse, justificando en cada caso la
opcin escogida.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Escoger los ndices Secundarios


AGENDA
Los ndices secundarios permiten especificar
Introduccin
caminos de acceso adicionales para las relaciones
Metodologa
base. Por ejemplo, la relacin EMPLEADO se puede
haber almacenado en un fichero disperso a travs del
Traduccin del Esquema Lgico
atributo ci. Si se accede a menudo a esta relacin a
Diseo de la Representacin Fsica
travs del atributo nombre, se puede plantear la
- Analizar las Transacciones
creacin de un ndice sobre dicho atributo para
- Escoger la Organizacin de Ficheros
favorecer estos accesos.
- Escoger los ndices Secundarios
- Considerar Control de Redundancias A la hora de seleccionar los ndices, se pueden
- Estimar la necesidad de Espacio
seguir las siguientes indicaciones:

- Construir un ndice sobre la clave primaria de cada


Diseo de los Mecanismos de Seg. relacin base.
Monitorizar y afinar el Sistema
- No crear ndices sobre relaciones pequeas.
- Aadir un ndice sobre los atributos que se utilizan
para acceder con mucha frecuencia.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Escoger los ndices Secundarios


AGENDA

- Aadir un ndice sobre las claves forneas que se


Introduccin utilicen con frecuencia para hacer joins.
Metodologa
Traduccin del Esquema Lgico
- Evitar los ndices sobre atributos que se modifican
Diseo de la Representacin Fsica
a menudo.
- Analizar las Transacciones
- Escoger la Organizacin de Ficheros
- Escoger los ndices Secundarios - Evitar los ndices sobre atributos poco selectivos
- Considerar Control de Redundancias
(aquellos en los que la consulta selecciona una
- Estimar la necesidad de Espacio
porcin significativa de la relacin).

Diseo de los Mecanismos de Seg. - Evitar los ndices sobre atributos formados por
Monitorizar y afinar el Sistema cadenas de caracteres largas.

- Los ndices creados se deben documentar,


explicando las razones de su eleccin.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Considerar el Control de Redundancias


AGENDA
Existen casos en los cuales las relaciones ya
Introduccin normalizadas no proporcionan la mxima eficiencia
Metodologa para nuestra Base de Datos, por lo que es necesario
Traduccin del Esquema Lgico volver atrs y desnormalizar estas relaciones.
Diseo de la Representacin Fsica
- Analizar las Transacciones
La desnormalizacin de una relacin puede ser una
- Escoger la Organizacin de Ficheros
opcin viable cuando las prestaciones que se obtienen
no son las deseadas y la relacin se actualiza con
- Escoger los ndices Secundarios
poca frecuencia, pero se consulta muy a menudo. Las
- Considerar el Control de
redundancias que se pueden incluir al desnormalizar
Redundancias
son de varios tipos:
- Estimar la necesidad de Espacio

- Se pueden introducir datos derivados (calculados a


Diseo de los Mecanismos de Seg. partir de otros datos).
Monitorizar y afinar el Sistema
- Se pueden duplicar atributos.
- Se pueden hacer joins de relaciones.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Considerar el Control de Redundancias


AGENDA
No se pueden establecer de manera concreta una
Introduccin serie de reglas que determinen cundo desnormalizar
Metodologa relaciones y cuando no, pero hay algunas situaciones
Traduccin del Esquema Lgico muy comunes en donde puede considerarse esta
Diseo de la Representacin Fsica posibilidad:
- Analizar las Transacciones
- Escoger la Organizacin de Ficheros
- Combinar Relaciones (1:1): cuando hay relaciones
involucradas en relaciones de uno a uno, se accede a
- Escoger los ndices Secundarios
ellas de manera conjunta con frecuencia y casi no se
- Considerar el Control de
les accede separadamente, por lo que se pueden
Redundancias
combinar en una sola relacin.
- Estimar la necesidad de Espacio

- Duplicar atributos no clave en Relaciones (1:N)


Diseo de los Mecanismos de Seg. para reducir los joins: para evitar operaciones de join,
Monitorizar y afinar el Sistema se pueden incluir atributos de la relacin padre en la
relacin hijo de las relaciones de uno a muchos.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Considerar el Control de Redundancias


AGENDA
- Tablas de Referencia (lookup): estas tablas son
Introduccin listas de valores, cada uno de los cuales tiene un
Metodologa cdigo. Por ejemplo, digamos que existe una tabla de
Traduccin del Esquema Lgico referencia para los tipos de EMPLEADO, con las
Diseo de la Representacin Fsica descripciones de estos tipos y un cdigo asociado.
- Analizar las Transacciones
- Escoger la Organizacin de Ficheros Ahora, si se coloca en la relacin EMPLEADO una
- Escoger los ndices Secundarios clave fornea a esta tabla para indicar el tipo de
- Considerar el Control de empleado es mucho ms fcil validar los datos,
Redundancias adems de que se ahorra espacio escribiendo slo el
- Estimar la necesidad de Espacio cdigo y no la descripcin para cada empleado.

Diseo de los Mecanismos de Seg. - Duplicar Claves Forneas en Relaciones (1:N) para
Monitorizar y afinar el Sistema reducir los joins: para evitar operaciones de join, se
pueden incluir claves forneas de una relacin en otra
relacin con la que se relaciona.
- Bases de Datos -

* Diseo Fsico * Diseo de la Representacin Fsica

Estimar la necesidad de Espacio


AGENDA
En caso de que se tenga que adquirir nuevo
Introduccin equipamiento informtico, el diseador debe estimar el
Metodologa espacio necesario en disco para la base de datos.
Traduccin del Esquema Lgico
Diseo de la Representacin Fsica Esta estimacin depende del SGBD que se vaya a
- Analizar las Transacciones utilizar y del hardware. En general, se debe estimar el
- Escoger la Organizacin de Ficheros nmero de tuplas de cada relacin y su tamao.
- Escoger los ndices Secundarios Tambin se debe estimar el factor de crecimiento de
- Considerar Control de Redundancias cada relacin.
- Estimar la necesidad de Espacio

Diseo de los Mecanismos de Seg.


Monitorizar y afinar el Sistema
- Bases de Datos -

* Diseo Fsico * Diseo de los Mecanismos de Seguridad

Durante el Diseo Lgico se habrn especificado los


AGENDA requerimientos en cuanto a seguridad que en el
Diseo Fsico se deben implementar. Para llevar a
Introduccin cabo esta implementacin, el diseador debe conocer
Metodologa las posibilidades que ofrece el SGBD que se vaya a
Traduccin del Esquema Lgico utilizar.
Diseo de la Representacin Fsica
Diseo de los Mecanismos de Seg. - Disear las Vistas de los Usuarios: el objetivo de
Monitorizar y afinar el Sistema este paso es disear las vistas correspondientes a los
esquemas lgicos locales.

Las vistas, adems de preservar la seguridad,


mejoran la independencia de datos, reducen la
complejidad y permiten que los usuarios vean los
datos en el formato deseado.
- Bases de Datos -

* Diseo Fsico * Diseo de los Mecanismos de Seguridad

- Disear las Reglas de Acceso: el administrador


AGENDA debe asignar a cada usuario un identificador, que
tendr un contrasea asociada por motivos de
Introduccin seguridad.
Metodologa
Traduccin del Esquema Lgico Para cada usuario o grupo de usuarios se otorgarn
Diseo de la Representacin Fsica permisos para realizar determinadas acciones sobre
Diseo de los Mecanismos de Seg. determinados objetos de la base de datos. Por
Monitorizar y afinar el Sistema ejemplo, los usuarios de un determinado grupo
pueden tener permiso para consultar los datos de una
relacin base concreta y no tener permiso para
actualizarlos.
- Bases de Datos -

* Diseo Fsico * Monitorizar y Afinar el Sistema

Una vez implementado el esquema fsico de la base


AGENDA de datos, el mismo debe ser puesto en marcha para
observar sus prestaciones. Si stas no son las
Introduccin deseadas, el esquema deber cambiar para intentar
Metodologa satisfacerlas.
Traduccin del Esquema Lgico
Diseo de la Representacin Fsica Una vez afinado el esquema, no permanecer
Diseo de los Mecanismos de Seg. esttico, ya que tendr que ir cambiando conforme lo
Monitorizar y afinar el Sistema requieran los nuevos requisitos de los usuarios.

Los SGBD proporcionan herramientas para


monitorizar el sistema mientras que el mismo se
encuentra en funcionamiento.
- Bases de Datos -

FIN

También podría gustarte