Está en la página 1de 24

Notas Bases de Datos I

M.C. Nancy Paola Cira Prez e Octubre 2012

Indice general
1. PANORAMA GENERAL 1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . o 1.2. Qu es un Sistema de Base de Datos? . . . . . . . . . . . . e 1.2.1. Datos . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2. Hardware . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3. Software . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4. Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Qu es una Base de Datos? . . . . . . . . . . . . . . . . . . e 1.3.1. Datos persistentes . . . . . . . . . . . . . . . . . . . . 1.3.2. Entidades y v nculos . . . . . . . . . . . . . . . . . . 1.3.3. Propiedades . . . . . . . . . . . . . . . . . . . . . . . 1.3.4. Datos y Modelos de datos . . . . . . . . . . . . . . . 1.4. Por qu una base de datos? . . . . . . . . . . . . . . . . . . e 1.4.1. Administracin de datos y Administracin de Bases de o o Datos . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2. Benecios del enfoque de Base de Datos . . . . . . . 1.5. Independencia de los datos . . . . . . . . . . . . . . . . . . . 2. MODELOS DE DATOS 2.1. Los tres niveles de la arquitectura . . . . . . . . 2.2. El nivel externo . . . . . . . . . . . . . . . . . . 2.3. El nivel conceptual . . . . . . . . . . . . . . . . 2.4. El Nivel Interno . . . . . . . . . . . . . . . . . . 2.5. Transformaciones . . . . . . . . . . . . . . . . . 2.6. El Administrador de Base de Datos . . . . . . . 2.7. El Sistema de Administracin de Base de Datos o 2.8. El Administrador de Comunicaciones de Datos . 2.9. Arquitectura Cliente Servidor . . . . . . . . . 2.10. El Procesamiento Distribuido . . . . . . . . . . 5 . 5 . 5 . 6 . 7 . 7 . 7 . 8 . 8 . 8 . 9 . 9 . 10 . 10 . 10 . 11 13 13 13 14 16 16 17 19 22 22 24

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

INDICE GENERAL

Cap tulo 1 PANORAMA GENERAL


1.1. Introduccin o

Sistema de Bases de datos es un sistema computarizado para llevar registros. Es posible considerar a la propia base de datos como una especie de armario electrnico para archivar; es decir, es un depsito o contenedor de o o una coleccin de archivos de datos computarizados. Algunos ejemplos de las o operaciones que pueden ser realizadas por los ususarios son: Agregar nuevos archivos vac a la base de datos. os Insertar datos. Recuperar datos. Modicar datos. Eliminar datos. Eliminar archivos de la base de datos.

1.2.

Qu es un Sistema de Base de Datos? e

Un sistema de base de datos es basicamente un sistema computarizado para guardar registros; es decir es un sistema computarizado cuya nalidad es almacenar informacin y permitir a los usuarios recuperar y actualizar es o informacin con base en peticiones. o Un Sistema de Bases de Datos comprende de cuatro componentes: 5

6 1. Datos 2. Hardware 3. Software 4. Usuarios

CAP ITULO 1. PANORAMA GENERAL

1.2.1.

Datos

Los sistemas de bases de datos estn disponibles desde las computadoa ras personales ms pequeas hasta las mainframes (computadora grande, a n potente y costosa usada principalmente para una gran compa para el prona cesamiento de una gran cantidad de datos) ms grandes. a Por lo regular se encuentran en maquinas grandes (sistemas grandes) tienden a ser multiusuario, mientras que los que se ejecutan en mquinas a pequeas (sistemas pequeos) tienden a ser de un solo usuario. Un sistema n n monousuario, solo un usuario puede tener acceso a la base de datos. Un sistema multiusuario, mltiples usuarios pueden tener acceso simultneamente u a a la base de datos. Los datos de la base de datos sean tanto integrados como compartidos. r Al decir integrados se ve a la base de datos como una unicacion de varios archivos que de otro modo ser distintos, con una redundancia entre an ellos eliminada al menos parcialmente. Por ejemplo, una base de datos dada podr contener un archivo EMPLEADO que proporcionara los nombres a de los empleados, domicilios, departamentos, sueldos, etc. y un archivo INSCRIPCION que representara la inscripcin de los empleados a los cursos de o capacitacin, como se muestra en la FIGURA. Suponiendo que para llevar a o cabo el proceso de adminsitracin de cursos de capacitacin, es necesario sao o ber e departamento de cada estudiante inscrito. Entonces resulta claro que n no es necesario incluir esa informacin de manera redundante en el archivo o INSCRIPCION, dedio a que siempre puede consultarse haciendo referencia al archivo EMPLEADO. Figura 1.5 Al decir datos compartidos, se reere a que las piezas individuales de datos en la base de datos pueden ser compartidas entre diferentes usarios y que cada uno de ellos pueden tener acceso a la misma pieza de datos, probablemente con nes diferentes.

1.2. QUE ES UN SISTEMA DE BASE DE DATOS?

1.2.2.

Hardware

