Capitulo 1
Upcoming SlideShare
Loading in...5
×
 

Capitulo 1

on

  • 2,015 views

 

Statistics

Views

Total Views
2,015
Views on SlideShare
2,015
Embed Views
0

Actions

Likes
1
Downloads
72
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Capitulo 1 Capitulo 1 Document Transcript

  • 1 TEMA 1. INTRODUCCION 1 TEMA 1. INTRODUCCION ................................................................................... 1 1.1 CONCEPTOS BÁSICOS ................................................................................. 2 1.1.1 Introducción.............................................................................................. 2 1.1.2 Concepto de base de datos........................................................................ 3 1.1.3 Concepto de SGBD .................................................................................. 5 1.1.4 Tareas del SGBD ...................................................................................... 6 1.1.5 Funciones de la Base de Datos ................................................................. 6 1.1.6 El Administrador de la BD y el Administrador de los Datos ................... 7 1.1.7 Beneficios de la Base de Datos ................................................................ 7 1.1.8 Tipos de Bases de Datos........................................................................... 8 1.1.9 Estructura de un SGBD ............................................................................ 9 1.2 Arquitectura de un SGBD. El modelo ANSI-SPARC.................................... 11 1.2.1 Introducción............................................................................................ 11 1.2.2 El Nivel Externo ..................................................................................... 12 1.2.3 El Nivel Conceptual................................................................................ 12 1.2.4 El Nivel Interno ...................................................................................... 13 1.2.5 Mapeos, Aplicaciones y Correspondencias ............................................ 13 1.2.6 El Administrador de la Base de Datos.................................................... 14 1.2.7 El Sistema de Gestión de Bases de Datos .............................................. 15 1.2.8 BackEnd y FrontEnd .............................................................................. 16 Tema 1: Introducción 1
  • 1.1 CONCEPTOS BÁSICOS 1.1.1 Introducción Los sistemas de información tradicionales almacenan información en ficheros. Estos sistemas tienen las siguientes características: • Los ficheros se diseñan para una determinada aplicación • Las aplicaciones no suelen compartir los ficheros Como consecuencia: • Hay una ocupación inútil de memoria secundaria • Suele aparecer un cierto grado de inconsistencia en la información • Aparece una falta de flexibilidad del sistema de ficheros para adaptarse a las nuevas necesidades • Existe cierta dificultad para compartir información En general, estamos ante un esquema de funcionalidad datos/aplicaciones que puede ser bien representado por el siguiente ejemplo: DATOS 1 FICHERO 1 APLICACION 1 DATOS 2 FICHERO 2 APLICACION 2 DATOS 3 FICHERO 3 DATOS 4 FICHERO 4 FICHERO 5 Para resolver estos problemas relacionados con el tratamiento de los datos y de la información surgieron las Bases de Datos. Se trata de aplicar una ‘orientación al dato’ para resolver todos los problemas relacionados con las necesidades de manejar y tratar la información, bien directamente por los usuarios o bien a través de aplicaciones que hagan uso de la información. Así pues, el esquema de funcionalidad anterior, se podría representar ahora bajo este nuevo concepto de la siguiente forma: Tema 1: Introducción 2
  • DATOS 1 APLICACION 1 DATOS 2 BASE DE DATOS 3 DATOS APLICACION 2 DATOS 4 1.1.2 Concepto de base de datos Son muy numerosas las definiciones de base de datos, y si se analizan detenidamente, se suele observar en casi todas ellas coincidencias en ciertos elementos, aunque también se detecta la falta de otros fundamentales que son característicos de las bases de datos y que marcan la diferencia entre este concepto y el de ficheros. A continuación se proporcionan algunas definiciones de base de datos: “Colección de datos interrelacionados almacenados en un conjunto sin redundancias perjudiciales o innecesarias; su finalidad es servir a una aplicación o más, de la mejor manera posible; los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados. (Martín, 1975).” “Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es, también, un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicaciones. (Conference des Staticiens Européens, 1977).” “Conjunto de datos de la empresa memorizado por un ordenador, que es utilizado por numerosas personas y cuya organización está regida por un modelo de datos. (Flory, 1982).” “Conjunto estructurado de datos registrados sobre soportes accesibles por ordenador para satisfacer simultáneamente a varios usuarios de forma selectiva y en tiempo oportuno. (Delobel, 1982).” “Colección no redundante de datos compartibles entre diferentes sistemas de aplicación. (Howe, 1983).” “Colección integrada y generalizada de datos, estructurada atendiendo a las relaciones naturales de modo que suministre todos los caminos de acceso necesarios a cada unidad de datos con objeto Tema 1: Introducción 3
  • de poder atender todas las necesidades de los diferentes usuarios. (Deen, 1985).” “Conjunto de ficheros maestros, organizados y administrados de una manera flexible de modo que los ficheros puedan ser fácilmente adaptados a nuevas tareas imprevisibles. (Frank, 1988).” “Colección de datos interrelacionados. (Emasri y Navathe, 1989).” La aparición de la expresión base de datos se produce a comienzos de los años 60. En 1963 ya aparece el término Data Base en un simposio en Santa Mónica (EEUU), donde se propuso una definición que no fue universalmente aceptada. Posteriormente, en 1967, el grupo de estandarización CODASYL decidió cambiar su primitiva denominación en la que no aparecía la expresión bases de datos por el de Data Base Task Group. Algo en lo que coinciden todas las definiciones es que una base de datos es un conjunto, colección o depósito de datos almacenados en un soporte informático de acceso directo. Los datos deben estar estructurados e interrelacionados de acuerdo con un modelo capaz de recoger en máximo contenido semántico. Dada la importancia que tienen en el mundo real las interrelaciones entre los datos, es imprescindible que la base de datos sea capaz de almacenarlas, al igual que hace con otros elementos, siendo esta diferencia esencial respecto a los ficheros donde no se almacenan las interrelaciones. En el mundo real existen, además, restricciones semánticas a las que se está concediendo una importancia creciente y que, en los sistemas actuales, tienden a almacenarse junto con los datos, igual que las interrelaciones. La redundancia de los datos debe ser controlada, de forma que no existan duplicidades perjudiciales ni innecesarias, y que las redundancias físicas, en muchos casos convenientes, sean tratadas por el mismo sistema, de modo que no puedan producirse incoherencias. Esto podría resumirse diciendo que en las bases de datos no debe existir redundancia lógica, aunque sí se admite redundancia física por motivos de eficiencia. Las bases de datos han de atender a múltiples usuarios y diferentes aplicaciones, en contraposición a los sistemas de ficheros, en los que cada fichero está diseñado para responder a las necesidades de una determinada aplicación. Otro aspecto importante de las bases de datos es la independencia, tanto física como lógica, entre datos y tratamientos. Esta independencia, objetivo fundamental de las bases de datos, es una característica esencial que distingue a las bases de datos de los ficheros. La definición y la descripción del conjunto de datos contenidos en la base deben ser únicas y estar integradas con los mismos datos. En los sistemas basados en ficheros, los datos se encuentran almacenados en soporte magnético, mientras su descripción está separada de los mismos, formando parte de los programas. Suele haber, además, una documentación adicional en soporte papel, en muchos casos insuficiente y no actualizada. Este tipo de organización da lugar a infinidad de problemas. En las bases de datos, la descripción y la definición y documentación completa se almacenan junto con Tema 1: Introducción 4
  • los datos, de modo que estos están autodocumentados, y cualquier cambio que se produzca en dicha documentación se ha de reflejar y quedar recogido en el sistema con todas las ventajas que de ello se derivan. La actualización y recuperación en las bases de datos se debe realizar mediante procesos bien determinados, procedimientos que han de estar diseñados de modo que se mantenga la integridad, seguridad y confidencialidad de la base de datos. El concepto de base de datos ha ido cambiando y configurándose a lo largo del tiempo, y en la actualidad podemos definir una base de datos como: “Colección o depósito de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de estas, y su definición y descripción, únicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación, comunes y bien determinados, habrán de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de los datos.” 1.1.3 Concepto de SGBD Se puede definir un sistema de gestión de base de datos (SGBD) como un conjunto coordinado de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base de datos, manteniendo su integridad, confidencialidad y seguridad. Dicho con otras palabras, un SGBD es la herramienta que permite interactuar los datos con los usuarios de los datos, de forma que se garanticen todas las propiedades definidas para una base de datos. En algunos casos el SGBD trabajará directamente con los datos, y en otras ocasiones lo hará a través del Sistema Operativo de la máquina donde resida el SGBD. Usuarios SGBD S.O. DATOS Tema 1: Introducción 5
  • 1.1.4 Tareas del SGBD Las principales tareas que debe desarrollar un SGBD son las siguientes: • El SGBD oculta al usuario los detalles del almacenamiento de la información, mostrando una visión ‘abstracta’ de la información. • El SGBD garantiza la independencia lógica y física de los datos. • El SGBD permite integrar distintos tipos de información y permite compartirlos entre distintas aplicaciones y usuarios. • EL SGBD se encarga también de garantizar la seguridad de la información, controlando el acceso a la misma. • El SGBD controla la integridad de la información comprobando la consistencia de la misma cuando se realizan operaciones de inserción, modificación o borrado. • El SGBD organiza el acceso concurrente a la información por parte de distintas aplicaciones y usuarios, eliminando la posibilidad de interferencias o conflictos entre diferentes acciones. 1.1.5 Funciones de la Base de Datos Las funciones que realiza una base de datos son las siguientes: • Crear nuevos ficheros. Crear nuevas estructuras que permitan el almacenamiento de nueva información o nuevos datos, así como de las interrelaciones adecuadas entre los mismos. • Introducir datos. Capacidad de insertar nuevos datos sobre las estructuras ya creadas, al igual que la inserción de interrelaciones entre los datos introducidos en el sistema. • Extraer datos. Capacidad de extracción selectiva de la información en base, generalmente, a un lenguaje de consulta que permite interaccionar con la base de datos a través del SGBD. • Actualizar o modificar datos. Alteración de las estructuras de datos y de los contenidos existentes en las estructuras de datos que definen una base de datos. • Borrar datos. Eliminación de datos existentes en la base de datos, pero manteniendo siempre la integridad de la base de datos. La interacción con la BD se realiza a través de un lenguaje de definición (DDL) y manipulación (DML) de datos. Estos lenguajes permiten realizar operaciones interactivas o diferidas sobre la base de datos. Tema 1: Introducción 6
  • El SQL (Structured Query Language) es un lenguaje combinado de manipulación y definición de datos, y es el estándar más utilizado en las bases de datos relacionales. Por ejemplo, algunas sentencias en SQL son: SELECT * FROM MI_TABLA; INSERT INTO MI_TABLA VALUES (‘CLAVE1’,12124); DELETE FROM MI_TABLA; UPDATE MI_TABLA SET MI_CAMPO=‘CLAVE2’ WHERE MI_CAMPO=’CLAVE1’; Las instrucciones al SGBD y a la base de datos pueden introducirse interactivamente por el operador o incorporarse a programas de aplicación escritos en cualquier lenguaje de propósito general (C, Pascal, Basic, …). En SQL, este modo de programación se denomina SQL embebido (embeded SQL). 1.1.6 El Administrador de la BD y el Administrador de los Datos El Administrador de la Base de Datos es la persona encargada de la operación de sistema, y es el responsable de decidir: • Los datos que se deben almacenar en la base de datos • La política de mantenimiento, tratamiento de los datos y seguridad de la información El Administrador de los Datos es una persona relacionada con las actividades de gestión y dirección en la empresa que conoce a fondo los flujos de información dentro de la empresa y las necesidades de utilización de la misma por cada departamento. El Administrador de la BD decide la mejor forma de desarrollar las directivas del administrador de datos, organizando la administración del sistema y la operación de los usuarios. El Administrador de la BD es un especialista en bases de datos e informática que conoce las herramientas de gestión de la base de datos, así como la forma de desarrollar los planes del administrador de datos. Así mismo, decide la política de copias de seguridad, duplicación de la información filtros de acceso de usuarios que aseguren los niveles de seguridad deseados, tanto frente a la pérdida de información como frente al acceso no autorizado. 1.1.7 Beneficios de la Base de Datos • Independencia de los datos. Podemos definirla como la independencia de la representación de la información respecto a las aplicaciones que la utilizan. De esta forma, se consigue una representación conveniente para todos los usos posibles de los datos y la estandarización de procedimientos. • Distintas aplicaciones necesitan distintas ‘vistas’ de los datos. Tema 1: Introducción 7
  • • Es posible modificar la estructura de almacenamiento de la información sin afectar a las aplicaciones que los utilizan. • Reducción de la redundancia. Evita el almacenamiento múltiple de una misma información para uso de distintas aplicaciones, o en distintos departamentos con propósitos diferentes. Como veremos, además de la economía importante en coste de mantenimiento de la información y la posibilidad de extender el uso de la información, se consigue también evitar algunos problemas que puede producir la redundancia. • Evitar inconsistencias. Impide que exista información discrepante sobre un mismo y único hecho. La aparición de información inconsistente e incluso contradictoria puede darse si se almacena redundantemente información relativa a un mismo hecho u objeto. • Compartir datos. Permite utilizar los mismos datos entre distintos usuarios y aplicaciones, gestionando el acceso concurrente de todas ellas a la información. • Garantizar la seguridad. Permite garantizar la seguridad de la información, controlando el acceso y la manipulación de la información por las distintas aplicaciones y usuarios. También mantiene la integridad de la información. • Balancear aplicaciones conflictivas. Permite balancear la utilización de los recursos existentes, en capacidad de almacenamiento y de procesamiento entre las necesidades de los distintos usuarios y aplicaciones. 1.1.8 Tipos de Bases de Datos Los sistemas de bases de datos se pueden clasificar en forma conveniente atendiendo a las estructuras de datos que manejan y los operadores presentados al usuario y que le permiten acceder a la información almacenada en ella. Los sistemas más antiguos se han denominado pre-relacionales, y se clasifican en tres categorías. Luego aparecen los sistemas relacionales, que marcan la frontera y definen el antes y el después. Posteriormente, los sistemas post-relacionales, que están todavía en evolución, marcan la pauta de las nuevas tendencias y tecnologías: • De lista invertida (CA-DATACOM/DB, etc.) • Jerárquicos (IMS de IBM, etc.) • De red (CA-IDMS/DB, etc.) • Relacionales (ORACLE, DB2, SQL/DS, Rdb/VMS, INGRES, INFORMIX, SQLSERVER, etc.) • Sistemas deductivos de administración de bases de datos • Sistemas semánticos de administración de bases de datos • SGBD de relación universal • SGBD orientados a objetos • Sistemas extensibles de administración de bases de datos • Sistemas expertos de administración de bases de datos Tema 1: Introducción 8
  • 1.1.9 Estructura de un SGBD Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. Algunas de estas funciones del sistema de bases de datos las puede proporcionar el sistema operativo de la computadora. En la mayoría de los casos, los sistemas operativos de la computadora proporcionan sólo los servicios más básicos y los sistemas de bases de datos deben construirse sobre esta base. Así, el diseño de un sistema de bases de datos debe incluir consideraciones de la interfaz entre el sistema de base de datos y el sistema operativo. Los componentes funcionales de un sistema de base de datos se pueden dividir, a grandes rasgos, en componentes de procesamiento de consultas y componentes de gestión y almacenamiento. Los componentes de procesamiento de consultas incluyen: • Compilador de DML (Data Manipulation Language), que traduce las instrucciones del DML en lenguaje de consultas a instrucciones a bajo nivel que entiende el motor de evaluación de consultas. Además, el compilador del DML intenta transformar las peticiones del usuario en otras equivalentes pero más eficientes, encontrando así una buena estrategia para ejecutar la consulta. • Precompilador del DML embebido, que convierte las instrucciones del DML embebidas en un programa de aplicación en llamadas a procedimientos normales en el lenguaje anfitrión. El precompilador debe interactuar con el compilador del DML para generar el código apropiado. • Intérprete del DDL (Data Definition Language), que interpreta las instrucciones del DDL y las registra en un conjunto de tablas que contienen metadatos. • Motor de evaluación de consultas, que ejecuta las instrucciones a bajo nivel generadas por el compilador de DML. Los componentes de gestión de almacenamiento proporcionan la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y envío de consultas al sistema. El gestor de almacenamiento incluye: • Gestor de autorización e integridad, que comprueba que se satisfagan las ligaduras de integridad y la autorización de los usuarios para acceder a los datos. • Gestor de transacciones, que asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflictos. • Gestor de archivos, que gestiona la reserva de espacio de almacenamiento en disco y las estructuras de datos usadas para representar la información almacenada en disco. • Gestor de memoria intermedia, que es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en la memoria caché. Tema 1: Introducción 9
  • Además, se necesitan varias estructuras de datos como parte de la implementación física del sistema: • Archivos de datos, que almacenan la base de datos en sí. • Diccionario de datos, que almacena metadatos acerca de la estructura de la base de datos. El diccionario de datos se usa mucho. Por lo tanto, se debería poner especial énfasis en el desarrollo de un buen diseño e implementación eficiente del diccionario. • Indices, que proporcionan acceso rápido a elementos de datos que tienen valores particulares. • Datos estadísticos, que almacenan información estadística sobre los datos en la base de datos. El procesador de consultas usa esta información para seleccionar las formas eficientes para ejecutar una consulta. En la siguiente figura se muestra una estructura completa de un SGBD con sus componentes y las relaciones que existen entre ellos: usuarios programadores usuarios administrador de la normales de aplicaciones avanzados base de datos Interfaces de Programas de Esquema de Consulta aplicaciones aplicación Base de Datos Precompilador Compilador DML Intérprete DDL DML embebido Código objeto Procesador de los programas Motor de de Consultas de aplicación evaluación de consultas Gestor de Gestor de memoria Transacciones intermedia Gestor de Almacenamiento Gestor de Archivos Indices Datos Estadísticos Almacenamiento en Disco Archivos de Datos Diccionario de Datos Tema 1: Introducción 10
  • 1.2 Arquitectura de un SGBD. El modelo ANSI-SPARC 1.2.1 Introducción En este punto explicaremos una arquitectura de referencia de sistema de base de datos propuesta por el grupo de trabajo ANSI/SPARC Study Group on Data Base Management Systems (ANSI/X3/SPARC). La arquitectura cubre un doble objetivo: • Ofrece un lenguaje común para explicar los conceptos generales de base de datos. • Ofrece una arquitectura de referencia para el desarrollo de bases de datos. La arquitectura propuesta está formada por tres niveles diferentes: • Interno: relacionado con el almacenamiento físico de la información. • Conceptual: establece la conexión entre el nivel interno y el externo • Externo: relacionado con la relación del usuario con la base de datos De forma esquemática, los tres niveles se pueden representar del siguiente modo: Nivel externo: Vistas individuales de los usuarios Nivel conceptual: Vista común de los usuarios Nivel interno: Vista del almacenamiento La siguiente figura muestra la arquitectura completa propuesta por ANSI/SPARC: Usuario A1 Usuario A2 Usuario A3 Lenguaje Lenguaje Lenguaje anfitrión anfitrión anfitrión +DSL +DSL +DSL Vista externa A Vista externa B Correspondencia Correspondencia Externa/coneptual Externa/coneptual Esquemas y correspondencias construidos y Vista Conceptual mantenidos por el Sistema de administrador de Correspondencia Coneptual/interna Administración base de datos de la base de (DBA) datos (DBMS) Tema 1: Introducción 11
  • La arquitectura muestra: • Los distintos actores que intervienen en un sistema de bases de datos (usuarios, DBA, DBMS, sistema de ficheros). • El papel del Administrador de la Base de Datos y del Sistema de Gestión de la Base de Datos (DBMS). • El papel del DSL y los distintos niveles en el desarrollo de una aplicación (DSL = DDL + DML). 1.2.2 El Nivel Externo El usuario interactúa con el nivel externo de la base de datos. Los usuarios tienen vistas externas de la base de datos (organización + contenido). Para estos usuarios la vista es la base de datos. • El programador de aplicaciones utiliza un lenguaje de programación y un sublenguaje de datos (DSL) para desarrollar aplicaciones que manipulan y utilizan información de la base de datos (lenguaje inmerso). • El usuario final que realiza peticiones/operaciones interactivas de consulta, inserción, actualización o borrado sobre la BD. Los DML consisten muchas veces en llamadas al SGBD a través de funciones predefinidas (API – Application Programming Interface). Según ANSI/SPARC: • Los usuarios tienen vistas externas de la base de datos (organización + contenido). • Las vistas externas consisten en ocurrencias múltiples de registros externos. • Los registros externos (registros lógicos) no corresponden necesariamente a registros almacenados en la BD. Pueden incluir información de distintas tablas o campos calculados. • Las vistas externas se definen por medio de un esquema externo. Consiste en la definición de los distintos registros externos que la forman. • Los esquemas se definen utilizando el lenguaje DDL externo. 1.2.3 El Nivel Conceptual Es la representación de toda la información contenida en la base de datos. Es la representación de los datos ‘como son’. Según ANSI/SPARC: Tema 1: Introducción 12
  • • Las vistas conceptuales consisten en múltiples ocurrencias de registros conceptuales que no necesariamente coinciden con los registros externos o físicos. • La vista conceptual se define a través del esquema conceptual que incluye definiciones de los distintos registros conceptuales. • El esquema conceptual se define utilizando el DDL conceptual que no tiene en cuenta los aspectos de almacenamiento de la información, la estructura de acceso, la secuencia de acceso o los índices. El esquema conceptual incluye aspectos como controles de seguridad y control de integridad. 1.2.4 El Nivel Interno El nivel interno es el que trata los aspectos de almacenamiento físico de la información, y recoge la representación de almacenamiento de la información. El nivel interno se encuentra en el paso anterior a los aspectos físicos como pista o cilindro, y es independiente de los dispositivos de almacenamiento, que son tratados por el gestor de ficheros o por el propio dispositivo de almacenamiento. Trata, pues, los aspectos lógicos del almacenamiento físico. Las vistas internas también reciben a veces el nombre de base de datos almacenada. Según ANSI/SPARC: • El nivel interno consiste en múltiples ocurrencias de registros internos (registros almacenados). • La vista interna se define a través del esquema interno que describe los distintos tipos de registros almacenados, los índices que existen, cómo se representan los valores (entero, doble precisión, coma flotante o fija, EBDIC o ASCII, etc.), así como la secuencia de almacenamiento de los registros. • El esquema interno se crea utilizando un lenguaje DDL interno. En los siguientes apartados veremos las ventajas que representa la división a tres niveles de la base de datos, que fundamentalmente son aislar la operación de la base de datos frente a modificaciones de la estructura de almacenamiento y a la adición de nueva información. 1.2.5 Mapeos, Aplicaciones y Correspondencias Hemos visto las tres capas que según el comité ANSI/SPARC debe tener un sistema de base de datos. Los tres niveles forman un sistema de base de datos, y por lo tanto es necesario desarrollar los mecanismos de transformación de la información entre ellos (aplicaciones que relacionen los tres niveles sobre una misma base de datos). Tema 1: Introducción 13
  • 1.2.5.1 Correspondencia Conceptual/Interno Esta correspondencia establece cómo se almacena a nivel interno los registros y campos conceptuales. Si se modifica el almacenamiento de los datos, sólo es necesario modificar la aplicación de correspondencia, y no la vista conceptual. 1.2.5.2 Correspondencia Externo/Conceptual Define la correspondencia entre cada una de las vistas externas y la única vista conceptual (diferentes tipos de datos, diferentes nombres de campos, múltiples registros conceptuales fundidos en un único registro externo, etc.). Se pueden crear vistas externas nuevas o modificar las existentes sin necesidad de modificar la vista conceptual. La vista conceptual describe la empresa o proyecto del cual almacena información la BD en su globalidad. Por lo tanto, la vista conceptual tiene existencia más allá de los otros niveles: la vista interna se modifica con la adquisición de nuevos equipos, las vistas externas se crean para nuevas aplicaciones y se modifican para mejorar las aplicaciones anteriores. 1.2.6 El Administrador de la Base de Datos En esta sección se describe el papel del Administrador de la Base de Datos (DBA) en la arquitectura ANSI/SPARC 1.2.6.1 Definición del esquema conceptual Basándose en las decisiones del Administrador de Datos (DA), el DBA crea el esquema conceptual de la base de datos. El DA decide qué información se ha de almacenar en función de las distintas aplicaciones de la BD de interés para la empresa (Diseño Conceptual). El DA conoce también las relaciones y atributos de cada una de las entidades escogidas. El DBA decide cómo se debe almacenar la información y crea los esquemas conceptuales. El esquema compilado lo utiliza el SGBD. El esquema fuente se utiliza como documento de referencia. 1.2.6.2 Definición del esquema interno El DBA decide la organización del almacenamiento físico de la información y crea la vista interna de la base de datos. Asimismo, establece las correspondencias entre los niveles físico y conceptual. 1.2.6.3 Relación con los usuarios El DBA se encarga también de mantener la relación con los usuarios, asegurar que tienen acceso a la información que necesitan y que se cumplen las normas de seguridad establecidas. El DBA presta apoyo en la definición de esquemas externos y de la correspondencia Externo/Conceptual que se realizan para los distintos grupos de usuarios. Tema 1: Introducción 14
  • Asimismo, el DBA se encarga de los cursos de formación y soporte técnico de los usuarios de las bases de datos 1.2.6.4 Definición de los controles de seguridad e integridad Como se ha visto, forman parte del nivel conceptual 1.2.6.5 Definición de procedimientos de copia de seguridad y recuperación El DBA debe definir los procedimientos necesarios para prevenir accidentes fortuitos o intencionados sobre un recurso que se convierte en vital para la empresa: la información. Debe definir también los procedimientos de recuperación ante un error en caso de que se llegue a producir. 1.2.6.6 Analizar y controlar el rendimiento del sistema El DBA debe mantener el sistema de modo que se consiga el rendimiento requerido en la operación del sistema por cada usuario. 1.2.7 El Sistema de Gestión de Bases de Datos El SGBD es la aplicación que gestiona/maneja todos los accesos u operaciones sobre la base de datos. Sus funciones son: 1.2.7.1 Definición de datos Proporcionar lenguajes para la creación de los esquemas externo, conceptual e interno. 1.2.7.2 Manipulación de datos Proporcionar un lenguaje para la manipulación de datos y un soporte para gestionar las peticiones del usuario: consulta, modificación, inserción y borrado de datos, manteniendo las propiedades que ya se han estudiado de integridad, seguridad y concurrencia. Pueden existir dos tipos de peticiones: peticiones planificadas (la base de datos ha sido diseñada para contestarlas) y no planificadas, donde la base de datos no está adaptada a resolverlas. Estas últimas son aquellas para las cuales las correspondencias entre niveles son complejas o no existen índices creados para resolver eficientemente la consulta. 1.2.7.3 Seguridad e Integridad de los datos El SGBD debe controlar las operaciones de los usuarios sobre la base de datos e impedir acciones que pongan en peligro la integridad y seguridad de la BD. La BD debe controlar el acceso a los usuarios autorizados, confirmando a través de palabras de paso la identidad de los mismos. 1.2.7.4 Recuperación de datos y Concurrencia El SGBD debe contener un gestor de transacciones capaz de recuperar un estado consistente de la base de datos ante errores del sistema (fallo de la alimentación, errores provocados por usuarios, etc.). Tema 1: Introducción 15
  • El SGBD debe permitir el acceso concurrente de distintos usuarios a la base de datos a través del bloqueo de transacciones. 1.2.7.5 Diccionario de datos El diccionario de datos contiene información sobre los ‘datos sobre los datos’, los distintos esquemas externo, conceptual e interno, y las operaciones de correspondencia entre niveles. El diccionario de datos debe incluir también información sobre las aplicaciones que utilizan la base de datos, usuarios, etc. 1.2.7.6 Rendimiento El SGBD debe proveer las herramientas para medir y ajustar el rendimiento de todas las operaciones anteriores, facilitando a cada usuario el rendimiento requerido por su aplicación dentro de las restricciones del equipo. 1.2.8 BackEnd y FrontEnd Una visión más simplificada de la base de datos permite su estructuración en dos partes principales: • BackEnd, o Sección posterior. Es el DBMS en sí, y permite llevar a cabo las funciones básicas de un DBMS. En particular, permite establecer todos los aspectos de los niveles externo, conceptual e interno. Por tanto, éste es sólo otro nombre para el DBMS. • FrontEnd, o Secciones frontales. Son las diversas aplicaciones ejecutadas dentro del DBMS, tanto las escritas por los usuarios como las integradas que son proporcionadas por el proveedor del DBMS o bien por otros proveedores de programas. Interfaz de Aplicaciones programación DMBS DB Usuarios finales Secciones Sección Base de datos frontales posterior Tema 1: Introducción 16