virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22012/1…  · web...

173
Base de Datos I Lic. Katya M. Perez Martinez UNIVERSIDAD SALESIANA DE BOLIVIA CARRERA INGENIERÍA DE SISTEMAS DOSSIER BASE DE DATOS I Cuarto Semestre Lic. Katya Maricela Pérez Martínez 30

Upload: vuongdan

Post on 28-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

157

Base de Datos I Lic. Katya M. Perez Martinez

UNIVERSIDAD SALESIANA DE BOLIVIA

CARRERA INGENIERA DE SISTEMAS

DOSSIER

BASE DE DATOS ICuarto Semestre

Lic. Katya Maricela Prez Martnez

GESTION 2012

NDICE

PRESENTACIN.................................................................................................................i

TEMA 1 FUNDAMENTOS DE BASE DE DATOS

1.1 Introduccin1

1.2 Caractersticas del enfoque de base de datos2

1.2.1 Naturaleza autodescriptiva de los sistemas de base de base de datos3

1.2.2 Separacin entre los programas y los datos, y abstraccin de datos4

1.2.3 Soporte de mltiples vistas de los datos5

1.2.4 Compartimiento de datos y procesamiento de transacciones multiusuario6

1.3 Usuarios y administradores de la base de datos6

1.4 Ventajas de utilizar un SGBD8

1.5 Arquitectura de un SGBD e independencia de datos10

1.5.1 Arquitectura de tres esquemas10

1.5.2 Independencia de datos12

1.6 Lenguajes e interfaces de base de datos13

1.6.1 Lenguajes del SGBD13

1.6.2 Interfaces del SGBD15

1.7 El entorno del sistema de base de datos16

1.8 Estructuras operacionales de los SGBD20

1.9 Clasificacin de los sistemas de gestin de base de datos22

1.10 Aplicaciones de los sistemas de base de datos23

1.10.1 Bases de datos en la World Wide Web23

1.10.2 Bases de datos multimedia25

1.10.3 Bases de datos mviles26

1.10.4 Sistemas de Informacin Geogrfico26

1.10.5 Gestin de datos del genoma28

Preguntas de repaso...............................................................................................................28

REFERENCIAS BIBLIOGRFICAS..................................................................................29

TEMA 2 MODELO DE DATOS

2.1 Introduccin30

2.2 La importancia de los modelos de datos30

2.3 Clasificacin de los modelos31

2.3.1 Modelos lgicos basados en objetos31

2.3.2 Modelos lgicos basados en registros33

Preguntas de repaso...............................................................................................................40

REFERENCIAS BIBLIOGRFICAS..................................................................................41

TEMA 3 MODELO ENTIDAD RELACION

3.1 Modelo Conceptual42

3.2 Definicin del Modelo E/R42

3.3 Objetivos del Modelo42

3.4 Terminologa utilizada en el Modelo43

3.4.1 Entidad43

3.4.2 Entidad Dbil44

3.4.3 Atributo44

3.4.5 Claves candidatas e identificadores45

3.4.6 Atributos Multivaluados46

3.4.7 Relaciones46

3.5 Grados de una relacin47

3.6 Cardinalidad de relaciones y participaciones49

3.6.1 Cardinalidad Mnima y Mxima50

3.6.2 Tipos de relaciones51

3.7 Generalizacin53

3.8 Agregacin Y Entidades Asociativas54

Ejercicios propuestos56

REFERENCIAS BIBLIOGRFICAS..................................................................................57

TEMA 4 MODELO RELACIONAL

4.1 Por qu crear un diseo de base de datos?58

4.2 Presentacin y Orgenes del Modelo Relacional59

4.3 Estructura de datos relacional59

4.4 Trminos Bsicos en el Modelo Relacional60

4.5 Definiciones Formales61

4.5.1 Dominio61

4.5.2 Relacin61

4.5.2.1 Propiedades de una relacin62

4.5.2.2 Relacin vs. Tabla62

4.5.3 Base de Datos Relacional63

4.6 Caractersticas Generales de Integridad64

4.6.1 Reglas de Integridad64

4.6.1.1 Superclave y clave de una relacin65

4.6.1.2 Clave candidata, primaria y alternativa65

4.6.1.3 clave ajena (externa o fornea)66

4.6.1.4 Mantenimiento de la Integridad Referencial68

4.6.1.5 Valores Nulos70

4.7 Proceso de Transformacin72

4.7.1 Mapeo Bsico73

4.7.2 Obtencin de las relaciones a partir del diagrama E/R74

4.7.3 Representacin de conjuntos de entidades dbiles79

Ejercicios propuestos.............................................................................................................80

REFERENCIAS BIBLIOGRFICAS..................................................................................81

TEMA 5 NORMALIZACIN

5.1 Definicin de Normalizacin82

5.2 Relaciones bien Estructuradas83

5.3 Dependencia Funcional (DF)84

5.4 Primera Forma Normal (1FN)86

5.5 Dependencia Funcional Completa86

5.6 Segunda Forma Normal (2FN)89

5.7 Dependencia Transitiva90

5.8 Tercera Forma Normal (3FN)91

5.9 Definicin de Determinante92

5.10 Forma Normal de Boyce Codd (BCFN)92

5.11 Dependencia de Valores Multivaluados (DMV)94

5.12 Cuarta Forma Normal (4FN)95

Ejercicios propuestos ............................................................................................................95

REFERENCIAS BIBLIOGRFICAS................................................................................ 97

TEMA 6 OPERACIONES DEL MODELO RELACIONAL

6.1 Introduccin98

6.2 lgebra Relacional98

6.2.1 Operadores de conjuntos................................................................................. .99

6.2.2 Operadores relacionales ................................................................................ 100

6.3 Clculo Relacional103

Ejercicios propuestos ..........................................................................................................104

REFERENCIAS BIBLIOGRFICAS............................................................................. 105

TEMA 7 INTRODUCCIN AL LENGUAJE DE CONSULTA (SQL)

7.1 Definicin de dn lenguaje de consulta106

7.2 Definicin de datos107

7.3 Manipulacin de datos109

7.4 Operaciones sobre una relacin110

7.5 Operaciones sobre ms de una relacin112

7.6 Ejercicios sobre operaciones114

7.7 Expresiones con bloques anidados115

Ejercicios propuestos .........................................................................................................117

REFERENCIAS BIBLIOGRFICAS............................................................................. 119

LECTURAS COMPLEMENTARIAS............................................................................120

GLOSARIO ......................................................................................................................121

BIBLIOGRAFA ..............................................................................................................127

PRESENTACIN

Las Bases de Datos han evolucionado a partir de los aos 60 como una necesidad de mejorar el procesamiento de los datos y en respuesta a las limitaciones del procesamiento orientado a proceso. Hoy en da las Bases de Datos se ha convertido en la parte esencial de la currcula de la informtica.

Este dossier est orientado a los estudiantes de la carrera de Ingeniera de Sistemas tanto para el nivel tcnico como superior. Es un material bsico que contiene temas que pueden usarse como material de este primer curso y cursos avanzados.

En este dossier se asumen que se dispone de los conocimientos previos sobre estructura de datos, organizacin de archivos y un lenguaje de programacin. El contenido del dossier es didctico con muchos ejemplos y algunos ejercicios que se deben desarrollar en clases por parte de los estudiantes con la gua del docente. Al final de cada tema se proponen ejercicios como practicas.

El dossier est organizado en siete temas:

1 Fundamentos de Base de Datos.- Se desarrollan las definiciones de bases de datos a raz de este concepto se explica que un dato para luego estudiar las propiedades implcitas de una base de datos. Se da el concepto de sistema gestor de base de datos y se explica sus ventajas, la arquitectura y los lenguajes e interfaces de los gestores. Finalmente se explica las aplicaciones de las bases de datos en las diferentes reas.

2 Modelo de datos.- Un modelo de datos desempea una funcin prioritaria en el proceso de abstraccin que conduce a la base de datos.

3 Modelo Entidad Relacin.- Este modelo proporciona una visin de alto nivel de los resultados de un diseo de base de datos, Se basa en los conceptos de entidad, atributo y relacin.

4 Modelo Relacional.- Es un modelo basado en registros y en teora matemtica, cuenta con tablas como estructura principal. Puede obtener ser este modelo a partir de la transformacin del modelo Entidad Relacin.

5 Normalizacin.- Es el proceso por el cual se depuran las tablas para evitar tener redundancia de datos y anomalas.

6 Operaciones del modelo relacional.- Basadas en el lgebra relacional y calculo relacional. El lgebra relacional se constituye de operadores de conjunto y operadores especiales de proyeccin y seleccin, por otra parte el clculo relacional es un lenguaje formal basado en la lgica de predicados, o clculo de predicados de primer orden.

7 Introduccin al lenguaje de consulta SQL.- Permite interaccionar con la base de datos para obtener datos y definir datos a travs de rdenes. El lenguaje SQL tiene varios componentes como ser el lenguaje de definicin de datos, lenguaje interactivo de manipulacin de datos, definicin de vistas, control de transacciones, integridad transaccin.

1.1 Introduccin

Las bases de datos y su tecnologa estn teniendo un mayor impacto con el creciente uso de los computadores. En realidad las bases de datos desempean un papel fundamental en casi todas las reas donde se utilizan computadoras, incluyendo negocios, ingeniera, medicina, leyes, educacin y biblioteconoma, etc.

Una base de datos es una coleccin de datos relacionados. Por datos, se quiere decir que son hechos conocidos que pueden registrarse y que tienen un significado implcito, pudiendo ser stos: magnitudes numricas, nombres o conjuntos de smbolo, frases o incluso imgenes, sonidos, colores u olores. Los datos por s mismos no nos permiten la adaptacin de la decisin ms conveniente por que no captan los conocimientos necesarios.

El trmino base de datos suele ser restrictivo. Una base de datos tiene las siguientes propiedades implcitas:

Una base de datos representa algunos aspectos del mundo real, en ocasiones denominado minimundo o Universo del discurso(UdD). Los cambios en el minimundo se reflejan en la base de datos.