Los componentes de hardware del sistema constan de: Volmenes de almacenamiento secundario, principalmente discos magntiu e cos, que se emplean para contener los datos almacenados, junto con los dispositivos asociados de E/S (unidades de discos, etc.), los controladores de dispositivos, los canales de E/S, entre otros Procesadores de hardware y la memoria principal asociada usados para apoyar la ejecucin del software del sistema de base de datos. o

1.2.3.

Software

Entre la base de datos f sica y los ususarios del sistema , existe una capa de software conocida como el administrador de base de datos o el servidor de base de datos, comunmente conocido como el Sistema de Administracin de o Base da Datos (DBMS). Todas las solicitudes de acceso a la base de datosson manejadas por el DBMS. Una de las funciones principales del DBMS es ocultar a los usuarios de la base de datos los detalles al nivel de hardware. El DBMS ofrece a los usuarios una percepcin de la base de datos que est por o a encima del nivel de hardware y que maneja las operaciones del usuario expresadas en trminos de ese nivel ms alto de percepcin. El DBMS es el e a o componente de software ms importante del sistema en general. a

1.2.4.

Usuarios

Se conocen tres diferentes tipos de usuarios: Programadores de aplicaciones son los responsables de escribir los programas de aplicacin de base de datos en algn lenguaje de proo u gramacin como COBOL, C++, Java o algn lenguaje de alto nivel o u de la uarta generacin. Estos programas acceden a la base de datos c o emitiendo la solicitud apropiada al DBMS. Los progrmas pueden ser aplicaciones convencionales por lotes o pueden ser aplicaciones en l nea, cuyo proposito es permitir a al usuario nal el acceso a la base de datos desde una estacin de trabajo o terminal. o Usuarios nales son quienes interactuan con el sistema desde estaciones de trabajo o terminales en l nea. Un usuario nal puede acceder a la base de datos a travs de las aplicaciones en l e nea o usar una interfaz proporcionada como parte integral del software del sistema de base de datos.

CAP ITULO 1. PANORAMA GENERAL Administrador de Base de Datos (DBA) su funcin se mencioo nar en un capitulos proximo. a

1.3.
1.3.1.

Qu es una Base de Datos? e


Datos persistentes

Es costumbre referirse a los datos de la base de datos como persistentes, esto se reere a que el tipo de datos diere de otros datos ms emeros, como a los datos de entrada, los datos de salida, las instrucciones de control, las colas de trabajo, los bloques de control de software, los resultados intermedios y cualquier dato que sea de naturaleza transitoria. Los datos de la base de datos pesistendebido a que una vez aceptados por el DBMS para entrar en la base de datos, en lo sucesivo solo pueden ser removidos de la base de datos por alguna solicitud expl cita al DBMS. Con esto podemos denir el trmino base datos: e Una base de datos es un conjunto de datos persistentes que es utilizado por los sitemas de aplicacin de alguna empresa dada. o Toda empresa debe mantener una gran cantidad de datos acerca de su operacin. Estos datos son los datos persistentes. Algunos ejemplos de o datos pesistentes pueder ser: Datos de produccin o Datos contables Datos de pacientes Datos de estudiantes Datos de planeacin o

1.3.2.

Entidades y v nculos

Comencemos con un ejemplo de una compa manufacturera (Knowna Ware Inc.). Esta empresa desea registrar la informacin sobre los proyectos o que maneja, las partes que utiliza en dicho proyectos, los proveedores que suministran esas partes, los almacenes en donde guardan esas partes, los empleados que trabajan en esos proyectos, etc. Por lo tanto los proyectos,

1.3. QUE ES UNA BASE DE DATOS?

partes proveedores, etc, constituyen las entidades bsicas de informacin a o que KnowWare Inc. necesita registrar. El trmino entidad se emplea en los e c rculos de bases de datos para referirse a cualquier objeto distinguible que va a ser reesentado en la vase de datos, como puede verse en la FIGUIRA. r Figura 1.6 Adems de las entidades bsicas tambin habr v a a e a nculos que asocian dichas entidades bsicas. Estos c a nculos se representan por medio de rombos y las l neas de conexin. Por ejemplo, en la FIGURA 1.6 existe un v o nculo entre proveedores y partes: cada proveedor suministra ciertas partes y VP. de manera inversa, cada parte es suministrada por ciertos proveedores.

1.3.3.

Propiedades

Como se denio anteriormente, una entidad es cualquier objeto acerca del cual queremos registrar informacin. De donde se desprenden que las o entidades as comos lo v nvulos, poseen propiedades que corresponden a la informacin que deseamos registrar sobre ellas. Por ejemplo, los proveedores o tiene localidades; las partes tienen pesos; los proyectos tiene prioridades, etc. Por lo tanto, dichas propiedades deben estar representadas en la base de datos. En general, las propiedades pueden ser tan simples o tan complejas segun se deseee. Por ejemplo, la propiedad localidad del proveedor.es bastante simple, ya que solo consiste en un nombre de ciudad y puede ser representada en la base de datso por una simple cadena de caracteres. En cambio, un almacen podr tener una propiedad plan de piso, que puede ser bastante compleja, a consistir tal vez eb todo un dibujo arquitectnico y en el texto descriptivo o asociado.

