You are on page 1of 6

Modelos de datos fsicos f

Modelamiento de Datos (ST 203 ) Conceptos que describen detalles de almacenamiento de los datos Dirigidos a usuarios especialistas en informtica

DISEO BASE DE DISE DATOS

Describen la estructura fsica de la base de datos: - Formato y ordenamiento de registros en los ficheros de datos - Tamaos de pgina, de sector, etc

Ing. Silvia Yaya Espinoza

- Caminos (o estructuras) de acceso a los datos (ficheros ndices, etc.)

Modelos de datos fsicos f


Datos en disco organizados en ficheros de registros Registro Coleccin de valores de datos relacionados entre s Cada valor (1 o ms bytes) corresponde a un campo Cada campo tiene asociado un tipo de datos Definicin de Tipo de Registro: { (nombrecampo,tipo-datos) }

Diseo Fsico de la Base de Datos Dise F


Objetivos Disminuir los tiempos de respuesta: Tiempo que tarda en ejecutarse una transaccin.
Tiempo(localizacin&transferencia)>>>Tiempo(pro cesamiento CPU)

Diseo Fsico de la Base de Datos


Entradas para diseo fsico El modelo lgico de datos y el modelo de procesos, que definen qu es lo que debe implementarse. Los volmenes de datos y patrones de acceso esperados Las caractersticas del DBMS/SGBD a utilizar Caractersticas de performance del HW y del SW El Modelo Externo indica cules consultas son Crticas.

Minimizar espacio de almacenamiento: Es la cantidad de espacio en disco que hace falta para los ficheros de la base de datos. Productividad de transacciones. Nmero de transacciones procesar en un intervalo de tiempo Evitar las reorganizaciones. Proporcionar la mxima seguridad. Optimizar el consumo de recursos. Para ello: diseo conceptual + externo -> fsico

Accesos crticos
Ser parte del frente de atencin al cliente. Ser de las ms usadas en el sistema de informacin. Existir tiempo de respuesta inaceptado por el usuario. Ser una transaccin batch para una actualizacin masiva de Base de datos, donde el tiempo disponible para todo el proceso es menor que el requerido.

Dispositivos Involucrados
Memoria principal. Sus accesos son mucho ms rpidos que los de memoria secundaria. Se sugiere al menos un 5% de la memoria libre, pero no ms 10%. Si no hay suficiente para todos los procesos, el sistema operativo paginar. CPU. Controla los recursos del sistema y ejecuta los procesos de usuario puede saturarse por mucho paginado Disco. Dada su velocidad de entrada/salida, debido a cmo estn los datos en el disco variar la performance: Los ficheros del SO deben separarse de los de la BD Los ficheros de datos deben separarse de los de ndices Los ficheros con los movimientos deben estar separados del resto de los ficheros de la base de datos. Red. La red se convierte en un cuello de botella cuando tiene mucho trfico y cuando hay muchas colisiones.

Sistemas de gestin de bases de datos gesti


Servicios que provee DBMS Soporte de al menos un modelo de datos. Lenguajes de alto nivel para manipular la BD LMD, LDD, LAD Optimizacin de consultas. Mantiene integridad y consistencia. Provee control de concurrencia y capacidades para compartir datos. Provee Manejo de Transacciones(commit y rollback). Permite recuperaciones de fallos. Brinda seguridad y facilidades en la administracin de datos.

Fases del diseo fsico dise f


1. Traducir el esquema lgico global para el SGBD especfico. Traducir el esquema de bd con las respectivas restricciones semnticas soportadas por el motor 2. Disear la representacin fsica. 1. Analizar las transacciones. 2. Escoger las organizaciones de ficheros. 3. Escoger los ndices secundarios. 4. Considerar la introduccin de redundancias controladas. 5. Estimar la necesidad de espacio en disco. 3. Disear los mecanismos de seguridad. 1. Disear las vistas de los usuarios. 2. Disear las reglas de acceso. 4. Monitorear y afinar el sistema.

1.Traducir el esquema lgico l


