Anda di halaman 1dari 18

DISEO FSICO

Tema 14. Diseo Fsico

Introduccin
Las bases de datos se organizan en dos secciones:
El esquema
Los datos o instancias

El esquema es la definicin de la BD:


El nombre de cada tabla
El nombre de cada columna
El tipo de dato de cada columna
La tabla a la que pertenece cada columna

Los datos o instancia es el contenido de la base


de datos, es decir, el contenido de todos los
registros.
2

2012 Grupo Kybele

Diseo Fsico
Uno de los objetivos principales del diseo fsico
es almacenar los datos de modo eficiente:
Productividad de transacciones (N_Transacciones/seg).
Tiempo de respuesta (seg/N_Transacciones).
Espacio en disco (GB, TB, ).

Pero, estos factores no se pueden satisfacer a la


vez. Se debe buscar un equilibrio entre cada uno
de los factores.
Si disminuimos el Tiempo de Respuesta a su
vez incrementamos el Espacio en Disco

2012 Grupo Kybele

Diseo Fsico
Para mejorar las prestaciones, el diseador del
esquema fsico debe saber cmo interactan los
dispositivos involucrados y cmo esto afecta a las
prestaciones:
Memoria Principal
CPU
Entrada/Salida Disco
Red

Cada uno de estos recursos afecta a los dems, de


modo que una mejora en alguno de ellos debe
mejorar el rendimiento global.
4

2012 Grupo Kybele

Diseo Fsico
Disear la representacin fsica
Analizar las transacciones.
Seleccionar las organizaciones de ficheros.
Seleccionar los ndices secundarios.
Estimar la necesidad de espacio en disco.

Disear los mecanismos de seguridad


Disear las vistas de los usuarios.
Disear las reglas de acceso.

Afinar y monitorizar el sistema

2012 Grupo Kybele

Disear la representacin fsica


Analizar las transacciones
Para realizar un buen diseo fsico es necesario conocer
las consultas y las transacciones que se van a ejecutar
sobre la base de datos.
Para cada transaccin hay que especificar:
La frecuencia con que se va a ejecutar.
Las relaciones y los atributos a los que accede la transaccin, y
el tipo de acceso (consulta, insercin, modificacin o
eliminacin).
Los atributos que se utilizan en los predicados del WHERE de
las sentencias SQL.
Si es una consulta, los atributos involucrados en el join de dos
o ms relaciones.

2012 Grupo Kybele

Disear la representacin fsica


Seleccionar las organizaciones de ficheros
Fichero desordenado
Se carga gran cantidad de datos en una relacin al inicializarla.
La relacin tiene pocas tuplas.
Se obtienen todas las tuplas de la relacin en cada acceso.
La relacin tiene una estructura de acceso adicional, como
puede ser un ndice.

Ficheros dispersos (Hashing)


Se accede a las tuplas a travs de los valores exactos de alguno
de sus campos (condicin de igualdad en el WHERE).
Si la condicin de bsqueda es por rango o por patrn la
dispersin no es una buena opcin.

Ms organizaciones: ISAM, rboles B+,


7

2012 Grupo Kybele

Disear la representacin fsica


Seleccionar los ndices secundarios
Los ndices secundarios permiten especificar caminos
de acceso adicionales para las relaciones base.
Hay que tener en cuenta que estos ndices conllevan un
coste de mantenimiento que hay que sopesar frente a
la ganancia en prestaciones:
Construir un ndice sobre la clave primaria de cada tabla.
No crear ndices sobre tablas pequeas.
Aadir un ndice sobre los atributos que se utilizan para
acceder con mucha frecuencia.
Aadir un ndice sobre las claves ajenas que se utilicen con
frecuencia para hacer joins.
Evitar los ndices sobre atributos que se modifican a menudo.

2012 Grupo Kybele

Disear la representacin fsica

Seleccionar los ndices secundarios (Ejemplo)

CREATE INDEX ind_alumno


ON alumno (ciudad, cod_grupo);

2012 Grupo Kybele

Disear la representacin fsica