1.3.4.

Datos y Modelos de datos

La palabra datos se deriva del vocablo lat para dar, por lo tanto, los n datos podemos verlos como hechos dados, a partir de los cuales se pueden inferir hechos adicionales. Un hecho dadoorresponde a su vez a una propoc sicin verdadera. o Un modelo de datos es una denicin lgica, independiente y abstracta o o de los objetos, operadores y dems que en conjunto constituyen la mquina a a abstracta con la que interactan los usuarios. Los objetos permiten modelas u la estructura de datos. Los operadores permiten modelar su comportamiento.

10

CAP ITULO 1. PANORAMA GENERAL

1.4.

Por qu una base de datos? e

Un sistema de bases de datos cuenta con ciertas ventajas entre otras se encuentra: No hay necesidad de archivos en papel voluminosos. Velocidad. La mquina puede recuperar y actualizar datos ms rpidaa a a mente que un humano. Menos trabajo laborioso. Se puede eliminar gran parte del trabajo de llevar los archivos a mano. Actualidad. En el momento que la necesitemos, tendremos a nuestra disposicin informacin precisa y actualizada. o o Existe una ventaja extra cuando el sistema es multiusuario: El sistema de base de datos ofrece a la empresa un control centralizado de sus datos.

1.4.1.

Administracin de datos y Administracin de o o Bases de Datos

El concepto del control centralizado implica que en una empresa habr una a persona identicable que tendr la responsabilidad central sobre los datos. a Esa persona es el administrador de datos (DA). Este debe decidir qu dae tos deben ser almacenados, es decir denir una politica de seguridad de los datos. El tecnico resposable de implementar decisiones del administrador de datos es el administrador de la base de datos (DBA). El trabajo del DBA consisten en crear la base de datos real e implementar los controles tcnicos e necesarios para cumplir con las diversas decisiones politicas hechas por el adminitrador de datos.

1.4.2.

Benecios del enfoque de Base de Datos

Los datos pueden compartise Compartir no slo signica que las aplicaciones existentes puedan como partir la informacin de la base de datos, sino tambin que sea posible o e desarrollar nuevas aplicaciones para operar sobre los mismos datos.

1.5. INDEPENDENCIA DE LOS DATOS Es posible reducir la redundancia

11

En sistemas que no son de bases de datos, cada aplicacin tiene sus proo pios archivos exclusivos. Este hecho puede conducir a una redundancia considerable de los datos almacenados, con el consecuente desperdicio de espacio de almacenamiento. Es posible evitar la inconsistencia Es posible brindar un manejo de transacciones Es posible mantener la integridad El problema de la integridad es el de asegurar que los datos de la base de datos estn correctos. e Es posible hacer cumplir la seguridad Al tener la completa jurisdiccin sobre la base de datos, el DBA puede o asegurar que el unico medio de acceso a la base de datos sea a travs de e los canales adecuados y por lo tanto puede denir las reglas o restricciones de seguridad que sern vericadas siempre que se intente acceder a a datos sensibles. Es posible equilibrar los requerimientos en conicto Por ejemplo, es posible elegir una representacin f o sica de los datos almacenados que proporcione un acceso rpido para las aplicaciones a ms importantes. a Es posible hacer cumplir los estndares a Con el control central de la base de datos, el DBA asegurar que todos los estndares aplicables en la representacin de los datos sean observados. a o

1.5.

Independencia de los datos

Se puede entender la independencia de datos considerando su opuesto. Las aplicaciones implementadas en sistemas ms antiguos (sistemas anterioa res a los relacionales) tienden a ser dependientes de los datos. Es decir, que la fomra en que f sicamente son representados los datos en el almacenamiento secundario y la tecnica empleada para su acceso, son dictadas por los requerimentos de la aplicain en consideracin, esto es, que el conocimiento de o o esa representacin f o sica y esa tcnica de acceso estn integrados dentro del e a cdigo de la aplicacin. o o

12

CAP ITULO 1. PANORAMA GENERAL

Cap tulo 2 MODELOS DE DATOS


2.1. Los tres niveles de la arquitectura

La arquitectura ANSI/SPARC se divide en tres niveles, conocidos como interno, conceptual y externo, respectivamente como se muestra en la Figura 2.1. Hablando en trminos generales: e El nivel interno (nivel f sico) es el que est ms cerca del almacea a namiento f sico; es decir, es el que tiene que ver con la forma en que los datos estn almacenados f a sicamente. El nivel externo nivel lgico de usuario es el ms prximo a los o a o usuarios; es decir, el que tiene que ver con la forma en que los usuarios individuales ven los datos. El nivel conceptual (nivel lgico de la comunidad) en ocasiones o conocido como el nivel lgico, sin calicar, es un nivel de indireccin o o entre los otros dos. El nivel externo tiene que ver con las percepciones de usuarios individuales, mientras que el nivel conceptual tiene que ver con la percepcin de una o comunidad de usuarios.

