Upload
jose-elias-alarcon-calle
View
28
Download
0
Embed Size (px)
DESCRIPTION
BASE DE DATOS CLASE 02
Citation preview
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Sistema de Base de Datos
Planificación, diseño y administración de
bases de datos.
Universidad Nacional Federico Villarreal Escuela Profesional de Ingeniería de Sistemas
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Bibliografía
Thomas M. Connolly.
Sistema de Bases de Datos
Pearson Education Limited 1995, 2005
Silberschatz, A;Korth, H; Sudarshan, S.
Fundamentos de Bases de Datos. 5ª edición.
Madrid: McGraw-Hill.
© Pearson Education Limited 1995, 2005
© Pearson Education Limited 1995, 2005
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Objetivos
Los componentes principales de un sistema de información.
Etapas principales del desarrollo de una base de datos.
Etapas principales del diseño de una base de datos:diseño conceptual, lógico y físico.
Las ventajas de las herramientas CASE (Computer-Aided Software Engineering, ingeniería del software asistida por computadora).
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Objetivos
Cómo evaluar y seleccionar un SGBD.
Distinción entre administración de datos y administración de bases de datos.
El propósito y las tareas asociados a la administración de datos y la administración de bases de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Depresión del Software
Durante las últimas décadas ha habido una proliferación de aplicaciones de software, muchas de las cuales requerían un mantenimiento constante que implicaba:
– Corregir los fallos detectados,
– Implementar nuevos requisitos de usuario,
– Modificar el software para que se ejecutara en plataformas nuevas o actualizadas.
El esfuerzo invertido en tareas de mantenimiento comenzó a absorber recursos a una tasa cada vez más alarmante.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Depresión del software
Como resultado, muchos procesos de software de gran envergadura
– se retrasaban,
– consumían todo el presupuesto disponible,
– eran poco fiables,
– eran difíciles de mantener,
– tenían prestaciones muy bajas.
Al final de los años 60, esto ocasionó una «crisis de software», que hoy en día se conoce como «depresión del software».
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Depresión del software
Principales razones del fracaso de los proyectos de software:
- falta de una especificación de requisitos completa
- falta de una metodología de desarrollo apropiada
- una pobre descomposición del diseño en una serie de componentes manejables.
Se propuso como solución un enfoque estructurado del desarrollo de software, denominado (ISLC, Information Systems Lifecycle, ciclo de vida de los sistemas de información).
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Sistema de información
Los recursos que permiten la recopilación,
gestión, control y diseminación de la
información en una determinada organización.
La base de datos es un componente
fundamental de los sistemas de información, y
su desarrollo y utilización deben contemplarse
desde la perspectiva de los requisitos globales
de la organización.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Ciclo de vida del desarrollo de sistemas de
base de datos
Planificación de la base de datos
Definición del sistema
Recopilación y análisis de requisitos
Diseño de la base de datos
Selección del SGBD (opcional)
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Ciclo de vida del desarrollo de sistemas de
base de datos
Diseño de la aplicación
Prototipado (opcional)
Implementación
Conversión y carga de los datos
Pruebas
Mantenimiento operativo
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Etapas del ciclo de vida del desarrollo de
sistemas de base de datos
Selección del SGBD
(opcional)
Definición del sistema
Recopilación y análisis de requisitos
Planificación de la base
de datos
Diseño conceptual de la
base de datos
Diseño físico de la base
de datos
Diseño de la aplicación
Planificación de la base
de datos (sección 9.3) Planificación de la base
de datos
Prototipado (opcional) Implementación
Conversión y carga de
los datos
Pruebas
Mantenimiento
operativo
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Planificación de la base de datos
Las actividades de gestión que permiten llevar
a cabo las distintas etapas del ciclo de vida del
desarrollo de sistemas de base de datos de la
forma más eficiente y efectiva posible.
Debe estar integrada con la estrategia global de
sistemas de información de la organización.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Planificación de la base de datos –
Objetivos de la misión
Los objetivos de la misión identifican las tareas a las
que las bases de datos deben dar soporte.
Las personas encargadas de sacar adelante el proyecto
de base de datos dentro de la organización son quienes
definen normalmente esa misión.
Enunciar la misión ayuda a clarificar el propósito del
sistema de base de datos y a proporcionar una ruta
más clara que conduzca a la creación del sistema de
base de datos requerido de forma efectiva.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Planificación de la base de datos –
Objetivos de la misión
Una vez definida la misión, la siguiente actividad implica identificar los objetivos de la misión.
Cada objetivo de la misión debe identificar un tarea concreta a la que el sistema de base de datos debe dar soporte.
El enunciado y los objetivos de la misión pueden acompañarse de cierta información adicional que especifique en términos generales la tarea que hay que realizar, los recursos con loa que hay que llevarla a cabo y el dinero que debe costar.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Planificación de la base de datos
La planificación e la base de datos también debe
incluir el desarrollo de estándares que regulen:
– cómo recopilar los datos,
– cómo especificar el formato,
– qué documentación hará falta,
– cómo debe procederse para el diseño y la
implementación.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Definición del sistema
Describe el ámbito y los límites de la aplicación de base
de datos y las principales vistas de usuario.
La vista de usuario define qué es lo que se requiere de
un sistema de base de datos desde la perspectiva:
– de un determinado rol de la organización (como
por ejemplo Gerente o Supervisor)
– O de un área de aplicación empresarial (como por
ejemplo marketing, personal o control de almacén).
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Definición del sistema
Un sistema de base de datos puede tener una o más vistas de usuario.
La identificación de las vistas de usuario es un aspecto de gran importancia a la hora de desarrollar un sistema de base de datos, porque ayuda a garantizar que son se quede fuera ninguno de los usuarios principales de la base de datos.
Las vistas de usuario también son particularmente útiles en el desarrollo de un sistema se base de datos en términos de los datos que hay que almacenar y de las transacciones que hay que ejecutar con dichos datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Representación de un sistema de base de
datos con múltiples requisitos
Vista de usuario 5
Vista de
usuario 4
Vista de usuario 6 Vista de
usuario 1
Vista de usuario 2
Vista de
usuario 3
Base de datos
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
El proceso de recopilar y analizar información
acerca de la parte dela organización a la que el
sistema de base de datos tenga que dar soporte
y utilizar esta información para identificar los
requisitos relativos el nuevo sistema.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Se recopila la información para cada usuario principal, incluyendo:
– Una descripción de los datos utilizados o generados;
– Una descripción de cómo hay que utilizar o generar los datos;
– Cualesquiera requisitos adicionales que sean aplicables al nuevo sistema de base de datos.
Esta información se analiza a continuación para identificar los requisitos (o características ) que hay que incluir en el nuevo sistema de base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Otra actividad importante es la de decidir cómo resolver aquellas situaciones en las que haya más de una vista de usuario para el sistema de base de datos.
Existen tres técnicas principales para gestionar los requisitos de un sistema de base de datos:
– enfoque centralizado;
– enfoque de integración de vistas;
– Combinación de ambas técnicas.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Enfoque centralizado
– Los requisitos de cada viste de usuario se mantienen en listas separadas. Durante la etapa de diseño de la base de datos se crean y combinan los modelos de datos que representan cada una de las vistas de usuario.
– En la etapa de diseño de la base de datos se crea primero un modelo de datos para cada vista de usuario.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Enfoque centralizado de gestión de
múltiples vistas de usuario
Vista de
usuario 1
Vista de
usuario 2
Vista de
usuario 3
Requisitos de la vista de usuario 1
Requisitos de la vista de usuario 2
Requisitos de la vista de usuario 3
Requisitos de todas
las vistas de usuario
Modelo ER
Relaciones, diccionario de
datos y otra documentación
de soporte
Modelo global
de datos
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Enfoque de integración de vistas
– Los requisitos para cada usuario se
mantienen en vistas separadas.
– Los modelos de datos que representan una
única vista de usuario se crean y combinan
durante la etapa de diseño.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Los modelos de datos que representan una vista
de usuario (o un subconjunto de todas las vistas
de usuario) se denominan modelos de datos
locales.
Cada modelo está compuesto por une serie de
diagramas y de documentación que describe
formalmente los requisitos de una o más vistas
de la base de datos, aunque no de todas ellas.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Recopilación y análisis de requisitos
Después se combinan los modelos de datos
locales para producir un modelo global de datos,
que representa todos los requisitos de usuario
para la base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Enfoque de integración de vistas para la
gestión de múltiples vistas de usuario
Vista de
usuario 1
Vista de
usuario 2
Requisitos de la
vista de usuario 1
Requisitos de la
vista de usuario 2
Vista de
usuario 1
Vista de
usuario 2
Vista de
usuario 3
Requisitos de la
vista de usuario 3
Vista de
usuario 3
Relaciones, diccionario de datos y otra documentación de soporte
Modelo global de
datos
Sistema
de base
de datos
Modelos locales de datos
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la base de datos
El proceso de creación de un diseño que dé
soporte a la misión y a los objetivos de la
misión de la empresa para el sistema de base de
datos requerido.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la base de datos
Las diferentes técnicas de diseño son:
– De arriba a abajo
– De abajo a arriba
– De dentro hacia afuera
– Mixta
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la base de datos
Los objetivos principales de modelado de datos son:
Ayudar a comprender el significado (semántica) de
los datos y facilitar la comunicación de los
requisitos de información;
Facilitar la comunicación de los requisitos de
información.
La construcción de un modelo de datos requiere
responder a una serie de preguntas acerca de las
entidades, las relaciones y los atributos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la base de datos
Un modelo de datos tiene por objetivo ayudar
a comprender:
la perspectiva que cada usuario tiene de los
datos;
la naturaleza de los propios datos,
independiente de su representación física;
el uso de los datos en las diferentes vistas de
usuario.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Criterios para producir un modelo de datos
óptimo
Validez estructural Coherencia con la forma en que la empresa define y
organiza la información.
Simplicidad Facilidad de comprensión por parte de los profesionales de
los sistemas de información y por parte de los usuarios no
técnicos
Capacidad de expresión Capacidad de distinguir entre diferentes datos, relaciones
entre los datos y restricciones
No redundancia Exclusión de la información no pertinente; en particular, la
representación de cada elemento de información una única
vez.
Capacidad de compartición No específico de ninguna aplicación o tecnologías concretas
y, como consecuencia, utilizable por muchas aplicaciones o
tecnologías.
Ampliabilidad Capacidad de evolucionar para satisfacer nuevos requisitos
con un efecto mínimo sobre los usuarios existentes.
Integridad Coherencia con la forma en que la empresa utiliza y gestiona
la información
Representación diagramática Capacidad de representar un modelo utilizando una notación
diagramática fácilmente comprensible.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la base de datos
Las tres fases del diseño de la base de datos:
– Diseño conceptual de la base de datos
– Diseño lógico de la base de datos
– Diseño físico de la base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño conceptual de la base de datos
Proceso de construcción de un modelo de los datos
utilizados en una empresa, de forma independiente de
todas las consideraciones físicas.
El modelo de datos se construye usando la información
documentada en la especificación de requisitos de los
usuarios.
El diseño conceptual de la base de datos es una fuente
de información para la siguiente fase, la de diseño
lógico de la base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño lógico de la base de datos
El proceso de construcción de un modelo de los
datos utilizados en una empresa basándose en
un modelo de datos específico, pero de forma
independiente de una SGBD concreto y de
cualquier otra consideración física.
El modelo de datos conceptual se refina y se
hace corresponder con un modelo lógico de
datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño físico de la base de datos
El proceso de generar una descripción de la implementación de la base de datos en el almacenamiento secundario.
Describe las relaciones base, la organización de los archivos y los índices utilizados para conseguir un acceso eficiente a los datos. También describe cualesquiera medida de seguridad y restricciones de integridad asociadas.
Se desarrolla de acuerdo con un modelo de datos concreto.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Arquitectura ANSI-SPARC en tres niveles
y fases del diseño de una base de datos
Esquema
externo
Esquema
conceptual
Esquema
interno
Almacenamiento
físico
Diseño lógico/conceptual de la base de datos
Diseño físico de la base de datos
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Selección del SGBD
La selección de un SGBD apropiado para soportar el sistema de base de datos.
Puede llevarse a cabo en cualquier instante anterior al diseño lógico, supuesto que haya disponible la suficiente información referida a requisitos de sistema tales como las prestaciones, la facilidad de reestructuración la seguridad y las restricciones de integridad.
Los pasos principales para seleccionar un SGBD:
– Definir los términos de referencia del estudio;
– Selección de dos o tres productos;
– Evaluación de los productos;
– Recomendación de un producto y generación del informe.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Características para la evaluación de
SGBD
Definición de los datos Definición física
Imposición de la clave principal Estructuras de archivo disponibles
Especificación de la clave externaMantenimiento de las estructuras de archivos
Tipos de datos disponibles Facilidad de reorganización
Ampliabilidad de los tipos de datosIndexación
Especificación de dominio Campos/registros de longitud variable
Facilidad de reestructuración Comprensión de los datos
Controles de integridad Rutinas de cifrado
Mecanismos de vistas Requisitos de memoria
Diccionario de datos Requisitos de almacenamiento
Independencia de los datos
Modelo de datos subyacente
Evolución del esquema
Accesibilidad Gestión de transacciones
Lenguaje de consulta compatible con SQL2/SQL:2003/Rutinas de copia de seguridad y de recuperación
ODMG Puntos de comprobación
Interfaz con lenguajes 3GL Registro de actividades
Multiusuario Granularidad de la concurrencia
Seguridad Estrategia de resolución de interbloqueos
- Controles Office Access Modelos de transacciones avanzados
-Mecanismo de autorización Procesamiento paralelo de consultas
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Características para la evaluación de
SGBD
Utilidades Desarrollo
Medida del rendimiento Herramientas 4GL/5GL
Optimización Herramientas CASE
Facilidades de carga/descarga Capacidades de gestión de ventanas
Monotorización de la utilización por parte de los usuarios Procedimientos almacenados, disparadores y reglas
Soporte para la administración de la base de datosHerramientas de desarrollo web
Capacidad de actualización
Estabilidad empresarial del fabricanteIntegración web
Base de usuario Utilidades de replicación
Soporte de formación y soporte al usuarioCapacidades distribuidas
Documentación Portabilidad
Sistema operativo requerido Hardware requerido
Coste Soporte de red
Ayuda en línea Capacidades de orientación a objetos
Estándares utilizados Arquitectura (cliente/servidor de 2 ó 3 niveles)
Gestión de versiones Prestaciones
Optimización de consultas ampliablesTasa de procesamiento de transacciones
Escalabilidad Número máximo de usuarios concurrentes
Soporte para herramientas analíticasSoporte para XML
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Ejemplo – Evaluación de un producto
SGBD
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la aplicación
El diseño de la interfaz de usuario y de los programas de aplicación que permiten utilizar y procesar la base de datos.
El diseño de la base de datos y el diseño de la aplicación son actividades paralelas.
Incluye dos actividades paralelas:
– diseño de las transacciones;
– Diseño de la interfaz de usuario.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la aplicación - Transacción
Una acción o serie de acciones llevadas a cabo
por un único usuario o programa de aplicación
y que acceden al contenido de la base de datos
o lo modifican.
Deben definir y documentar las característica
de alto nivel en las transacciones requeridas en
la base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Diseño de la aplicacióm - Transacciones
Característica importantes de las transacciones:
– los datos que tiene que utilizar la transacción;
– las características funcionales de la transacción
– la salida de la transacción;
– La importancia para los usuarios;
– La frecuencia esperada de uso.
Hay tres tipos principales de transacción: de
extracción, de actualización y mixtas.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Prototipado
Construcción de un modelo operativo de un sistema de base de datos.
Propósito
– Identificar las características del sistema que funcionan bien o que son inadecuadas;
– Sugerir mejoras o incluso nuevas características que el sistema de base de datos deba poseer;
– Clarificas los requisitos de usuario;
– Evaluar la factibilidad de un diseño concreto del sistema.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Implementación
Realización física del diseño de la base de datos y del diseño de las aplicaciones.
– Las instrucciones DLL se emplean para crear las estructuras de la base de datos y una serie de archivos de la base de datos vacíos.
– Se utiliza el lenguaje DLL para crear las vistas de usuario especificadas.
– Los lenguajes de tercera o cuarta generación se emplean para crear los programas de la aplicación. Estos incluyen la implantación de las transacciones de la base de datos mediante el lenguaje de manipulación de datos, posiblemente integrado dentro de un lenguaje de programación HOST.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Conversión y carga de los datos
Transferencia de los datos existentes a la nueva base de datos
y conversión de las aplicaciones existentes para que se
ejecuten con la nueva base de datos.
Solo es necesaria cuando se está sustituyendo un sistema
anterior mediante un nuevo sistema de base de datos.
– Los SGBD suelen disponer de una utilidad para cargar
archivos ya existentes en la nueva base de datos.
Puede ser posible convertir y utilizar programas de
aplicación antiguos para usarlos en el nuevo sistema.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Pruebas
Proceso de operar el sistema de base de datos con la intención de localizar pasibles errores.
Utiliza estrategias de prueba cuidadosamente planeadas y datos realistas.
Las pruebas no pueden mostrar la ausencia de fallos; sólo pueden mostrar es que existe el fallo del software.
Las pruebas demuestran que la base de datos y los programa de aplicación parecen funcionar.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Pruebas
También deberían comprobar la usabilidad del sistema de base de datos.
Debe realizarse una evaluación de acuerdo con una especificación de usabilidad.
Como ejemplos de criterios que pueden emplearse para llevar a cabo esa evaluación, podemos citar:
– Facilidad de aprendizaje;
– prestaciones;
– robustez;
– Capacidad de recuperación;
– adaptabilidad.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Mantenimiento operativo
Proceso de monitorizar y mantener el sistema de base de datos después de la instalación.
Monitorización de las prestaciones del sistema.
– Si falla el rendimiento puede que se necesite optimizar o reorganizar la base de datos.
Mantenimiento y actualización del sistema de base de datos (cuando sea requerido).
Se incorporarán nuevos requerimientos al sistema de base de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Herramientas CASE
El soporte CASE puede incluir:
- un diccionario de datos para almacenar información
acerca de los datos del sistema de base de datos;
- herramientas de diseño para soportar el análisis de
datos;
- herramientas que permitan el desarrollo del modelo
de datos corporativo y de los modelos conceptual y
lógico de los datos;
- herramientas que permitan el prototipado de
aplicaciones.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Herramientas CASE
Proporcionan los siguientes beneficios:
– Estándares;
– Integración;
– Soporte para métodos estándar;
– Coherencia;
– Automatización .
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Herramientas CASE y desarrollo del ciclo
vital de un sistema de base de datos
Planificación de la
base de datos
Definición del
sistema
Recopilación y
análisis de requisitos
Diseño de la base
de datos
Protipado
Diseño de la
aplicación
Implementación
Conversión y
carga de los datos
Pruebas
Mantenimiento
operativo
CASE de alto
nivel
CASE de
bajo nivel
CASE
integrado
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Administración de datos y administración
de bases de datos
El administrador de datos y el administrados de la base de datos son responsables de gestionar y controlar las actividades asociadas con los datos corporativos y con la base de daros corporativa.
El Administrados de la base de datos se preocupa más de las etapas tempranas del desarrollo, desde la planificación hasta el diseño lógico de la base de datos y el DBA está más concentrado en las etapas posteriores, desde el diseño de las aplicaciones hasta el mantenimiento operativo.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Administración de datos
La gestión de las bases de datos incluye:
– La planificación de la base de datos,
– El desarrollo y el mantenimiento de
estándares, políticas y procedimientos, así
como el diseño conceptual y lógico de la base
de datos.
Ing. Edgar Muñante Villafuerte Sistema de Bases de Datos
Administración de datos
La gestión de la implementación física de un sistema de bases de datos incluye:
– El diseño físico de la base de datos y su implementación,
– La configuración de los controles de seguridad e integridad,
– La monitorización de las prestaciones el sistema y la reorganización de la base de datos según sea necesario.