Diseño fisico de la base de datos

22
Diseño físico de la base de datos

Transcript of Diseño fisico de la base de datos

Diseño físico de la base de datos

Comparación del diseño de base de datos lógica y física

• Diseño de base de datos lógica es independiente de los detalles de implementación, tales como:funcionalidad específica de la DBMS de destino, programas de aplicación,Los lenguajes de programación o cualquier otra consideración otros físicosLa salida de este proceso es un modelo lógico de datos que incluye:un conjunto de tablas relacionales junto conLa documentación de apoyo,tales como un diccionario de datos.Considerando que el diseño de base de datos lógica tiene que ver con el qué, el diseño de base de datos física tiene que ver con el cómo.

Diseño físico de bases de datos

• El proceso de producción de una descripción de la implementación de la base de datos en el almacenamiento secundario, sino que describe las tablas de base, las organizaciones de archivos, y los índices utilizados para lograr un acceso eficaz a los datos y todas las restricciones de integridad asociados y las restricciones de seguridad.

Pasos para el diseño de base de datos física

Paso 3 diseño Traducir base de datos lógica para DBMS de destinoPaso 3.1 tablas de base de diseñoPaso 3.2 Diseño de representación de los datos obtenidosPaso 3.3 Reglas de diseño restantes negocios

Paso 4 Elija organizaciones de base y los índicesPaso 4.1 Analizar las transaccionesPaso 4,2 Elige organizaciones de basePaso 4.3 Elija índices

Paso 5 opiniones de los usuarios de diseñoPaso 6 mecanismos de seguridad de diseñoPaso 7 Considere la posibilidad de la introducción de redundancia controladaPaso 8 Monitorear y ajustar el sistema operativo

Paso 3 diseño Traducir base de datos lógica para DBMS de destino

•objetivoPara producir una base de datos relacional de trabajo a partir del modelo de datos lógicos.cómo crear tablas de base;si el sistema es compatible con la definición de claves primarias, claves foráneas y claves suplentes;si el sistema es compatible con la definición de los datos necesariossi el sistema permite columnas que se define como NOT NULL;si el sistema es compatible con la definición de dominios;si el sistema es compatible con las reglas de integridad relacional;si el sistema es compatible con la definición de reglas de negocio.

The three tasks in Step 3 are:

• Paso 3.1 tablas de base de diseñoPaso 3.2 Diseño de representación de los datos obtenidosPaso 3.3 Reglas de diseño restantes negocios

Paso 3.1 tablas de base de diseño• objetivo

Para decidir cómo representar las tablas de base identificados en el modelo lógico de datos en el DBMS de destino.el nombre de la tabla;una lista de columnas simples entre paréntesis;la clave principal y, en su caso, las claves alternativas (AK) y las claves externas (FK);restricciones de integridad referencial para las claves externas identificadas. Usted también debe tener para cada columna:su dominio, que consiste en un tipo de datos, la longitud, y todas las limitaciones en el dominio;un valor predeterminado opcional para la columna;si la columna puede contener valores nulos;si la columna se deriva y, si es así, cómo debe ser calculada.

Ejemplo: diseño físico de la tabla Sucursal utilizando un DBDL extendida.• domain Branch_Numbers fixed length character string length 4• domain Street_Names variable length character string maximum length 30• domain City_Names variable length character string maximum length 20• domain State_Codes fixed length character string length 2• domain Zip_Codes fixed length character string length 5• domain Staff_Numbers fixed length character string length 5

Branch( branchNo Branch_Numbers NOT NULL,street Street_Names NOT NULL,city City_Names NOT NULL,state State_Names NOT NULL,zipCode Zip_Codes NOT NULL,mgrStaffNo Staff_Numbers NOT NULL)Primary Key branchNoAlternate Key zipCodeForeign Key mgrStaffNo References Staff(staffNo) ON UPDATE CASCADE ON DELETE NO ACTION

Vista SQL muestra Creación de la tabla Sucursal

Diseño de representación de los datos derivados