2.2.

El nivel externo

El nivel externo es el nivel del usuario individual. Un usuario dado puede ser un programador de aplicaciones o bien un usuario nal con cualquier grado de sosticacin. (El DBA es un importante caso especial; pero a difeo rencia de otros usuarios, el DBA tambin necesitar interesarse en los niveles e a conceptual e interno.) Cada usuario tiene a su disposicin un lenguaje: o 13

14

CAP ITULO 2. MODELOS DE DATOS Para el programador de aplicaciones, ste ser ya sea un lenguaje de e a programacin convencional (por ejemplo, PL/I, C++, Java) o bien un o lenguaje de tipo propietario que sea espec co al sistema en cuestin. A o menudo, a estos lenguajes de tipo propietario se les denomina lenguajes de uarta generacin(4GLs); siguiendo las bases de que (a) el cdigo de c o o mquina, el lenguaje ensamblador y los lenguajes como PL/I pueden a ser vistos como tres generacionesde lenguajes anteriores, y (b) los lenguajes de tipo propietario representan la misma clase de mejora sobre los lenguajes de tercera generacin(3GLs) que la que tuvieron o estos lenguajes sobre el lenguaje ensamblador y la que tuvo el lenguaje ensamblador sobre el cdigo de mquina. o a Para el usuario nal, el lenguaje ser ya sea un lenguaje de consulta a o bien algn lenguaje de nalidad espec u ca, tal vez controlado por formularios o por mens, confeccionado para los requerimientos de ese u usuario y manejado por algn programa de aplicacin en l u o nea. Lo importante acerca de dichos lenguajes es que incluirn un sublenguaje de a datos; es decir, un subconjunto del lenguaje total que se ocupe espec camente de los objetos y operaciones de la base de datos. Se dice que el sublenguaje de datos (abreviado como SLD) est incrustado dentro de a su lenguaje antrin correspondiente. El lenguaje antrin es el respono o sable de proporcionar diversas propiedades que no son espec cas de la base de datos, como las variables locales, las operaciones de clculo, a la lgica de bifurcacin, etctera. Un sistema determinado podr mao o e a nejar cualquier cantidad de lenguajes antrin y cualquier nmero de o u sublenguajes de datos; sin embargo, un sublenguaje de datos espec co soportado por casi todos los sistemas actuales es el lenguaje SQL. La mayor de dichos sistemas permiten que SQL sea utilizado de manera a interactiva, como un lenguaje de consulta independiente, e incrustado en otros lenguajes como PL/I o Java.

2.3.

El nivel conceptual

La vista conceptual es una representacin de todo el contenido de la o informacin de la base de datos, de nuevo (al igual que con la vista externa) o en una forma un poco abstracta comparada con laforma en la que por lo regular se almacenan los datos f sicamente. Tambin ser muy diferente de la e a forma en que cualquier usuario espec co ve los datos. En trminos generales, e la vista conceptual pretende ser una vista de los datos tal como son, en vez de tal como los usuarios estn obligados a verlos debido a las limitaciones a

2.3. EL NIVEL CONCEPTUAL

15

(por ejemplo) del lenguaje o el hardware en particular que pudieran utilizar. La vista conceptual consiste en muchas ocurrencias de varios tipos de registro conceptual. Por ejemplo, podr consistir en un conjunto de ocua rrencias de los registros de departamento, ms un conjunto de ocurrencias de a los registros de empleado, ms un conjunto de ocurrencias de los registros de a proveedor, ms un conjunto de ocurrencias de los registros de parte (y as sua cesivamente). Por otra parte, un registro conceptual no es necesariamente lo mismo que un registro externo, ni que un registro almacenado. La vista conceptual est denida por medio del resquema conceptual, a el cual comprende deniciones de cada uno de los diversos tipos de registros conceptuales. El esquema conceptual est escrito con otro lenguaje de a denicin de datos, el DDL conceptual. Si se va a lograr la independencia o f sica de los datos, entonces las deniciones conceptuales de DDL no deben comprender en lo absoluto ninguna consideracin de la representacin f o o sica ni de la tcnica de acceso; deben ser unicamente deniciones del contenido e de la informacin. Por lo tanto, en el esquema conceptual no debe haber nino guna referencia para la representacin de campos almacenados, la secuencia o de registros almacenados, los ndices, los esquemas de dispersin, los apuno tadores o cualquier otro detalle de almacenamiento y acceso. Si el esquema conceptual se hace verdaderamente independiente de los datos, entonces los esquemas externos, que estn denidos en trminos del esquema conceptual, a e tambin sern forzosamente independientes de los datos. e a Entonces, la vista conceptual es una vista del contenido total de la base de datos, y el esquema conceptual es una denicin de esa vista. Sin emo bargo, ser engaoso dar por hecho que el esquema conceptual no es nada a n ms que un conjunto de deniciones muy similar a las deniciones que se a encuentran (por ejemplo) en un programa COBOL actual. Las deniciones del esquema conceptual pretenden incluir muchas caracter sticas adicionales, como las restricciones de seguridad y de integridad. Algunas autoridades van ms lejos al sugerir que el objetivo nal del esquema conceptual es descria bir toda la empresa; no slo los datos como tales, sino tambin la forma o e en que son utilizados, la forma en que uyen de un punto a otro dentro de la empresa, su funcin en cada punto, lo controles de auditor u otros que o a se aplican en cada punto, etctera. Sin embargo, debemos enfatizar que en e la actualidad ningn sistema soporta realmente un esquema conceptual de u cualquier cosa que se aproxime a este grado de amplitud; en la mayor de a esquema conceptual.es en realidad algo ms que los sistemas existentes, el . a una simple unin de todos los esquemas externos individuales ms ciertas o a

