10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

31
arte Técnicas de análisis y diseño de bases de datos Capítulo 9 Planificación, diseño y administración de bases de datos Capítulo 10 Técnicas de determinación de hechos Capítulo 11 Modelado entidad-relación Capítulo 12 Modelado entidad-relación avanzado Capítulo 13 Normalización Capítulo 14 Normalización avanzada (

Transcript of 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Page 1: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

arte

Técnicas de análisis ydiseño de bases de datos

Capítulo 9 Planificación, diseño y administración de bases de datos

Capítulo 10 Técnicas de determinación de hechos

Capítulo 11 Modelado entidad-relación

Capítulo 12 Modelado entidad-relación avanzado

Capítulo 13 Normalización

Capítulo 14 Normalización avanzada

(

Page 2: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo

Planificación, diseño yadministración de

bases de datos

Objetivos del capítulo:

En este capítulo aprenderá:

• Los componentes principales de un sistema de información.

• Las etapas principales del desarrollo de sistemas de bases de datos.

• Las fases principales del diseño de una base de datos: diseño conceptual, lógico y fisico.

• Las ventajas de las herramientas CASE (Computer-Aided Software Engineering, ingeniería del soft-ware asistida por computadora).

• Los tipos de criterios utilizados para evaluar un SGBD.

• Cómo evaluar y seleccionar un SGBD.

• La 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.

El software ha sobrepasado al hardware como clave principal del éxito de numerosos sistemas informáticos.Desafortunadamente, el éxito de los proyectos de desarrollo de software no resulta particularmente impresio­nante. En las últimas décadas hemos visto la proliferación de aplicaciones software que van desde pequeñasy relativamente simples aplicaciones compuestas por unas pocas líneas de código, hasta grandes y complejasaplicaciones donde las líneas de código se cuentan por millones. Muchas de estas aplicaciones han requeridoa lo largo del tiempo un mantenimiento constante, lo que implicaba corregir los fallos detectados, implemen­tar nuevos requisitos de usuario y modificar el software para que se ejecutara en plataformas nuevas o actua­lizadas. Poco a poco, el esfuerzo invertido en tareas de mantenimiento comenzó a absorber recursos a una tasacada vez más alarmante. Como resultado, muchos proyectos de software de gran envergadura se retrasaban,consumían todo el presupuesto disponible o generaban productos que eran poco fiables, difíciles de mantener

y con prestaciones muy bajas. Esttcondujo a lo que se denominó crisis del software. Aunque este términofue utilizado por primera vez a fina es de la década de los sesenta, la crisis continúa con nosotros cuarenta añosdespués. Como resultado, algunos utores se refieren ahora a la crisis del software con el nombre de depre­sión del software. Como indicativo de la crisis, un estudio llevado a cabo en el Reino Unido por OASIG, ungrupo de trabajo dedicado a los aspectos organizativos de las tecnologías de la información, llegó a lassiguientes conclusiones acerca de los proyectos software (OASIG, 1996):

• entre un 80 y un 90% no cumplen con los requisitos de prestaciones establecidos;

• cerca de un 80% se retrasan y sobrepasan el presupuesto asignado;

• alrededor de un 40% fracasan o se abandonan;

• menos de un 40% de los productos contemplan adecuadamente los requisitos de capacitación y forma­ción;

Page 3: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

258 Sistemas de bases de datos

• menos de un 25% de los proyectos integran adecuadamente los objetivos empresariales y tecno­lógicos;

• sólo entre un 10 y un 20% satisfacen todos los criterios de éxito establecidos.

Son varias las razones a las que atribuir este fracaso de los proyectos software, entre las cuales podemoscitar:

• la falta de una especificación de requisitos completa;

• la falta de una metodología de desarrollo apropiada;

• una pobre descomposición del diseño en una serie de componentes manejables.

Como solución a estos problemas, se ha propuesto un enfoque estructurado del desarrollo de software quese denomina ISLC (Information Systems Lifecycle, ciclo de vida de los sistemas de información) o SDLC(Software Development Lifecycle, ciclo de vida del desarrollo software). Sin embargo, cuando el softwa­re que se está desarrollando es un sistema de bases de datos, ese ciclo de vida se suele denominar, más espe­cíficamente DSDLC (Database System Development Lifecycle, ciclo de vida del desarrollo de sistemas debases de datos).

Estructura del capítuloEn la Sección 9.1 vamos a describir brevemente el ciclo de vida de los sistemas de información y a explicarcómo se relaciona este ciclo de vida con el del desarrollo de sistemas de base de datos. En la Sección 9.2 pre­

sentaremos una panorámica de las etapas que componen el ciclo de vida del desarrollo de sistemas de basesde datos. En las Secciones 9.3 a 9.13 describiremos cada una de las etapas de ese ciclo de vida con mayordetalle. En la Sección 9.14 veremos cómo pueden las herramientas CASE (Computer-Aided SoftwareEngineering) proporcionar soporte para el ciclo de vida del desarrollo de sistemas de bases de datos.Concluiremos en la Sección 9.15 con una explicación de propósito y las tareas asociadas con la administra­ción de datos y la administración de bases de datos dentro de una organización.

9.1 El ciclo de vida de los sistemas de informaciónSistema deinformación

Los recursos que permiten la recopilación, gestión, control y diseminación de la infor­mación en una determinada organización.

Desde la década de 1970, los sistemas de bases de datos han ido sustituyendo de manera gradual a los siste­mas basados en archivos como parte de la infraestructura de sistemas de información de las organizaciones.Al mismo tiempo, cada vez se ha hecho más patente que los datos son un recurso comparativo de gran impor­tancia que debe tratarse con respecto, al igual que cualquier otro recurso de la organización. Esto hizo que

muchas organizaciones crearan departamentos o áreas funciona~s específicos a los que se les atribuyó laadministración de datos y la administración de bases de datos y qu eran responsables de la gestión y controlde los datos y de la base de datos corporativos, respectivamente.

Los sistemas de información incluyen las bases de datos, el software de base de datos, el software de apli­cación, el hardware informático y el personal que utiliza y desarrolla el sistema.

La base de datos es un componente fundamental de los sistemas de información, y su desarrollo y utiliza­ción deben contemplarse desde la perspectiva de los requisitos globales de la organización. Por tanto, el ciclode vida de los sistemas de información de una organización está inherentemente enlazado con el ciclo de vidadel sistema de base de datos que los da soporte. Normalmente, podemos identificar una serie de etapas clarasen el ciclo de vida de los sistemas de información: planificación, recopilación y análisis de requisitos, diseño,prototipado, implementación, conversión y manteniendo operativo. En este capítulo vamos a analizar estas eta­pas desde la perspectiva del desarrollo de un sistema de base de datos. Sin embargo, es importante tener en cuen­ta que el desarrollo de un sistema de base de datos también debe contemplarse desde la perspectiva más ampliadel desarrollo de lo que no es, en definitiva, sino un componente del sistema de información corporativo.

Page 4: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 259

A lo largo de este capítulo utilizaremos los términos 'área funcional' y 'área de aplicación' para referimosa actividades empresariales concretas dentro de una organización, como por ejemplo marketing, personal ocontrol de almacén.

9.2 El ciclo de vida del desarrollo de sistemasde base de datos

Como los sistemas de base de datos son un componente fundamental de los sistemas de información corpo­rativos, el ciclo de vida del desarrollo de sistemas de bases de datos está inherentemente asociado con el delos propios sistemas de información. La Figura 9.1 muestra las etapas del ciclo de vida del desarrollo desistemas de base de datos. Debajo del nombre de cada etapa se indica la sección de este capítulo donde se ladescribe.

Es importante tener en cuenta que las etapas del ciclo de vida del desarrollo de sistemas de base de datosno son estrictamente secuenciales, sino que existe una cierta repetición de las etapas anteriores a través de loque se denomina bucles de realimentación. Por ejemplo, los problemas que se encuentren durante el diseñode la base de datos pueden necesitar una nueva labor de recopilación y análisis de requisitos adicionales.Puesto que existen bucles de realimentación entre la mayoría de las etapas, en la Figura 9.1 solamente semuestran alguno de los más obvios. La Tabla 9.1 proporciona un resumen de las actividades principales aso­ciadas con cada etapa del ciclo de vida del desarrollo de sistemas de base de datos.

Tabla 9.1. Resumen de las actividades principales asociadas con cada etapadel ciclo de vida del desarrollo de sistemas de base de datos.

Etapa

Planificación de la base de datos

Actividades principales

Planificación del modo en que pueden llevarse a cabo las distintas etapas delciclo de vida de la forma más eficiente y efectiva.

Definición del sistema Especificación del ámbito y los límites del sistema de base de datos, incluyendolas principales vistas de usuario, los tipos de usuario y las áreas de aplicación.

Recopilación y análisis de requisitos Recopilación y análisis de los requisitos del nuevo sistema de base de datos.

Diseño de la base de datos

Selección del SGBD (opcional)

Dise, de la aplicación

Prototipado (opcional)

lmplementación

Conversión y carga de los datos

Pruebas

Mantenimiento operativo

Diseño conceptual, lógico y físico de la base de datos.

Selección de un SGBD adecuado para el sistema de base de datos.

Diseño de la interfaz de usuario y de los programas de aplicación que sirvanpara utilizar y procesar los datos de la base de datos.

Construcción de un modelo funcional del sistema de base de datos que permitea los diseñadores o usuarios visualizar y evaluar el aspecto y la función del sis­tema final.

Creación de las definiciones físicas de la base de datos y de los programas deaplicación.

Carga de los datos del antiguo sistema en el nuevo y, siempre que sea posible,conversión de las aplicaciones existentes para que se ejecuten sobre la nuevabase de datos.

Prueba de la base de datos en busca de errores y validación de la misma conrespecto a los requisitos especificados por los usuarios.

El sistema de base de datos está complemente implementado, después de locual se lo monitoriza y mantiene de manera continua. Cuando sea necesario, seincorporarán nuevos requisitos al sistema de base de datos aplicando de nuevolas etapas precedentes del ciclo de vida.

Page 5: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

260 Sistemas de bases de datos

Planificación de labase de datos

(Sección 9.3)

Definición del sistema

(Sección 9.4)

Recopilación y análisisde requisitos(Sección 9.5

Diseño de labase de datos

(Sección 9.6I

Diseño conceptual dela base de datos

Selección del SGBD

(opcional)(Sección 9.7)

Diseño lógico dela base de datos

Diseño físico dela base de datos

Diseño de la aplicación(Sección 9.8)

Prototipado (opcional)(Se~ción 9.9)

Implementación(Sección 9.10)

Conversión y cargade los datos

(Sección 9.11)

Pruebas

(Sección 9.12)

Mantenimiento operativo(Sección 9.13)

Figura 9.1. Las etapas del ciclo de vida del desarrollo de sistemas de base de datos.

Page 6: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 261

Para pequeños sistemas de base de datos, con un número reducido de usuarios, el ciclo de vida necesitaser muy complejo. Sin embargo, cuando se están diseñando sistemas de base de datos de tamaño medio ogrande, con decenas o miles de usuarios que utilizan centenares de consultas y programas de aplicación, elciclo de vida puede llegar a ser extremadamente complejo. A lo largo de este capítulo nos centraremos en lasactividades asociadas con el desarrollo de sistemas de base de datos de tamaño medio o grande. En las siguien­tes secciones se describen con más detalle las actividades principales asociadas con cada etapa del ciclo devida del desarrollo de sistemas de base de datos.

9.3 Planificación de la base de datosPlanificaciónde la basede datos

Las actividades de gestión que permiten llevar a cabo las distintas etapas del ciclode vida del desarrollo de sistemas de base de datos de la forma más eficiente yefectiva posible.

La planificación de la base de datos debe estar integrada con la estrategia global de sistemas de informaciónde la organización. Son tres las cuestiones principales que hay que considerar a la hora de formular una estra­tegia para los sistemas de información:

• identificación de los planes y objetivos de la empresa, con la subsiguiente determinación de las nece­sidades de los sistemas de información;

• evaluación de los sistemas de información actuales para determinar las fortalezas y debilidades exis­tentes;

• aprovechamiento de oportunidades en tecnologías de la información que puedan proporcionar una ven­taja competitiva.

Las metodologías utilizadas para resolver estas cuestiones caen fuera del alcance de este libro; sin embar­go, el lector interesado puede encontrar en Robson (1997) un análisis más detallado.

Un paso importante antes de comenzar la planificación de la base de datos consiste en enunciar claramen­te la misión del sistema de base de datos. El enunciado de la misión define los objetivos principales del sis­tema. Las personas encargadas de sacar adelante el proyecto de base de datos dentro de la organización (como,por ejemplo, el director y/o el propietario) son quienes definen normalmente cuál es esa misión. Enunciar lamisión ayuda a clarificar el propósito del sistema de base de datos y a proporcionar una ruta más clara queconduzca a la creación del sistema de base de datos requerido de forma efectiva y eficiente. Una vez defini­

da la JUisión, la siguiente actividad implica identificar los objetivos de la misión. Cada objetivo de la misión®bé identificar una tarea concreta a la que el sistema de base de datos debe proporcionar soporte. La suposi­ción en que esto se basa es que, si el sistema de base de datos soporta adecuadamente los objetivos de lamisión, podrá cumplirse con esa misión de forma satisfactoria. El enunciado y los objetivos de la misión pue­den acompañarse de cierta información adicional que especifique en términos generales la tarea que hay querealizar, los recursos con los que hay que llevarla a cabo y el dinero que debe costar. Ilustraremos el procesode definición de la misión y de los objetivos de la misión para el sistema de base de datos de DreamHome enla Sección 10.4.2.

La planificación de la base de datos debe también incluir el desarrollo de estándares que regulen cómorecopilar los datos, cómo especificar el formato, qué documentación hará falta y cómo debe procederse aldiseño y la implementación. Puede consumir mucho tiempo desarrollar y mantener los estándares, debiendoasignarse recursos para su definición inicial y para encargarse del mantenimiento posterior. Sin embargo, unconjunto de estándares bien diseñado proporciona una base para formar al personal y para efectuar un controlde calidad, y puede garantizar que el trabajo se adapte a unas ciertas normas, independientemente de las capa­cidades y la experiencia de los empleados. Por ejemplo, una serie de reglas específicas pueden determinarcómo deben asignarse nombres a los elementos que componen el diccionario de datos, lo que a su vez puedeimpedir la aparición de redundancia o de incoherencias. Es necesario documentar todas las normas legales oempresariales relativas a los datos, como por ejemplo las normas que indican que ciertos tipos de datos debentratarse de forma confidencial.

Page 7: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

262 Sistemas de bases de datos

9.4 Definición del sistemaDefinición delsistema

Describe el ámbito y los límites de la aplicación de base de datos y las principalesvistas de usuario.

Antes de empezar con el diseño de un sistema de base de datos, resulta esencial que identifiquemos primerolos límites del sistema que se pretende diseñar y el modo en que éste debe interactuar con otras partes del sis­tema de información de la organización. Es importante incluir dentro de las fronteras del sistema no sólo losusuarios y áreas de aplicación actuales, sino también los futuros usuarios y aplicaciones. En la Figura 10.10se presenta un diagrama que ilustra el ámbito y los límites del sistema de base de datos de DreamHome.Dentro de ese ámbito del sistema de base de datos deben estar incluidas las principales vistas de usuario a lasque la base de datos deberá dar soporte.

9.4.1 Vista de usuario

Vista de usuario Define qué es lo que se requiere de un sistema de base de datos desde la perspec­tiva de un determinado rol de la organización (como, por ejemplo, Gerente oSupervisor) o de un área de aplicación empresarial (como, por ejemplo, marketing,personal o control de almacén).

Un sistema de base de datos puede tener una o más vistas de usuario. La identificación de las vistas de usua­rio es un aspecto de gran importancia a la hora de desarrollar un sistema de base de datos, porque ayuda agarantizar que no se deje de lado a ninguno de los usuarios principales de la base de datos a la hora de desa­rrollar los requisitos para el nuevo sistema. Las vistas de usuario también son particularmente útiles en eldesarrollo de un sistema de base de datos relativamente complejo, al permitir descomponer los requisitos enuna serie de piezas más manejables.

Una vista de usuario define lo que se requiere del sistema de base de datos en términos de los datos quehay que almacenar y de las transacciones que hay que ejecutar con dichos datos (en otras palabras, lo que losusuarios harán con los datos). Los requisitos relativos a una vista de usuario pueden diferir de los de otras vis­tas, o solaparse con ellos. La Figura 9.2 es un diagrama que representa un sistema de base de datos con múl­tiples vistas de usuario (denominadas vista de usuario 1 a 6). Observe que, mientras que las vistas de usuario(1,2,3) Y (5 Y 6) tienen requisitos solapados (que se muestran como áreas sombreadas), la vista de usuario 4tiene requisitos completamente independientes.

9.5 RecopiÍación y análisis de requisitosRecopilacióny análisis derequisitos

El proceso de recopilar y analizar la información acerca de la parte de la organiza­ción a la que el sistema de base de datos tenga que dar soporte, y utilizar esta infor­mación para identificar los requisitos relativos al nuevo sistema.

Esta etapa implica la recopilación y análisis de información acerca de aquella parte de la empresa a la que labase de datos debe dar servicio. Existen muchas técnicas para recopilar esta información, denominadas téc­nicas de determinación de hechos, de las que hablaremos en detalle en el Capítulo 10. Se recopila informa­ción para cada una de las vistas de usuario principal (es decir, para cada uno de los puestos de trabajo o áreasde aplicación empresarial), incluyendo:

• una descripción de los datos utilizados o generados;

• los detalles acerca de cómo hay que utilizar o generar los datos;

• cualesquiera otros requisitos 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 queincluir en el nuevo sistema de base de datos. Estos requisitos se describen en una serie de documentos a losque se denomina colectivamente especificaciones de requisitos para el nuevo sistema de base de datos.

Page 8: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 263

Base de datos

Vista de usuario 2

Sistema de bases de datos

Figura 9.2. Representación de un sistema de base de datos con múltiples vistas de usuario: las vistas de

usuario (1, 2, 3) Y (5 Y 6) tienen requisitos que se solapan (mostrados como áreas sombreadas),

mientras que la vista de usuario 4 tiene requisitos completamente independientes.

La recopilación y análisis de requisitos es una de las etapas preliminares en el diseño de base de datos. Lacantidad de datos recopilados dependerá de la naturaleza del problema y de las políticas vigentes en la empre­sa. Un estudio demasiado detallado al principio conduce a lo que se denomina parálisis por el análisis. Unestudio demasiado superficial puede dar como resultado un desperdicio tanto de tiempo como de dinero debi­do al trabajo dedicado a obtener la solución incorrecta para el problema inapropiado.

La¡información recopilada en esta etapa puede no estar demasiado estructurada y puede incluir determi­n~ requisitos informales, que deberán ser convertidos en un enunciado de requisitos más estructurados.Esto se consigue empleando técnicas de especificación de requisitos, que incluyen, por ejemplo: técnicasSAD (Structured Analysis and Design, diseño y análisis estructurados), diagramas DFD (Data FlowDiagrams, diagramas de flujo de datos), HIPO (Hierarchical Input Process Output, diagrama jerárquico deentrada, salida y procesamiento), con el correspondiente soporte documental. Como veremos en breve, lasherramientas CASE (Computer-Aided Software Engineering) pueden servir como ayuda a la automatizaciónpara garantizar que los requisitos sean completos y coherentes. En la Sección 25.7 veremos cómo soporta ellenguaje UML (Unified Modeling Language, lenguaje unificado de modelado) la recopilación y análisis derequisitos.

La identificación de la funcionalidad requerida de un sistema de base de datos es una actividad de impor­tancia crítica, ya que los sistemas con una funcionalidad inadecuada o incompleta constituirán una auténticamolestia para los usuarios, lo que puede conducir a un rechazo o a una infrautilización del sistema. Sin embar­go, también puede ser problemática una funcionalidad excesiva, ya que puede complicar demasiado un siste­ma, haciéndolo difícil de implementar, mantener o utilizar o aprender.

Otra actividad importante asociada con esta etapa es la de decidir cómo resolver aquellas situaciones enlas que haya más de una vista de usuario para el sistema de base de datos. Existen tres técnicas principalespara gestionar los requisitos de un sistema de base de datos que tengan múltiples vistas de usuario:

• el enfoque centralizado;

Page 9: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

264 Sistemas de bases de datos

• el enfoque de integración de vistas;• una combinación de ambas técnicas.

9.5.1 Enfoque centralizadoEnfoquecentralizado

Los requisitos de cada vista de usuario se combinan en un único conjunto de requi­sitos para el nuevo sistema de base de datos. Durante la etapa de diseño de la basede datos se crea un modelo de datos que representa todas las vistas de usuario.

El enfoque centralizado implica combinar los requisitos de las diferentes vistas de usuario en una única listade requisitos. A la recopilación de las vistas de usuario se le asigna un nombre que proporciona algún tipo deindicación del área funcional cubierta por esa combinación de vista. En la etapa de diseño de la base de datos(véase la Sección 9.6), se creará un modelo global de los datos que represente todas las vistas de usuario. Elmodelo global de los datos está compuesto por una serie de diagramas y documentación que describen for­malmente los requisitos de datos de los usuarios. En la Figura 9.3 se muestra un diagrama que representa lagestión de tres vistas de usuario mediante el enfoque centralizado. Generalmente se tiende a preferir este enfo­que cuando haya un solapamiento significativo de los requisitos de cada vista de usuario y el sistema de basede datos no sea en exceso complejo.

9.5.2 Enfoque de integración de las vistas

Enfoque deintegraciónde las vistas

Los requisitos de cada vista de usuario se mantienen en listas separadas. Durantela etapa de diseño de la base de datos se crean y combinan los modelos de datosque representan cada una de las vistas de usuario.

El enfoque de integración de vistas implica mantener los requisitos de cada vista de usuario en una lista sepa­rada. En la etapa de diseño de la base de datos (véase la Sección 9.6) se crea primero un modelo de datos paracada vista de usuario. Los modelos de datos que representan una única vista de usuario (o un subconjunto de

Sistema debase de

datos

+

oModelo ER

Relaciones, diccionariode datos y otra

documentación de

soporte

Modelo global de datos

CJRequisitos de todaslas vistas de usuario

CJ

CJ

CJ

Requisitos de lavista de usuario 3

Requisitos de lavista de usuario 2

Requisitos de lavista de usuario 1

Figura 9.3. El enfoque centralizado de gestión de múltiples vistas de usuario.

Page 10: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 265

todas las vistas de usuario) se denomina modelos de datos locales. Cada modelo está compuesto por una seriede diagramas y de documentación que describe formalmente los requisitos de una o más vistas de la base dedatos, aunque no de todas ellas. Después se combinan los modelos de datos locales en una etapa posterior deldiseño de la base de datos para producir un modelo global de datos, que representa todos los requisitos deusuario para la base de datos. En la Figura 9.4 se representa un diagrama de la gestión de tres vistas de usua­rio mediante el enfoque de integración de vistas. Generalmente se tiende a preferir este enfoque cuando hayadiferencias significativas entre las vistas de usuario y el sistema de base de datos sea suficientemente comple­jo como para justificar la división del trabajo en una serie de componentes más manejables. Ilustraremos lautilización del enfoque de integración de vistas en el Paso 2.6 del Capítulo 16.

Para algunos sistemas de base de datos complejos, puede resultar apropiado utilizar una combinación delos enfoques centralizado y de integración de vistas, con el fin de gestionar múltiples vistas de usuario. Por

Sistema debase de

datos

+

oModelo ER

Relaciones, diccionariode datos y otradocumentación

de soporte

Modelo global de datos

[KJ---[[]I-°1 +ORequisitos de la

vista de usuario 1 Vista de usuario 1

-Di

~

+

O 11

Requisitos de la vista de usuario 2Vista de usuario 2-~~_._--.-.-

t-wI-°1 +ORequisitos de lavista de usuario 3 Vista de usuario 3

Modelos locales de

datos

Figura 9.4. Enfoque de integración de vistas para la gestión de múltiples vistas de usuario.

Page 11: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

266 Sistemas de bases de datos

ejemplo, los requisitos de dos o más vistas de usuario pueden primero combinarse utilizando el enfoque cen­tralizado, lo que resulta útil para construir un modelo lógico local de los datos. Este modelo puede despuéscombinarse con otros modelos lógicos locales de los datos utilizando el enfoque de integración de vistas, conel fin de producir un modelo lógico global de los datos. En este caso, cada modelo lógico local de datos repre­senta los requisitos de dos o más vistas de usuario y el modelo lógico global de los datos representa los requi­sitos de todas las vistas de usuario del sistema de base de datos.

Veremos con más detalle cómo gestionar múltiples vistas de usuario en la Sección 10.4.4 e ilustraremos,utilizando la metodología descrita en este libro, cómo construir una base de datos para el caso de estudio dela base de datos de alquileres de DreamHome utilizando una combinación de los enfoques centralizado y deintegración de vistas.

9.6 Diseño de la base de datos

Diseño de labase de datos

El proceso de creación de un diseño que dé soporte a la misión y a los objetivos dela misión de la empresa para el sistema de base de datos requerido.

En esta sección se presenta una panorámica de las técnicas principales del diseño de bases de datos. Tambiénse analiza el propósito y la utilización del modelado de datos en el diseño de bases de datos. Después se des­criben las tres fases del diseño de bases de datos, es decir, el diseño conceptual, lógico y físico.

9.6.1 Técnicas de diseño de bases de datos

Las dos técnicas principales de diseño de base de datos se denominan técnicas 'de abajo a arriba' y 'de arri­ba a abajo'. La técnica de abajo a arriba comienza en el nivel fundamental de los atributos (es decir, de laspropiedades de las entidades y relaciones) que, mediante análisis de las asociaciones entre los atributos, seagrupan para formar relaciones que representan tipos de entidades y relaciones entre dichas entidades. En losCapítulos 13 y 14 analizaremos el proceso de normalización, que constituye una técnica de abajo a arriba parael diseño de bases de datos. La normalización implica la identificación de los atributos requeridos y su subsi­guiente agregación en una serie de relaciones normalizadas basadas en independencias funcionales entre losatributos.

La técnica de abajo a arriba resulta apropiada para el diseño de bases de datos simples que tengan unnúmero relativamente pequeño de atributos. Sin embargo, esta técnica se complica si se la intenta aplicar aldiseño de bases de datos más complejas con un mayor número de atributos, en las que puede resultar difícil

establecer todas las d~encias funcionales entre unos atributos y otros. Puesto que los modelos de datosconceptuales y lógicos para las bases de datos complejas pueden contener cientos o miles de atributos, resul­ta esencial utilizar una técnica que permita simplificar el proceso de diseño. Asimismo, en las etapas inicialesde establecimiento de los requisitos de datos para una base de datos compleja, puede resultar difícil determi­nar todos los atributos que hay que incluir en los modelos de datos.

Una estrategia más apropiada para el diseño de bases de datos complejas es la técnica de arriba a abajo.Esta técnica comienza con el desarrollo de modelos de datos que contengan unas pocas entidades y relacio­nes de alto nivel y luego aplica una serie de refinamientos sucesivos de arriba a abajo para identificar enti­dades y relaciones de nivel inferior, junto con sus atributos asociados. La técnica de arriba a abajo se ilustrautilizando los conceptos del modelo ER (Entidad-Relacción), comenzando con la identificación de las enti­dades y de las relaciones entre las entidades que sean de interés para la organización. Por ejemplo, podemoscomenzar identificando las entidades PrivateOwner (propietario) y PropertyForRent (inmueble) y luego la rela­ción entre dichas entidades, PrivateOwner Posee PropertyForRent, después de lo cual se identificarán los atribu­tos asociados, tales como PrivateOwner (ownerNo, name y address) y PropertyForRent (propertyNo y address). Enlos Capítulos 11 y 12 se explica cómo construir un modelo de datos de alto nivel utilizando los conceptosdel modelo ER.

Existen otras técnicas de diseño de bases de datos, como la técnica 'de dentro hacia afuera' y la técnica de

estrategia mixta. La técnica de dentro hacia afuera está relacionada con la técnica de abajo a arriba, pero

Page 12: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 267

difiere en que primero se identifica un conjunto de entidades principales y luego se lo amplía para considerarotras entidades, relaciones y atributos asociados con aquellas que se han identificado en primer lugar. Laestrategia mixta utiliza tanto la técnica de abajo a arriba como la técnica de arriba a abajo para diversas par­tes del modelo, antes de combinar finalmente todas las diferentes partes.

9.6.2 Modelado de datos

Los dos propósitos principales del modelado de datos son ayudar a comprender el significado (semintica) delos datos y facilitar la comunicación de los requisitos de información. La construcción de un modelo de datosrequiere responder a una serie de preguntas acerca de las entidades, las relaciones y los atributos. Al formu­lar las respuestas, los diseñadores descubren la semántica de los datos empresariales, la cual existe siemprecon independencia de si está representada mediante un modelo de datos formal. Las entidades, relaciones yatributos resultan fundamentales para todas las empresas. Sin embargo, su significado puede no ser adecua­damente comprendido hasta que hayan sido correctamente documentadas. Los modelos de datos hacen quesea más fácil comprender el significado de los datos; por tanto, modelamos los datos para estar seguros decomprender:

• la perspectiva que cada usuario tiene de los datos;

• la naturaleza de los propios datos, independiente de su representación física;

• la utilización de los datos en distintas vistas de usuario.

Los modelos de datos pueden utilizarse para representar la visión que el diseñador tiene de los requisitosde información de la empresa. Si ambas partes están familiarizadas con la notación utilizada en el modelo,éste mejorará la comunicación entre los usuarios y los diseñadores. Las empresas están estandarizando cadavez más la forma de modelar los datos, seleccionando una técnica concreta de modelado de datos y utilizán­dola en todos sus proyectos de desarrollo de bases de datos. El modelo de datos de alto nivel más popular delos que se utilizan en el diseño de bases de datos (y el que usaremos en este libro) está basado en los concep­tos del modelo de entidad-relación (ER). Hablaremos en detalle de los modelos de entidad-relación en losCapítulos 11 y 12.

Criterios relativos a los modelos de datos

Un modelo de datos óptimo debe satisfacer los criterios enumerados en la Tabla 9.2 (Fleming y Van Halle,1989). Sin embargo, en ocasiones estos criterios no son compatibles entre sí, por lo que se hace necesario lle­

gar a ciertos/compromisos. Por ejemplo, al tratar de mejorar la capacidad de expresión de un modelo de datospodem6S1Íegar a perder algo de simplicidad.

Tabla 9.2. Criterios para generar 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óny 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 ele-mento de información una única vez.

Capacidad de compartición No específico de ninguna aplicación o tecnologías concretas y, como consecuencia, uti-lizable por muchas aplicaciones o tecnologías.

Ampliabilidad Capacidad de evolucionar para satisfacer nuevos requisitos con un efecto mínimo sobrelos 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ácilmentecomprensible.

Page 13: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

268 Sistemas de bases de datos

9.6.3 Fases del diseño de la base de datos

El diseño de la base de datos está compuesto de tres fases principales, denominadas diseño conceptual, dise­ño lógico y diseño físico.

Diseño conceptual de la base de datos

Diseño conceptualde la base de datos

El proceso de construcción de un modelo de los datos utilizados en unaempresa, de forma independiente de todas las consideraciones fisicas.

La primera fase del diseño de la base de datos se denomina diseño conceptual de la base de datos e impli­ca la creación de un modelo de datos conceptual para aquella parte de la empresa que queramos modelar. Elmodelo de datos se construye utilizando la información documentada en la especificación de requisitos de losusuarios. El diseño conceptual de la base de datos es enteramente independiente de los detalles de implemen­tación tales como el software SGBD de destino, los programas de aplicación, los lenguajes de programación,la plataforma hardware o cualquier otra consideración física. En el Capítulo 15 presentaremos una guía prác­tica paso a paso para el diseño conceptual de la base de datos.

Durante el proceso de desarrollo de un modelo conceptual de los datos, el modelo se prueba y se validade acuerdo con los requisitos de usuario. El modelo conceptual de datos de la empresa es una fuente de infor­mación para la siguiente fase, la de diseño lógico de la base de datos.

Diseño lógico de la base de datos

Diseño lógico dela base de datos

El proceso de construcción de un modelo de los datos utilizados en unaempresa basándose en un modelo de datos específico, pero de forma inde­pendiente de un SGBD concreto y de cualquier otra consideración física.

La segunda fase del diseño de la base de datos se denomina diseño lógico de la base de datos, el cual tienecomo resultado la creación de un modelo lógico de los datos para la parte de la empresa que queramos mode­lar. El modelo conceptual de datos creado en la fase anterior se refina y se hace corresponder con un modelológico de los datos. Este modelo lógico está basado en el modelo de datos objetivo de la base de datos (porejemplo, el modelo de datos relacional).

Mientras que el modelo conceptual de los datos es independiente de todas las consideraciones fisicas, elmodelo lógico se construye conociendo el modelo de datos subyacente del SGBD objetivo. En otras palabras,

sabemos que el SGBD~r ejemplo, relacional, en red, jerárquico u orientado a objetos. Sin embargo, notomamos en consideración ningún otro aspecto del SGBD elegido y, en concreto, hacemos caso omiso detodos los detalles físicos, como puedan ser las estructuras de almacenamiento o los índices.

Durante el proceso de desarrollo de un modelo lógico de los datos, el modelo se prueba y se valida deacuerdo con los requisitos de los usuarios. Se utiliza la técnica de la normalización para comprobar la correc­ción de un modelo lógico de los datos. La normalización garantiza que las relaciones extraídas del modelo dedatos no presenten redundancia, que podría provocar anomalías de actualización en la implementación. En elCapítulo 13 ilustraremos los problemas asociados con la redundancia de los datos y describiremos en detalleel proceso de normalización.

El modelo lógico de los datos debe también examinarse para garantizar que soporta las transacciones espe­cificadas por los usuarios. El modelo lógico de los datos es una fuente de información para la siguiente fase,la del diseño físico de la fase de datos, proporcionando al encargado de efectuar ese diseño físico una herra­mienta para alcanzar compromisos que tienen una gran importancia para el diseño eficiente de una base dedatos. El modelo lógico también cumple un importante papel durante la etapa de mantenimiento operativo delsistema de base de datos, dentro del ciclo de vida del desarrollo. Si el modelo de datos se mantiene adecua­damente y se conserva actualizado, los futuros cambios que se efectúen en los programas de aplicación o enlos datos podrán ser representados de forma precisa y eficiente mediante la base de datos.

En el Capítulo 16 se presenta una guía práctica paso a paso para el diseño lógico de la base de datos.

Page 14: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 269

Diseño físico de la base de datos

Diseño físico dela base de datos

El proceso de generar una descripción de la implementación de la base dedatos en el almacenamiento secundario; describe las relaciones base, la or­ganización de los archivos y los índices utilizados para conseguir un accesoeficiente a los datos, así como cualesquiera medidas de seguridad y restric­ciones de integridad asociadas.

El diseño físico de la base de datos es la tercera y última fase del proceso de diseño de la base de datos, fasedurante la cual el diseñador decide cómo hay que implementar la base de datos. La fase anterior del diseño dela base de datos implicaba el desarrollo de una estructura lógica para la misma, en la que se describieran lasrelaciones y las restricciones empresariales. Aunque esta estructura es independiente del SGBD, se desarrollade acuerdo con un modelo de datos concreto, como por ejemplo el modelo relacional, en red o jerárquico. Sinembargo, al llegar a la fase del diseño físico de la base de datos lo primero que debemos hacer es identificarel SGBD de destino. Por tanto, el diseño físico estará adaptado a un sistema SGBD concreto. Existe una cier­ta realimentación entre el diseño físico y el diseño lógico, porque durante la fase de diseño físico se tomandecisiones de mejora de las prestaciones que pueden afectar a la estructura del modelo lógico de los datos.

En general, el objetivo principal del diseño físico de la base de datos consiste en describir cómo pretende­mos implementar físicamente el diseño lógico de la base de datos. Para el modelo relacional, esto implica:

• crear un conjunto de tablas relacionales y especificar las restricciones relativas a estas tablas, todo elloa partir de la información presentada en el modelo lógico de los datos;

• identificar las estructuras de almacenamiento específicas y los métodos de acceso a los datos que per­mitan conseguir unas prestaciones óptimas en el sistema de base de datos;

• diseñar las medidas de seguridad del sistema.

Idealmente, los diseños conceptual y lógico de la base de datos para los sistemas de gran tamaño debenestar separados del diseño físico por tres razones principales:

• tratan de un tema diferente: el qué no el cómo;

• se realizan en un momento distinto; el qué debe comprenderse perfectamente antes de poder determi­nar el cómo;

• ~eren diferentes capacidades, que a menudo se encuentran en personas distintas.El diseño de bases de datos es un proceso iterativo, que tiene un punto de partida y un número indetermi­

nado de pasadas de refinamiento. En cierto modo, se lo puede considerar una especie de proceso de aprendi­zaje. A medida que los diseñadores comprenden cada vez mejor el funcionamiento de la empresa y el signifi­cado de los datos, y a medida que expresan dicha comprensión en los modelos de datos seleccionados, esainformación adicional puede requerir cambios en otras partes del diseño. En particular, los diseños conceptualy lógico de la base de datos resultan críticos para el éxito final del sistema. Si esos diseños no constituyen unaverdadera representación de la empresa, será difícil, por no decir imposible, definir todas las vistas de usua­rio requeridas o mantener la integridad de la base de datos. Puede incluso resultar difícil definir la implemen­tación física o conseguir unas prestaciones del sistema aceptables. Por otro lado, la capacidad para adaptarsea los cambios es una de las medidas de calidad de los diseños de bases de datos. Por tanto, merece la penainvertir el tiempo y la energía necesarios para generar el mejor diseño posible.

En el Capítulo 2, hemos analizado la arquitectura ANSI-SPARC en tres niveles de un sistema de base dedatos, compuesta por los esquemas externo, conceptual e interno. La Figura 9.5 ilustra la correspondenciaentre esta arquitectura y los procesos de diseño conceptual, lógico y físico de la base de datos. En losCapítulos 17 y 18 presentaremos una metodología paso a paso para la fase de diseño físico de la base de datos.

9.7 Selección del SGBDSelección del SGBD La selección de un SGBD apropiado para soportar el sistema de base de

datos.

Page 15: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

270 Sistemas de bases de datos

tDiseño lógico/conceptual de la base de datos

tDiseño físico de la base de datos¡

Figura 9.5. El modelado de datos en la arquitectura ANSI-SPARC.

Si no se dispone ya de un SGBD, una parte apropiada del ciclo de vida en la que se puede realizar la selec­ción es entre las fases de diseño conceptual y lógico de la base de datos (véase la Figura 9.1). Sin embargo,dicha selección puede llevarse a cabo en cualquier instante anterior al diseño lógico, supuesto que haya dis­ponible la suficiente información referida a requisitos del sistema tales como las prestaciones, la facilidad dereestructuración, la seguridad y las restricciones de integridad.

Aunque el proceso de selección de un SGBD pueda ser infrecuente, a medida que la empresa necesitaexpandir o sustituir los sistemas existentes, puede que llegue la ocasión de tener que evaluar nuevos produc­tos SGBD. En tales casos, el objetivo consiste en seleccionar un sistema que satisfaga los requisitos actualesy futuros de la empresa, equilibrando esos requisitos con respecto a los costes relevantes, que incluyen la com­pra del producto SGBD y de cualquier hardware/software adicional requerido para soportar el sistema de basede datos, y los costes asociados con los cambios y con la formación del personal.

Una técnica simple de selección consiste en comparar las características de cada SGBD con los requisitos.Al seleccionar un nuevo producto SGBD, se tiene la oportunidad de garantizar que el proceso de selecciónesté bien garantizado y que el sistema proporcione beneficios reales a la empresa. En la siguiente sección sedescribe una técnica típica de selección del 'mejor' SGBD.

9.7.1 SelecciQnAel SGBDLos pasos principales para seleccionar un SGBD son los que se indican en la Tabla 9.3.

Tabla 9.3. Pasos principales para seleccionar un SGBD.

Definición de los términos de referencia del estudio

Selección de dos o tres productos candidatos

Evaluación de los productos

Recomendación de un producto y generación del informe

Definición de los términos de referencia del estudio

Los términos de referencia para la selección del SGBD indican los objetivos y el ámbito del estudio y las ta­reas que hay que llevar a cabo. Este documento puede también incluir una descripción de los criterios (basa­dos en la especificación de requisitos de los usuarios) que habrá que utilizar para evaluar los productos SGBD,junto con una lista preliminar de posibles productos y una especificación de todas las restricciones necesariasy de los plazos disponibles para el estudio.

Page 16: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 271

Selección de dos o tres productos candidatos

Pueden utilizarse los criterios que se consideren 'críticos' para una adecuada implementación con el fin degenerar una lista preliminar de productos SGBD para su evaluación. Por ejemplo, la decisión de incluir undeterminado producto SGBD puede depender del presupuesto disponible, del nivel de soporte proporcionadopor el fabricante, de la compatibilidad con otros programas y software o de si el producto funciona sobre unhardware concreto. Puede recopilarse información adicional de utilidad sobre un producto contactando conusuarios existentes, los cuales pueden proporcionar detalles concretos sobre la calidad del soporte proporcio­nado por el fabricante, sobre la compatibilidad del producto con determinadas aplicaciones concretas y sobresi ciertas plataformas hardware son más problemáticas que otras. También puede que haya disponibles prue­bas comparativas que permitan evaluar las prestaciones de los diferentes productos SGBD. Tras ese estudioinicial de la funcionalidad y de las características de los productos SGBD, puede identificarse una lista de doso tres productos candidatos.

La World Wide Web es una fuente excelente de información que puede utilizarse para identificar produc­tos SGBD candidatos. Por ejemplo, el sitio web www.intelligententerprise.com proporciona un índice bastan­te completo de productos SGBD. Los sitios web de los fabricantes pueden también proporcionar informaciónde gran valor sobre los diferentes productos.

Evaluación de los productos

Hay varias características que pueden utilizarse para evaluar un producto SGBD. Para propósitos de la eva­luación, estas características pueden clasificarse en una serie de grupos (por ejemplo, definición de datos) oevaluarse individualmente (por ejemplo, tipos de datos disponibles). La Tabla 9.4 indica una serie de posiblescaracterísticas para la evaluación del un SGBD, clasificadas en una serie de grupos: definición de datos, defi­nición física, accesibilidad, gestión de transacciones, utilidades, desarrollo y otras características.

Tabla 9.4. Características para la evaluación de un SGBD.

Definición de los datos

Imposición de la clave principal

Especificación de la clave externa

Tipos de datos disponibles

Ampliabilidad de los tipos de datos

Especificación de dominio

Facilidad de reestructuración

Controles de integridad

Mecanismos de vistas

Diccionario de datos

Independencia de los datos

Modelo de datos subyacente

Evolución del esquema

Accesibilidad

Lenguaje de consulta: compatible con SQL2/SQL: 2003/ODMG

Interfaz con lenguajes 3GL

Definición física

Estructuras de archivo disponibles

Mantenimiento de las estructuras de archivos

Facilidad de reorganización

Indexación

Camposlregistros de longitud variable

Compresión de los datos

Rutinas de cifrado

Requisitos de memoria

Requisitos de almacenamiento

Gestión de transacciones

Rutinas de copia de seguridad y de recuperación

Puntos de comprobación

Registro de actividades

(Continúa)

Page 17: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

272 Sistemas de bases de datos

Tabla 9.4. Características para la evaluación de un SGBD. (Cant.)

Multiusuario

Seguridad

- Controles Oflice Access

- Mecanismo de autorización

Utilidades

Medida del rendimiento

Optimización

Facilidades de carga/descarga

Monitorización de la utilización por parte de los usuarios

Soporte para la administración de la base de datos

Otras características

Capacidad de actualización

Estabilidad empresarial del fabricante

Base de usuario

Soporte de formación y soporte al usuario

Documentación

Sistema operativo requerido

Coste

Ayuda en línea

Estándares uti Iizados

Gestión de versiones

Optimización de consultas ampliables

Escalabilidad

Soporte para herramie~alíticas

Granularidad de la concurrencia

Estrategia de resolución de interbloqueos

Modelos de transacciones avanzados

Procesamiento paralelo de consultas

Desarrollo

Herramientas 4GL/5GL

Herramientas CASE

Capacidades de gestión de ventanas

Procedimientos almacenados, disparadores y reglas

Herramientas de desarrollo web

Interoperabilidad con otros SGBD y otros sistemas

Integración web

Utilidades de replicación

Capacidades distribuidas

Portabilidad

Hardware requerido

Soporte de red

Capacidades de orientación a objetos

Arquitectura (cliente/servidor de 2 o 3 niveles)

Prestaciones

Tasa de procesamiento de transacciones

Número máximo de usuarios concurrentes

Soporte para XML

Si nos limitamos a comprobar una a una las características, indicando lo bueno o malo que es el produc­to en ese aspecto, puede resultar difícil realizar comparaciones entre los diferentes productos SGBD. Unatécnica más útil consiste en ponderar las características y/o grupos de características teniendo en cuenta suimportancia para la organización, y obtener un valor ponderado global que pueda utilizarse para compararlos productos. La Tabla 9.5 ilustra este tipo de análisis para el grupo de 'Definición física' con un productoSGBD de ejemplo. A cada una de la características mencionadas se le da una puntuación entre 1 y 10 conuna ponderación entre O y 1 para indicar su importancia relativa con respecto a otras características delgrupo, calculándose luego la puntuación total teniendo en cuenta esas puntuaciones individuales y la respec­tiva ponderación. Por ejemplo, en la Tabla 9.5 la característica 'Facilidad de reorganización' tiene una pun­tuación de 4 y una ponderación de 0,25, 10 que nos da un total de 1,0 puntos. Esta característica es la quetiene la mayor ponderación de la tabla, 10 que indica su importancia en esta parte de la evaluación. Además,la característica 'Facilidad de reorganización' tiene una ponderación, por ejemplo, cinco veces superior a lade la característica 'Compresión de datos', que tiene la ponderación más baja, de 0,05. Por su parte, las doscaracterísticas 'Requisitos de memoria' y 'Requisitos de almacenamiento' tienen una ponderación de 0,00,por lo que no se incluyen en esta evaluación.

Page 18: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 273

Tabla 9.5. Análisis de las caracteristicas para la evaluación de un producto SGBD.

SGBD: Producto de ejemplo

Fabricante: Fabricante de ejemplo

Grupo de definición física

Características Comentarios Puntuación Ponderación Puntos

Estructuras de archivo disponibles Existen 4 distintas

Mantenimiento de las estructuras NO se autorregulade archivos

Se especifica con la estructura del archivo 7

Facilidad de reorganización

lndexación

Campos/registros de longitudvariable

Compresión de los datos

Rutinas de cifrado

Requisitos de memoria

Requisitos de almacenamiento

Totales

Grupo de definición física

2 posibilidades distintas

8

6

4

6

6

4

O

O

41

5,75

0,15 1,2

0,2

1,2

0,25

1,0

0,15

0,9

0,15

0,9

0,05

0,35

0,05

0,2

0,00

O

0,00

O

1,0

5,75

0,25

1,44

La puntuación del propio grupo se pondera a continuación para indicar su importancia relativa con respec­to a otros grupos de características incluidos en la evaluación. Por ejemplo, en la Tabla 9.5, la puntuación totaldel grupo de 'Definición fisica' es 5,75; sin embargo, esta puntuación tiene una ponderación de 0,25.

Finalmente, se suman todas las puntuaciones ponderadas de cada uno de los grupos de características eva­luados con el fin de generar una puntuación final para el producto SGBD, la cual se compara con las puntua­ciones de otros productos. El producto con la máxima puntuación es el 'ganador'.

Además de este tipo de análisis, también podemos evaluar los productos dejando que los fabricantes efec­

túen demostrationes de los mismos o comprobando los productos en la propia empresa. La evaluación inter­na en la em-¡5resaimplica la creación de un sistema de pruebas utilizando los productos candidatos. Cada unode los productos se comprueba para verificar su capacidad de satisfacer los requisitos de usuario del sistemade base de datos. En el sitio web www.tpc.org podrá encontrar una serie de pruebas comparativas publicadaspor la organización Transaction Processing Council.

Recomendación de un producto y generación del informe

El paso final en la selección del SGBD consiste en documentar el proceso y proporcionar un informe de todolo que se haya averiguado para cada producto SGBD concreto y las recomendaciones pertinentes.

9.8 Diseño de la aplicaciónDiseño de la

aplicaciónEl diseño de la interfaz de usuario y de los programas de aplicación que permitenutilizar y procesar la base de datos.

En la Figura 9.1, observe que el diseño de la base de datos y el diseño de la aplicación son actividades quetranscurren en paralelo dentro del ciclo de vida del desarrollo de sistemas de bases de datos. En la mayoría de

Page 19: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

274 Sistemas de bases de datos

los casos, no resulta posible completar el diseño de la aplicación hasta que el propio diseño de la base de datoshaya finalizado. Por otro lado, el propósito de la base de datos consiste precisamente en dar soporte a las apli­caciones, así que deberá existir un flujo de información entre los procesos de diseño de la aplicación y de dise­ño de la base de datos.

Debemos garantizar que toda la funcionalidad expresada en la especificación de requisitos de los usuariosesté presente en el diseño de la aplicación para el sistema de la base de datos. Esto implica diseñar los pro­gramas de aplicación que accedan a la base de datos y diseñar las transacciones, es decir, los métodos de acce­so a la base de datos. Además de diseñar cómo hay que obtener la funcionalidad requerida, tenemos que dise­ñar una interfaz de usuario apropiada para el sistema de base de datos. Esta interfaz debe presentar lainformación requerida de una manera 'amigable'. A menudo se tiende a ignorar la importancia del diseño dela interfaz de usuario o se deja esta interfaz para las últimas etapas de diseño. Sin embargo, es preciso com­prender que la interfaz puede ser uno de los componentes más importantes del sistema. Si es fácil de apren­der, sencilla de utilizar, lógica y amigable, los usuarios se sentirán inclinados a hacer un buen uso de la infor­mación presentada. Por el contrario, si la interfaz no presenta ninguna de estas características, sin ningunaduda, el sistema causará problemas.

En las siguientes secciones vamos a examinar brevemente dos aspectos del diseño de aplicaciones: el dise­ño de las transacciones y el diseño de la interfaz de usuario.

9.8.1 Diseño de las transaccionesAntes de analizar el diseño de las transacciones, vamos primero a describir lo que representa una transacció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 los modifican.

Las transacciones representan sucesos 'del mundo real', como la introducción de un inmueble en alquiler,la adicción de un nuevo empleado, el registro de un nuevo cliente o la conclusión de un contrato de alquilerde un inmueble. Estas transacciones tienen que aplicarse a la base de datos para garantizar que los datos con­tenidos en ésta continúen estando actualizados con respecto a la situación del 'mundo real' y para soportar lasnecesidades de información de los usuarios.

Cada transacción puede estar compuesta por varias operaciones, como por ejemplo la transferencia dedinero desde una cuenta a otra. Sin embargo, desde la perspectiva del usuario, estas operaciones continúanviéndose como una única tarea. Desde el punto de vista del SGBD, una transacción hace que la base de datos

pase de un estado coherente ~ otro. El SGBD garantiza la coherencia de la base de datos incluso aunque seproduzca un fallo. El SG~ambién garantiza que, una vez que se ha completado una transacción, los cam­bios realizados se almacenan de forma permanente en la base de datos y no pueden perderse o deshacerse (sinejecutar otra transacción para compensar el efecto de la primera. Si la transacción no puede completarse poralguna razón, el SGBD debe garantizar que los cambios realizados por dicha transacción se deshagan. En elejemplo de la transferencia bancaria, si se extrae dinero de una cuenta y la transacción falla antes de que sehaya introducido en la otra, el SGBD debe volver a ingresar el dinero en la cuenta original. Si separáramoslas operaciones de extracción de una cuenta y de ingreso en la otra como transacciones separadas, una vez quehubiéramos extraído el dinero de la primera cuenta y completado la transacción, no podríamos deshacer dichocambio (sin ejecutar otra transacción que ingresara en la cuenta original la cantidad referida).

El propósito del diseño de las transacciones consiste en definir y documentar las características de altonivel en las transacciones requeridas en la base de datos, incluyendo la información siguiente:

• 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.

Page 20: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 275

Esta actividad debe llevarse a cabo en una fase temprana del proceso de diseño, para garantizar que la basede datos que se implemente sea capaz de soportar todas las transacciones requeridas. Hay tres tipos principa­les de transacciones: transacciones de extracción, transacciones de actualización y transacciones mixtas .

• Las transacciones de extracción se utilizan para extraer datos con el fin de mostrar/os en la panta­lla o para emplear/os en la generación de un informe. Por ejemplo, la operación consistente en bus­car y visualizar los detalles de un inmueble (dado el número del inmueble) constituye un ejemplo detransacción de extracción.

• Las transacciones de actualización se utilizan para insertar nuevos registros, borrar registrós anterio­res o modificar registros existentes en la base de datos. Por ejemplo, la operación consistente en inser­tar los detalles de un nuevo inmueble en la base de datos constituye un ejemplo de transacción deactualización .

• Las transacciones mixtas implican tanto la extracción como la actualización de datos. Por ejemplo, laoperación consistente en buscar y visualizar los detalles de un inmueble (dado el número del inmue­ble) y luego actualizar el valor del alquiler mensual constituye un ejemplo de transacción mixta.

9.8.2 Directrices de diseño de interfaces de usuario

Antes de implementar un formulario o informe, resulta esencial que primero diseñemos su aspecto fisico. Enla Tabla 9.6 se enumeran una serie de directrices útiles que pueden seguirse a la hora de diseñar formularioso informes (Shneiderman, 1992).

Título significativo

La información proporcionada por el título debe identificar de forma clara y no ambigua el propósito del for­mulario/informe.

Instrucciones comprensibles

Debe utilizarse terminología familiar para proporcionar las instrucciones al usuario. Las instrucciones deben

ser breves y, cuando se requiera más información, deben proporcionarse pantallas de ayuda. Las instruccio­nes deben escribirse con un estilo gramatical coherente, utilizando el formato estándar.

Tabla 9.6. Directrices para el diseño de formularios/informes.

Título significativo

Instrucciones comprensib]es

Agrupamiento y secuenciamiento lógicos de los campos

Diseño visua]mente atractivo de] formu]ariolinforme

Etiquetas familiares para los campos

Termino]ogía y abreviaturas coherentes

Utilización coherente del color

Espacio y límites visibles para los campos de introducción de datos

Movimiento cómodo del cursor

Corrección de errores para caracteres individuales y campos completos

Mensajes de error para los valores no aceptables

Campos opcionales marcados claramente

Mensajes explicativos para los campos

Señal de terminación

Page 21: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

276 Sistemas de bases de datos

Agrupamiento y secuenciamiento lógicos de los campos

Los campos que estén relacionados deben situarse juntos en el formulario/informe. El secuenciamiento de loscampos debe ser lógico y coherente.

Diseño visual mente atractivo del formulario/informe

El formulario/informe debe presentar una interfaz atractiva al usuario. El formulario/informe debe aparecerequilibrado, con los campos o grupos de campos situados de forma homogénea a lo largo del formulario/infor­me. No debe haber áreas del formulario/informe que tengan demasiados campos o demasiado pocos. Los cam­pos o grupos de campos deben estar separados por un espacio suficiente. Cuando sea apropiado, los camposdeberán alinearse vertical u horizontalmente. En aquellos casos en los que un formulario en pantalla tenga unequivalente impreso, la apariencia de ambos formularios debe ser coherente.

Etiquetas familiares para los campos

Las etiquetas de los campos deben ser familiares. Por ejemplo, si se sustituye Sexo por Género, es posible quealgunos usuarios se sientan confundidos-

Terminología y abreviaturas coherentesDebe utilizarse de forma coherente una lista previamente acordada de términos y abreviaturas familiares.

Utilización coherente del color

Debe utilizarse el color para mejorar la apariencia del formulario/informe y para resaltar los campos omensajes de mayor importancia. Para conseguir esto, debe utilizarse el color de una forma coherente y signi­ficativa. Por ejemplo, los campos de un formulario que tengan un fondo blanco pueden indicar campos deintroducción de datos, mientras que aquellos que tengan el fondo azul pueden indicar campos utilizados exclu­sivamente para la presentación de información.

Espacio y límites visibles para los campos de introducción de datosEl usuario debe ser visualmente consciente de la cantidad total de espacio disponible para cada campo. Esto

permite que el usuario reflexione sobre el formato apropiado para los datos, antes de introducir los valores enel campo.

Movimiento cómodo del cursor

El usuario debe poder identifico/" fácilmente la operación requerida para desplazar un cursor a lo largo de unformulario/informe. DebenjJtilizarse mecanismos simples, como la utilización de la tecla de tabulación, delas flechas o del puntero del ratón.

Corrección de errores para caracteres individuales y campos completos

El usuario debe poder identificar fácilmente la operación requerida para efectuar correcciones en los valoresde los campos. Deben proporcionarse mecanismos simples, como la utilización de la tecla de retroceso o lasobreescritura de la información anterior.

Mensajes de error para los valores no aceptablesSi un usuario intenta introducir datos incorrectos en un campo, debe mostrarse un mensaje de error. El men­

saje debe informar al usuario del error e indicar los valores permitidos.

Campos opcionales marcados claramente

Los campos opcionales deben estar claramente identificados para el usuario. Esto puede conseguirse utilizan­do una etiqueta de campo apropiada o mostrando el campo con un color que indique su tipo. Los camposopcionales deben situarse después de los campos obligatorios.

Page 22: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 277

Mensajes explicativos para los campos

Cuando un usuario sitúa un cursor sobre un campo, debe aparecer la información sobre el campo en una posi­ción fija de la pantalla, como por ejemplo la barra de estado de la ventana.

Señal de terminación

Debe quedar claro para el usuario cuándo se ha completado el proceso de introducción de datos en los cam­pos de un formulario. Sin embargo, la propia opción de completar el proceso no debe ser automática, ya queel usuario puede desear revisar los datos que ha introducido.

9.9 PrototipadoEn varios puntos del proceso de diseño, tenemos la opción de implementar completamente el sistema de basede datos o construir un prototipo.

Prototipado Construcción de un modelo operativo de un sistema de base de datos.

Un prototipo es un modelo operativo que no tiene, normalmente, todas las características requeridas niproporciona toda la funcionalidad del sistema final. El principal propósito de desarrollar un sistema de basede datos prototipo es permitir a los usuarios utilizar el prototipo para identificar las características del sistemaque funcionan bien o que son inadecuadas y, si es posible, sugerir mejoras o incluso nuevas características queel sistema de base de datos deba poseer. De esta forma, podemos clarificar enormemente los requisitos deusuario tanto para los usuarios como para los desarrolladores del sistema y evaluar la factibilidad de un dise­ño concreto del sistema. Los prototipos deben tener la ventaja principal de ser relativamente baratos y rápi­dos de construir.

Hay dos estrategias de prototipo que se utilizan de forma común hoy en día. El prototipado de requisitosy el prototipado evolutivo. El prototipado de requisitos utiliza el prototipo para determinar los requisitos deun sistema de base de datos propuesto y, una vez completados los requisitos, el prototipo se descarta. Por suparte, el prototipado evolutivo se utiliza para el mismo propósito, pero la diferencia fundamental es que elprototipo no se descarta sino que, con un desarrollo interior, se termina transformando en el sistema final debase de datos.

9.10 Implementación

) Implementación La realización física del diseño de la base de datos y del diseño de las aplicaciones.

Al completar las etapas de diseño (que pueden o no incluir tareas de prototipado) ya nos encontramos en situa­ción de poder implementar la base de datos y los programas de aplicación. La implementación de la base dedatos se lleva a cabo utilizando el lenguaje de definición de datos (DDL) del SGBD seleccionado o una inter­faz gráfica de usuario (GUl, Graphical User Interface), que proporciona la misma funcionalidad al mismotiempo que oculta las instrucciones DDL de bajo nivel. Las instrucciones DDL se emplean para crear lasestructuras de la base de datos y una serie de archivos de la base de datos vaCÍos. En esta etapa se implemen­tan también las vistas de usuario especificadas.

Los programas de aplicación se implementan utilizando el lenguaje de tercera o cuarta generación (3GL o4GL) que se prefiera. Partes de estos programs de aplicación son las transacciones de la base de datos, que seimplementan utilizando el lenguaje de manipulación de datos (DML) del SGBD objetivo, posiblemente inte­grado dentro de un lenguaje de programación HOST, como Visual Basic (VB), VB.net, Python, Delphi, C,C++, C#, lava, COBOL, Fortran, Ada o Pascal. También se implementan los otros componentes del diseñode la aplicación, como pantallas de menús, formularios de introducción de datos e informes. De nuevo, elSGBD objetivo puede tener sus propias herramientas de cuarta generación que permitan el desarrollo rápidode aplicaciones mediante el uso de lenguajes de consulta no procedimentales, herramientas de generación deinformes, generadores de formularios y generadores de aplicaciones.

Page 23: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

278 Sistemas de bases de datos

También hay que implementar los controles de seguridad e integridad para el sistema. Algunos de estoscontroles se implementan utilizando el DDL, pero puede que otros haya que definidos fuera del DDL, utili­zando, por ejemplo, una serie de utilidades suministradas por el SGBD o una serie de controles del sistemaoperativo. Observe que SQL (Structured Query Language) es tanto un DDL como un DML, como se descri­be en los Capítulos 5 y 6.

9. 11 Conversión y carga de los datosConversión ycarga de losdatos

Transferencia de los datos existentes a la nueva base de datos y conversión de lasaplicaciones existentes para que se ejecuten con la nueva base de datos.

Esta etapa sólo es necesaria cuando se está sustituyendo un sistema anterior mediante un nuevo sistema debase de datos. Hoy en día, resulta común que los SGBD dispongan de una utilidad para cargar archivos yaexistentes en la nueva base de datos. Dicha utilidad, normalmente requiere que se especifique el archivo deorigen en la base de datos de destino, después de lo cual convierte automáticamente los datos al formatorequerido para los nuevos archivos de base de datos. Cuando sea aplicable, el desarrollador puede convertir yutilizar programas de aplicación del antiguo sistema, para usados en el nuevo. Cuando los procesos de con­versión y de carga sean necesarios, dichos procesos deben planificarse de la forma adecuada para garantizaruna transición suave a la etapa de plena operación.

9.12 PruebasPruebas El proceso de operar el sistema de base de datos con la intención de localizar posi­

bles errores.

Antes de entrar en producción, el nuevo sistema de base de datos debe comprobarse cuidadosamente. Esto selleva a cabo utilizando estrategias de prueba cuidadosamente planeadas y datos realistas, de modo que todo elproceso de pruebas se realiza de forma metódica y rigurosa. Observe que no hemos utilizado en nuestra defi­nición de pruebas el concepto común de que las pruebas son el proceso de demostración de que no hay pre­sente ningún fallo. De hecho, las pruebas no pueden demostrar la ausencia de fallos; lo único que puedendemostrar es que existe el fallo software. Si las pruebas se llevan a cabo adecuadamente, se podrán descubrir

errores en ~o programas de aplicación y, posiblemente, en la estructura de la base de datos. Otro beneficioderivado es ue las pruebas demuestran que la base de datos y los programas de aplicación parecen funcio­nar de acu rdo con la especificación y que los requisitos de prestaciones parecen satisfacerse. Además, lasmétricas recopiladas en la etapa de pruebas proporcionan una medida de la fiabilidad y calidad del software.

Al igual que sucede con el diseño de la base de datos, los usuarios del nuevo sistema también deben invo­lucrarse en el proceso de pruebas. La situación ideal para las pruebas de un sistema consiste en disponer deuna base de datos de prueba sobre un sistema hardware independiente, pero a menudo no se dispone de tan­tas facilidades. Si hay que utilizar datos reales, resulta esencial que se realicen copias de seguridad, por siacaso se produjera algún error.

Las pruebas también deben cubrir los aspectos de usabilidad del sistema de base de datos. Idealmente,debe realizarse una evaluación de acuerdo con una especificación de usabilidad. Como ejemplos de criteriosque pueden emplearse para llevar a cabo esa evaluación, podemos citar (Sommerville, 2002):

• Facilidad de aprendizaje. ¿Cuánto tiempo requiere un nuevo usuario para comenzar a ser productivocon el nuevo sistema?

• Prestaciones. ¿Hasta qué punto se adapta la respuesta del sistema a las prácticas de trabajo del usuario?

• Robustez. ¿Hasta qué punto es el sistema tolerante a los errores de los usuarios?

• Capacidad de recuperación. ¿Es capaz el sistema de recuperarse adecuadamente después de un errordel usuario?

Page 24: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 279

• Adaptabilidad. ¿Hasta qué punto está el sistema ligado a un determinado modelo de trabajo?

Algunos de estos criterios pueden evaluarse en otras etapas del ciclo de vida. Después de completar laspruebas, el sistema de base de datos estará listo para su aceptación y su entrega a los usuarios.

9.13 Mantenimiento operativoMantenimiento

operativoEl proceso de monitorizar y mantener el sistema de base de datos después de lainstalación.

En las etapas anteriores, e] sistema de base de datos ha sido completamente implementado y probado. Ahora,el sistema se mueve a la etapa de mantenimiento, que implica las siguientes actividades:

• Monitorización de las prestaciones del sistema. Si las prestaciones caen por debajo de un nivel acep­table, 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 incorporan nue­vos requerimientos al sistema de base de datos recorriendo otra vez las etapas precedentes del ciclo devida.

Una vez que el sistema de base de datos está completamente operativo, se lleva a cabo una monitorizacióncuidadosa para garantizar que las prestaciones continúan estando dentro de los niveles aceptables. Un SGBDproporciona normalmente diversas utilidades como ayuda para administración de base de datos, incluyendoutilidades para cargar datos en una base de datos y para monitorizar el sistema. Las utilidades de monitoriza­ción del sistema proporcionan información sobre, por ejemplo, ]a utilización de la base de datos, la eficienciade bloqueo (incluyendo el número de interb]oqueos que se han producido, etc.) y la estrategia de ejecución deconsultas. El administrador de la base de datos (DBA) puede utilizar esta información para afinar el sistemacon e] fin de obtener mejores prestaciones, por ejemplo creando índices adicionales para acelerar las consu]­tas, alterando las estructuras de almacenamiento o combinando o dividiendo tablas.

El proceso de monitorización continuará durante toda ]a vida del sistema de base de datos y, a su debidotiempo, puede conducir a la reorganización de la base de datos para satisfacer los cambios en los requisitos.Estos cambios proporcionan, a su vez, información sobre ]a evolución probable de] sistema y los futurosrecursos que pueden llegar a ser necesarios. Esto, junto con el conocimiento de las nuevas aplicaciones pro­puestas, permite al DBA realizar ]a planificación de la capacidad y notificar o alertar a los gerentes de altonivel para que ajusten sus planes de forma correspondiente. Si el SGBD carece de ciertas utilidades, el DBA

) puede desarrollar internamente las utilidades requeridas o comprar herramientas adicionales de otros fabrican­tes, si es que están disponibles. Hablaremos con más detalle de la administración de la base de datos en ]aSección 9.15.