• objetivoPara diseñar la representación de los datos obtenidos en la base de datos.el número de personal que trabaja en una sucursal particular;el total de salarios mensuales de todo el personal en una rama particular;el número de vídeos que un miembro tiene actualmente en alquiler.Desde una perspectiva de diseño de base de datos física, ya sea una columna derivada se almacena en la base de datos o se calcula cada vez que se necesita es un trade-off. Para decidir, se debe calcular:el coste adicional para almacenar los datos derivados y de mantener su coherencia con los datos de los que se deriva, yel coste para calcular cada vez que se requiere

Diseñar restantes reglas de negocio

• objetivoPara el diseño de las reglas de negocio que queda para el DBMS de destino.Las actualizaciones de las tablas puede verse limitada por las reglas de negocio que rigen lo real "transacciones mundiales que están representados por las actualizaciones.En este punto, usted tiene limitaciones físicas de base de datos de dominio de diseño y las restricciones de integridad relacional.El objetivo de este paso es el diseño de las reglas de negocio que se tienen que impone a los datos.El diseño de estas normas es de nuevo depende de la elección de DBMS;

Paso 4 Elija organizaciones de base y los índices

•objetivoPara determinar las organizaciones archivo óptimo para almacenar las tablas de base, y los índices que se requieren para lograr un rendimiento aceptable.las transacciones que pasan con frecuencia y tendrá un impacto significativo en el rendimiento;las transacciones que son críticos para el funcionamiento de la empresa;los tiempos de la al día / semana habrá una gran demanda hecha sobre la base de datos (llamada carga pico).

Paso 4.1 Analizar las transacciones• Objetivo

Para comprender el funcionamiento de las transacciones que se ejecutan en la base de datos y analizar las transacciones importantes.En muchas situaciones, sería demasiado tiempo para analizar todas las transacciones esperadas,al menos debe investigar el 'más importantes' unos. Se ha sugerido que el más activo 20 por ciento de las consultas de los usuarios representan el 80 por ciento del total de los datos de acceso. Usted puede encontrar esta regla del 80/20 es una guía útil para llevar a cabo el análisis

Paso 4.1 Analizar las transaccionesMapa todas las rutas de transacción a las tablas(E) Introducir los detalles de un nuevo miembro de registrarse en una rama determinada.(K) Actualizar / borrar los detalles de un elemento dado.(P) Lista el título, la categoría y la disponibilidad de todos los vídeos en una rama especifica, ordenadas por categoría.(Q) Lista el título, la categoría y la disponibilidad de todos los vídeos de un determinado actor en una rama específica, ordenada por título.(R) Indique el título, la categoría y la disponibilidad de todos los vídeos de un director determinado en una rama especifica, ordenada por título.(S) Listado de los detalles de todos los vídeos de un miembro especificado en la actualidad tiene en alquiler.

.

Paso 4.1 Analizar las transacciones• Determine la información de frecuencia

Los datos de análisis de uso(a) Las tablas y columnas que accede la transacción y el tipo de acceso, es decir, si se trata de una inserción, actualización, eliminación o recuperación de transacción.Para una transacción de actualización, tenga en cuenta las columnas que se actualiza como estas columnas pueden ser candidatos para evitar una estructura de acceso (tales como un índice secundario).(b) Las columnas utilizadas en las condiciones de búsqueda (en SQL, estas son las condiciones que se especifican en la cláusula WHERE). Compruebe si las condiciones incluyen:(i) coincidencia de patrones, por ejemplo: (nombre LIKE '%% Smith');(ii) las búsquedas por rango, por ejemplo: (salario BETWEEN 30000 AND 40000);(iii) de concordancia exacta recuperación de clave, por ejemplo: (salario = 30000).(c) Para una consulta, las columnas que están implicados en la unión de dos o más tablas.Una vez más, estas columnas pueden ser candidatos para las estructuras de acceso.(d) La frecuencia esperada en el que la transacción se ejecuta, por ejemplo, la transacción se ejecutará aproximadamente 50 veces por día.(e) Los objetivos de rendimiento de la transacción, por ejemplo, la transacción se debe completar dentro de 1 segundo.Las columnas utilizadas en las condiciones de búsqueda para transacciones muy frecuentes o crítica debe tener una prioridad más alta para las estructuras de acceso.