16

CAP ITULO 2. MODELOS DE DATOS

restricciones de seguridad y de integridad. Aunque en verdad es posible que los sistemas futuros sean mucho ms sosticados en cuanto al soporte del a nivel conceptual.

2.4.

El Nivel Interno

El tercer nivel de la arquitectura es el nivel interno. La vista interna es una representacin de bajo nivel de toda la base de datos y consiste en muchas o ocurrencias de cada uno de los diversos tipos de registros internos. Registro interno.es el trmino de ANSI/SPARC para la construccin que es llamane o do registro almacenado. Por lo tanto, la vista interna est todav distante a a del nivel f sico, ya que no tiene que ver con trminos como registros f e sicos tambin denominados bloques o pginas ni con ninguna consideracin e a o espec ca de los dispositivos, como el tamao de los cilindros o de las pistas. n En otras palabras, la vista interna en efecto da por hecho un espacio de direcciones lineal innito; los detalles de cmo el espacio de direcciones se asocia o con el almacenamiento f sico, son en gran medida espec cos del sistema y se omiten deliberadamente de la arquitectura general. La vista interna se describe por medio del esquema interno, el cual no slo dene los diversos tipos de o registros almacenados sino que especica tambin qu e e ndices existen, cmo o estn representados los campos almacenados, en qu secuencia estn dichos a e a registros, etctera. e

2.5.

Transformaciones

Adems de los tres niveles corno tales, la arquitectura comprende ciertas a transformaciones; en general, una transformacin conceptual/interna y varias o transformaciones externas/conceptual: La transformacin conceptual/interna dene la correspondencia entre o la vista conceptual y la base de datos almacenada, y especica cmo o estn representados los registros y campos conceptuales en el nivel ina terno. Si se modica la estructura de la base de datos es decir, si se hace un cambio a la denicin de la estructura de almacenamiento, o entonces por consiguiente ser necesario modicar la transformacin a o conceptual/interna, de manera que el esquema conceptual pueda permanecer invariable. (Por supuesto, es responsabilidad del DBA administrar dichos cambios.) En otras palabras, los efectos de dichos cambios deben aislarse por debajo del nivel conceptual, a n de preservar la independencia f sica de los datos.

2.6. EL ADMINISTRADOR DE BASE DE DATOS

17

La transformacin externa/conceptual dene la correspondencia entre o una vista externa en particular y la vista conceptual. En general, las diferencias que puedan existir entre estos dos niveles son anlogas a a aquellas que puedan existir entre la vista conceptual y la base de datos almacenada. Por ejemplo, los campos pueden tener diferentes tipos de datos; los nombres de los registros y campos pueden ser cambiados; varios campos conceptuales pueden combinarse en un solo registro externo (virtual); etctera. Puede existir cualquier cantidad de vistas externas e al mismo tiempo; cualquier nmero de usuarios puede compartir una u vista externa dada; es posible traslapar diferentes vistas externas.

2.6.

El Administrador de Base de Datos

El DA (administrador de datos) es la persona que toma las decisiones de estrategia y pol tica con respecto a los datos de la empresa y el DBA (administrador de base de datos) es la persona que proporciona el apoyo tcnico necesario para implementar dichas decisiones. Por lo tanto, el DBA es e el responsable del control general del sistema al nivel tcnico. Ahora podemos e describir con un poco ms de detalle algunas de las tareas del DBA. En a general, estas tareas comprenden al menos todas las siguientes: Denir el esquema conceptual Es trabajo del administrador de datos decidir exactamente qu infore macin contendr la base de datos; en otras palabras, identicar las o a entidades de inters para la empresa e identicar la informacin que e o hay que registrar acerca de dichas entidades. Por lo regular a este proceso se le conoce como diseo lgico en ocasiones conceptual de la n o base de datos. Una vez que el administrador decidi el contenido de la o base de datos a un nivel abstracto, entonces el DBA crear el esquema a conceptual correspondiente, utilizando el DLL conceptual. El DBMS usar la forma objeto (compilada) de ese esquema para responder a a las peticiones de acceso. La forma fuente (sin compilar) actuar como a documento de referencia para los usuarios del sistema. Denir el esquema interno El DBA tambin debe decidir la forma en que van a ser representae dos los datos en la base de datos almacenada. A este proceso se le conoce comnmente como diseo f u n sico de la base de datos. Una vez realizado el diseo f n sico, el DBA deber crear la denicin de la estruca o tura de almacenamiento correspondiente (es decir, el esquema interno),