Cuanto pasa a estar en línea (operativa) una nueva aplicación de base de datos, los usuarios deben utili­zarla en paralelo con el antiguo sistema durante un periodo de tiempo. Esto permite que se salvaguarden lasoperaciones actuales en caso de que se produzcan problemas no previstos con el nuevo sistema. Será necesa­rio realizar comprobaciones periódicas de la coherencia de los datos entre los dos sistemas y sólo debe pres­cindirse del sistema antiguo cuando ambos sistemas parezcan estar produciendo los mismos resultados deforma coherente. Si el salto de un sistema a otro es demasiado abrupto, el resultado fina] podría ser desastro­so. A pesar de la suposición de que el anterior sistema puede eliminarse porque ambos sistemas arrojan yaresultados coherentes, puede haber situaciones en las que se decida mantener ambos sistemas.

9.14 Herramientas CASE

La primera etapa del ciclo de desarrollo de un sistema de base de datos, la de planificación de la base de datos,puede también implicar la selección de las adecuadas herramientas CASE (Computer-Aided SoftwareEngineering). En su sentido más amplio, el término CASE puede aplicarse a cualquier herramienta que désoporte a la ingeniería de software. El personal de administración de datos y de administración de la base de

Page 25: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

280 Sistemas de bases de datos

datos necesita las adecuadas herramientas de productividad para que las actividades de desarrollo de la basede datos se lleven a cabo de la forma más eficiente y efectiva posible. 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 conceptualy lógico de los datos;