Estimar la necesidad de espacio en disco
El diseador debe estimar el espacio necesario en disco
para la base de datos.
Esta estimacin depende del SGBD que se vaya a
utilizar y del hardware.
En general, se debe estimar el nmero de registros de
cada tabla y su tamao. Tambin se debe estimar el
factor de crecimiento de cada tabla.
En algunos SGBD el administrador puede especificar
algunas caractersticas de almacenamiento.

10

2012 Grupo Kybele

Disear la representacin fsica


Caractersticas de Almacenamiento
En la sentencia SQL de definicin de las tablas se
pueden incluir los siguientes parmetros de
almacenamiento:
PCTFREE: Porcentaje de espacio libre de cada bloque que se

11

reserva para futuras modificaciones de las filas de la tabla.


PCTUSED: Porcentaje de utilizacin de cada bloque.
INITIAL: denota el tamao de la extensin inicial.
NEXT: indica el tamao de las extensiones siguientes.
MINEXTENTS: indica el numero mnimo de extensiones.
MAXEXTENTS: indica el numero mximo de extensiones.
PCTINCREASE: es un factor de crecimiento de una extensin a
la siguiente (NEXT = NEXT * factor).

2012 Grupo Kybele

Disear la representacin fsica


Caractersticas de Almacenamiento (Ejemplo)
CREATE TABLE Profesor
( Cdigo NUMBER (4) PRIMARY KEY,
Nombre VARCHAR2(25) NOT NULL,
Materia VARCHAR2(20))
PCTFREE 20
PCTUSED 30
TABLESPACE Datos1
STORAGE
(INITIAL
100K
NEXT
100K
MAXEXTENTS 10
PCTINCREASE 0);

12

2012 Grupo Kybele

Diseo Fsico
Disear la representacin fsica
Analizar las transacciones.
Seleccionar las organizaciones de ficheros.
Seleccionar los ndices secundarios.
Estimar la necesidad de espacio en disco.

Disear los mecanismos de seguridad


Disear las vistas de los usuarios.
Disear las reglas de acceso.

Afinar y monitorizar el sistema

13

2012 Grupo Kybele

Disear los mecanismos de seguridad


Durante el diseo lgico se deben haber
especificado los requisitos de seguridad que se
deben implementar en esta fase.
Para llevar a cabo esta implementacin, el
diseador debe conocer las posibilidades que
ofrece el SGBD que se vaya a utilizar.
Disear las vistas de los usuarios.
Disear las reglas de acceso.

14

2012 Grupo Kybele

Disear los mecanismos de seguridad


Disear las vistas de usuario
Se deben disear las vistas de usuarios
correspondientes a los esquemas lgicos locales.
Las vistas, adems de preservar la seguridad:
Mejoran la independencia de datos
Reducen la complejidad
Permiten que los usuarios vean los datos en el formato
deseado.

CREATE VIEW alumnos_madrid


AS (SELECT *
FROM alumno
WHERE ciudad=Madrid);
15

2012 Grupo Kybele

Disear los mecanismos de seguridad


Disear las reglas de acceso
El administrador de la base de datos o el equipo de
sistemas debe asignar a cada usuario unos credenciales
para acceder a un conjunto de datos.
Para cada usuario o grupo de usuarios se otorgarn un
conjunto de permisos para realizar determinadas
acciones sobre determinados objetos de la base de
datos.
Por 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.
16

2012 Grupo Kybele

Diseo Fsico
Disear la representacin fsica
Analizar las transacciones.
Seleccionar las organizaciones de ficheros.
Seleccionar los ndices secundarios.
Estimar la necesidad de espacio en disco.

Disear los mecanismos de seguridad


Disear las vistas de los usuarios.
Disear las reglas de acceso.

Afinar y monitorizar el sistema

17

2012 Grupo Kybele

Afinar y monitorizar el sistema


Afinar el sistema
Una vez implementado el esquema fsico, se debe
poner en marcha la BD y observar sus prestaciones.
Si stas no son las deseadas, el esquema deber
cambiar para intentar satisfacerlas.

Monitorizar el sistema
Una vez afinado el esquema, no permanecer esttico,
ya que tendr que ir cambiando conforme lo requieran
los nuevos requisitos de los usuarios.
Los SGBD proporcionan herramientas para monitorizar
el sistema mientras est en funcionamiento (MySQLProxy, Oracle-dba_tables).
18

2012 Grupo Kybele

Anda mungkin juga menyukai