Una base de datos es una coleccin coherente de datos con significado inherentes. Un conjunto aleatorio de datos no puede considerarse como una base de datos.

Una base de datos se disea, construye y puebla con datos para propsito especfico. Est destinada a un grupo de usuarios concreto y tiene algunas aplicaciones preconcebidas en las cuales estn interesados dichos usuarios.

(Minimundo, fuente de la B.D.Interaccin, con los sucesos del mundo realAudiencia, interesada en el contenido de la B.D.)

Figura 1.1

Una base de datos puede tener cualquier tamao complejidad. Si suponemos que en un pas existen 100 millones de contribuyentes y que cada contribuyente rellena una media de cinco formularios por declaracin, con aproximadamente 200 caracteres de informacin por formulario obtendremos una base de datos de 200 * 5 * 100*(106) bytes de informacin. Si suponemos que las autoridades fiscales mantienen las tres ltimas declaraciones de la renta de cada contribuyente adems de la actual, podramos encontrarnos con una base de datos de 4 * (1011) bytes (400 gigabytes). Esta gran cantidad de informacin debe organizarse y gestionarse de forma que los usuarios puedan localizar, recuperar y actualizar los datos segn lo necesiten.

Una base de datos puede crearse y mantenerse manualmente o estar informatizada. El catlogo de un club de videos es un ejemplo de una base de datos que puede crearse y mantenerse manualmente. Una base de datos informatizada puede crearse y mantenerse bien mediante un conjunto de programas de aplicacin diseados especficamente para dicha tarea o bien mediante un sistema de gestin de base de datos.

Un sistema gestor de base de datos (SGDB) es una coleccin de programas que permiten a los usuarios crear y mantener una base de datos. El SGBD es por tanto un sistema de software de propsito general que facilita los procesos de:

Definicin de una base de datos : Consiste en especificar los tipos de datos, las estructuras y restricciones para los datos que se van a almacenar en dicha base.

Construccin de la base de datos: Es el proceso de almacenar los datos concretos sobre algn medio de almacenamiento controlado por el SGDB.

Manipulacin de la base de datos: Incluye funciones tales como consultar la base de datos para reflejar los cambios ocurridos en el minimundo, y generar informes a partir de los datos.

1.2 Caractersticas del enfoque de base de datos

Hay varias caractersticas que distinguen el enfoque de base de datos del enfoque tradicional de programacin con ficheros. En el procesamiento de ficheros tradicional, cada usuario define e implementa los ficheros para una aplicacin especfica como parte de la programacin de la aplicacin. En el enfoque de base de datos, se mantiene un nico almacn de datos que se define una sola vez y posteriormente es accedido por varios usuarios.

(Enfoque ArchivosPara cada aplicacin existen ficheros) (Enfoque B.D.Existe un nico almacn de datos)

Figura 1.2

1.2.1 Naturaleza autodescriptiva de los sistemas de base de base de datos

Una caracterstica fundamental del enfoque de base de datos es que el sistema de datos no slo contiene la base de datos propiamente dicha sino tambin una definicin o descripcin completa de la estructura de la base de datos y sus restricciones. Esta definicin se almacena en el catlogo del sistema, que contiene informaciones tales como la estructura de cada fichero, el tipo y formato de almacenamiento de cada elemento y varias restricciones sobre los datos. La informacin almacenada en el catlogo se denomina meta-datos, y la describe la estructura de la base de datos.

(Programas de aplicacin/consultasSoftware para procesar consultas/programasSoftware para acceder a datos e informacinSOFTWARE DEL SGBDDefinicin de base de datos almacenada (meta-datos)Base de Datos almacenadaUsuarios/programadoresSOFTWARE DE BASE DE DATO)

Figura 1.1 Un entorno de sistema de base de datos simplificado, que ilustra los conceptos y terminologa en base de datos.

El catlogo es utilizado por el software del SGBD y tambin por los usuarios que precisan informacin sobre la estructura de la base de datos. Un paquete de software de un SGBD de propsito general no se crea para una aplicacin de base de datos especfica y por tanto es preciso consultar el catlogo para averiguar la estructura de los ficheros de una base de datos especfica, como el tipo y formato de datos a los que se va acceder. El software del SGBD ha de trabajar igual de bien con cualquier nmero de aplicaciones de base de datos siempre que la definicin de la base de datos est almacenada en el catlogo.

El catlogo contiene informacin como los nombres de los ficheros y de los elementos de datos, los detalles de almacenamiento de cada fichero, la informacin de correspondencia entre los esquemas y las restricciones, adems de otros tipos de informacin que es necesaria para los mdulos del SGBD.

En el procesamiento de ficheros tradicionales, la definicin de datos normalmente forma parte de los propios programas de aplicacin. Por tanto, dichos programas slo pueden trabajar con una base de datos especfica.

(struct agenda{char nombre[15];char apellido[25];int fono;};FILE *calender;agenda regag;)

Figura 1.4

1.2.2 Separacin entre los programas y los datos, y abstraccin de datos

En el procesamiento de ficheros tradicionales, la estructura de los ficheros de datos viene integrada en los programas de acceso, as que cualquiera modificacin de la estructura de un fichero puede requerir la modificacin de todos los programas que acceden a dicho fichero. Por el contrario, los programas de acceso del SGBD no requieren dichas modificaciones en la mayora de los casos. La estructura de los ficheros de datos se almacena en el catlogo del SGBD separadamente de los programas de acceso. A esta propiedad se le denomina independencia entre programas y datos.

La caractersticas que permiten la independencia de programas se llama abstraccin de datos. Un SGBD ofrece a los usuarios una representacin conceptual de los datos que no incluye muchos detalles sobre el almacenamiento de los mismos ni sobre cmo se implementan las operaciones (ocultar lo detalles de almacenamiento en el ordenador). Por ejemplo considrese el caso de un fichero llamado ALUMNO. La implementacin interna de un fichero puede definirse mediante la longitud de sus registros (numero de caracteres o bytes en cada registro) y cada elemento de datos puede especificarse mediante el byte de comienzo dentro del registro y su longitud en bytes (ver figura 1.5).

ALUMNO

Nombre

Cdigo

Gestion

Especialidad

Juan

17

I/2005

Redes

Rosa

8

I/2004

SIG

Nombre del dato

Posicin de comienzo en el registro

Longitud en caracteres (bytes)

Nombre

1

30

Cdigo del alumno

31

4

Gestin

35

4

Especialidad

39

4

Figura 1.5 Formato de almacenamiento interno del registro ALUMNO

Sin embargo, a un usuario de base de datos no le interesa la localizacin de cada elemento de datos en el registro ni su longitud; ms bien, lo que le exigir es que cuando se realiza una referencia al Nombre del ALUMNO, se le devuelva el valor correcto. Otros detalles como los caminos de acceso especificados para el mismo, pueden ocultarse a los usuarios de la base de datos a travs del SGBD.

En el enfoque de BD, la estructura y organizacin detallada de cada fichero se almacena en el catlogo. Los usuarios de la base de datos hacen referencia a la representacin conceptual de los ficheros y el SGBD extrae del catlogo los detalles de la organizacin de los ficheros cuando stos son requeridos por el software del SGBD.

1.2.3 Soporte de mltiples vistas de los datos

Una base de datos suele tener muchos usuarios, cada uno de los cuales puede requerir una perspectiva o vista diferente de la base de datos. Una vista puede ser un subconjunto de la base de datos o puede contener datos virtuales derivados de los ficheros de la base de datos pero que no estn explcitamente almacenados. Es posible que algunos usuarios no necesiten saber si los datos a los que hacen referencia estn almacenados o son derivados. Un SGBD multiusuario cuyos usuarios tengan diversas aplicaciones debe proporcionar mecanismos para definir mltiples vistas. Por ejemplo, puede ser que a un usuario de la base de datos solamente le interese los nombres de los alumnos que tuvieron calificacin mayor a 60 en la asignatura de Base de Datos.

NOTAS

nom

calificacin

asignatura

Rosa

63

Base de datos

Ruben

70

Base de datos

Mery

87

Base de datos

Alumnos con notas mayores a 60

Figura 1.6

Y as, otro usuario puede requerir el numero de inscritos en las diferentes asignaturas.

1.2.4 Compartimiento de datos y procesamiento de transacciones multiusuario

Toso SGBD multiusuario, como su nombre indica, debe permitir a varios usuarios tener acceso simultneo a la base de datos. Esto es indispensable si los datos de mltiples aplicaciones se deben integrar y mantener en una sola base de datos. El SGBD debe incluir software de control de concurrencia para asegurar que cuando varios usuarios intenten actualizar los mismos datos lo hagan de manera controlada para que el resultado de las actualizaciones sea correcto.

Ejemplo. Varios encargados de reservas tratan de asignar un asiento de vuelo comercial, el SGBD debe garantizar que solamente un empleado tenga acceso aun asiento determinado, en un momento dado para asignrsele a un pasajero.

En general, se dice que estas son aplicaciones de procesamiento de transacciones on line (OLTP), esta caracterstica debe distinguir ente un SGDB y el software tradicional de procesamiento de ficheros.

1.3 Usuarios y administradores de la base de datos

A continuacin se identifican a las personas cuyo trabajo requiere el empleo cotidiano de una base de datos.

Administradores de base de datos

En cualquier organizacin en la que muchas personas utilicen los mismo recursos se requiere un administrador jefe que supervise y gestione dichos recursos. En un entorno de base de datos, el recurso primario es la propia base de datos, y el secundario es el SGBD y el software relacionado con l. La administracin de estos recursos es responsabilidad del administrador de base de datos(ABD). El ABD se encarga de:

autorizar el acceso a la base de datos

coordinar y vigilar la utilizacin de la base de datos

adquirir los recursos de software y hardware que sean necesarios.

El ABD es la persona responsable cuando surgen problemas como violaciones de la seguridad o una respuesta lenta del sistemas. En las organizaciones grandes, el ABD cuenta con la ayuda de personal par poder desempear estas funciones.

Diseadores de base de datos