• herramientas que permitan el prototipado de aplicaciones.

Las herramientas CASE se pueden dividir en tres categorías: CASE de alto nivel, CASE de bajo nivel yCASE integrado, como se ilustra en la Figura 9.6. Las herramientas CASE de alto nivel soportan las etapasiniciales del ciclo de desarrollo de los sistemas de base de datos, desde la planificación hasta el diseño de labase de datos. Las herramientas CASE de bajo nivel soportan las últimas etapas del ciclo de vida, desdela implementación a las pruebas y el mantenimiento operativo. Las herramientas CASE integradas soportantodas las etapas del ciclo de desarrollo y proporcionan, por tanto, la funcionalidad de las herramientas CASEde alto y bajo nivel en una única herramienta.

Diseño de labase de datos

Prototipado

Diseño de

la aplicación

CASE dealto nivel

CASE de

bajo nivel

CASE integrado

Figura 9.6. Aplicación de las herramientas CASE.

cgarcia
Highlight
cgarcia
Highlight
cgarcia
Highlight
Page 26: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 281

Beneficios de las herramientas CASE

El uso de herramientas CASE apropiadas debería mejorar la productividad del desarrollo de un sistema debase de datos. Utilizamos el término 'productividad' para hacer referencia tanto a la eficiencia del proceso dedesarrollo como a la efectividad del sistema desarrollado. El término eficiencia hace referencia al coste, entérminos de tiempo y de dinero, de llevar a la práctica el sistema de base de datos. Las herramientas CASEtratan de soportar y automatizar las tareas de desarrollo y mejorar así la eficiencia. La efectividad hace refe­rencia al grado con el que el sistema satisface las necesidades de información de los usuarios. Para tratar deconseguir una mayor productividad, mejorar la efectividad del proceso de desarrollo puede ser aún másimportante que mejorar su eficiencia. Por ejemplo, no tendría sentido desarrollar un sistema de base de datosextremadamente eficiente si el producto final no es lo que los usuarios desean. De esta forma, la efectividadestá relacionada con la calidad del producto final. Puesto que las computadoras son mejores que los sereshumanos para realizar ciertas tareas, por ejemplo las tareas de comprobación de coherencia, pueden utili­zarse herramientas CASE para mejorar la efectividad de algunas tareas del proceso de desarrollo.