• las condiciones de búsqueda que se utilizan;las columnas que se requieren para unir tablas juntos (para operaciones de consulta);columnas que se utilizan para ordenar los resultados de las operaciones (consulta);columnas utilizadas para agrupar los datos en conjunto (para operaciones de consulta);cualquiera de las funciones incorporadas que se utilizan (como AVG, SUM);las columnas que son actualizados por la transacción.Se utiliza esta información para determinar los índices que se requieren, los cuales discutiremos en breve. Debajo del mapa de uso de la transacción, no hay un desglose detallado de la documentación:cómo cada tabla se accede (lee en este caso),número de registros que se accede cada vez que se ejecute la operación,número de registros que se accede por hora en promedio, y en los tiempos de carga pico.

Paso 4,2 Elige organizaciones de base

• ObjetivoPara determinar una organización eficaz de archivos para cada tabla base.Documento elección de organizaciones de base

Paso 4.3 Elija índices

• objetivoPara determinar si la adición de índices mejorará el rendimiento del sistema.la columna que se utiliza con mayor frecuencia para las operaciones de combinación, ya que esto hace que la operación de combinación más eficiente, ola columna que se utiliza con más frecuencia para acceder a los registros de una tabla con el fin deesa columna.

• Guía para elegir un 'lista de deseos' de los índices(1) ¿No índice mesitas ..(2) En general, el índice de la clave principal de una tabla si no es una clave de la organización de archivos.(3) Añadir un índice secundario a cualquier columna que se utiliza mucho para la recuperación de datos.(4) Añadir un índice secundario a una clave externa si se tiene acceso con frecuencia basados en él.(5) Añadir un índice secundario en las columnas que están frecuentemente involucrados en:(a) la selección o criterios de unión;(b) ORDER BY;(c) GROUP BY;(d) otras operaciones que incluya la selección (como UNION o DISTINCT).(6) Agregar un índice secundario en las columnas implicadas en las funciones integradas, junto con las columnas utilizadas para el agregado funciones incorporadas. :SELECT branchNo, AVG (salario)del personalGROUP BY branchNo;

• (7) En un caso más general de la directriz anterior, agregue un índice secundario en las columnas que podría resultar en un plan de sólo índice.(8) Evitar la indexación de una columna o tabla que se actualiza con frecuencia.(9) Evitar la indexación de una columna si la consulta va a recuperar un porcentaje importante (por ejemplo, 25 por ciento) de los registros de la tabla, incluso si la tabla es grande.En este caso, puede ser más eficiente para buscar toda la tabla de búsqueda a través de un índice.(10) Evitar indexación de columnas que se componen de largas cadenas de caracteresActualización de las estadísticas de la base de datosDocumento elección de índices secundarios

Step 5 Diseñar la vista de los usuarios

• ObjetivoPara el diseño de las opiniones de los usuarios que fueron identificados durante la etapa de requisitos de recogida y análisis de ciclo de vida de la aplicación de base de datos.Normalmente, las vistas se crean utilizando SQL o QBE una instalación similar. Por ejemplo, para Supervisores y Asistentes de rama B001 es posible crear una vista del Estado Mayor de la tabla base que excluye la información sobre salarios. La sentencia SQL para crear este punto de vista sería:

Paso 6 Diseñar la seguridad mecánica

•ObjetivoPara diseñar las medidas de seguridad de la base de datos tal como se especifica por los usuarios durante la fase de recogida y análisis de requerimientos de la aplicación de base de datos del ciclo de vidaLos SGBD relacionales suelen ofrecer dos tipos de seguridad de base de datos:sistema de seguridad;seguridad de los datos.