Los diseadores de bases de datos se encargan de identificar los datos que se almacenarn en a base de datos y de elegir las estructuras apropiadas para presentar y almacenar dichos datos. Por lo general, estas tareas se realizan antes de que se implemente la base de datos y se carguen los datos. Los diseadores tienen la responsabilidad de comunicarse con todos los futuros usuarios de la base de datos con el fin de comprender su necesidades, y de presentar un diseo que satisfaga esos requerimientos. En muchos casos los diseadores forman parte del personal del ABD y tal vez asuman otras responsabilidades una vez terminado el diseo de base de datos. Casi siempre, los diseadores de la base datos interactan con cada uno de los grupos de usuarios potenciales y desarrollan una vista de la base de datos que satisfagan los requerimientos de datos y de procesamiento de cada grupo.

Usuarios finales

Los usuarios finales son las personas cuyo trabajo requiere acceder a la base de datos para consultarla, actualizarla y generar informes; la base de datos existe principalmente para que ellos la utilicen. Hay varias categoras de usuarios finales:

Los usuarios finales ocasionales acceden de vez en cuando a la base de datos, pero es posible que requieran informacin diferente en cada ocasin. Utilizan lenguaje de consulta avanzado para especificar sus solicitudes y suelen ser gerentes de nivel medio o alto u otras personas.

Los usuarios finales simples o paramtricos tienen como funcin consultara y actualizar la base de datos en forma constante., utilizando tipos estndar de consultas y actualizaciones, llamadas transacciones programadas, que sean programado y probado con mucho cuidado. Por ejemplo, los cajeros de los bancos que revisan los saldos y realizan los reintegros y depsitos de dinero.

Los usuarios finales avanzados pueden ser los ingenieros, cientficos, analistas de negocios y otros, que estn suficientemente familiarizados con los recursos del SGBD como para implementar sus aplicaciones de forma que cumplan sus complejo requerimientos.

Los usuarios autnomos mantienen bases de datos personales mediante la utilizacin de paquetes de programas comerciales que cuentan con interfaces de fcil uso, basados en mens o en grficos.

Analistas de sistemas y programadores de aplicaciones

Los analistas de sistemas determinan los requerimientos de los usuarios finales, sobre todo los de los simples o paramtricos y desarrollan especificaciones para transacciones programadas que satisfagan dichos requerimientos. Los programadores de aplicaciones implementan esas especificaciones en forma de programas, y luego prueban, depuran, documentan y mantienen estas transacciones programadas. Para realizar dichas tareas, los analistas y programadores (actualmente denominados ingenieros de software) deben conocer a la perfeccin toda la gama de capacidades del SGBD.

Existen otras personas que tienen que ver con el diseo, creacin y funcionamiento del software y entorno del sistema del SGBD, que entran en las siguientes categoras.

Los diseadores e implementadores del SGBD son las personas que disean e implementan los mdulos e interfaces del SGBD en forma de paquetes de software.

Los desarrolladores de herramientas son personas que disean e implementan herramientas, es decir, los paquetes software que facilitan el diseo y utilizacin del sistema y ayudan a mejorar el rendimiento. Las herramientas son paquetes opcionales que normalmente se compran por separado. Incluyen paquetes para el diseo de la base de datos, supervisin de la ejecucin, interfaces grficas o en lenguaje natural, prototipo, simulacin y generacin de datos de prueba.

Los operadores y el personal de mantenimiento son el personal de administracin del sistema que son responsables del funcionamiento y mantenimiento reales del entorno hardware y software del sistema de base de datos.

1.4 Ventajas de utilizar un SGBD

A continuacin se presenta una lista de recursos de ayuda que el software del SGBD debe ofrecer al ABD, a los diseadores de base de datos y a los usuarios para ayudarles en el diseo, administracin y utilizacin de una base de datos.

Control de la redundancia

La redundancia, el almacenamiento de los mismos datos varias veces, provoca varios problemas:

Es necesario realizar una misma actualizacin lgica varias veces: una vez por cada fichero en el que se registran los datos. Esto implica un duplicidad del trabajo.

Se desperdicia espacio de almacenamiento al guardar los mismos datos en varios sitios, y este problema puede ser grave si las bases de datos son grandes.

Es posible que los ficheros que representan los mismo datos se vuelvan inconsistentes. Esto puede suceder porque una actualizacin se haya aplicado a ciertos ficheros pero no a otros.

Con el enfoque de base de datos, las vistas de los diferentes grupos de usuarios se integran durante el diseo de la base de datos. Para conservar la consistencia, debe crearse un diseo que almacene cada dato lgico en un solo lugar de la base de datos. Ello evita la inconsistencia y ahorra espacio de almacenamiento. Sin embargo en algunos casos puede convenir la redundancia controlada para mejorar el rendimiento de las consultas.

Restricciones de acceso no autorizado

El SGBD debe contar con un subsistema de seguridad y autorizacin que permita al ABD crear cuentas y especificar restricciones para ellas. El SGBD deber entonces garantizar automticamente el cumplimiento de dichas restricciones. El mismo tipo de controles se puede aplicar al software del SGBD. Por ejemplo, slo el personal del ABD tendr autorizacin para utilizar cierto software privilegiado, como el que sirva para crear cuentas nuevas. De manera similar, se puede hacer que los usuarios paramtircos slo puedan tener acceso a la base de datos a travs de las transacciones programadas que expresamente fueron creadas para ellos.

Capacidad de realizar inferencias y acciones usando reglas

Algunos sistemas de bases de datos proporcionan la capacidad de definir reglas de deduccin para inferir nueva informacin a partir de los hechos almacenados en la base de datos. A estos sistemas se les conoce como sistemas de base de datos deductiva. Por ejemplo , puede haber reglas complejas en la aplicacin del minimundo para determinar cuando un alumno est a prueba. Estas reglas se pueden especificar de manera declarativa como reglas de deduccin, que cuando son compiladas y mantenidas por el SGBD pueden determinar qu estn aprueba. En un SGBD tradicional, para soportar tales aplicaciones, se tendra que escribir un programa de procedimiento. Pero su cambian las reglas del minimundo, casi siempre es ms fcil modificar las reglas de deduccin declaradas, que volver a codificar los programas de procedimiento.

Suministro de mltiples interfaces de usuario

En vista de que muchos tipos de usuario o diversos niveles de conocimiento tcnicos utilizan bases de datos, el SGBD debe ofrecer diferentes interfaces. Entre stas podemos mencionar los lenguajes de consulta para usuarios ocasionales, las interfaces de lenguaje de programacin para programadores de aplicaciones, los formularios y cdigos de rdenes para los usuarios paramtricos y las interfaces controladas por mens y de lenguaje natural para los usuarios autnomos.

Representacin de vnculos complejos entre los datos

Una base de datos puede contener numerosos conjuntos de datos que estn relacionados entre s de muchas manera. Es preciso que el SGBD pueda representar diversas relaciones complejas entre los datos y tambin obtener y actualizar con rapidez y eficiencia datos que estn mutuamente relacionados.

Garantizar el cumplimiento de las restricciones de integridad

La mayor de las aplicaciones de la base de datos tienen ciertas restricciones de integridad que deben cumplir los datos. El SGBD debe ofrecer recursos para definir tales restricciones y garantizar que se cumplan. Las restricciones de integridad ms simple consiste en especificar un tipo de datos para cada elemento de datos. Otro tipo de restriccin ms compleja que encontramos a menudo, es la que implica especificar que un registro de un fichero debe relacionarse con registros de otros ficheros. Otro tipo de restriccin especifica que los valores de los elementos de datos sean nicos. Es responsabilidad de los diseadores de base de datos identificar las restricciones de integridad durante el diseo. Algunas restricciones se pueden especificar en e SGBD, el cual garantizar automticamente que se cumplan; otras pueden requerir verificacin mediante programas de actualizacin o en el momento en que se introducen los datos.

Suministro de copias de seguridad y recuperacin

Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. El subsistema de copias de seguridad (backup) y recuperacin del SGBD es el responsable de llevar a cabo dicha recuperacin.

1.5 Arquitectura de un SGBD e independencia de datos

Hay tres caractersticas importantes inherentes al enfoque de las bases de datos: 1) la separacin entre los programas y los datos (independencia entre programas y datos) ; 2) el soporte de mltiples vistas de usuario, y 3) el empleo de un catlogo para almacenar la descripcin (esquema) de la base de datos. La arquitectura de tres esquemas ayuda alcanzar y visualizar estas caractersticas.

1.5.1 Arquitectura de tres esquemas

El Comit de planificacin y requerimientos del Instituto Nacional de Estados Unidos de Estndares en Computacin y Procesamiento de Informacin que en su divisin X3 establece que la arquitectura de una BD debe poseer tres niveles:

Nivel interno

Nivel conceptual

Nivel Externo

Nivel Interno

Este es nivel ms bajo de abstraccin de informacin.

El nivel interno es la representacin inferior de una BD, por ello es el ms cercano al almacenamiento fsico. Permite describir los datos tal como estn almacenados en la computadora; Por ejemplo:

Los archivos que los contienen ( nombre, organizacin, ubicacin,.)

Los registros de estos archivos (longitud, campos, )

Las rutas de acceso a esos registros (ndices, encadenamientos, archivos invertidos)

El nivel interno es descrito por el DBMS por medio de un esquema interno o vista interna.

El Sistema operativo y el DBMS permiten la transformacin de un registro a partir de su estructura lgica hasta su almacenamiento fsico. La operacin de transformar registros lgicos en fsicos y viceversa se llama Transformacin de Datos o mapeo.

(VISTA EXTERNAVISTA EXTERNA ESQUEMA CONCEPTUALESQUEMA INTERNOBASE DE DATOS ALMACENADANIVEL EXTERNONIVEL CONCEPTUALNIVEL INTERNOCorrespondencia externo/conceptualCorrespondencia conceptual/interno)

Figura 1.7 Arquitectura de tres esquemas

Nivel Conceptual

Es el siguiente nivel ms alto de abstraccin. El DBA define el nivel conceptual por medio de un esquema o vista conceptual, al decir que informacin se guarda en la BD.