Las herramientas CASE proporcionan los siguientes beneficios que permiten mejorar la producti­vidad:

• Estándares. Las herramientas CASE ayudan a imponer los estándares en un producto software o entoda la organización. Fomentan la producción de componentes de prueba estándar que puedan reutili­zarse, simplificando así el mantenimiento e incrementando la productividad.

• Integración. Las herramientas CASE almacenan toda la información generada en un repositorio, o dic­cionario de datos, como se explica en la Sección 2.7. Así, debería ser posible almacenar los datos reco­pilados durante todas las etapas del ciclo de desarrollo del sistema de base de datos. Los datos puedenentonces ponerse en relación para garantizar que todas las partes del sistema estén integradas. De estaforma, el sistema de información de la organización no tiene ya por qué estar compuesto por una seriede componentes independientes y desconectados.

• Soporte para métodos estándar. Las técnicas estructuradas hacen un uso significativo de diagramas,que son difíciles de dibujar y mantener de forma manual. Las herramientas CASE simplifican este pro­ceso, lo que da como resultado una documentación correcta y más actualizada.

• Coherencia. Puesto que toda la información del diccionario de datos está interrelacionada, las herra­mientas CASE pueden comprobar su coherencia.

• Automatización. Algunas herramientas CASE puede transformar automáticamente parte de una espe­

