Diseño 2 Bases de datos

18
DISEÑO FÍSICO Tema 14. Diseño Físico

description

Bases de Datos

Transcript of Diseño 2 Bases de datos

  • DISEO FSICO

    Tema 14. Diseo Fsico

  • 2012 Grupo Kybele22

    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.

  • 2012 Grupo Kybele33

    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 Kybele44

    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.

  • 2012 Grupo Kybele55

    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 Kybele66

    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 Kybele77

    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+,

  • 2012 Grupo Kybele88

    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 Kybele99

    Disear la representacin fsica

    Seleccionar los ndices secundarios (Ejemplo)

    CREATE INDEX ind_alumno

    ON alumno (ciudad, cod_grupo);

  • 2012 Grupo Kybele1010

    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.

  • 2012 Grupo Kybele1111

    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 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 Kybele1212

    Disear la representacin fsica

    Caractersticas de Almacenamiento (Ejemplo)

    CREATE TABLE Profesor

    ( Cdigo NUMBER (4) PRIMARY KEY,

    Nombre VARCHAR2(25) NOT NULL,

    MateriaVARCHAR2(20))

    PCTFREE 20

    PCTUSED 30

    TABLESPACE Datos1

    STORAGE

    (INITIAL 100K

    NEXT 100K

    MAXEXTENTS 10

    PCTINCREASE 0);

  • 2012 Grupo Kybele1313

    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 Kybele1414

    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.

  • 2012 Grupo Kybele1515

    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);

  • 2012 Grupo Kybele1616

    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.

  • 2012 Grupo Kybele1717

    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 Kybele1818

    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 (MySQL-

    Proxy, Oracle-dba_tables).