Este nivel corresponde a la estructura organizacional de la Base obtenida al reunir los requerimientos de todos los usuarios de una empresa, sin preocuparse de la organizacin fsica ni las vas de acceso.

El esquema conceptual podr contener:

Los datos elementales que definen los campos, atributos, de los objetos de una empresa. Ejemplo Nombre, concepto, nro de hijos, zona, etc.

Los datos compuestos que permiten reagrupar los campos para describir los registros, las entidades del mundo real. Ejemplo: Personas, Artculos, Vehculos, etc.

Los datos compuestos que permiten reagrupar los campos para describir las asociaciones del mundo real. Ejemplo: Compras de artculo, propietarios de los coches, etc.

Algunas veces las reglas que deberan seguir los datos en la empresa. Ejemplo: Que el stock mnimo est comprendido entre unos mrgenes, que cada artculo posea su proveedor, etc.

Relaciones entre los datos para conectar o relacionar registros en el procesamiento de archivos mltiples.

En este nivel la base de datos aparece como una coleccin de registros lgicos sin especificar su almacenamiento. En realidad, los archivos conceptuales no existen fsicamente.

Nivel Externo

Es el nivel ms alto de abstraccin y por ello el ms cercano a los usuarios. El nivel externo representa la percepcin individual de cada usuario o programador de la BD, describe nicamente la parte de los datos de inters para un usuario o grupo de usuarios. Los usuarios pueden imaginar que los archivos externos utilizados en sus programas existen tal como ellos lo perciben. Pero los archivos externos tampoco existen fsicamente.

El DBMS es el encargado de extraer los datos requeridos por los registros lgicos externos de uno o ms registros fsicos, de la BD, cada vez que se ejecuta una operacin de E/S en un programa especfico.

Por cada programa es necesario especificar un esquema externo o subesquema o vista externa para poder acceder de forma selectiva a un subconjunto de datos de la base integrada. Habr usuarios que podrn acceder a ms de un esquema externo, y un esquema externo puede ser compartido por varios usuarios; se protege de esta forma el acceso a los datos de usuarios no autorizados o mal intencionados.

A la hora de construir el subesquema hay que tener presente que:

Uno o ms tipos de registros pueden omitirse en el esquema.

Uno o ms campos pueden omitirse en el registro conceptual.

En el registro conceptual puede cambiarse el orden relativo de los campos del registro.

Una o ms relaciones entre los datos pueden omitirse en el esquema conceptual.

1.5.2 Independencia de datos

La arquitectura de tres esquemas puede servir para explicar el concepto de independencia de datos, que se define como la capacidad para modificar el esquema en un nivel del sistema de base de datos sin tener que modificar el esquema del nivel inmediato superior.

Se definen dos tipos de independencia de datos:

Independencia lgica de los datos, es la capacidad de modificar el esquema conceptual sin tener que alterar lo esquemas externos ni los programas de aplicacin. Podemos modificar el esquema conceptual para ampliar la base de datos (aadiendo un nuevo tipo de registro o un elemento de datos) o para reducir la base de datos (eliminando un tipo de registro o un elemento de datos). En el segundo caso, la modificacin no deber afectar a los esquemas externos que slo se refieran a los datos restantes. Si en el SGBD se cuenta con independencia lgica de datos, slo ser preciso modificar la definicin de la vista y las correspondencias. Despus de una reorganizacin lgica del esquema conceptual los programas de aplicacin que hagan referencia a los elementos del esquema externo debern funcionar igual que antes. Adems, las restricciones podrn modificarse en el esquema conceptual sin afectar a los esquemas externos ni a los programas de aplicacin.

Independencia fsica de los datos, es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Tal vez sea preciso modificar el esquema interno por la necesidad de reorganizar ciertos ficheros fsicos (por ejemplo, al crear estructuras de acceso adicionales) con el fin de mejorar el rendimiento de las operaciones de recuperacin y actualizacin. Si la base de datos an contiene los mismos datos, no ser necesario modificar el esquema conceptual.

En todo SGBD de mltiples niveles es preciso ampliar el catlogo de modo que incluya informacin sobre cmo establecer la correspondencia entre las solicitudes y los datos entre los diversos niveles. El SGBD utiliza software adicional para realizar estas correspondencias haciendo referencia a la informacin de correspondencia que se encuentra en el catlogo.

La arquitectura de tres esquemas puede facilitar la consecucin de la verdadera independencia de datos, tanto fsica como lgica. Sin embargo, los dos niveles de correspondencias implican un gasto extra durante la compilacin y la ejecucin de una consulta o de un programa, lo cual reduce la eficiencia del SGBD. Por ello, son pocos los SGBD que han implementado la arquitectura de tres esquemas completa.

1.6 Lenguajes e interfaces de base de datos

Un sistema de bases de datos proporciona un lenguaje de definicin de datos para especificar el esquema de base de datos y un lenguaje de manipulacin de dato para expresar las consultas a las bases de datos y las modificaciones.

Lenguajes del SGBD

Una vez que se ha completado el diseo de una base de datos y se ha elegido un SGBD para su implementacin, el primer paso ser especificar los esquemas conceptual e interno de la base de datos y cualquier correspondencia existente entre ambos.

Lenguaje de definicin de datos(LDD)

Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definicin de datos (LDD).

Por ejemplo, la siguiente instruccin en el lenguaje SQL define la tabla cuenta:

crate table cuenta

(nmero-cuenta char(10), saldo integer)

La ejecucin de la instruccin LDD anterior crea la tabla cuenta. Adems, actualiza un conjunto especial de tablas denominado diccionario de datos o directorio datos.

Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos. El esquema de una tabla es un ejemplo de metadatos. Un sistema de base de datos consulta el diccionario de datos antes de leer o modificar los datos reales.

Se especfica el almacenamiento y los mtodos de acceso usados por el sistema de bases de datos por un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y definicin de datos. Estas instrucciones definen los detalles de implementacin de los esquemas de base de datos, que se ocultan usualmente a los usuarios.

Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia. Por ejemplo, supngase que el saldo de una cuenta no debe estar por debajo de los100 Bs. El LDD proporciona facilidades para especificar tales restricciones. Los sistemas de bases de datos comprueban estas restricciones cada vez que se actualiza la base de datos.

Lenguaje de manipulacin de datos

La manipulacin de datos es:

La recuperacin de informacin almacenada en la base de datos.

La insercin de informacin nueva en la base de datos.

El borrado de informacin de la base de datos.

La modificacin de informacin almacenada en la base de datos.

Un lenguaje de manipulacin de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos bsicamente:

LMDs procedimentales. Requieren que el usuario especifique qu datos se necesitan y cmo obtener esos datos.

LMDs declarativos (tambin conocidos como LMDs no procedimentales). Requieren que el usuario especifique qu datos se necesitan sin especificar cmo obtener esos datos.

Por ejemplo, el lenguaje SQL tiene el componente LMD no procedimental, observe la siguiente consulta:

select cliente.nombre_cliente

form cliente

where cliente.id_cliente = 9283746

Consulta es una instruccin de solicitud para recuperar informacin. La parte de un LMD que implica recuperacin de informacin se llama lenguaje de consultas.

En muchos SGBD en los que no se mantiene una separacin estricta de niveles, el ABD y los diseadores de la base de datos utilizan un mismo lenguaje, el lenguaje de definicin de datos (LDD), para definir los esquemas conceptual e interno. El SGBD contar con un compilador de LDD cuya funcin ser procesar las sentencias escritas en el LDD para identificar las descripciones de los elementos de los esquemas y almacenar la descripcin del esquema en el catlogo del SGBD.

Cuando en los SGBD se mantenga una clara separacin entre los niveles conceptual e interno, el LDD servir solamente para especificar el esquema conceptual. Para especificar el esquema interno, se utiliza otro lenguaje, el lenguaje de definicin de almacenamiento (LDA). Las correspondencias entre los dos esquemas se pueden especificar en cualquiera de los dos lenguajes. Para una verdadera arquitectura de tres esquemas, necesitaramos un tercer lenguaje, el lenguaje de definicin de vistas (LDV), para especificar las vistas del usuario y sus correspondencias con el esquema conceptual. Sin embargo, en la mayora de los SGBD el LDD se utiliza tanto para describir el esquema conceptual como el externo.

1.6.2 Interfaces del SGBD

Entre las interfaces amigables con el usuario que pueden ofrecer los SGBD estn las siguientes:

Interfaces para navegacin basados en mens. Estas interfaces presentan al usuario listas de opciones denominadas mens, que guan al usuario para formular una solicitud. Los mens hacen innecesario memorizar las instrucciones y la sintaxis especfica de un lenguaje de consulta, ya que permiten confeccionar la solicitud paso a paso mediante la eleccin de las diferentes opciones del men que le va presentando el sistema

Interfaces basadas en formularios. Las interfaces basadas en formularios presentan un formulario a cada usuario. ste puede entonces rellenar todas las entradas para insertar nuevos datos o bien rellenar slo algunos de ellos, en cuyo caso el SGBD obtendr los datos que coincidan con los que se han especificado. Los formularios suelen disearse y programarse para los usuarios simples como interfaces de transacciones programadas. Muchos SGBD cuentan con lenguajes especiales, los lenguajes de especificacin de formularios, con los que los programadores pueden especificar dichos formularios. Algunos sistemas cuentan con utilidades que definen formularios y permiten que el usuario construya interactivamente en la pantalla un formulario de muestra.

Interfaces grficas de usuario. Las interfaces grficas de usuario (GUI) suelen presentar al usuario los esquemas en forma de diagrama, y ste puede entonces especificar una consulta manipulando el diagrama. En muchos casos, las GUI se combinan con mens y formularios. Casi todas estas interfaces utilizan un dispositivo apuntador, como el ratn, para escoger ciertas partes del diagrama de esquema que se exhibe.

Interfaces de lenguaje natural. Estas interfaces aceptan solicitudes escritas en ingls o en algn otro idioma e intentan entenderlas. Las interfaces de lenguaje natural suelen tener su propio esquema, similar al esquema conceptual de la base de datos. La interfaz consulta las palabras de su esquema y tambin un conjunto de palabras estndar, para interpretar la solicitud. Si la interpretacin tiene xito, la interfaz genera una consulta de alto nivel que corresponde a la solicitud en lenguaje natural y la enva al SGBD para su procesamiento; en caso contrario, se inicia un dilogo con el usuario para esclarecer la solicitud.