c~cación de diseño en código ejecutable. Esto reduce el trabajo requerido para producir el sistemaimplementado, y puede contribuir a eliminar errores que aparecen normalmente durante el proceso decodificación.

Para obtener más información sobre las herramientas CASE, el lector interesado puede consultar Gane(1990), Batini et al. (1992) y Kendall y Kendall (1995).

9.15 Administración de datos y administraciónde bases de datos

El administrador de datos (DA) y el administrador de la base de datos (DBA) son responsables de gestionary controlar las actividades asociadas con los datos corporativos y con la base de datos corporativa, respecti­vamente. El DA se preocupa más de las etapas tempranas del ciclo de desarrollo, desde la planificación hastael diseño lógico de la base de datos. Por contraste, el DBA está más concentrado en las etapas posteriores,desde el diseño de las aplicaciones y el diseño físico de la base de datos hasta el mantenimiento operativo. Enesta sección final del capítulo, hablaremos del propósito y de las tareas asociadas con la administración dedatos y la administración de bases de datos.

Page 27: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

282 Sistemas de bases de datos

9.15.1 Administración de datos

Administraciónde datos

La gestión de los recursos de datos, lo que incluye la planificación de la base dedatos, 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.

El administrador de datos (DA) es responsable de los recursos de datos corporativos, que incluye los datos no