Cotejar informacin del relevamiento y diccionario Verificacin de implementacin de restricciones semnticas: Claves primarias, alternas, forneas. Integridad referencial Datos requeridos (null), valores por defecto Definicin de dominios de datos Reglas de negocio (triggers, asercin, check). Tipo de Modelo soportado (relacional) Verificacin respecto a nombres y datos Tamaos y caractersticas de nombres de objetos: tablas, campos, etc Tipos de datos existentes Restricciones en datos almacenados en estructuras

2.Disear la representacin fsica 2.Dise representaci f


Anlisis de Transacciones La frecuencia de ejecucin Tablas y campos a los que accede la transaccin y tipo de acceso: consulta, insercin, modificacin o eliminacin. Alta modificacin no conviene ser clave o ndice. Los atributos que se utilizan en los predicados del WHERE de las sentencias SQL. Candidatos a claves o ndice. Atributos involucrados en el join de tablas en consultas candidatos para claves o ndices. Tiempo en que debe ser concluida

2.Disear la representacin fsica 2.Dise representaci f


Escoger organizacin de ficheros Escoger la ptima para cada relacin. Ejemplo: Fichero desordenado. Fichero disperso (hashing) Hay otras organizaciones, como la ISAM o los rboles B+.

2.Disear la representacin fsica 2.Dise representaci f


Indices secundarios pro mejora de performance Indexar la clave primaria si el SGBD no lo hace No indexar las relaciones pequea. Indexar campos usados con frecuencia como clave alterna Indexar una clave fornea si es frecuentemente accedida. Evitar indexar campos o tablas frecuentemente actualizados Evitar indexar campos si recuperan una gran proporcin de tuplas de la tabla. Debe ser ms eficiente buscar la relacin entera que buscar usando un ndice. Evitar indexar campos de grandes cadenas de caracteres.

2.Disear la representacin fsica 2.Dise representaci f


Introduccin de redundancia controlada Hay circunstancias donde sea necesaria para aceptar la prdida de normalizacin a favor del funcionamiento. Debe considerarse slo cuando se cree que el sistema no podr funcionar de acuerdo a lo requerido. Si es insatisfactorio y una tabla tiene un porcentaje de actualizacin bajo y un muy alto porcentaje de dudas->desnormalizacin Una matriz transaccin/relacin contrareferencias proporciona informacin para esto. Pasos principales: Considerar datos derivados Considerar atributos duplicados o tablas juntas.

2.Disear la representacin fsica 2.Dise representaci f


Introduccin de redundancia controlada
Matriz transaccin/relacin

Conservacin Transaccin / de Relacin propietarios I R U D Sucursal X Planilla X Propietario X X X X Dueo X X X X Vista X X X X Renta X X X

Listar propietarios por sucursal I R U D X X X

Listar vistas con comentario I R UD X X X X

I= Insert; R= Read; U= Update; D= Delete

2.Disear la representacin fsica 2.Dise representaci f


Redundancia controlada: datos derivados Evaluar el coste adicional por almacenar los datos derivados y su consistencia con datos operacionales de cada uno, y el coste de calcularlo cada vez que es requerido. Almacenar atributos derivados si: Si acceso es frecuente o crtico para el funcionamiento del sistema Cuando el algoritmo de clculo es muy complejo o no puede ser realizado por el motor de BD Ej: se tiene tabla fatura y factura_det. Agregar campos mto_tot y cnt_tot en cabecera calculados de factura_det.

2.Disear la representacin fsica 2.Dise representaci f


Desnormalizacin: atributos duplicados, joins 1. Combinando las relaciones una a una (1:1). Cuando tablas generalmente se consultan juntas y casi nunca separadas
Ej: Proveedor (cod_prove, nomb_prove, tipo_prove,...) DireProve(cod_prove, dir_prove, ubigeo_prove,...) Si siempre que se accede a los proveedores se accede tambin a su direccin, debera juntarse en una sola tabla. Proveedor (cod_prove, nomb_prove, tipo_prove, dir_prove, ubigeo_prove,..)

2. Duplicando los atributos no clave en relaciones de una a muchas (1:M). Cuando se accede con frecuencia algn dato de la tabla 1 junto con los de la tabla M, para evitar combinacin de tablas. Generalmente cuando ese dato en la tabla 1 no cambia mucho

2.Disear la representacin fsica 2.Dise representaci f