18

CAP ITULO 2. MODELOS DE DATOS utilizando el DDL interno. Adems, tambin deber denir la transfora e a macin conceptual/interna asociada. En la prctica, es factible que uno o a de los dos DDLs (el conceptual o el interno; pero ms probablemente a el primero) incluya los medios para denir esa transformacin; aunque o las dos funciones (crear el esquema y denir la transformacin) deben o ser claramente separables. Al igual que el esquema conceptual, tanto el esquema interno como la transformacin correspondiente existirn en o a las formas fuente y objeto. Establecer un enlace con los usuarios Es asunto del DBA enlazarse con los usuarios para asegurar que los datos necesarios estn disponibles y para escribir (o ayudar a escribir) e los esquemas externos necesarios, utilizando el DDL externo aplicable. Adems, tambin es necesario denir las transformaciones extera e nas/conceptual correspondientes. En la prctica, es probable que el a DDL externo incluya los medios para especicar dichas transformaciones, pero, una vez ms, los esquemas y las transformaciones deben ser a claramente separables. Cada esquema externo, con la transformacin o correspondiente, existir en las formas tanto fuente como objeto. a Otros aspectos de la funcin de enlace con los usuarios incluyen la o asesor sobre el diseo de aplicaciones; una capacitacin tcnica; ayuda a n o e en la determinacin y resolucin de problemas; as como otros servicios o o profesionales similares. Denir las restricciones de seguridad y de integridad Las restricciones de seguridad y de integridad pueden ser vistas como parte del esquema conceptual. El DDL conceptual debe incluir facilidades para especicar dichas restricciones. Denir las polticas de vaciado y recarga Una vez que una empresa se compromete con un sistema de base de datos, se vuelve drsticamente dependiente del funcionamiento exitoso a de dicho sistema. En el caso de que se produzca un dao en cualquier n parte de la base de datos ocasionado, por ejemplo, por un error humano o por una falla en el hardware o en el sistema operativo resulta esencial poder reparar los datos afectados con el m nimo de demora y con tan poco efecto como sea posible sobre el resto del sistema. Por ejemplo, de manera ideal no deber afectarse la disponibilidad de los a datos que no fueron afectados. El DBA debe denir e implementar un esquema apropiado de control de daos que comprenda (a) la descarga n

2.7. EL SISTEMA DE ADMINISTRACION DE BASE DE DATOS

19

o vaciadoperidico de la base de datos en un dispositivo de almaceo namiento de respaldo y (b) la recarga de la base de datos cuando sea necesario, a partir del vaciado ms reciente. a Supervisar el rendimiento y responder a los requerimientos cambiantes El DBA es el responsable de organizar el sistema de tal manera que se obtenga el rendimiento deal para la empresa de hacer los ajustes apropiados es decir, anar conforme las necesidades cambien. Por ejemplo, podr ser necesario reorganizar de vez en cuando la base de a datos almacenada para asegurar que los niveles de rendimiento se mantengan aceptables. Como ya mencion, todo cambio al nivel (interno) e de almacenamiento f sico debe estar acompaado por el cambio corresn pondiente en la denicin de la transformacin conceptual/interna, de o o manera que el esquema conceptual permanezca constante.

2.7.

El Sistema de Administracin de Base o de Datos

El DBMS (sistema de administracin de base de datos) es el o software que maneja todo acceso a la base de datos. De manera conceptual, lo que sucede es lo siguiente: 1. Un usuario emite una peticin de acceso, utilizando algn sublenguaje o u de datos espec co (por lo regular SQL). 2. El DBMS intercepta esa peticin y la analiza. o 3. El DBMS inspecciona, en su momento, (las versiones objeto de) el esquema externo paraese usuario, la transformacin externa/conceptual o correspondiente, el esquema conceptual, la transformacin conceptual/interna o y la denicin de la estructura de almacenamiento. o 4. El DBMS ejecuta las operaciones necesarias sobre la base de datos almacenada. A manera de ejemplo, considere lo que implica la recuperacin de una o ocurrencia de un registro externo en particular. En general, los campos sern a solicitados desde varias ocurrencias de registros conceptuales, y cada ocurrencia de un registro conceptual solicitar a su vez campos de varias ocurrencias a de registros almacenados. Entonces, de manera conceptual, el DBMS debe primero recuperar todas las ocurrencias solicitadas de los registros almacenados, luego construir las ocurrencias solicitadas de los registros conceptuales

20

CAP ITULO 2. MODELOS DE DATOS