Interfaces para usuarios paramtricos. Los usuarios paramtricos, como los cajeros de un banco a menudo tienen un conjunto pequeo de operaciones que deben realizar repetidamente. Los listas de sistemas y los programadores disean e implementan una interfaz especial para una especial para un a clase conocida de usuarios simples. Casi siempre se incluye un conjunto reducido de instrucciones abreviadas, con el fin de reducir al mnimo el nmero de pulsaciones requeridas para cada solicitan. Por ejemplo, se pueden programar las teclas de funcin de una terminal para que inicien las diversas instrucciones. Con esto, el usuario paramtrico puede trabajar con el menor nmero de pulsaciones posible.

Interfaces para el ABD. En su mayora, los sistemas de base de datos contienen instrucciones privilegiadas que slo el personal del ABD puede utilizar. Entre ellas estn las instrucciones crear cuentas, establecer los parmetros del sistema, otorgar autorizaciones a las cuentas, modificar los esquemas y reorganizar la estructura de almacenamiento de una base de datos.

1.7 El entorno del sistema de base de datos

A continuacin se describen los tipos componentes del software que constituyen un SGBD y los tipos de software del sistema de computador con los cuales interacta el SGBD.

Mdulos componentes del SGBD

La Figura 1.8 ilustra de forma simplificada los componentes de un SGBD representativo. La base de datos y el catlogo del SGBD casi siempre se almacenan en disco. El acceso al disco suele controlarlo principalmente el sistema operativo (SO), que planifica la entrada/salida del disco.

Mdulo gestor de datos almacenados del SGBD. Este es de ms alto nivel, controla el acceso a la informacin del SGBD almacenada en el disco, bien sea parte de la base de datos o del catlogo. Las lneas punteadas y los crculos rotulados A, B, C, D, y E en la Figura 1.8 ilustran accesos que estn bajo el control de este gestor de datos almacenados. Este ltimo puede emplear servicios bsicos del SO para transferir los datos de bajo nivel entre el disco y la memoria principal del computador pero controla otros aspectos de la transferencia de datos, como el manejo de los bferes en la m mora principal. Una vez que los datos estn en dichos bferes de la memoria principal, podrn s procesados por otros mdulos del SGBD o por los programas de aplicacin.

Compilador de LDD. Este componente procesa las definiciones de esquemas especificadas en el LDD, almacena las descripciones de los esquemas (metadatos) en el catlogo del SGBD.

Procesador de base de datos en tiempo de ejecucin. Se encarga de los accesos al catlogo durante la ejecucin; recibe operaciones de obtencin o de actualizacin y las ejecuta sobre la base de datos. El acceso al disco se tiene mediante el gestor de datos almacenados.

Compilador de consultas. Maneja las consultas de alto nivel que se introducen interactivamente. Analiza la sintaxis y compila la consulta o la interpreta creando el cdigo de acceso a la base de datos, y luego genera llamadas al procesador en tiempo de ejecucin para ejecutar dicho cdigo.

Precompilador. Extrae instrucciones en LMD de un programa de aplicacin escrito en un lenguaje de programacin anfitrin. Estas instrucciones se envan al compilador de LMD para convertirlas en cdigo objeto para el acceso a la base de datos, y el resto del programa se enva al compilador del lenguaje anfitrin. El cdigo objeto de las instrucciones en LMD y el del resto del programa se enlazan (linkeditan), formando una transaccin programada cuyo cdigo ejecutable incluye llamadas al procesador de la base de datos durante el tiempo de ejecucin.

Figura 1.8 Componentes de un SGBD

El SGBD interacta con el sistema operativo cuando se requiere acceso al disco (a la base de datos o al catlogo). Si muchos usuarios comparten el mismo sistema de computador, el SO programar las solicitudes de acceso al disco del SGBD junto con otros procesos. El SGBD tambin se comunica con los compiladores de los lenguajes de programacin anfitriones de propsito general, y puede ofrecer interfaces amigables con el usuario como ayuda a cualquiera de los tipos de usuarios mostrados en la Figura 1.8 cuando especifican sus solicitudes.

Utilidades del sistema de base de datos

Adems de los mdulos de software que se acaban de describir, casi todos los SGBD cuentan con utilidades de base de datos que ayudan al ABD a gestionar el sistema. Las utilidades comunes efectan los siguientes tipos de funciones:

Carga: se utiliza una utilidad de carga para cargar ficheros de datos ya existentes (como ficheros de texto o secuenciales) en la base de datos. Normalmente a la utilidad se le especifica el formato actual del fichero de datos (fuente) y la estructura de fichero en la base de datos deseada (destino). La utilidad modifica automticamente el formato de los datos y los almacena en la base de datos. Con la proliferacin de los SGBD, la transferencia de datos de un SGBD a otro se ha vuelto algo comn en muchas organizaciones. Algunos proveedores actualmente ofrecen productos que generan los programas de carga apropiados, de acuerdo con las descripciones de almacenamiento de las bases de datos fuente y destino (esquemas internos). Tales herramientas tambin se denominan herramientas de conversin.

Copia de seguridad (backup): las utilidades de respaldo crean una copia de seguridad de la base de datos, casi siempre volcando toda la base de datos en cinta. La copia de seguridad puede servir para restaurar la base datos en caso de un fallo catastrfico. Tambin se suelen usar las copias de seguridad en niveles, donde solo se registran los cambios habidos desde la anterior copia de seguridad. La copia de seguridad ahora es ms compleja, pero se ahorra espacio.

Reorganizacin de ficheros: esta utilidad puede servir para pasar de una organizacin de los ficheros de la base de datos a otra con el fin de mejorar el rendimiento.

Control del rendimiento: las utilidades de este tipo supervisan la utilizacin de la base de datos y proporcionan datos estadsticos al ABD, el cual los utiliza para decidir, por ejemplo, si conviene reorganizar los ficheros con el fin de mejorar el rendimiento.

Herramientas, entornos de aplicacin y recursos de comunicacin

Existen otras herramientas que suelen estar disponibles para los diseadores de bases de datos, usuarios y ABD. Las herramientas CASE, se utilizan en la fase de diseo de los sistemas de base de datos. Otra herramienta que puede ser bastante til en las organizaciones grandes es el sistema de diccionario de datos extendido (o repositorio de datos). Adems de almacenar la informacin del catlogo sobre esquemas y restricciones, el diccionario de datos almacena otras informaciones como las decisiones de diseo, la utilizacin de normas, la descripcin de programas de aplicacin, e informacin del usuario. Un sistema as, se denomina tambin repositorio de informacin. La informacin puede ser accedida directamente por los usuarios o el ABD cuando lo requieran. La utilidad del diccionario de datos es similar al catlogo del SGBD, pero incluye una mayor variedad de informacin y principalmente es accedido por los usuarios ms que por el software del SGBD.

El SGBD tambin necesita interactuar con software de comunicaciones, cuya funcin es permitir a los usuarios situados en lugares remotos respecto al sitio del sistema de base de datos, acceder a la base de datos a travs de las terminales de computador, las estaciones de trabajo o sus computadores personales. Estos se conectan al sitio de la base de datos mediante equipos de comunicacin de datos como lneas telefnicas, redes de larga distancia, redes de rea local o dispositivos de comunicacin por satlite. Muchos sistemas de base de datos comerciales disponen de paquetes de comunicacin que trabajan con el SGBD. El sistema integrado del SGBD y comunicacin de datos, se le denomina sistema DB/DC (datbase/data Communications). Adems, algunos SGBD distribuidos estn fsicamente desplegados en mltiples mquinas. En este caso las redes de comunicacin son necesarias para conectar las mquinas. Normalmente son redes de rea local (LAN) pero tambin pueden ser otro tipo de redes.

Estructuras operacionales de los SGBD

Un sistema de base de datos posee una estructura compuesta de dos partes: el servidor y los clientes: El servidor es el encargado de realizar las tareas propias de la base de datos: almacenamiento de datos y aplicaciones. Estos dos elementos se pueden ejecutar en la misma maquina o en mquinas distintas. Como la ejecucin de la base de datos se puede realizar sobre una sola mquina, se puede decir que el servidor es, en s, el Sistema de Gestin de Bases de Datos, aunque lo habitual es que las mquinas cliente y servidor de datos sean distintas.

Un cliente de una base de datos es cada consumidor de recursos de la base de datos: las aplicaciones del servidor, las aplicaciones de usuario y cualquier otro elemento de aplicacin que acceda al servidor. Para la comunicacin entre el servidor y la base de datos se emplea SQL como lenguaje de consulta y protocolos de red estndar. En cuanto al nivel de comunicaciones entre el servidor y los clientes, se realiza a travs de los correspondientes esquemas externos. Segn el nmero de servidores y la forma de acceder un cliente a los mismos se tienen tres tipos de estructuras de bases de datos: cliente/servidor, cliente/multi-servidor y distribuidas

Cliente-servidor

Una base de datos con estructura cliente/servidor est formada por distintos elementos software: la aplicacin cliente, la capa de acceso de datos y el servidor de bases de datos. A este ltimo elemento se le denomina habitualmente motor de bases de datos. Para su correcto funcionamiento, la base de datos necesita estar instalada en un determinado equipo informtico con su correspondiente sistema operativo y el software de red que permita la comunicacin del servidor con los clientes.

(Servidor de Base de DatosAplicaciones cliente/servidorCapa de acceso a datos)

(Figura 1.9 Estructura cliente/servidor)

La aplicacin cliente es la responsable de verificar y aceptar las entradas de los usuarios. Si se acepta la peticin del usuario enva una consulta al servidor de bases de datos basada en la peticin de datos anterior. Esta peticin es procesada por el servidor, que enva de vuelta a aplicacin cliente los resultados de la consulta. La aplicacin cliente formatea los datos de acuerdo con la peticin y los muestra al usuario.