Ej: Factura(cod_factu, cod_prove, fech_factu,...) Proveedor (cod_prove, nomb_prove, tipo_prove,...) Supongamos que siempre que se accede a la factura se requiere el nombre del proveedor, entonces se puede denormalizar. Factura(cod_factu, cod_prove, fech_factu,..., nomb_prove)

2.Disear la representacin fsica 2.Dise representaci f


4. Introducir grupos repetitivos (1FN) Slo cuando: El nmero absoluto de tems en los grupos repetidos
es conocido El nmero es esttico y no cambiar sobre el tiempo El nmero no es muy largo tpicamente no ms grande que doce, aunque esto no es tan importante como las dos condiciones anteriores. Ej: Si sabemos que se registra mximo 2 telfonos por cada proveedor y se tiene una tabla proveedor y otra telfono. Proveedor (cod_prove, nomb_prove,...) Telefono (cod_prove, num_telef) Se cambiara de la siguiente manera: Proveedor (cod_prove, nomb_prove,..., telef1, telef2)

Pero debe considerarse el costo de mantener la consistencia de los datos al actualizar el campo de la tabla 1 (nombre del proveedor). Tambin debe considerar el incremento de tamao de base de datos, espacio en disco. 3. Valores codificados en duro: Remover la clave fornea y codificar en duro tanto los valores permitidos como la validacin en la aplicacin.

5. Repetir el detalle en el maestro: Agregar una columna al maestro para almacenar los detalles ms actuales si son constantemente actualizados.

2.Disear la representacin fsica 2.Dise representaci f


Ej: Vendedor (cod_vende, nomb_vende,...) Venta (cod_venta, cod_vende, fech_venta, monto,...) Y supongamos que siempre se requiere saber la ltima fecha que cada vendedor realiz, y el ltimo monto de venta Vendedor (cod_vende, nomb_vende,, ult_fech, ult_mto) Venta (cod_venta, cod_vende, fech_venta, monto,...)

2.Disear la representacin fsica 2.Dise representaci f


7. Valores codificados en duro: Remover la clave fornea y codificar en duro tanto los valores permitidos como la validacin en la aplicacin 8. Creando tablas extradas: Informes que tienen que ejecutarse a hora pico durante el da. Si acceden a datos de derivados o realizan multirelaciones. No tiene que ser corriente. Se precalcula cada cierto tiempo, no en lnea.
Ej: Estados financieros contables

6. Claves en corto circuito: Crear una nueva clave fornea desde el nivel de detalle ms bajo al maestro ms alto.
Ej: Vendedor (cod_vende, nomb_vende,, cod_area) Venta (cod_venta, cod_vende, fech_venta, monto,...) Area(cod_area, desc_area,) Se transforma en: Venta (cod_venta, cod_vende, monto,,cod_area) Vendedor (cod_vende, nomb_vende,, cod_area) Area(cod_area, desc_area,)

2.Disear la representacin fsica 2.Dise representaci f


Estimar la necesidad de espacio en disco El diseador debe estimar el espacio necesario en disco para la base de datos a fin de evaluar la necesidad de comprar o repotenciar equipos Esta estimacin depende del SGBD que se vaya a utilizar y del hardware. En general, se debe estimar el nmero de tuplas de cada relacin y su tamao. Tambin se debe estimar el factor de crecimiento de cada relacin

3.Disear mecanismos de seguridad 3.Dise


Diseo segn la perspectiva del usuario
Se tiene en el modelo lgico y desde el conceptual un esquema nico de BD. Pero no todos los miembros de la organizacin pueden tener acceso a todos los datos de una misma tabla. Entonces se restringe el acceso a travs de una vista de usuario (una por cada modelo externo)
EN SQL: CREATE VIEW Ej: Personal (cod_perso, nomb_perso,.., salario, nro_hijos) Puede interesar a todos los sistemas de la institucin para mostrar quien efectu tal o cual operacin, o a quien se entreg los utiles, etc Pero slo le interesa a RRHH el campo salario y nro_hijos. -> Crear vista para los dems y no darles acceso a la tabla Vista Personal_Gral (cod_perso, nomb_perso)

3.Disear mecanismos de seguridad 3.Dise