y despus construir las ocurrencias solicitadas de los registros externos. En e cada etapa, podr ser necesarias conversiones de tipos de datos u otras. an Desde luego, la descripcin anterior est muy simplicada; en particular, o a implica que todo el proceso es interpretativo, ya que asume que todo el proceso de analizar la peticin, inspeccionar los diversos esquemas, etctera, se o e realiza en tiempo de ejecucin. La interpretacin, por su parte, a menudo o o implica un rendimiento deciente debido a la sobrecarga del tiempo de ejecucin. Sin embargo, en la prctica podr ser posible compilar las peticiones o a a de acceso antes del tiempo de ejecucin (en particular, varios productos SQL o actuales hacen esto. Analicemos ahora las funciones del DBMS con un poco ms de detalle. a Dichas funciones comprendern por lo menos el manejo de todas las siguiena tes: Denicin de datos o El DBMS debe ser capaz de aceptar deniciones de datos (esquemas externos, el esquema conceptual, el esquema interno y todas las transformaciones respectivas) en la forma fuente y convertirlas a la forma objeto correspondiente. En otras palabras, el DBMS debe incluir entre sus componentes un procesador DDL, o compilador DDL, para cada uno de los diversos DDLs (lenguajes de denicin de datos). El o entender1: deniciones DDL, en el sentido que, DBMS tambin debe . e por ejemplo, .entiendaque los registros externos EMPLEADO incluyen un campo SALARIO; entonces, debe poder utilizar este conocimiento para analizar y responder a las peticiones de manipulacin de datos o (por ejemplo. .Obtener todos los empleados con salario < 50,000). Manipulacin de datos o El DBMS debe ser capaz de manejar peticiones para recuperar, actualizar o eliminar datos existentes en la base de datos o agregar nuevos datos a sta. En otras palabras, el DBMS debe incluir un componente e procesador DML o compilador DML para tratar con el DML (lenguaje de manipulacin de datos). o En general, las peticiones DML pueden ser planeadas.o no planeadas: a) Una peticin planeada es aquella cuya necesidad fue prevista ano tes del momento de ejecutar la peticin. Probablemente el DBA o

2.7. EL SISTEMA DE ADMINISTRACION DE BASE DE DATOS

21

habr anado el diseo f a n sico de la base de datos de tal forma que garantice un buen desempeo para las peticiones planeadas. n b) En contraste, una peticin no planeada es una consulta ad hoc; es o decir, una peticin para la que no se previ por adelantado su o o necesidad, sino que en vez de ello, surgi sin pensarlo. El diseo o n f sico de la base de datos podr o no ser el adecuado para la a peticin espec o ca en consideracin. o Optimizacin y ejecucin o o Las peticiones DML, planeadas o no planeadas, deben ser procesadas por el componente optimizador, cuya nalidad es determinar una forma eciente de implementar la peticin. o Seguridad e integridad de los datos El DBMS debe vigilar las peticiones del usuario y rechazar todo intento de violar las restricciones de seguridad y de integridad denidas por el DBA. Estas tareas pueden realizarse durante el tiempo de compilacin, o de ejecucin o entre ambos. o Recuperacin de datos y concurrencia o El DBMS o ms probablemente, algn otro componente de software a u relacionado, denominado comnmente administrador de transacciones u o monitor de procesamiento de transacciones (monitor PT) debe imponer ciertos controles de recuperacin y concurrencia. o Diccionario de datos El DBMS debe proporcionar una funcin de diccionario de datos. Eso te diccionario puede ser visto como una base de datos por derecho propio (aunque una base de datos del sistema m que como una ba se de datos del usuario). El diccionario contiene datos acerca de los datos(en ocasiones llamados metadatos o descriptores); es decir, deniciones de otros objetos del sistema, en lugar de simples datos en bruto. En particular, todos los diversos esquemas y transformaciones (externos, conceptuales, etctera) y todas las diversas restricciones de e seguridad y de integridad, sern almacenadas en el diccionario, tanto a en forma fuente como objeto. Un diccionario extenso incluir adems a a mucha informacin adicional; mostrar por ejemplo qu programas utio a e lizan qu partes de la base de datos, qu usuarios necesitan qu infore e e mes, etctera. El diccionario podr incluso y de hecho, deber e a a estar integrado dentro de la base de datos que dene, e incluir por lo

22

CAP ITULO 2. MODELOS DE DATOS tanto su propia denicin. En realidad, debe ser posible consultar el o diccionario del mismo modo que cualquier otra base de datos, de manera que, por ejemplo, sea posible saber qu programas o usuarios se e podr ver afectados por un cambio propuesto al sistema. an Rendimiento Sobra decir que el DBMS debe realizar todas las tareas antes identicadas de la manera ms eciente posible. a

2.8.

El Administrador de Comunicaciones de Datos