La capa de acceso a datos posee un interfaz de programacin de aplicaciones (API) que es el encargado de enviar las consultas al servidor. Esta capa es trasparente al usuario. Los programadores pueden crear aplicaciones que interacten con la capa de acceso a datos. Es independiente del tipo de redes utilizado para comunicar las aplicaciones cliente con el servidor, con lo que hay cierta independencia del software de la base de datos respecto del software de red.

El servidor de base de datos acepta las consultas de los clientes, las procesa y devuelve los resultados.

El empleo de arquitecturas cliente/servidor da origen al procesamiento distribuido, que consiste en repartir el proceso de los datos en varias mquinas interconectadas mediante algn tipo de red. Como varia proceso distribuido se tienen:

El proceso en multiprocesadores que eje aplicaciones y la base de datos en distintos procesadores.

Un servidor que accede de forma simultnea varios clientes.

Por ltimo, cabe la posibilidad de que una mquina cliente pueda acceder a ms de un servidor, en este caso se considera un sistema cliente/multiservidor.

Cliente multiservidor

Una base de datos cliente multiservidor es aquella en la que el cliente se puede conectar a ms de un servidor simultneamente o bien slo puede conectarse a un servidor en cada sesin cliente.

(Servidor de Base de Datos)

(Capa de acceso a datos)

(Aplicaciones cliente/servidor)

Figura 1.10 estructura cliente/multiusuario

Cuando una aplicacin cliente accede a datos de distintos servidores, se denomina Sistema de Bases de Datos Distribuidas. Para el usuario -cliente- es indistinto si los orgenes de datos son nicos o mltiples, pero es un trabajo extra considerable para el administrador de la base de datos, ya que mantener en su sitio usuarios, datos y aplicaciones, con los controles de seguridad, acceso y concurrencia a implementar exige la creacin de un sistema centralizado de administracin de servidores y clientes o la administracin individualizada de cada servidor de base de datos.

Desde el punto de vista de la arquitectura de una base de datos distribuida, se dan los siguientes elementos: varias bases de datos que se pueden almacenar sobre sistemas de gestin de bases de datos de diferentes fabricantes. Adems, los ordenadores sobre los que se ejecutan estos sistemas de bases de datos seguramente sean distintos y ejecuten diversos sistemas operativos. Por ltimo, las redes que comunican los elementos de las bases de datos distribuidas pueden tener diferentes protocolos y arquitecturas. Sea cual sea la implementacin real de una base de datos distribuida, no es ningn problema para el usuario, ya que todas estas dificultades se manifiestan a nivel de compatibilidad de hardware, de software y protocolos y sobre todo de administracin.

Bases de Datos Distribuidas

En cuanto a la arquitectura de las bases de datos distribuidas -en red-, se produce una ligera variacin respecto a las arquitecturas cliente/servidor, denominada arquitectura en tres niveles: por un lado la parte servidor se ejecuta en el servidor de base de datos, mientras que la parte cliente se ejecutan en dos niveles: una mquina servidor de aplicaciones y la mquina cliente. En este tipo de base de datos la carga de trabajo se realiza de forma centralizada en el servidor de aplicaciones, mientras que las mquinas cliente ejecutan la parte de aplicacin que acta de interfaz de usuario.

1.9 Clasificacin de los sistemas de gestin de base de datos

Los criterios para clasificar un SGBD son:

Segn modelo de datos. Se tiene dos modelos utilizados por la mayora de los SGBD, el modelo relacional y el modelo orientado a objetos.

Segn numero de usuarios a los que da servicio el sistema. Los monousuarios y los multiusuarios.

Segn numero de sitios en la que se encuentra distribuida la base de datos. Centralizados y distribuidos.

Segn costo del SGBD. La mayor parte de los paquetes de SGBD cuestan entre 10000 y 100000 dlares.

Segn los tipos de caminos de acceso. Un SGBD dispone de caminos de acceso para almacenar los ficheros. Una familia muy conocida de SGBD se basa en estructuras de ficheros invertidos.

Segn propsito. Los SGBD pueden ser de propsito general o de propsito especial. Cuando el rendimiento tiene gran importancia se puede disear y construir un SGBD de propsito especial para una aplicacin especfica, y este sistema no servir para otras aplicaciones.

1.10 Aplicaciones de los sistemas de base de datos

Los avances mas recientes en el campo de las bases de datos son:

Las nuevas tecnologas de bases de datos. Se ocupa de la creacin de nuevos entornos as como de la funcionalidad de los SGBD, con el fin de que se puedan manejar una serie de nuevas aplicaciones entre las que se incluyen el acceso universal a las bases de datos en la World Wide Web y las bases de datos en Internet; las bases de datos multimedia que proporcionan una funcionalidad adicional para sostener el almacenamiento y procesamiento de informacin multimedia; as como bases de datos mviles y bases de datos conectadas intermitentemente que permiten al usuario final extraer y trasladar partes de una base de datos mientras se encuentra mvil en un campo.

Los dominios de aplicacin principales. Referido a aquellas aplicaciones basadas en el procesamiento manual de los sistemas de ficheros o en soluciones de sistemas hechos a medida. Una caracterstica comn de todas estas aplicaciones es la naturaleza especfica del dominio de los datos en cada dominio de aplicacin concreto. Adems, todas ellas se caracterizan por su naturaleza esttica, una situacin en la que el usuario final slo puede recuperar datos de la base de datos, la actualizacin con informacin nueva est limitada a los expertos en dominios de bases de datos, que son los que supervisan y analizan los nuevos datos que se introducen.

1.10.1 Bases de datos en la World Wide Web

En la tecnologa World Wide Web (WWW), (conocida popularmente como la Web), una arquitectura bsica de tipo cliente-servidor subyace a todas 1as actividades. La informacin se almacena en computadores designados como servidores Web en ficheros compartidos accesibles al pblico. La informacin est codificada empleando el HyperText Markup Language (HTML o Lenguaje de marcas de hipertexto). Una serie de herramientas permite que los usuarios creen pginas Web formateadas con etiquetas HTML, que se combinan 1ibremente con contenido multimedia, que van desde grficos a audio e incluso vdeo.

La informacin contenida en la Web se organiza conforme a un Uniform Resource Loacter (URL o Localizador Uniforme de Recursos), algo similar a una direccin que proporciona el nombre del camino completo de un fichero.

Acceso a las bases de datos en la World Wide Web

La tecnologa actual ha ido transformndose rpidamente de pginas Web estticas a dinmicas, en las que el contenido puede estar en un estado constante de cambio. El servidor Web emplea una interfaz estndar denominado Common Gateway Interface (CGI o interfaz de pasarela comn) para que acte como capa intermedia (middleware), es decir, la capa de software adicional, que se encuentra entre la interfaz que ve el usuario y el SGBD subyacente, que facilita el acceso a bases de datos heterogneas. La capa intermedia CGI ejecuta programas externos o scripts para obtener la informacin dinmica, y devuelve la informacin al servidor en HTML, la cual es enviada de nuevo al navegador.

A medida que la Web ha ido experimentando sus transformaciones ms recientes, ha sido necesario permitir que los usuarios accedan no slo a los sistemas de ficheros sino a bases de datos y a los SGBD para mantener el procesamiento de consultas y la creacin de informes, entre otros. Los enfoques actuales pueden dividirse en dos categoras:

Acceso mediante scripts CGI: puede obligarse al servidor de la base de datos a que se relacione con el servidor Web por medio del CGI. La Figura 1.11 muestra un esquema de la arquitectura de acceso a la base de datos en la Web mediante scripts CGI, que estn escritos en lenguajes como PERL, Tcl, o C.

Figura 1.11 Acceso a una base de dato en la Web mediante Scripts CGI.

Acceso mediante JDBC: JDBC (Java Data Base Connectivity) es un conjunto de clases Java, para permitir el acceso a bases de datos relacinales mediante la ejecucin sentencias SQL. Es una forma de conectarse con bases de datos sin ningn proceso adicional la peticin de cada cliente. JDBC tiene la capacidad de conectarse a una base de datos, enviar sentencias SQL a una base de datos y recuperar los resultados de una consulta empleando las clases de Java Connection Satatement y ResultSet respectivamente. Con la anunciada independencia de la plataforma Java, una aplicacin puede ejecutarse en cualquier navegador compatible con Java, que descarga el cdigo Java del servidor y lo ejecuta en el navegador del cliente. El cdigo Java es transparente para el SGBD; los drivers de JDBC para SGBD individuales en la parte del servidor tienen la labor de interactuar con ese SGBD. Si el driver de JDBC se encuentra la parte del cliente, la aplicacin se ejecuta en el cliente y el driver comunica sus peticiones al SGBD directamente. Para las peticiones en SQL estndar, se puede acceder a muchos SGBD relacionales de esta manera. El puente JDBC a la Object Datbase Connectivity (ODBC) sigue siendo otra forma de llegar a los SGBD relacinales.

1.10.2 Bases de datos multimedia

Las aplicaciones multimedia que trabajan con miles de imgenes, documentos, segmentos de audio y vdeo, y datos de texto libre, precisan del modelado adecuado de la estructura y contenido de los datos y, posteriormente, del diseo de esquemas de bases de datos apropiados para el almacenamiento y recuperacin de la informacin multimedia. Los sistemas de informacin multimedia resultan muy complejos y abarcan un amplio conjunto de cuestiones, entre las que se encuentran las siguientes:

Modelado: esta rea cuenta con el potencial para aplicar al problema tcnicas de bases de datos frente a las de recuperacin de informacin. Existen problemas a la hora de tratar objetos complejos integrados por una amplia variedad de tipos de datos: numricos, de texto, grficos (imgenes generadas por ordenador), imgenes grficas animadas, series audio, y secuencias de vdeo. Los documentos constituyen un rea especializada y merecen una consideracin especial

Diseo: el diseo conceptual, lgico y fsico de las bases de datos multimedia an no ha sido tratado del todo y sigue siendo un rea de investigacin activa.

