Existen tres caractersticas importantes, inherentes a los sistemas de bases de datos: La separacin entre los programas de aplicacin y los datos. El manejo de mltiples vistas por parte de los usuarios El uso de un catlogo para almacenar el esquema de la base de datos.
En 1975, el comit ANSI-SPARC, propuso una arquitectura de tres niveles para los Sistemas de Gestin de Base de Datos, cuyo objetivo principal era el de separar los programas de aplicacin de la Base de datos fsica. En esta arquitectura el esquema de una base de datos se define en tres niveles de abstraccin distintos: Nivel interno o fsico: describe la estructura fsica de la base de datos mediante un esquema interno. Este esquema se especifica con un modelo fsico y describe los detalles de cmo se almacenan fsicamente los datos: los archivos que contienen la informacin, su organizacin, los mtodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen, etc. Nivel externo o de visin: es el ms cercano al usuario, se describen varios esquemas externos o vistas de estos. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lgico para especificar los esquemas. Nivel conceptual: describe la estructura de toda la base de datos para un grupo determinado de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras fsicas de almacenamiento.
La mayora de los Sistemas de Gestin de Base de Datos no distinguen correctamente entre estos tres niveles.En algunos casos, podemos ver como algunos SGDB incluyen detalles del nivel fsico en el esquema conceptual.
Prcticamente todos los Sistemas de Gestin de Base de Datos, se manejan vistas de usuario, ya que la mayora de las bases de datos estn pensadas para que otros usuarios puedan aadir, modificar y utilizar los datos.
Hay que destacar que los tres esquemas son slo descripciones de los mismos datos tratados, pero con distintos niveles de abstraccin. Los nicos datos que existen realmente estn a nivel fsico, en un dispositivo de almacenamiento no voltil. En un Sistema Gestor de Base de Datos basado en la arquitectura que estamos viendo,
cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo. El proceso de transformar peticiones y resultados de un nivel a otro se denomina correspondencia o transformacin.
1.5 NIVELES DE ABSTRACCIN DE UNA BASE DE DATOS
En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstraccin distintos: 1.- En el nivel interno. Este esquema se especifica mediante un modelo fsico y describe todos los detalles para el almacenamiento de la base de datos, as como los mtodos de acceso. Es el nivel ms cercano al almacenamiento fsico de los datos. Permite escribirlos tal y como estn almacenados en el ordenador. En este nivel se disean los archivos que contienen la informacin, la ubicacin de los mismos y su organizacin, es decir se crean los archivos de configuracin. 2.- En el nivel conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se representan los datos que se van a utilizar sin tener en cuenta aspectos como lo que representamos en el nivel interno. 3.- En el nivel externo. Se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. Es el ms cercano al usuario. En este nivel se describen los datos o parte de los datos que ms interesan a los usuarios. Una base de datos especifica tiene un nico nivel interno y un nico nivel conceptual pero puede tener varios niveles externos.
I ndependencia lgica y fsica de los datos. (ABRAMHAM, KORTH y SUDARSHAN) La capacidad para modificar una definicin de esquema en un nivel sin que afecte a una definicin de esquema en el siguiente nivel ms alto se llama Independencia de datos. Hay dos niveles de independencia de datos: I ndependencia Fsica de datos: Es la capacidad para modificar el esquema fsico sin provocar que los programas de aplicacin tengan que rescribirse. Las modificaciones en el nivel fsico son ocasionalmente necesarias para mejorar el funcionamiento. I ndependencia Lgica de datos: Es la capacidad para modificar el esquema lgico sin causar que los programas de aplicacin tengan que rescribirse. Las modificaciones en el nivel lgico son necesarias siempre que la estructura lgica de la base de datos se altere. La independencia de datos lgica es ms fcil de proporcionar que la independencia de datos fsica, ya que los programas de aplicacin son fuertemente dependientes de la estructura lgica de los datos a los que ellos acceden.
(ELMASRI /NAVATHE) Podemos definir dos tipos de independencia con respecto a los datos: I ndependencia lgica con respecto a los datos: es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos no los programas de aplicacin. Podemos modificar el esquema conceptual para ampliar la base de datos o para reducir la base de datos. I ndependencia fsica con respecto a los datos: es la capacidad de modificar el esquema interno por la necesidad de reorganizar ciertos archivos fsicos a fin de mejorar el rendimiento de las operaciones de obtencin o actualizacin. Si la base de datos an contiene los mismos datos, no deber ser necesario modificar el esquema conceptual. (Tutorial del tecnolgico de la paz ) Se refiere a la proteccin contra los programas de aplicacin que puedan originar modificaciones cuando se altera la organizacin fsica o lgica de la base de datos. Existen 2 niveles de independencia de datos. I ndependencia fsica de datos: Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir los programas de aplicacin. I ndependencia lgica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicacin.
1.5 Los usuarios de la base de datos. Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se disea, elabora, termina y se usa. (ABRAMHAM, KORTH y SUDARSHAN) Hay cuatro tipos diferentes de usuarios de un sistema de base de datos, diferenciados por la forma en que ellos esperan interactuar con el sistema: Programadores de aplicaciones: Son profesionales informticos que interactan con el sistema a travs de llamadas del LMD, que estn incluidas en un programa escrito en lenguaje anfitrin (Cobol, PL/I, Pascal ,C). Estn encargados de escribir programas de aplicacin que utilicen bases de datos. Estos programas de aplicacin operan con los datos de todas las maneras usuales: recuperan informacin, crean informacin nueva, suprimen o cambian informacin existente, etc. Los usuarios sofisticados: Interactan con el sistema sin programas escritos. En su lugar, ellos forman sus consultas en lenguajes de consulta de bases de datos. Usuarios especializados: Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas que no son adecuadas en el marco de procesamiento de datos tradicional. Entre estas aplicaciones estn los sistemas de diseo asistido por computadora, sistemas de bases de conocimiento y experto, sistemas que almacenan los datos con los tipos de datos completos y sistemas de modelado del entorno. Usuarios normales: son usuarios no sofisticados que interactan con el sistema mediante la invocacin de alguno de los programas de aplicacin permanentes que se ha escrito previamente. Por ejemplo, un cajero bancario que necesita transferir 7.500 Ptas. De la cuenta A la cuenta B invoca un programa llamado transferir. Este programa pide al cajero el importe de dinero a transferir, la cuenta de la que el dinero va a ser transferido y la cuenta a la que el dinero va a ser transferido. (ELMASRI /NAVATHE) Muchas personas participan en el diseo uso y mantenimiento de una base de datos grande con algunos cientos de usuarios. Estas personas se clasifican en dos tipos Actores en el escenario y Trabajadores tras bambalinas. Actores en el escenario: Personas cuyo trabajo requiere el empleo cotidiano de una base de datos grande y son: Administradores de bases de datos(DBA: database administrator): Administra 2 recursos el primero es la propia base de datos y el segundo es el SGBD y el software con el relacionado. El DBA se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y de adquirir los recursos necesarios de software y hardware. El DBA es la persona responsable cuando surgen problemas como violaciones a la seguridad o una respuesta lenta del sistema. Diseadores de bases de datos: Se encarga de identificar los datos que se almacenarn en la base de datos y de elegir las estructuras apropiadas para representar y almacenar dichos datos. Los diseadores tienen la responsabilidad de comunicarse con todos los futuros usuarios de la base de datos, a fin de comprender sus necesidades, y de presentar un diseo que satisfaga esos requerimientos. Casi siempre, los diseadores interactan con cada uno de los grupos de usuarios potenciales y desarrollan una vista de la base de datos que satisfaga los requerimientos de datos y de procesamiento para ese grupo. Usuarios finales: Son las personas que necesitan tener acceso a la base de datos para consultarla, actualizarla y generar informes; la base de datos existe primordialmente para que ellos la usen. Hay varias categoras de usuarios finales: Usuarios finales espordicos: Tiene acceso de vez en cuando a la base de datos, pero es posible que requieran informacin diferente en cada ocasin. Utilizan un lenguaje de consulta de base de datos avanzado para especificar sus solicitudes, y suelen ser gerentes de nivel medio o alto u otras personas que examinan de modo superficial y ocasional la base de datos. Usuarios finales simples o paramtricos: Constituyen una porcin apreciable de la totalidad de los usuarios finales. La funcin de su trabajo gira en torno a consultas y actualizaciones de la base de datos, utilizando tipos estndar de estas operaciones que se han programado y probado con mucho cuidado. Todos estamos acostumbrados a tratar con varios tipos de estos usuarios, los cajeros bancarios revisan saldos y asientan retiros y depsitos, los encargados de reservaciones areas revisan las disponibilidades para una solicitud presentada y hacer reservaciones. Usuarios finales avanzados: Se cuentan ingenieros, cientficos, analistas de negocios y otros, quienes conocen a cabalidad los recursos del SGBD para satisfacer sus complejos requerimientos. Usuarios autnomos: emplean bases de datos personalizadas gracias a los paquetes de programas comerciales que cuentan con interfaces de fcil uso, basadas en mens o en grficos. Un ejemplo es el usuario de un paquete fiscal que almacena diversos datos financieros personales para fines fiscales. Analistas de Sistemas y Programadores de aplicaciones: Determinan los requerimientos de los usuarios finales, sobre todo de los simples y paramtricos, y desarrollan especificaciones para transacciones programadas que satisfagan dichos requerimientos. Los programadores de aplicaciones implementan esas especificaciones en forma de programas, y luego prueban, depuran, documentan y mantienen estas transacciones programadas. Para realizar dichas tareas, estos analistas y programadores deben de conocer a la perfeccin toda la gama de capacidades del SGBD. Trabajadores tras bambalinas: Laboran para mantener el entorno del sistema de base de datos, pero que no tienen un claro inters en la base de datos en s misma. Diseadores e implementadotes del SGBD: Se encargan de disear e implementar los mdulos e interfaces de SGBD en forma de paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos componentes o mdulos, como los mdulos para implementar el catlogo, los lenguajes de consulta, los procesadores de interfaz, el acceso a los datos y la seguridad. Creadores de herramientas: Las herramientas son paquetes de software que facilitan el diseo y el empleo de los sistemas de base de datos, y que ayudan a elevar el rendimiento. Estos paquetes son opcionales y a menudo se adquieren por separado. Incluyen paquetes para disear bases de datos, vigilar el rendimiento, proporcionar Interfaces de lenguaje natural o grficos, elaborar prototipos, realizar simulaciones y generar datos de prueba. Los creadores de herramientas se ocupan de disear e implementar estos paquetes. En muchos casos hay proveedores independientes de software, que crean y comercializan estas herramientas. Operadores y personal de mantenimiento: Son los miembros del personal de administracin del sistema que tienen a su cargo el funcionamiento de mantenimiento reales del entorno del hardware y software del sistema de base de datos. 1.7 LENGUAJE DE UN SISTEMA GESTOR DE BASES DE DATOS
Una vez finalizado el diseo de una base de datos y escogido un SGBD para su implementacin, el primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos, y la correspondencia entre ambos. En muchos SGBD no se mantiene una separacin estricta de niveles, por lo que el administrador de la base de datos y los diseadores utilizan el mismo lenguaje para definir ambos esquemas, es el lenguaje de definicin de datos (LDD). El SGBD posee un compilador de LDD cuya funcin consiste en procesar las sentencias del lenguaje para identificar las descripciones de los distintos elementos de los esquemas y almacenar la descripcin del esquema en el catlogo o diccionario de datos. Se dice que el diccionario contiene metadatos: describe los objetos de la base de datos. Cuando en un SGBD hay una clara separacin entre los niveles conceptual e interno, el LDD slo sirve para especificar el esquema conceptual. Para especificar el esquema interno se utiliza un lenguaje de definicin de almacenamiento (LDA).
Las correspondencias entre ambos esquemas se pueden especificar en cualquiera de los dos lenguajes. Para tener una verdadera arquitectura de tres niveles sera necesario disponer de un tercer lenguaje, el lenguaje de definicin de vistas (LDV), que se utilizara para especificar las vistas de los usuarios y su correspondencia con el esquema conceptual.
Lenguaje de manejo de datos
Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que les permita manipular los datos de la base de datos: realizar consultas, inserciones, eliminaciones y modificaciones. Este lenguaje es el que se denomina lenguaje de manejo de datos (LMD).
Hay dos tipos de LMD: los procedurales y los no procedurales. Con un LMD procedural el usuario (normalmente ser un programador) especifica qu datos se necesitan y cmo hay que obtenerlos. Esto quiere decir que el usuario debe especificar todas las operaciones de acceso a datos llamando a los procedimientos necesarios para obtener la informacin requerida. Estos lenguajes acceden a un registro, lo procesan y basndose en los resultados obtenidos, acceden a otro registro, que tambin deben procesar. As se va accediendo a registros y se van procesando hasta que se obtienen los datos deseados. Las sentencias de un LMD procedural deben estar embebidas en un lenguaje de alto nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada registro individual. A este lenguaje se le denomina lenguaje anfitrin. Las bases de datos jerrquicas y de red utilizan LMD procedurales.
Un LMD no procedural se puede utilizar de manera independiente para especificar operaciones complejas sobre la base de datos de forma concisa. En muchos SGBD se pueden introducir interactivamente instrucciones del LMD desde un terminal o bien embeberlas en un lenguaje de programacin de alto nivel. Los LMD no procedurales permiten especificar los datos a obtener en una consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El usuario o programador especifica qu datos quiere obtener sin decir cmo se debe acceder a ellos. El SGBD traduce las sentencias del LMD en uno o varios procedimientos que manipulan los conjuntos de registros necesarios. Esto libera al usuario de tener que conocer cul es la estructura fsica de los datos y qu algoritmos se deben utilizar para acceder a ellos. A los LMD no procedurales tambin se les denomina declarativos. Las bases de datos relacionales utilizan LMD no procedurales, como SQL (Structured Query Language) o QBE (Query-By-Example). Los lenguajes no procedurales son ms fciles de aprender y de usar que los procedurales, y el usuario debe realizar menos trabajo, siendo el SGBD quien hace la mayor parte. La parte de los LMD no procedurales que realiza la obtencin de datos es lo que se denomina un lenguaje de consultas. En general, las rdenes tanto de obtencin como de actualizacin de datos de un LMD no procedural se pueden utilizar interactivamente, por lo que al conjunto completo de sentencias del LMD se le denomina lenguaje de consultas, aunque es tcnicamente incorrecto.
lenguajes de cuarta generacin.
No existe consenso sobre lo que es un lenguaje de cuarta generacin (4GL). Lo que en un lenguaje de tercera generacin (3GL) como COBOL requiere cientos de lneas de cdigo, tan solo necesita diez o veinte lneas en un 4GL. Comparado con un 3GL, que es procedural, un 4GL es un lenguaje no procedural: el usuario define qu se debe hacer, no cmo debe hacerse. Los 4GL se apoyan en unas herramientas de mucho ms alto nivel denominadas herramientas de cuarta generacin. El usuario no debe definir los pasos a seguir en un programa para realizar una determinada tarea, tan slo debe definir una serie de parmetros que estas herramientas utilizarn para generar un programa de aplicacin. Se dice que los 4GL pueden mejorar la productividad de los programadores en un factor de 10, aunque se limita el tipo de problemas que pueden resolver. Los 4GL abarcan: Lenguajes de presentacin, como lenguajes de consultas y generadores de informes. Lenguajes especializados, como hojas de clculo y lenguajes de bases de datos. Generadores de aplicaciones que definen, insertan, actualizan y obtienen datos de la base de datos. Lenguajes de muy alto nivel que se utilizan para generar el cdigo de la aplicacin.
Los lenguajes SQL y QBE son ejemplos de 4GL. Hay otros tipos de 4GL: Un generador de formularios es una herramienta interactiva que permite crear rpidamente formularios de pantalla para introducir o visualizar datos. Los generadores de formularios permiten que el usuario defina el aspecto de la pantalla, qu informacin se debe visualizar y en qu lugar de la pantalla debe visualizarse. Algunos generadores de formularios permiten la creacin de atributos derivados utilizando operadores aritmticos y tambin permiten especificar controles para la validacin de los datos de entrada. Un generador de informes es una herramienta para crear informes a partir de los datos almacenados en la base de datos. Se parece a un lenguaje de consultas en que permite al usuario hacer preguntas sobre la base de datos y obtener informacin de ella para un informe. Sin embargo, en el generador de informes se tiene un mayor control sobre el aspecto de la salida. Se puede dejar que el generador determine automticamente el aspecto de la salida o se puede disear sta para que tenga el aspecto que desee el usuario final. Un generador de grficos es una herramienta para obtener datos de la base de datos y visualizarlos en un grfico mostrando tendencias y relaciones entre datos. Normalmente se pueden disear distintos tipos de grficos: barras, lneas, etc. Un generador de aplicaciones es una herramienta para crear programas que hagan de interface entre el usuario y la base de datos. El uso de un generador de aplicaciones puede reducir el tiempo que se necesita para disear un programa de aplicacin. Los generadores de aplicaciones constan de procedimientos que realizan las funciones fundamentales que se utilizan en la mayora de los programas. Estos procedimientos estn escritos en un lenguaje de programacin de alto nivel y forman una librera de funciones entre las que escoger. El usuario especifica qu debe hacer el programa y el generador de aplicaciones es quien determina cmo realizar la tarea. NOTA: FALTA EL PUNTO NUMERO 1.8 ESE ME FALTO INVESTIGAR EL CUAL ES TPICOS SELECTOS EN BASE DE DATOS.