Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 1 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). TEMA 1. INTRODUCCIÓN. EVOLUCIÓN HISTÓRICA. Desde la aparición de las computadoras, la gestión de las organizaciones ha tenido una tendencia natural hacia la automatización. Desde inicios de la década del 60, la evolución de los sistemas de información ha tenido una considerable repercusión en la gestión de los datos al exigirse cada vez más prestaciones de información. Al inicio de todo este proceso de automatización, el eje de la construcción del software que interviene en un sistema de información lo constituían los procesos. Poco a poco, este centro de gravedad se fue desplazando desde los procesos hacia la estructuración de los datos. La imposibilidad de efectuar diseños de bases de datos que implicaran asegurar eficiencia en el mantenimiento de los datos y en la producción de información, dio lugar a avances en el área, con miras a mejorar la calidad del producto y así, a fines de los años 60 y principios del 70, surge la primera generación de productos de bases de datos. Estos productos presentaban lenguajes procedimentales que obligaban al programador a navegar, registro a registro, por la base de datos. Con ellos, los diseñadores de las bases de datos actuaban como verdaderos artesanos, utilizando como la herramienta los diagramas de bloques y estructuras de registros como estructura de datos. En 1.970, Codd propuso el Modelo Relacional que, a esa altura, no era más que una teoría sin ninguna posibilidad de implementación eficiente con los productos comerciales con los que se contaba pero que, durante los años 80, da lugar a la segunda generación de productos de bases de datos. Tomado como base el convencimiento de la conveniencia de la implementación del Modelo Relacional, durante la década de los 80 la investigación se centra en los siguientes aspectos: la optimización de las consultas, los lenguajes de alto nivel, la organización física del almacenamiento de los datos, los algoritmos para la optimización de gestión de buffers, las técnicas de indexación y los sistemas distribuidos. Desde la década del 90 se viene asistiendo a un avance espectacular en la tecnología de bases de datos, surgiendo por esta época la tercera generación, que tiene las siguientes características: posibilidad de almacenamiento de grandes cantidades de datos, datos compartidos por varios usuarios, gestión de objetos y gestión de reglas de inferencia de datos. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 2 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). DATOS PERSISTENTES. CONCEPTO. NECESIDAD. Un dato persistente es un dato que tiene una naturaleza no transitoria y que, por lo tanto, debe ser almacenado. Esta característica lo diferencia de otro tipo de datos, de naturaleza efímera o transitoria, como los datos de entrada-salida, las proposiciones de control, las colas de trabajo, los bloques de control de un programa, los resultados intermedios y, en general, cualquier información transitoria. Un dato de entrada es el que se recibe por primera vez en el sistema y puede dar pié a la modificación de los datos persistentes o convertirse en uno de ellos. Un dato de salida es uno que se deriva de los datos persistentes. BASES DE DATOS. CONCEPTO. Una base de datos es un conjunto de los datos persistentes de una organización, relacionados entre sí. Como ejemplo, consideremos los nombres, direcciones y números de teléfono de las personas que conocemos. Podemos tener estos datos en una libreta de direcciones, en una agenda electrónica o en una planilla de cálculo. Esto es, su registro puede ser manual o podemos emplear algún medio mecánico, pero lo cierto es que tenemos datos persistentes relacionados entre sí: datos: hechos conocidos que pueden registrarse y que tienen un significado implícito, persistentes: están almacenados, relacionados entre sí: todas son personas que conocemos y de ellas tenemos sus domicilios y números de teléfono. Por lo tanto, los nombres, direcciones y números de teléfonos de las personas que conocemos constituye una base de datos. De la definición podemos extraer las propiedades de una base de datos. Una base de datos representa algún aspecto del mundo real y las modificaciones que sufre ese mundo real. Una base de datos es un conjunto de datos lógicamente coherente, con significado inherente. Toda base de datos se construye y puebla con datos para un propósito específico, está dirigida a un grupo de usuarios y tiene aplicaciones que les interesa a ellos. SISTEMAS DE BASES DE DATOS. Nuestro objetivo es el estudio del diseño e implementación de bases de datos computarizadas. En este contexto, definiremos un sistema de bases de datos como un sistema cuyo propósito general es mantener datos y hacer que estén disponibles cuando sean solicitados. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 3 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). COMPONENTES DE UN SISTEMA DE BASES DE DATOS. Para lograr el objetivo enunciado precedentemente, un sistema de bases de datos se apoya en cuatro componentes: 1. Datos, 2. Equipo, 3. Software, 4. Usuarios. DEFINICIÓN DE CADA COMPONENTE. Datos. Tienen dos características esenciales: 1. están integrados: la base de datos se considera como la unificación de archivos de datos, 2. serán compartidos: los elementos individuales de la base de datos serán accedidos por distintos usuarios en el sentido de que todos pueden tener acceso al mismo elemento para usarlo con propósitos diferentes. Equipo. Es el soporte para el almacenamiento de los datos. Por ello, nos interesa específicamente: 1. los volúmenes de almacenamiento secundario, 2. los dispositivos de entrada-salida asociados, 3. el procesador o procesadores, 4. la memoria principal asociada. Software. Es el conjunto de programas creado para la gestión de los datos almacenados y consiste en programas de aplicación y consulta a la base de datos. Estas aplicaciones y consultas no tienen una interacción directa con la base de datos almacenada. Existe, específicamente, un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Este software de propósitos generales, facilita el proceso de definir, construir y manipular una base de datos, se denomina DBMS: sistema administrador de la base de datos, o simplemente motor de base de datos y su finalidad es distanciar a los usuarios de los detalles a nivel equipo. El DBMS es, definitivamente, la componente de software más importante de todo el sistema. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 4 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). Usuarios. Se tomarán en cuenta dos clases de usuarios: 1. Programador de aplicaciones: es el encargado de escribir los programas que utilizarán la base de datos, dirigiendo las solicitudes al DBMS, 2. Usuario final: tiene acceso a la base de datos a través de las aplicaciones efectuadas por el programador de aplicaciones o a través de una aplicación integrada al sistema de base de datos, que es un procesador de un lenguaje de consulta interactivo, mediante el cual el usuario puede formular mandatos de alto nivel. Podemos esquematizar un sistema de basesde datos como sigue: COMPARACIÓN DEL ENFOQUE CON EL DE GESTIÓN DE ARCHIVOS. En el procesamiento de archivos tradicional: cada usuario define e implementa los archivos requeridos para una aplicación específica, suelen guardarse los mismos datos para aplicaciones diferentes, se dispersa tiempo y esfuerzo en el mantenimiento de datos iguales para aplicaciones diferentes, en el mejor de los casos con éxito en la coherencia en las actualizaciones, DBMS Usuarios finales / Programadores de Aplicaciones Programas de Aplicaciones / Consultas Software para procesar consultas Software para acceder a los datos Base de datos almacenada Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 5 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). el control de acceso a los datos y los niveles de seguridad deben ser mantenidos por las aplicaciones. En cambio, en un sistema de bases de datos contamos con una serie de ventajas frente al procesamiento de archivos tradicional, ventajas que se resumen en los siguientes: FUNDAMENTOS DEL ENFOQUE DE BASES DE DATOS. 1. Minimización de la redundancia. La redundancia es la repetición del mismo dato en lugares diferentes. Lo deseable es la eliminación de la redundancia. Pero si, por la naturaleza de la aplicación, ésta debe existir, debe ser mínima y el DBMS debe tener conocimiento de su existencia, para que pueda propagar las actualizaciones. Esto es, la actualización de un dato redundante en cualquier lugar, implica la actualización automática del mismo dato en todos los lugares en donde se encuentre. 2. Eliminación de la inconsistencia. La inconsistencia es la falta de concordancia en los valores de un mismo dato. Cuando no hay redundancia o cuando la redundancia está controlada por el DBMS, es posible eliminar la inconsistencia. 3. Compartimento de los datos. Los datos son compartidos por diversas aplicaciones y también están disponibles para nuevas aplicaciones, sin necesidad de almacenar datos adicionales. 4. Cumplimiento de normas. Es posible representar los datos de acuerdo a un conjunto de normas preestablecidas. Esta normalización es deseable para el intercambio de datos o para la migración de datos de un sistema a otro. También es posible definir y mantener la seguridad en el acceso a los datos de manera que cada usuario sólo perciba los datos destinados a él. 5. Mantenimiento de la integridad. La integridad de los datos es la posibilidad de asegurar que los datos contenidos en la base de datos son correctos. La falta de consistencia deriva en la no integridad, pero no es el único caso. En un enfoque de bases de datos es posible definir restricciones de integridad como, por ejemplo, verificaciones de las actualizaciones. 6. Equilibrio de requerimientos opuestos. Un requerimiento opuesto son diferentes peticiones de los usuarios a la misma base de datos. Se pueden estructurar los datos de forma de proporcionar un servicio óptimo al usuario, aunque la naturaleza de las peticiones de estos sea radicalmente diferente. 7. Autodescripción de los datos. En un catálogo del sistema se almacena información sobre la estructura de cada archivo, el tipo de cada elemento de dato y las restricciones de integridad. Esta información almacenada se denomina metadatos. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 6 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). ESCALABILIDAD, EFICIENCIA Y EFECTIVIDAD. La escalabilidad es la propiedad de un Sistema de Bases de Datos que indica su habilidad para extender el margen de operaciones sin perder calidad. Dicho de otra manera, es la habilidad del Sistema de Bases de Datos para manejar un crecimiento continuo de de manera fluida y estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. La escalabilidad también se puede definir como la capacidad del Sistema de Bases de Datos de alterar su tamaño o configuración para adaptarse a las circunstancias cambiantes. Un Sistema de Bases de Datos cuyo rendimiento es mejorado después de haberle añadido más capacidad se dice que pasa a ser un sistema escalable. La efectividad es la capacidad de lograr un efecto deseado, esperado o anhelado. La eficiencia, en cambio, es la capacidad de lograr el efecto en cuestión con el mínimo de recursos posibles. Un Sistema de Bases de Datos es efectivo cuando es capaz de obtener los resultados deseados. Notemos que en esta apreciación nada se dice sobre cuáles, cuántos ni en qué forma han de utilizarse los recursos para obtener ese resultado deseado. Un Sistema de Bases de Datos es eficiente cuando es capaz de obtener resultados deseados mediante la óptima utilización de los recursos disponibles. INDEPENDENCIA DE LOS DATOS. En el procesamiento de archivos tradicional, la estructura de los archivos de datos viene integrada en los programas de acceso. Así, deberemos implementar todas las aplicaciones que acceden a los datos utilizando la misma herramienta. Por ejemplo, el muy usado gestor de archivos Fox maneja una estructura de archivos conocida como archivos DBF. Para gestionar los datos es necesario programar aplicaciones en Fox u otra herramienta que disponga de un driver especial para tratar este tipo de archivos. En cambio, en un sistema de bases de datos, la estructura de los archivos de datos se almacena en el catálogo, aparte de los programas de acceso. Por lo tanto es posible realizar aplicaciones que accedan a la base de datos en cualquier herramienta. Por ejemplo, se podrían almacenar los datos utilizando un motor MS SQL Server y acceder a ellos mediante aplicaciones realizadas en Visual Basic, Java, Delphi, C++, etc. Esta propiedad se denomina independencia de los datos. Además, el enfoque orientado a los objetos permite a los usuarios definir operaciones sobre los datos. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando estas operaciones a través de sus nombres y argumentos, independientemente de la forma en que están almacenadas. Además, estas operaciones podrían redefinirse sin que sea necesaria una modificación en la aplicación que las invoca. Esta propiedad se denomina independencia de las operaciones. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 7 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). La característica que hace posible la independencia de los datos y la independencia de las operaciones se denomina abstracción de datos. EL ADMINISTRADOR DE DATOS (DA). Hemos señalado que el uso de un sistema de bases de datos tiene ventajas sobre la gestión tradicional de archivos. Un sistema de bases de datos ofrece a la organización un control centralizado de sus datos. Pero es la organización la que deberá definir la política a seguir con sus datos. Dentro de la organización, entonces, deberá existir una persona que no necesariamente conozca el aspecto informático pero que ocupe un nivel gerencial superior y que deberá: decidir cuáles son los datos que deberán ser persistentes y quiénes pueden acceder a los datos. Esta persona se conoce como el Administrador de los Datos. EL ADMINISTRADOR DE LA BASE DE DATOS (DBA). El DA es un gerente, no necesariamente un técnico. El técnico responsable de poner en práctica las decisiones del DA es el Administrador de la Base de Datos. El DBA es un profesional en el procesamiento de datos, cuyas funciones son: crear la basede datos, implementar los controles técnicos definidos por el DA, garantizar el funcionamiento adecuado del sistema, adquirir los recursos necesarios de software y de hardware. NIVELES DE SEGURIDAD. Al tener jurisdicción completa sobre la base de datos, el DBA puede: asegurar que el acceso a la base de datos sea solo a través de los canales apropiados, definir las verificaciones de seguridad a realizar cuando se intente acceder a los datos. Es factible establecer diferentes verificaciones para cada tipo de acceso. Por lo general, a un usuario o grupo de usuarios se le asigna un número de cuenta protegido por contraseñas. El DBMS cuenta con un subsistema de seguridad y autorización que permite al DBA crear cuentas y especificar restricciones para ellas. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 8 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). SISTEMAS ADMINISTRADORES DE BASES DE DATOS. ARQUITECTURA DE UN SISTEMA ADMINISTRADOR DE BASES DE DATOS. PAUTAS Y NORMAS. INTEGRIDAD. SEGURIDAD. El DBMS es un conjunto de programas que maneja todo el acceso a la base de datos. Esto lo hace siguiendo ciertas pautas y normas que definen un proceso como el siguiente: 1. un usuario solicita un acceso, 2. el DBMS interpreta y analiza la solicitud, 3. el DBMS consulta el catálogo almacenado, 4. el DBMS ejecuta las operaciones necesarias sobre la base de datos almacenada. Las pautas y normas que intervienen son las que aseguran el desempeño eficiente del DBMS en cuanto a tiempo de respuesta, interfaz con el usuario, etc. Estas pautas y normas contienen referencias específicas a dos aspectos importantes: Integridad: el DBMS debe ser capaz de entender y de hacer cumplir un conjunto de restricciones sobre los datos, llamadas restricciones de integridad. Por ejemplo, verificaciones de tipo a un ingreso de datos, verificaciones de relaciones entre datos, verificaciones de valores de los datos. Es de hacer notar que ningún DBMS puede descubrir automáticamente un error. Si el usuario ingresó 10 en lugar de 100 y el tipo de dato coincide y está dentro del rango esperado, el DBMS lo admitirá. Seguridad: implica el control de los accesos a la base de datos. Este control se hace usualmente asignando contraseñas a los usuarios y/o un sistema de control y revocación de privilegios. Este último sistema es controlado por el DBMS. Para poder cumplir su función, el DBMS se apoya en una arquitectura. Presentaremos una arquitectura, llamada arquitectura de tres esquemas, o de tres niveles, o ANSI/SPARC por el comité que la aprobó en 1.978, que permite a un DBMS cumplir con las pautas y normas para realizar su tarea, en especial con las referidas a la integridad y a la seguridad y permite tener en cuenta las características distintivas del DBMS que permiten: 1. asegurar la independencia de los datos y la independencia de las operaciones, 2. manejar las vistas distintas que pueden tener distintos usuarios sobre la misma base de datos, 3. emplear un catálogo para el almacenamiento de la descripción de la base de datos. El objetivo de esta arquitectura es el de separar las aplicaciones del usuario de la base de datos almacenada, para lo cual propone esquemas definidos a diferentes niveles. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 9 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). NIVELES. CORRESPONDENCIA ENTRE NIVELES. PROCESOS. El Nivel Externo. Incluye varias vistas del usuario, que utiliza la parte de los datos almacenados que es de su interés. Cada esquema o vista externa muestra al usuario los datos que necesita y le oculta el resto. El Nivel Conceptual. Contiene el esquema conceptual, que describe la estructura de toda la base de datos, ocultando los detalles de almacenamiento. El Nivel Interno. Tiene un esquema interno que describe la estructura de almacenamiento de la base de datos. En la mayoría de los casos, los DBMS no distinguen específicamente los tres niveles, pero acepta los esquemas señalados. El proceso de transformar solicitudes y resultados de un nivel a otro se denomina correspondencia, o transformación, o mapping. Si bien la arquitectura de los DBMS no se ha estandarizado tanto como lo puede estar, por ejemplo, la de un compilador, la gran mayoría de los sistemas incluyen los siguientes módulos: · Gestor de archivos: interactúa con el sistema de archivos provisto por el sistema operativo. Se ocupa del manejo de las estructuras físicas de almacenamiento, de la administración del espacio de memoria secundaria y de los métodos de acceso y búsqueda. Si el gestor de Vista Externa 2 Vista Externa 1 Vista Externa n Usuarios finales Usuario 1 Usuario 2 Usuario n Nivel Externo Correspondencia Externa / Conceptual Nivel Conceptual Correspondencia Conceptual / Interna Nivel Interno Esquema Conceptual Esquema Interno Base de datos almacenada Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 10 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). archivos del sistema operativo fuera considerado ineficiente, los diseñadores del DBMS diseñan e implementan sus propias rutinas de acceso a archivos. · Gestor de datos: se encarga de la interfaz entre los datos y las aplicaciones o consultas de los usuarios. · Procesador de consultas: este módulo se encarga de traducir el lenguaje de alto nivel en que se formulan las consultas a un conjunto de instrucciones básicas que interpreta el gestor de datos. Esta traducción la hace siempre optimizando la consulta, esto es, implementa la consulta de la manera más eficiente. · Controlador del paralelismo: cuando el motor soporta múltiples procesos accediendo y/o modificando en paralelo a una misma base de datos, este controlador se encarga de que tales procesos no interfieran unos con otros. · Sistema de recuperación: junto con el controlador del paralelismo, este módulo se encarga del manejo de las transacciones, garantizando así que la base de datos quedará en un estado consistente en caso de falla total o parcial. CLASIFICACIÓN DE LOS SISTEMAS ADMINISTRADORES DE BASES DE DATOS. Un DBMS puede clasificarse de acuerdo a varios criterios. 1. Según el modelo de datos en que se basa. Un modelo de datos es la forma en que se representan los datos, es una descripción de la realidad con el propósito de estudiarla. 1.1. Relacionales, 1.2. De Red, 1.3. Jerárquicos, 1.4. Orientados a los objetos. 2. Según el número de usuarios a los que presta servicio. 2.1. Monousuarios: solo atienden a un usuario a la vez, 2.2. Multiusuarios: atienden a varios usuarios al mismo tiempo. 3. Según la cantidad de sitios donde se encuentra almacenada la base de datos. 3.1. Centralizados: la base de datos y el DBMS se encuentran en un solo computador, 3.2. Distribuidos: la base de datos y el DBMS están en varios sitios, conectados por una red. 4. Según su propósito. 4.1. De propósito general, se diseñan para cualquier aplicación de gestión de bases de datos. 4.2. De propósito especial, se diseñan para una aplicación específica. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 11 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). LENGUAJES E INTERFACES DE LOS SISTEMAS ADMINISTRADORES DE BASES DE DATOS. Como hemos visto, un DBMS puede ser utilizadopor diferentes tipos de usuarios. Por lo tanto, deberá manejar lenguajes e interfaces apropiadas para cada categoría. Estos lenguajes deberán ser tales que nos permitan las especificaciones de los esquemas externo, conceptual e interno asociados a cada uno de los tres niveles de la arquitectura del DBMS, y las correspondencias entre estos niveles. Para la especificación de las vistas de los usuarios y la correspondencia externa-conceptual, se utiliza un lenguaje denominado VDL: View Definition Languaje. La especificación del esquema conceptual y de la correspondencia conceptual-interna, se realiza en lenguaje DDL: Data Definition Languaje. El DBMS cuenta con un compilador cuya misión es procesar los enunciados DDL para identificar la descripción de los elementos del esquema conceptual en el catálogo almacenado. El SDL: Storage Definition Languaje es utilizado para la especificación del esquema interno y también se puede utilizar este lenguaje para especificaciones de la correspondencia conceptual- interna, tal como el DDL. Una vez que se han compilado los esquemas de la base de datos y se han introducido los datos, se requerirá de algún mecanismo que permita la manipulación de los datos persistentes. Las operaciones de manipulación más comunes son la obtención, inserción, eliminación y modificación de los datos almacenados. Para tal propósito, el DBMS ofrece el DML: Data Manipulation Languaje. Como dijimos, los DBMS actuales no distinguen una clara separación entre los niveles, por ello les basta con un DDL y de un DML para las especificaciones de los tres esquemas y lo ofrecen en forma de un lenguaje integrado. Un ejemplo representativo es el lenguaje de bases de datos relacionales SQL, que estudiaremos con todo detalle en el tema siguiente. Con respecto a las interfaces, el lenguaje de un DBMS ofrece las siguientes: 1. Interfaces basadas en menúes desplegables: presentan al usuario una lista de opciones que lo guían en la formulación de solicitudes. La ventaja de este tipo de interfaz es que brinda al usuario la posibilidad de formular peticiones sin necesidad de memorizar la sintaxis específica para cada una. 2. Interfaces gráficas: presentan al usuario los esquemas en forma de diagrama y le permite la selección de la parte del diagrama que se exhibe. 3. Interfaces basadas en formas: presentan al usuario un formulario estandarizado en el cual es posible agregar datos nuevos y recuperar datos persistentes. 4. Interfaces de lenguaje natural: aceptan solicitudes e intentan entenderlas a través de un análisis sintáctico y léxico de las mismas. Si la interpretación tiene éxito, la interfaz genera una consulta de alto nivel y la envía al DBMS para que se encargue de su procesamiento, de lo contrario inicia un diálogo con el usuario para esclarecer la petición. 5. Interfaces para usuarios paramétricos: son un conjunto pequeño de operaciones, como las disponibles en el cajero de un banco. Este tipo de interfaces son diseñadas por los analistas del sistema para una clase de usuarios simples. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 12 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 6. Interfaces para el DBA.: especiales para éste, como órdenes para crear cuentas, asignar niveles de seguridad, modificar esquemas, parametrizar el sistema y reorganizar la estructura de almacenamiento. INDEPENDENCIA DEL CONOCIMIENTO. En una aplicación de bases de datos se utiliza el motor o DBMS para realizar la gestión de los datos almacenados en la misma en distintos niveles. Como vimos anteriormente, la arquitectura de los sistemas administradores de bases de datos, conocida como ANSI/SPARC, establece tres niveles, interno, conceptual y externo además de las correspondencias entre los niveles mencionados. Utilizando este modelo obtenemos independencia de almacenamiento, dejando los detalles al nivel interno. El nivel conceptual de la base de datos, es el mismo para cualquier implementación física. De manera similar, las aplicaciones, se comunican con el nivel externo de la base de datos. Dichas aplicaciones poseen en su código un contenido semántico que define el comportamiento de los datos almacenados. El concepto de la independencia del conocimiento sugiere que tal conocimiento semántico, que es común a todas las aplicaciones, se puede definir en la base de datos misma. De esa forma, se puede obtener un cierto conocimiento fuera de las aplicaciones y dentro de un esquema. Esto traerá un beneficio muy importante pues, al estar definidas dentro de la base de datos las reglas que definen el comportamiento de los datos, que son además las reglas de la organización, serán las mismas para todas las aplicaciones. En un DBMS relacional podemos implementar estas reglas a través de triggers o store procedures ofunciones. Esto produce un beneficio para las aplicaciones de base de datos en varios sentidos. Por un lado todas las aplicaciones que accedan a las bases de datos trabajarán con el mismo conjunto de reglas. Por otro lado, las aplicaciones no necesitan ocuparse de la integridad de los datos. Además tenemos una ventaja tecnológica adicional, las aplicaciones pueden tomar ventajas de las vistas y consultas derivadas automáticamente de los datos almacenados. Tengamos en cuenta que un sistema de bases de datos con arquitectura cliente/servidor, las vistas se ejecutan más eficientemente del lado del servidor. Veamos un ejemplo: en una organización que realiza ventas en cuenta corriente a clientes, se puede definir la siguiente regla: “Si el saldo de un cliente supera los $ 2.000 el crédito se bloquea”. Para ello podemos implementar dos reglas en la base de datos. Una que, sin importar que aplicación se utilice, al registrar un movimiento en la cuenta corriente, verifique el saldo y, si éste supera los $ 2.000, ponga un atributo estado de la cuenta en valor “bloqueado”. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 13 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). Otra regla impedirá que se puedan registrar movimientos en la cuenta corriente del cliente si el atributo en cuestión es igual a bloqueado. Así ninguna aplicación podrá registrar un movimiento en una cuenta corriente bloqueada y esta última se bloqueará instantáneamente al superar el máximo permitido. EL PROCESO DE DISEÑO DE BASES DE DATOS. MODELO CONCEPTUAL. MODELO LÓGICO. MODELO FÍSICO. Para abordar el tema, lo primero que debemos preguntarnos es: ¿ qué es diseñar ?. Diseñar significa construir modelos. Parece que no hemos avanzado mucho, porque ahora tenemos que preguntarnos ¿ qué es un modelo ?. Un modelo es un vehículo para describir la realidad con el propósito de estudiar parte de ella. Nuestra realidad es la organización en la cual va a ser implementada la base de datos que pretendemos diseñar y la parte de la organización que nos interesa concretamente es el conjunto de datos persistentes. Entonces, el proceso de diseño de bases de datos es el proceso de construcción de modelos que muestren la estructura de la base de datos. Cuando abordamos el tema de arquitectura de los sistemas administradores de bases de datos, vimos que puede mirarse la base de datos desde tres niveles diferentes: externo, conceptual e interno. Por lo tanto, nuestro proceso de diseño deberá ser tal que permita mostrar la estructura de la base de datos pero vista desde sus tres niveles de arquitectura. El proceso de diseño de una base de datos consta de seis fases: Fase 1: recolección y análisis de requerimientos. Fase 2: diseño conceptual de la base de datos. Fase 3: elección del DBMS. Fase 4: diseño lógicode la base de datos. Fase 5: diseño físico de la base de datos. Fase 6: implementación de las aplicaciones. Esta enumeración de las fases indica, en principio, un orden secuencial de ejecución, lo cual es cierto. Ello no quita que a la altura de cualquiera de las fases no surjan detalles que haga necesaria una vuelta atrás. Por lo tanto, la salida producida por una fase puede ser alimentación para la fase siguiente o bien retroalimentación para alguna de las anteriores. Por otra parte, el proceso puro de diseño de bases de datos se limita a las fases 2, 3, 4 y 5, siendo la fase 1 la que nutre el comienzo del proceso y la fase 6 una continuación del proceso de construcción del software. Fase 1. Recolección y análisis de requerimientos. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 14 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). La actividad de recolección y análisis de requerimientos es una actividad previa al diseño que se realiza para todo el sistema de información que desea implementarse en una determinada organización. Al final de esta actividad, deberá tenerse en claro cuáles son los requerimientos del usuario y cuál es la necesidad: de datos persistentes y de procesos, que permitirán que el software cumpla con su función. La necesidad de datos persistentes y de procesos son una función de la otra: los datos persitentes serán procesados para producir información, los procesos actúan sobre los datos persistentes para satisfacer los requerimientos del usuario, y, por ello, es lógico que la recolección y el análisis de los requerimientos del usuario se realice teniendo en cuenta tanto a los datos como a los procesos. Pero, al final de la fase, es posible separar ambos. Fase 2. Diseño conceptual de la base de datos. El objetivo de esta fase es la construcción del modelo conceptual de la base de datos. Un modelo conceptual es el que muestra la estructura de la base de datos desde el punto de vista del contenido. Este contenido se refiere a: las estructuras de los datos persistentes, la semántica o significado de los datos, las relaciones entre los datos. La virtud de este modelo conceptual es que puede mostrar los datos persistentes desde su semántica y es justamente por ello que surge como primer modelo pues, a esta altura del proceso de diseño de la base de datos, tenemos en claro solamente cuál es el conjunto de datos que deberán ser almacenados. Esta fase de diseño conceptual de la base de datos se realiza en forma paralela con el diseño de los procesos, cuyo objetivo es la construcción de los modelos de tales procesos. Y es natural que ambas actividades sean paralelas, por la dependencia datos-procesos en la etapa de diseño. Fase 3. Elección del DBMS. ¿ Por qué elegir un DBMS en medio de un proceso de diseño ?. Porque el modelo conceptual aporta conocimiento a un muy alto nivel de abstracción. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 15 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). Ahora debemos, gradualmente bajar ese nivel de abstracción aplicando un proceso de refinamiento que agrega nivel de detalle en cada etapa, tal que partiendo del modelo conceptual produce el modelo físico de la base de datos. Pero este modelo físico tiene que ver con el DBMS elegido y, por lo tanto, este es el momento de decidir qué tipo de DBMS utilizaremos. No entraremos en el detalle del tipo de variables que intervienen al momento de elegir el DBMS, pues ese punto ya lo hemos discutido en incisos anteriores. Fase 4. Diseño lógico de la base de datos. El objetivo de esta fase es la construcción del modelo lógico de la base de datos. Un modelo lógico es el que muestra la estructura de la base de datos que puede procesar el DBMS. Consiste sencillamente en un conjunto de enunciados escritos en el DDL del lenguaje del DBMS elegido, que especifican el nivel externo y el nivel conceptual de la arquitectura de tal DBMS. Fase 5. Diseño físico de la base de datos. El objetivo de esta fase es la construcción del modelo físico de la base de datos. Un modelo físico es el que muestra la estructura que adquiere la base de datos en su almacenamiento secundario y los caminos de acceso. Para poder efectuar estas definiciones, debemos contar con pautas sobre requerimientos especiales como: tiempo de respuesta y productividad de la consulta, que son tenidos en cuenta en la actividad de diseño de los procesos, justamente para que estos logren la optimización. Otro factor que ya hemos considerado como de primordial importancia es el de asegurar la independencia del conocimiento. Por ello, un conjunto de procesos modelados durante el diseño de los procesos deberán ser el conjunto de reglas a incorporar a la base de datos física para asegurar esa independencia del conocimiento. El modelo físico de la base de datos consiste en un conjunto de enunciados escritos en el SDL del lenguaje del DBMS elegido, que especifican el nivel interno de la arquitectura de tal DBMS. Fase 6. Implementación de las aplicaciones. Con el modelo físico de la base de datos y otros modelos generados como resultado de la actividad de diseño de los procesos, podemos continuar con el proceso de construcción del software, implementando las aplicaciones de acuerdo a los modelos señalados. Lo expuesto anteriormente se resume en el siguiente mapa conceptual: Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 16 Departamento de Informática. Tecnicatura Universitaria en Programación. BASES DE DATOS Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). Requerimientos especiales + reglas de la organización Fase 1 Recolección y análisis de requerimientos Diseño conceptual de la base de datos Diseño de los procesos Fase 2 Necesidad de datos Necesidad de procesos Modelo conceptual Elección del DBMS Fase 3 Fase 4 Diseño lógico de la base de datos Modelo lógico Diseño físico de la base de datos Modelo físico Fase 5 Fase 6 Otros modelos Implementación de las aplicaciones
Compartir