Las peticiones emitidas a la base de datos por parte de un usuario nal, en realidad son transmitidas desde la estacin de trabajo del usuario la o cual podr ser f a sicamente remota con respecto al propio sistema de base de datos hacia cierta aplicacin en l o nea (integrada u otra) y de ah hacia el DBMS en la forma de mensajes de comunicacin. De forma similar, las reso puestas que regresan del DBMS y la aplicacin en l o nea hacia la estacin de o trabajo del usuario, tambin son transmitidas en forma de dichos mensajes. e Todas estas transmisiones de mensajes se llevan a cabo bajo el control de otro componente de software, el administrador de comunicaciones de datos (administrador CD). Este administrador no forma parte del DBMS, sino que es un sistema autnomo por derecho propio. Sin embargo, puesto que es claramente neo cesario que trabaje en armon con el DBMS, en ocasiones se les considera a como socios igualitarios en una empresa de ms alto nivel denominada sistea ma de base de datos/comunicaciones de datos (sistema BD/CD); en el cual el DBMS se ocupa de la base de datos y el administrador CD maneja todos los mensajes hacia y desde el DBMS, o ms precisamente, hacia y desde las a aplicaciones que el DBMS utiliza.

2.9.

Arquitectura Cliente Servidor

Un sistema de base de datos puede ser visto como un sistema que tiene una estructura muy sencilla de dos partes, las cuales consisten en un servidor (tambin denominado parte dorsal o servicios de fondo) y un conjunto de e clientes (tambin llamados partes frontales, aplicaciones para el usuario o e interfaces).

2.9. ARQUITECTURA CLIENTE SERVIDOR

23

El servidor es precisamente el propio DBMS. Soporta todas las funciones bsicas del DBMS: denicin de datos, manipulacin de datos, a o o seguridad e integridad de los datos, etctera. En particular, proporcioe na todo el soporte de los niveles externo, conceptual e interno. Por lo tanto, en este contexto, servidor.es slo el nombre del DBMS. o Los clientes son las diversas aplicaciones que se ejecutan sobre el DBMS, tanto aplicaciones escritas por el usuario como aplicaciones integradas (es decir, aplicaciones proporcionadas por el fabricante del DBMS o por alguna otra compa Por supuesto, en lo que concierne al serna). vidor, no hay diferencia entre las aplicaciones escritas por el usuario y las integradas; todas usan la misma interfaz con el servidor, como la interfaz de nivel externo. Profundizando sobre la cuestin de aplicaciones escritas por el usuario en o comparacin con las aplicaciones proporcionadas por el fabricante: o Las aplicaciones escritas por el usuario son en esencia programas de aplicacin comunes, escritos por lo regular ya sea en un lenguaje cono vencional de tercera generacin (como C o COBOL) o en algn lenguaje o u de tipo propietario de cuarta generacin; aunque en ambos casos es neo cesario acoplar de alguna manera el lenguaje con un sublenguaje de datos apropiado. Las aplicaciones proporcionadas por el fabricante (a menudo llamadas herramientas) son aplicaciones cuya nalidad bsica es auxiliar en la a creacin y ejecucin de otras aplicaciones. Las aplicaciones creadas son o o aplicaciones confeccionadas para alguna tarea espec ca (podr no an parecer aplicaciones en el sentido convencional; de hecho, la idea general de las herramientas es permitir a los usuarios, en especial a los usuarios nales, la creacin de aplicaciones sin tener que escribir programas en o un lenguaje de programacin convencional). o Por ejemplo, una herramienta proporcionada por el fabricante ser un a generador de informes, cuyo propsito es permitir a los usuarios obtener del o sistema informes con cierto formato. Toda peticin de informe puede verse o como un pequeo programa de aplicacin, escrito en un lenguaje generador n o de informes de muy alto nivel (y de nalidad especial). Las herramientas proporcionadas por el fabricante pueden dividirse en varias clases relativamente distintas: 1. Procesadores de lenguaje de consulta;

24 2. Generadores de informes;

CAP ITULO 2. MODELOS DE DATOS

3. Subsistemas de grcos comerciales; a 4. Hojas de clculo; a 5. Procesadores de lenguaje natural; 6. Paquetes estad sticos; 7. Herramientas de administracin de copias o .extraccin de datos; o o 8. Generadores de aplicaciones (incluyen procesadores 4GL); 9. Otras herramientas de desarrollo de aplicaciones, incluyendo productos de ingenier de software asistida por computadora (CASE); a

2.10.

El Procesamiento Distribuido

El trmino procesamiento distribuidosignica que distintas mquinas e a pueden conectarse en una red de comunicaciones como Internet, de tal manera que una sola tarea de procesamiento de datos pueda extenderse a varias mquinas de la red. (En ocasiones, tambin se usa el trmino procesamiena e e to paralelobsicamente con el mismo signicado, con excepcin de que las a o mquinas distintas tienden a estar f a sicamente muy cerca en un sistema paralelo, lo que no es necesario en un sistema distribuido; en ultimo caso, por ejemplo, podr estar geogrcamente dispersas). La comunicacin enan a o tre las diversas mquinas es manejada mediante algn tipo de software de a u administracin de redes; tal vez una extensin del administrador CD y ms o o a probablemente un componente de software independiente.