informatizados y en la práctica implica a menudo la gestión de los datos compartidos por los distintos usua­

rios o áreas de aplicación de una organización. El DA es quien tiene la responsabilidad principal de aconse­

jar a los gerentes de alto nivel y de garantizar que la aplicación de las tecnologías de base de datos continúe

dando soporte a los objetivos corporativos. En algunas empresas, la administración de datos es un área fun­

cional independiente, mientras que en otras puede estar combinada con la administración de bases de datos.Las tareas asociadas con la administración de datos se describen en la Tabla 9.7.

9.15.2 Administración de bases de datos

Administraciónde bases dedatos

La gestión de la implementación física de un sistema de bases de datos, lo queincluye el diseño físico de la base de datos y su implementación, la configuraciónde los controles de seguridad e integridad, la monitorización de las prestaciones delsistema y la reorganización de la base de datos según sea necesario.

Tabla 9.7. Tareas de administración de datos.

Selección de las herramientas de productividad apropiadas.

Ayuda en el desarrollo de las estrategias corporativas relativas a las tecnologías de la información y sistemas de infor­mación.

Realización de estudios de factibilidad y planificación del desarrollo de la base de datos.

Desarrollo de un modelo de datos corporativo.

Determinación de los requisitos de datos de la organización.

Establecimiento de estándares de recopilación de datos y de formatos de los datos.

Estimación de los volúmenes de datos y del crecimiento previsible.

Determinación de los patrone/> y frecuencias de la utilización de los datos.Determinación de los reqursi'tos de acceso a los datos y de las salvaguardas relacionadas con los requisitos empresa­riales y legales.

Realización del diseño conceptual y lógico de la base de datos.

Colaboración con el personal de administración de la base de datos y con los desarrolladores de aplicaciones paragarantizar que las aplicaciones cumplan los requisitos establecidos.

Educación de los usuarios en lo que respecta a los estándares de datos y a las responsabilidades de carácter legal.

Mantenerse actualizado en lo que respecta a los desarrollos relativos a las tecnologías de la información y sistemas deinformación.

Garantizar que la documentación está actualizada y es completa, incluyendo estándares, políticas, procedimientos, uti­lización del diccionario de datos y controles relativos a los usuarios finales.

Gestión del diccionario de datos.

Colaboración con los usuarios para determinar nuevos requisitos y resolver las dificultades relativas a las prestacioneso al acceso a los datos.