Almacenamiento: el almacenamiento de datos multimedia en dispositivos estndar similares a discos presenta problemas de representacin, compresin y transformacin a las jerarquas de los dispositivos, archivado y empleo de bferes durante la operacin de entrada/salida. Es probable que una forma en la que la mayora de los vendedores de productos multimedia aborden esta cuestin sea adhirindose a estndares como JPEG o MPEG. En los SGBD un soporte BLOB (Binary Large Object u Objeto Grande Binario) permite que se almacene y se recuperen mapas de bits carentes de tipo. Se requerir software estandarizado para tratar la sincronizacin y compresin/descompresin, a lo que se unirn problemas de indexacin que continan en investigacin.

Consultas y recuperacin: la forma que tienen las bases de datos de recuperar informacin est basada en los lenguajes de consulta y en las estructuras de ndices internas. La recuperacin de informacin depende estrictamente de palabras claves o trminos de ndices predefinidos. En lo que se refiere a imgenes, datos de vdeo y audio, esto da lugar a numerosas cuestiones, entre las que se encuentran la formulacin eficiente de consultas, la ejecucin y optimizacin de consultas. Es necesario modificar las tcnicas de optimizacin.

Rendimiento: en cuanto a las aplicaciones multimedia que contienen nicamente documentos y texto, las restricciones de rendimiento vienen determinadas subjetivamente por el usuario. Para aquellas aplicaciones que incluyen reproduccin de video o sincronizacin de audio - vdeo, se imponen limitaciones fsicas.

1.10.3 Bases de datos mviles

Los avances recientes en tecnologa sin cable han dado lugar a la informtica mvil, una nueva dimensin en la comunicacin y procesamiento de datos. El entorno de la informacin mvil proporcionar aspectos tiles de la tecnologa sin cables a la aplicaciones de bases de datos.

Desde el punto de vista de la gestin de datos, la informtica mvil puede considerarse como una variante de la informtica distribuida. Las bases de datos mviles pueden distribuirse en dos mbitos posibles:

La base de datos completa se distribuye principalmente entre los componentes conectados, posiblemente con replicacin total o parcial. Una estacin base gestiona su propia base de datos con una funcionalidad similar a la del SGBD, con una funcionalidad adicional para localizar unidades mviles y caractersticas adicionales de gestin de consultas y transacciones destinadas a satisfacer los requisitos de los entornos mviles.

La base de datos se distribuye entre componentes conectados e inalmbricos. La responsabilidad de la gestin de datos es compartida entre las estaciones base y las unidades mviles.

1.10.4 Sistemas de Informacin Geogrfico

Los sistemas de informacin geogrfica se (SIG) se emplean para recoger, modelar, almacenar y analizar informacin que describe las propiedades fsicas del mundo geogrfico. El mbito del SIG abarca dos tipos de datos: 1) datos espaciales, procedentes de mapas, imgenes digitales, fronteras administrativas y polticas, carreteras, redes de transporte; datos fsicos tales como ros, caractersticas del suelo, regiones climticas, elevaciones del terreno, y 2) datos no espaciales como cmputos del censo, datos econmicos e informacin sobre ventas o marketing.

Los SIG funcionan con dos tipos diferentes de informacin geogrfica: el modelo vector y el modelo raster.

Vector, representa objetos como un polgono.

Matriz, representa objetos como puntos, en la que cada punto representa el valor de un atributo para una localizacin del mundo real.

Figura 1.12

Las bases de datos de un SIG integran la delimitacin espacial de cada uno de los objetos geogrficos. Por ejemplo, un lago que tiene su correspondiente forma geomtrica plasmada en un plano, tiene tambin otros datos asociados como niveles de contaminacin, flora, fauna, pesca y niveles de captacin en relacin a la temporada del ao.

Los datos SIG experimentan diversos tipos de anlisis. Por ejemplo, los gelogos pueden determinar dnde perforar en busca de petrleo. Los SIG tambin ayudan a gerentes de ventas que pueden obtener mapas de continentes completos y ver cmo se han desempeado las ventas en diferentes territorios.

El Sistema de Informacin Geogrfica separa la informacin en diferentes capas temticas y las almacena independientemente, permitiendo trabajar con ellas de manera rpida y sencilla, y permitiendo al profesional la posibilidad de relacionar la informacin existente a travs de la topologa de los objetos, con el fin de generar otra nueva que no podramos obtener de otra forma.

(Vas de comunicacinNcleo de poblacinUso de sueloRed fluvialAltitudes)

Figura 1.13

1.10.5 Gestin de datos del genoma

El trmino genoma se define como la informacin gentica total que puede obtenerse sobre una entidad. El genoma humano, por ejemplo, hace referencia en general al conjunto completo de genes necesario para crear un ser humano (que se calcula entre 100000 y 300000 genes que se extienden en 23 pares de cromosomas, con un nmero aproximado de 3 a 4 billones de nucletidos). Existen diversos sistemas de bases de datos que conservan y clasifican la informacin sobre los datos de la secuencia del genoma.

Genbak: Base de datos de la secuencia del ADN.

La base de datos del genom(GDB): Es un catlogo de datos sobre genes humanos. Almacena correspondencias entre una informacin y una localizacin concreta del genoma humano.

Herencia medeliana en el hombre on-line(OMIM): Es un compendio electrnico de informacin sobre base la base gentica de las enfermedades humanas:

Genbak, GDB y OMIM se han creado como almacenes centrales de determinados tipos de datos biolgicos pero, aunque son sumamente tiles, siguen sin abarcar todo el espectro de datos del genoma humano.

Preguntas de repaso

Defina los siguientes trminos: datos, base de datos, SGBD, sistema de base de datos, catlogo de base de datos, independencia entre programas y datos, vista de usuario, ABD, usuario final, metadatos.

Cules son los tres tipos principales de acciones en las que intervienen las bases de datos? Analice brevemente cada uno de ellos.

Describa las caractersticas principales del enfoque de bases de datos y sus diferencias con respecto a los sistemas tradicionales de ficheros.

Cules son las responsabilidades del ABD y de los diseadores de bases de datos?

Cite los diferentes tipos de usuarios finales de las bases de datos y enumere las actividades principales de cada uno de ellos.

Indique los componentes de SGBD.

Ejercicios

CLIENTE

ID_CLIENTE

NOV_CLIE

DIRECC

PAIS

BALANCE INICIAL

PAGOS HASTA EL MES

100

Hnos. Quispe

Llojeta 124

Bolivia

45.551

40.113

101

Ruben

Santiago

Chile

75.314

65.200

PRODUCTO

ID_PRODUCTO

DESC_PROD

ID_FABRICANTE

COSTO

PRECIO

1035

Suter

210

11.25

22.00

2241

Lmpara de Mesa

317

22.25

33.25

VENTA

FECHA

ID_CLIENTE

ID_REP

ID_PRDUCTO

CANTIDAD

PRECIO TOTAL

02/08

100

14

2241

200

6650.00

02/12

101

23

2518

300

6360.00

02/19

100

39

2518

200

4240

Mencione algunas consultas informales y operaciones de actualizacin que sera lgico aplicar a la base de datos propuesta arriba.

Qu diferencia hay entre la redundancia controlada y la no controlada?. Ilstrela con ejemplos.

Mencione algunas vistas que podran requerir los diferentes grupos de usuarios de la base de datos propuesta arriba.

Cite algunos ejemplos de restricciones de integridad que deban cumplirse, en su opinin, en la base de datos propuesta arriba.

REFERENCIAS BIBLIOGRFICAS

(1) Rames A. Elmasri & Sahamkant B. Navathe, FUNDMENTOS DE SISTEMAS DE BASE DE DATOS, Madrid, De. Addison Wesley, 2000, p.: 4-36, 832-861.

(2) Silberschatz & Korth & Sudarshan, FUNDMENTOS DE BASE DE DATOS, Madrid, Mc Graw Hill, 2002, p: 7,8

(3) Gregorio Cabrera Snchez, SISTEMAS GESTORES DE BASE DE DATOS, Madrid, Thompson Larning, 2001, p: 35-37

2.1 Introduccin

Una caracterstica fundamental del enfoque de base de datos es que proporciona cierto nivel de abstraccin de los datos, al ocultar detalles de almacenamiento que la mayora de los usuarios no necesitan conocer. Un modelo de datos proporciona los medios necesarios para conseguir dicha abstraccin.

En este entendido modelar consiste en definir un mundo abstracto y terico tal que las conclusiones que se pueden sacar de l coinciden con las manifestaciones aparentes del mundo real.

Modelo

Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica.

Modelo de datos

Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia, adems de ser un dispositivo de abstraccin que nos permite ver el bosque (esto es, la informacin contenida en los datos) en oposicin de los rboles (valores individuales de los datos).

Abstraccin

Es la accin y el efecto de abstraer, separar por medio de una operacin intelectual las cualidades de un objeto para considerarlas asiladamente o para considerar el mismo objeto en su pura esencia o nocin. Por tanto, la abstraccin, como proceso mental capaz de ocultar detalles y fijarse en lo esencial, busca las propiedades comunes de un conjunto de objetos, reduciendo as la complejidad y ayudando a la comprensin del mundo real.

2.2 La importancia de los modelos de datos

Inicialmente el "dato" fue trabajado desde la ptica pura de su almacenamiento a travs de los "Sistemas de Archivos"; donde cada uno de los archivos que se creaban solo obedeca a una necesidad de almacenamiento ms que a la utilizacin funcional del dato. Por este motivo surgen los esquemas conceptuales que son elaborados a travs del anlisis de procesos de las reas del negocio, los conceptuales involucran al "dato" como una consecuencia lgica funcional de ellos. Pero para poder estandarizar este tratamiento se crea el concepto del "Modelo de Datos", por medio del cual se definen un conjunto de elementos y smbolos que permiten estandarizar traducir dicho anlisis a un lenguaje semntico y sistemtico que dispone de reglas de control y evaluacin del comportamiento del dato en el transcurso del tiempo, tanto en su almacenamiento como en su utilizacin.

Estos modelos de datos, hacen posible que la lgica de un negocio pueda ser estructurada de forma tangible a travs de un esquema fsico que representa el almacenamiento de los datos bajo las reglas del negocio y de un sistema gestor de base de datos que permitir la persistencia de estos a travs del tiempo.