Diseo de normas de acceso
Utilizando facilidades de la BD. Tpicamente se sugiere dar acceso a usuarios slo a vistas, no a tablas. A casa usuario de la Base de Datos es asignado un identificador por el DBA; usualmente con un password asignado. Cada sentencia ejecutada por el DBMS es a nombre de un usuario especfico. Asimismo cada objeto de la base de datos es de propiedad de un identificador de usuario y a menos que se otorgue permisos explcitos, slo puede ser accedido y modificado por su propietario. Los usuarios pueden agruparse en grupos o Rol

3.Disear mecanismos de seguridad 3.Dise


Diseo de normas de acceso
Para cada usuario o grupo de usuarios se otorga permisos para realizar determinadas acciones sobre determinados objetos de la BD Utiliza clasula GRANT del SQL:
GRANT SELECT, UPDATE, DELETE ON personal TO US01 GRANT SELECT ON ventas TO GR001 WITH GRANT OPTION;

4.Monitorear y afinar el sistema


Para corregir las decisiones del diseo inapropiado o reflejar los requisitos cambiantes luego de implementado el diseo fsico. No esttico. Hacer un cambio a un rea de un sistema operacional debe tener un efecto adverso en otra rea.
Espacio en disco Sube Bajo Tiempo de respuesta Baja Sube

Mtodo de Acceso
Cuando un usuario pide los datos del empleado el manejador de disco la pgina y lo almacenar en los buffers del SGBD en memoria principal. Una pgina es la unidad mnima de transferencia entre disco y memoria principal. Si un registro no cabe en un solo bloque, se repartir entre varias. El orden en que se colocan los registros en un fichero depende de su estructura. El objetivo es minimizar el nmero de accesos a disco y maximizar la probabilidad de que la informacin que el usuario va a necesitar en breve ya est en memoria RAM. Los pasos que se deben llevar a cabo para almacenar y acceder a un registro de un fichero es lo que se denomina un mtodo de acceso

Redundancia

Alta Baja

Controlar pruebas de cambios en BD y realizarlos fuera del horario de servicio

-> Minimizar paginado

Mtodo de Acceso
Si el registro solicitado ya se encuentra en la Memoria ya no ser necesario traerlo. Para que el paginado sea mnimo: Para procesos en lotes, al ser masivos, el tamao de pgina debe ser mximo cargando por vez la mayor cantidad de memoria que se usa en l. Para accesos puntuales o aleatorios el tamao de pagina deber ser mnimo, para que la memoria albergue ms pginas y haya menor liberacin de Buffers.

Dispositivo de almacenamiento: Disco


El paquete de discos o volumen est formado por un conjunto de superficies grabables (discos) montados sobre un eje En operacin, el eje y los discos rotan a una alta velocidad. Los datos se graban sobre las pistas, coronas circulares que se encuentran sobre cada superficie. Las pistas, unas sobre otras forman cilindros. Hay un conjunto de cabezas de lectura/escritura ubicadas al final de un brazo que se mueven como un grupo, de tal forma que stas pueden ser posicionadas sobre todas las pistas de un mismo cilindro. Toda la informacin de un cilindro puede accederse sin mover el brazo (operacin ms lenta) Las pistas se encuentran divididas en sectores. Puede existir fragmentacin si en un sector no cabe un mltiplo del nmero de registros, hay huecos o partir los registros entre sectores, pero para acceder a ciertos registros, hay que traer dos sectores en lugar de uno. -> Buscar mnima fragmentacin

Dispositivo de almacenamiento: Disco

Coste del acceso a disco


Velocidad de transferencia de datos entre disco y memoria principal. Tiempo de bsqueda (seek): es el tiempo de mover el brazo desde su posicin actual hasta el cilindro direccionado. Depende de la distancia a recorrer. En promedio un tercio del nro de cilindros Tiempo de rotacin (latencia): el disco debe girar hasta que la cabeza est situada sobre el sector a leer o escribir. El tiempo medio es el tiempo requerido para dar media vuelta. Tiempo de transferencia: es el tiempo empleado en leer o escribir los datos. Este tiempo es funcin del nmero de bytes transferidos (nmero de bytes transferidos / nmero de bytes por pista tiempo de dar una vuelta).

Modelamiento de Datos (ST 203 )

DISEO BASE DE DISE DATOS

Ing. Silvia Yaya Espinoza

You might also like