Desarrollo de una política de seguridad.

Page 28: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 283

El personal de administración de la base de datos está más técnicamente orientado que el personal de admi­nistración de datos, requiriéndose el conocimiento de productos SGBD específicos y del entorno correspon­diente al sistema operativo utilizado. Aunque las responsabilidades principales se centran en el desarrollo ymantenimiento de sistemas utilizando el software SGBD de la mejor forma posible, el DBA también ayuda alDA en otras áreas, como se indica en la Tabla 9.8. El número de personas asignadas al área funcional encar­gada de la administración de la base de datos es muy variable, estando a menudo determinado por el tamañode la organización. Las tareas de administración de la base de datos se describen en la Tabla 9.8.

9.15.3 Comparación de las tareas de administración de datosy de administración de la base de datos

En las secciones precedentes hemos examinado el propósito y las tareas asociados con la administración dedatos y la administración de la base de datos. En esta sección final vamos a comparar brevemente estas dosáreas funcionales. La Tabla 9.9 resume las principales diferencias en cuanto a tareas de la administración dedatos y la administración de la base de datos. Quizá la diferencia más obvia radique en la naturaleza del pro­pio trabajo que se lleva a cabo. El personal de administración de datos tiende a estar mucho más orientadohacia la gestión, mientras que el personal de administración de bases de datos tiende a ser más técnico.

Tabla 9.8. Tareas de administración de la base de datos.

Evaluación y selección de productos SGBD.

Realización del diseño fisico de la base de datos.

Implementación del diseño fisico de la base de datos utilizando un SGBD objetivo.

Definición de las restricciones de seguridad e integridad.

Colaboración con los desarrolladores de aplicaciones de base de datos.

Desarrollo de las estrategias de prueba.

Formación de los usuarios.

Aprobación final del sistema de base de datos implementado.

Monitorización de las implementaciones del sistema y optimización de la base de datos, según sea apropiado.

Realización de copias de seguridad rutinarias.

Garantizar la prese~cia de mecanismos y procedimientos de recuperación.Garantizar que 1~6cumentación esté completa, incluyendo el material producido internamente.Mantenerse actualizado en lo que respecta a los desarrollos en el campo del software y el hardware y sus costescorrespondientes, e instalar las actualizaciones según sea necesario.

Tabla 9.9. Administración de datos y administración de la base de datos:

principales diferencias en cuanto a tareas.

Administración de datos

Implicado en la planificación estratégica de los sistemasde información.

Determina objetivos a largo plazo.

Impone los estándares, políticas y procedimientos.

Determina los requisitos relativos a los datos.

Administración de la base de datos

Evalúa nuevos SGBD.

Ejecuta los planes necesarios para conseguir los objetivos.

Impone los estándares, políticas y procedimientos.

Implementa los requisitos relativos a los datos.(Continúa)

Page 29: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

284 Sistemas de bases de datos

Tabla 9.9. Administración de datos y administración de la base de datos:

principales diferencias en cuanto a tareas. (Cant.)

Administración de datos

Lleva a cabo los diseños conceptual y lógico de la basede datos.

Desarrolla y mantiene el modelo de datos corporativo.

Coordina el desarrollo del sistema.

Orientación de gestión.

Independiente del SGBD.

Resumen del capítulo

Administración de la base de datos

Lleva a cabo los diseños lógico y físico de la base dedatos.

Implementa el diseño físico de la base de datos.

Monitoriza y controla la base de datos.

Orientación técnica.

Dependiente del SGBD.

• Un sistema de información está constituido por los recursos que permiten la recopilación, gestión, con­trol y diseminación de la información a lo largo de una organización

• Un sistema de información basado en computadora incluye los siguientes componentes: base de datos,software de base de datos, software de aplicación, hardware informático (incluyendo los medios de alma­cenamiento) y el personal que utiliza y desarrolla el sistema.

• La base de datos es un componente fundamental de los sistemas de información y su desarrollo y utiliza­ción deben contemplarse desde la perspectiva de los requisitos globales de la organización. Por tanto, elciclo de vida de un sistema de información corporativo está inherentemente enlazado con el ciclo de vidade la base de datos que le da soporte.

• Las etapas principales del ciclo de desarrollo de un sistema de base de datos incluyen: planificación dela 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), diseño de la aplicación, prototipado (opcional), implementación, conver­sión y carga de los datos, pruebas y mantenimiento operativo.

• La planificación de la base de datos está compuesta por las actividades de gestión que permiten llevar acabo las distintas etapas del ciclo de desarrollo de un sistema de base de datos de la forma más eficientey efectiva posible.

• La definición del sistema implica identificar el ámbito y los límites del sistema de base de datos, así comolas vistas de usuario. Una vista de usuario define lo que se requiere del sistema de base de datos desde la

perspectiva de un puesto de ~o concreto (como por ejemplo Gerente o Supervisor) o de una aplica­ción corporativa (como por ejemplo marketing, personal o control de almacén).

• La recopilación y análisis de requisitos es el proceso de recopilar y analizar información acerca de aque­lla parte de la organización a la que el sistema de base de datos deba dar soporte, así como utilizar estainformación para identificar los requisitos del nuevo sistema. Hay tres técnicas principales para gestionarlos requisitos de un sistema de bases de datos que tenga múltiples vistas de usuario: el enfoque centrali­zado, el enfoque de integración de vistas y una combinación de ambos enfoques.

• El enfoque centralizado implica combinar los requisitos de cada vista de usuario en un único conjunto derequisitos para el nuevo sistema de base de datos. Durante la etapa de diseño de la base de datos se crearáun modelo de datos que represente todas las vistas de usuario. En el enfoque de integración de vistas, losrequisitos de cada vista de usuario se conservan como listas independientes; durante la etapa de diseño dela base de datos se crean después modelos de datos que representan cada una de las vistas de usuario.

• El diseño de la base de datos es el proceso de crear un diseño que dé soporte a la misión y a los objeti­vos de la empresa para el sistema de base de datos requerido. Hay tres fases en el diseño de bases de datos:diseño conceptual, lógico y físico.

Page 30: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

Capítulo 9 Planificación, diseño y administración de bases de datos 285

• El diseño conceptual de la base de datos es el proceso de construir el modelo de los datos utilizados enuna empresa, independientemente de todas las consideraciones físicas.

• El diseño lógico de la base de datos es el proceso de construir un modelo de los datos utilizados en unaempresa basándose en un modelo de datos específico, pero con independencia del SGBD concreto y delresto de consideraciones físicas.

• El diseño físico de la base de datos es el proceso de generar una descripción de la implementación de labase de datos en almacenamiento secundario; describe las relaciones básicas, la organización de los archi­vos y los índices empleados para conseguir un acceso eficiente a los datos, así como cualesquiera restric­ciones de integridad y medidas de seguridad asociadas.

• La selección del SGBD implica seleccionar un SGBD apropiado para el sistema de base de datos.

• El diseño de la aplicación implica el diseño de la interfaz de usuario y el diseño de las transacciones, quedescriben los programas de aplicación que utilizan y procesan la base de datos. Una transacción de basede datos es una acción, o serie de acciones, llevada a cabo por un único usuario o programa de aplicacióny que accede al contenido de la base de datos o lo modifica.

• El prototipado implica la construcción de un modelo operativo de sistema de la base de datos que permi­ta a los diseñadores o usuarios visualizar y evaluar el sistema.

• La implementación es la realización física del diseño de la base de datos y del diseño de las aplicaciones.

• La conversión y carga de los datos implica la transferencia de los datos existentes a la nueva base dedatos y la conversión de las aplicaciones existentes para que se ejecuten sobre la nueva base de datos.

• Las pruebas son el proceso de operar el sistema de base de datos con la intención de localizar posibleserrores.

• El mantenimiento operativo es el proceso de monitorizar y mantener el sistema después de la insta­lación.

• El término CASE (Computer-Aided Software Engineering) se aplica a cualquier herramienta que desoporte a la ingeniería del software y que permita que las actividades de desarrollo del sistema de base dedatos se lleven a cabo de la forma más eficiente y efectiva posible. Las herramientas CASE pueden clasi­ficarse en tres categorías: CASE de alto nivel, CASE de bajo nivel y CASE integrado.

• La administración de datos es la gestión de los recursos de datos, incluyendo las tareas de planificación

de base d~da os, desarrollo y mantenimiento de estándares, políticas y procedimientos y diseño concep­

tual y lógico e la base de datos.

• La admi lstración de la base de datos es la gestión de la realización física de un sistema de base dedatos, incluyendo las tareas de diseño físico de la base de datos e implementación de la misma, configu­ración de la seguridad y los controles de integridad, monitorización de las prestaciones del sistema y reor­ganización de la base de datos según sea necesario.

Cuestiones de repaso

9.1. Describa los componentes principales de un sistema de información.

9.2. Explique la relación existente entre el ciclo de vida de los sistemas de información y el ciclo dedesarrollo de los sistemas de bases de datos.

9.3. Describa el propósito y actividades principales asociados con cada etapa del ciclo de desarrollo de unsistema de base de datos.

9.4. Explique lo que representa una vista de usuario en el contexto de un sistema de base de datos.

9.5. Explique las técnicas principales para la gestión del diseño de un sistema de base de datos que tengamúltiples vistas de usuario.

9.6. Realice una comparación entre las tres fases del diseño de una base de datos.

Page 31: 10 Cap 9 Planificacion, Diseño y administracion de bases de datos.pdf

286 Sistemas de bases de datos

9.7. ¿Cuáles son los objetivos principales del modelado de datos? Identifique los criterios aplicables a unmodelo de datos óptimo.

9.8. Identifique la etapa o etapas en las que resulta apropiado seleccionar un SGBD y describa una técnicapara elegir el 'mejor' SGBD.

9.9. El diseño de aplicaciones implica el diseño de las transacciones y el diseño de la interfaz de usuario.Describa el propósito y las actividades principales asociados con cada una de esas tareas.

9.10. Explique por qué las pruebas no pueden demostrar la ausencia de fallos, sino sólo la presencia de losmIsmos.

9.11. Describa las principales ventajas de utilizar la técnica de prototipado a la hora de construir un sistemade bases de datos.

9.12. Defina el propósito y las tareas asociados con la administración de datos y la administración de basesde datos.

Ejercicios

9.13. Suponga que es responsable de seleccionar un nuevo producto SGBD para un grupo de usuarios de suorganización. Para realizar este ejercicio, primero debe establecer una serie de requisitos para el grupoy luego identificar un conjunto de características que el producto SGBD deba presentar con el fin desatisfacer dichos requisitos. Describa un proceso de evaluación y selección del mejor producto SGBD.

9.14. Describa el proceso de evaluación y selección de un producto SGBD para cada uno de los casos deestudio descritos en el Apéndice B.

9.15. Averigtie si la administración de datos y la administración de bases de datos existen como áreas fun­cionales independientes dentro de su organización. Si fuera así, describa la organización, responsabi­lidades y tareas asociadas con cada una de las dos áreas funcionales.