Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion y Conceptos Basicos
Introduccion y Conceptos Basicos
INTRODUCCION
TEMA 1. INTRODUCCION ................................................................................... 1 1.1 CONCEPTOS BSICOS ................................................................................. 2 1.1.1 Introduccin.............................................................................................. 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 Introduccin............................................................................................ 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 Gestin de Bases de Datos .............................................. 15 1.2.8 BackEnd y FrontEnd .............................................................................. 16
Tema 1: Introduccin
Como consecuencia: Hay una ocupacin intil de memoria secundaria Suele aparecer un cierto grado de inconsistencia en la informacin Aparece una falta de flexibilidad del sistema de ficheros para adaptarse a las nuevas necesidades Existe cierta dificultad para compartir informacin
En general, estamos ante un esquema de funcionalidad datos/aplicaciones que puede ser bien representado por el siguiente ejemplo: DATOS 1 DATOS 2 DATOS 3 DATOS 4 FICHERO 1 FICHERO 2 FICHERO 3 FICHERO 4 APLICACION 1
APLICACION 2
FICHERO 5
Para resolver estos problemas relacionados con el tratamiento de los datos y de la informacin surgieron las Bases de Datos. Se trata de aplicar una orientacin al dato para resolver todos los problemas relacionados con las necesidades de manejar y tratar la informacin, bien directamente por los usuarios o bien a travs de aplicaciones que hagan uso de la informacin. As pues, el esquema de funcionalidad anterior, se podra representar ahora bajo este nuevo concepto de la siguiente forma:
Tema 1: Introduccin
Tema 1: Introduccin
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 fcilmente adaptados a nuevas tareas imprevisibles. (Frank, 1988). Coleccin de datos interrelacionados. (Emasri y Navathe, 1989). La aparicin de la expresin base de datos se produce a comienzos de los aos 60. En 1963 ya aparece el trmino Data Base en un simposio en Santa Mnica (EEUU), donde se propuso una definicin que no fue universalmente aceptada. Posteriormente, en 1967, el grupo de estandarizacin CODASYL decidi cambiar su primitiva denominacin en la que no apareca la expresin 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, coleccin o depsito de datos almacenados en un soporte informtico de acceso directo. Los datos deben estar estructurados e interrelacionados de acuerdo con un modelo capaz de recoger en mximo contenido semntico. 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, adems, restricciones semnticas 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 fsicas, en muchos casos convenientes, sean tratadas por el mismo sistema, de modo que no puedan producirse incoherencias. Esto podra resumirse diciendo que en las bases de datos no debe existir redundancia lgica, aunque s se admite redundancia fsica por motivos de eficiencia. Las bases de datos han de atender a mltiples usuarios y diferentes aplicaciones, en contraposicin a los sistemas de ficheros, en los que cada fichero est diseado para responder a las necesidades de una determinada aplicacin. Otro aspecto importante de las bases de datos es la independencia, tanto fsica como lgica, entre datos y tratamientos. Esta independencia, objetivo fundamental de las bases de datos, es una caracterstica esencial que distingue a las bases de datos de los ficheros. La definicin y la descripcin 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 magntico, mientras su descripcin est separada de los mismos, formando parte de los programas. Suele haber, adems, una documentacin adicional en soporte papel, en muchos casos insuficiente y no actualizada. Este tipo de organizacin da lugar a infinidad de problemas. En las bases de datos, la descripcin y la definicin y documentacin completa se almacenan junto con Tema 1: Introduccin 4
los datos, de modo que estos estn autodocumentados, y cualquier cambio que se produzca en dicha documentacin se ha de reflejar y quedar recogido en el sistema con todas las ventajas que de ello se derivan. La actualizacin y recuperacin en las bases de datos se debe realizar mediante procesos bien determinados, procedimientos que han de estar diseados 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 configurndose a lo largo del tiempo, y en la actualidad podemos definir una base de datos como: Coleccin o depsito 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 definicin y descripcin, nicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Los procedimientos de actualizacin y recuperacin, comunes y bien determinados, habrn de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de los datos.
Tema 1: Introduccin
La interaccin con la BD se realiza a travs de un lenguaje de definicin (DDL) y manipulacin (DML) de datos. Estos lenguajes permiten realizar operaciones interactivas o diferidas sobre la base de datos.
Tema 1: Introduccin
El SQL (Structured Query Language) es un lenguaje combinado de manipulacin y definicin de datos, y es el estndar ms 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 aplicacin escritos en cualquier lenguaje de propsito general (C, Pascal, Basic, ). En SQL, este modo de programacin se denomina SQL embebido (embeded SQL).
El Administrador de los Datos es una persona relacionada con las actividades de gestin y direccin en la empresa que conoce a fondo los flujos de informacin dentro de la empresa y las necesidades de utilizacin 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 administracin del sistema y la operacin de los usuarios. El Administrador de la BD es un especialista en bases de datos e informtica que conoce las herramientas de gestin de la base de datos, as como la forma de desarrollar los planes del administrador de datos. As mismo, decide la poltica de copias de seguridad, duplicacin de la informacin filtros de acceso de usuarios que aseguren los niveles de seguridad deseados, tanto frente a la prdida de informacin como frente al acceso no autorizado.
Tema 1: Introduccin
Es posible modificar la estructura de almacenamiento de la informacin sin afectar a las aplicaciones que los utilizan.
Reduccin de la redundancia. Evita el almacenamiento mltiple de una misma informacin para uso de distintas aplicaciones, o en distintos departamentos con propsitos diferentes. Como veremos, adems de la economa importante en coste de mantenimiento de la informacin y la posibilidad de extender el uso de la informacin, se consigue tambin evitar algunos problemas que puede producir la redundancia. Evitar inconsistencias. Impide que exista informacin discrepante sobre un mismo y nico hecho. La aparicin de informacin inconsistente e incluso contradictoria puede darse si se almacena redundantemente informacin 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 informacin. Garantizar la seguridad. Permite garantizar la seguridad de la informacin, controlando el acceso y la manipulacin de la informacin por las distintas aplicaciones y usuarios. Tambin mantiene la integridad de la informacin. Balancear aplicaciones conflictivas. Permite balancear la utilizacin de los recursos existentes, en capacidad de almacenamiento y de procesamiento entre las necesidades de los distintos usuarios y aplicaciones.
Tema 1: Introduccin
Los componentes de gestin de almacenamiento proporcionan la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicacin y envo de consultas al sistema. El gestor de almacenamiento incluye: Gestor de autorizacin e integridad, que comprueba que se satisfagan las ligaduras de integridad y la autorizacin 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 informacin 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. 9
Tema 1: Introduccin
Adems, se necesitan varias estructuras de datos como parte de la implementacin fsica 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 debera poner especial nfasis en el desarrollo de un buen diseo e implementacin eficiente del diccionario. Indices, que proporcionan acceso rpido a elementos de datos que tienen valores particulares. Datos estadsticos, que almacenan informacin estadstica sobre los datos en la base de datos. El procesador de consultas usa esta informacin 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 normales programadores de aplicaciones usuarios avanzados administrador de la base de datos
Interfaces de aplicaciones
Programas de aplicacin
Consulta
Precompilador DML embebido Cdigo objeto de los programas de aplicacin Motor de evaluacin de consultas
Compilador DML
Gestor de Transacciones
Datos Estadsticos
Almacenamiento en Disco
Diccionario de Datos
Tema 1: Introduccin
10
La arquitectura propuesta est formada por tres niveles diferentes: Interno: relacionado con el almacenamiento fsico de la informacin. Conceptual: establece la conexin entre el nivel interno y el externo Externo: relacionado con la relacin del usuario con la base de datos
De forma esquemtica, los tres niveles se pueden representar del siguiente modo: Nivel externo:
Vistas individuales de los usuarios
Nivel conceptual:
Vista comn de los usuarios
Nivel interno:
Vista del almacenamiento
Vista externa A
Correspondencia Externa/coneptual
Vista externa B
Correspondencia Externa/coneptual
Vista Conceptual
Correspondencia Coneptual/interna Sistema de Administracin de la base de datos (DBMS)
Tema 1: Introduccin
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 Gestin de la Base de Datos (DBMS). El papel del DSL y los distintos niveles en el desarrollo de una aplicacin (DSL = DDL + DML).
Los DML consisten muchas veces en llamadas al SGBD a travs de funciones predefinidas (API Application Programming Interface). Segn ANSI/SPARC: Los usuarios tienen vistas externas de la base de datos (organizacin + contenido). Las vistas externas consisten en ocurrencias mltiples de registros externos. Los registros externos (registros lgicos) no corresponden necesariamente a registros almacenados en la BD. Pueden incluir informacin de distintas tablas o campos calculados. Las vistas externas se definen por medio de un esquema externo. Consiste en la definicin de los distintos registros externos que la forman. Los esquemas se definen utilizando el lenguaje DDL externo.
Tema 1: Introduccin
12
Las vistas conceptuales consisten en mltiples ocurrencias de registros conceptuales que no necesariamente coinciden con los registros externos o fsicos. La vista conceptual se define a travs 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 informacin, la estructura de acceso, la secuencia de acceso o los ndices. El esquema conceptual incluye aspectos como controles de seguridad y control de integridad.
En los siguientes apartados veremos las ventajas que representa la divisin a tres niveles de la base de datos, que fundamentalmente son aislar la operacin de la base de datos frente a modificaciones de la estructura de almacenamiento y a la adicin de nueva informacin.
Tema 1: Introduccin
13
1.2.5.1 Correspondencia Conceptual/Interno Esta correspondencia establece cmo se almacena a nivel interno los registros y campos conceptuales. Si se modifica el almacenamiento de los datos, slo es necesario modificar la aplicacin 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, mltiples 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 informacin la BD en su globalidad. Por lo tanto, la vista conceptual tiene existencia ms all de los otros niveles: la vista interna se modifica con la adquisicin de nuevos equipos, las vistas externas se crean para nuevas aplicaciones y se modifican para mejorar las aplicaciones anteriores.
Asimismo, el DBA se encarga de los cursos de formacin y soporte tcnico de los usuarios de las bases de datos 1.2.6.4 Definicin de los controles de seguridad e integridad Como se ha visto, forman parte del nivel conceptual 1.2.6.5 Definicin de procedimientos de copia de seguridad y recuperacin 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 informacin. Debe definir tambin los procedimientos de recuperacin 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 operacin del sistema por cada usuario.
Tema 1: Introduccin
15
El SGBD debe permitir el acceso concurrente de distintos usuarios a la base de datos a travs del bloqueo de transacciones. 1.2.7.5 Diccionario de datos El diccionario de datos contiene informacin 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 tambin informacin 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 aplicacin dentro de las restricciones del equipo.
Aplicaciones
Interfaz de programacin
DMBS
DB
Usuarios finales
Secciones frontales
Seccin posterior
Base de datos
Tema 1: Introduccin
16