2.3 Clasificacin de los modelos

Los diferentes modelos de datos se clasifican en tres grupos diferentes:

Modelos lgicos basados en objetos.

Modelos lgicos basados en registros.

Modelos fsicos de datos.

2.3.1 Modelos lgicos basados en objetos

Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin.

Modelo Entidad-Relacin

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno se distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control asignado al entrar a una institucin educativa, as mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos:

Tangibles

Son todos aquellos objetos fsicos que podemos ver,tocar o sentir.

Intangibles

Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.

Las caractersticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones.

Pero para entender mejor esto, veamos un ejemplo:

Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artculo (que es el producto en venta), y las caractersticas que los identifican son:

Empleado: Artculo:

Nombre Descripcin Puesto Costo Salario Clave R.F.C.

La relacin entre ambas entidades la podemos establecer como Venta.

Bueno, ahora nos falta describir como se representa un modelo E-R grficamente, la representacin es muy sencilla, se emplean smbolos, los cuales son:

Smbolo Representa

As nuestro ejemplo anterior quedara representado de la siguiente forma:

Existen ms aspectos a considerar con respecto a los modelos entidad relacin, estos sern considerados en el tema Modelo Entidad Relacin.

2.3.2 Modelos lgicos basados en registros

Se utilizan para describir datos en los niveles conceptual y fsico. Estos modelos utilizan registros e instancias para representar la realidad, as como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin.

Los tres modelos de datos ms ampliamente aceptados son:

Modelo Relacional Modelo de Red Modelo Jerrquico

Modelo relacional

En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendr la base de datos y las columnas corresponden a las caractersticas(atributos) de cada registro localizado en la tupla;

Considerando nuestro ejemplo del empleado y el artculo:

Tabla del empleado

Ahora te preguntaras cmo se representan las relaciones entre las entidades en este modelo?

Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad. Por ejemplo, el CI de un empleado se distingue de otro por que los CI no pueden ser iguales.

Ahora si, las formas de representar las relaciones en este modelo son:

1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin. Tomando en cuenta que la llave primaria del empleado es su CI , y la llave primaria del articulo es la Clave.

2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.

Modelo de datos Red

Existen dos estructuras de datos bsicas en el modelo red: Registro y tipo de conjunto.

Registro, tipo de registro y elementos de datos

Los datos se almacenan en registros, cada registro consiste en un grupo de valores de datos relacionados entre s. Los registros se clasifican en tipos de registros, cada uno de los cuales describe la estructura de un grupo de registros que almacena el mismo tipo de informacin. Damos un nombre a cada tipo de registro, y tambin damos un nombre y un formato (tipo de datos) a cada elemento de dato (o atributo) del tipo de registro.

Ejemplo

ALUMNO

NOMBRE

RU

DIRECCIN

DPTO_ESPC

FECHA_NAC

Elemento dato

Nombre y Formato

NOMBRE

Carcter 15

RU

Numrico

DIRECCIN

Carcter 20

DPTO_ESPC

Carcter 15

FECHA_NAC

Fecha

Tipo de conjunto y sus propiedades bsicas

Un tipo de conjunto es una descripcin de un vinculo 1:N entre dos tipos de registros. As en el siguiente ejemplo se muestra que:

(Tipo de registro propietario)

DEPARTAMENTO

NOMBRE

...

(Relacin DEPTO_ALU) (DEPTO_ALU)

ALUMNO

NOMBRE

...

(Miembro)

Donde:

DEPTO_ALU es un tipo de conjunto, que tiene ocurrencias de conjunto o instancias

Representar vnculos de M:N

Un tipo de conjunto representa un vnculo 1:N entre dos tipos de registros. Esto significa que un registro del tipo de registro miembro slo puede aparecer en una ocurrencia del conjunto. El SGBD garantiza automticamente esta restriccin en le modelo red. Si queremos representar un vnculo 1:1, el programa de aplicacin debe imponer la restriccin 1:1 adicional.

Un vnculo M:N entre dos tipos de registro no puede representarse con un solo tipo de conjunto.

As por ejemplo:

Consideremos el vnculo TRBAJA_EN entre EMPLEADO y PROYECTOS. Supongamos que un empleado puede trabajar en varios proyectos al mismo tiempo y que un proyecto casi siempre tiene varios empleados que trabajan en l.

Una representacin incorrecta es:

EMPLEADO

NUMERO_EMP

...

EMPLEADO

NUMERO_EMP

(E_P) (E_P) (P_E)

PROYECTO

NUMEROP

...

PROYECTO

NUMEROP

...

Representaciones incorrectas

El mtodo para representar un vnculo M:N en el modelo red es utilizar dos tipos de conjunto y un tipo de registro adicional. As por ejemplo para el caso anterior:

PROYECTO

NUMEROP

...

(P_E)

EMPLEADO

NUMERO_EMP

...

EMPLEADO

NUMERO_EMP

...

PROYECTO

NUMEROP

(P_T) (E_T)

TRABAJA_EN

HORAS

...

Representaciones correctas

- Modelo de datos Jerrquico

Relaciones Padre-Hijo y esquema jerrquicos

Un modelo jerrquico utiliza dos conceptos principales de estructuracin de datos: registros y relaciones padres hijos.

Registro es la coleccin de valores de campo que proporcionan informacin sobre una entidad o una instancia de una relacin. Los registros del mismo tipo se agrupan en tipos de registros cada tipo de registro recibe un nombre y su estructura se define en trminos de una coleccin de campos con nombre o elementos de datos. Cada campo tiene un cierto tipo de datos, como entero, real o cadena de caracteres.

Un tipo de relacin padre hijo (tipo RPH) es una coleccin 1:N entre dos tipos de registro. El tipo de registro del lado 1 se denomina tipo de registro padre, y del lado N se llama tipo de registro hijo del tipo RPH.

Una ocurrencia (o instancia) padre- hijo del tipo de RPH consiste en un registro de tipo de registro padre y varios registros /cero o mas) del tipo registro hijo.

Un esquema jerrquico se visualiza como un diagrama jerrquico, en el cual los nombres de los tipos de registros aparecen en cuadros rectangulares y los tipos de RPH se dibujan como lneas que conectan el tipo de registro padre y el tipo de registro hijo.

Ejemplo

DEPARTAMENTO

NOMBRE

NUMEROD

NOMB_JEFE

FECHA_INIC_JEFE

EMPLEADO

NOMBRE

CI

FECHA_NCTO

DIRECC

PROYECTO

NOMBREP

NUMEROP

LOCALIZACION

Propiedades de los esquemas jerrquicos

1. Un tipo de registro, denominado raz del esquema jerrquico, no participa como tipo de registro hijo en ningn tipo de RPH.

2. Todo tipo de registro, con excepcin de la raz, participa como tipo de registro hijo en uno y solo en un tipo de RPH.

3. Un tipo de registro puede participar como tipo de registro padre en cualquier cantidad (cero o ms) tipos de RPH.

4. Un tipo de registro que no participa como tipo de registro padre en ningn tipo de RPH se denomina hoja del esquema jerrquico.

5. Un tipo de registro participa como padre en ms de un tipo de RPH, entonces sus tipos de registro hijo estn ordenados. El orden se visualiza por convencin, de izquierda a derecha en los diagramas jerrquicos.

La definicin de esquema jerrquico define una estructura de datos de rbol. En la terminacin de estas estructuras un tipo de registro corresponde a un nodo de rbol, y un tipo de RPH corresponde a una arista (o arco) del rbol.

Ejemplo

(DEPARTAMENTO)

(PROYECTO) (EMPLEADO)

Las relaciones M:N entre tipos de registros no pueden representarse directamente porque las relaciones padre-hijo son 1:N, y un tipo de registro no puede participar como hijo en dos o ms relaciones padre-hijo distintas.

rbol de ocurrencia jerrquico

Las ocurrencias de los diferentes tipos de registros son graficadas manteniendo el orden del esquema jerrquico inicial.

Ejemplo

Esquema Jerrquico

DEPARTAMENTO

NOMBRE

NUMEROD

NOMB_JEFE

FECHA_INIC_JEFE

EMPLEADO

NOMBRE

CI

FECHA_NCTO

DIRECC

PROYECTO

NOMBREP

NUMEROP

LOCALIZACION

TRABAJADOR

NOMBRE

CI

HORAS

El esquema de ocurrencias para la ocurrencia Administracin de DEPARTAMENTO con los respectivos empleados y proyectos con los respectivos trabajadores es:

Administracin

Cuellar Ramirez Sosa Automatizacin Nuevos Beneficios

Lpez Galarza Angulo Prez Aguilar

Forma lineal izada de un rbol de ocurrencias jerrquicas

Un rbol de ocurrencias jerrquicas puede representarse en almacenamiento empleando una estructura de datos de entre la variedad de estructuras existentes. Sin embargo una de las estructuras de almacenamiento ms simples que podemos usar es el registro jerrquico, que es un ordenamiento lineal de los registros en un rbol de ocurrencias en el recorrido en pre orden del rbol (izquierda a derecha y en profundidad).

Relaciones padre hijo virtuales

El modelo jerrquico tiene problemas cuando se modelan ciertos tipos de relaciones. Entre ellos:

1. Relaciones M:N.

2. El caso en que un tipo de registros participa como hijo en ms de un tipo de RPH.

3. Relaciones n-arias con ms de dos tipos de registros participantes.

En una representacin M:N se usan relaciones Padre-Hijo Virtuales. As por ejemplo si en un proyecto trabajan varios empleados y un empleado trabaja en varios proyectos, el modelo jerrquico de esta relacin muchos a muchos en cualquiera de las dos formas, como sigue:

a) (b)

(PROYECTOAPUNTADOR_EEMPLEADOPY) (EMPLEADOAPUNTADOR_PPROYECTOPY)

Modelos fsicos de datos

Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son:

Modelo unificador Memoria de elementos.

Preguntas de repaso

1. Cul es la caracterstica fundamental del enfoque de las bases de datos?

2. Qu se entiende por modelar?