Transcript
Page 1: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Unidad I

Base de datos: es una colección de datos relacionados.Datos: hechos conocidos que pueden registrarse y que tienen significado implícito.

Propiedades de una base de datos Representa algunos aspectos del mundo real (minimundo o universo del discurso). Colección coherente de datos con significados inherentes. (conjunto de datos relacionados

referidos a algo). Se diseña, construye y puebla con datos para propósitos específicos. Esta destinada a un

grupo de usuarios concreto.Una base de datos puede tener cualquier tamaño y complejidad. Esta gran cantidad de información debe organizarse y gestionarse de forma que los usuarios pueden localizar, recuperar y actualizar los datos según lo necesiten.

Banco de datos: hace referencia a una colección de base de datos.

Sistema de base de Datos: es un conjunto de base de datos y el SGBD

Software para procesar Consultas/Programas

Software para tener acceso a los datos almacenados

Descripción de la BD almacenada (metatadatos)

CATALOGO

BA almacenada ARCHIVOS

SOFTWARE DEL SGBD

SISTEMA DE BASE DE DATOS

Usuarios/Programadores

SISTEMA DE BASE DE DATOS

Programas de aplicaciones/Consulta

Page 2: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Características del Enfoque de Base de Datos Naturaleza auto descriptiva de los sistemas de base de datos

Esta trata de una descripción completa de la estructura de la base de datos y sus restricciones. Esta definición se almacena en el catalogo del sistema que contiene informaciones tales como la estructura de cada archivo, el tipo de formato de almacenamiento de cada elemento y varias restricciones sobre los datos. La información almacenada en el catalogo se denomina META-DATOS.El catalogo es utilizado por el software del SGBD y también por los usuarios que precisan información sobre la estructura de la base de datos.

Separación entre los programas y los datos y abstracción de los datosLos programas de acceso del SGBD no requieren modificaciones si la estructura de un archivo debe ser modificada.Debido a que la estructura de los datos se almacena en el catalogo del SGBD separado de los programas de acceso. A esta propiedad se la denomina independencia entre programas y datos.En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (también llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar a la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos sea cual sea la forma en la que se han implementado. Esto podría determinarse independencia entre programas y operaciones.La característica que permite la independencia entre programas y datos y la independencia entre programas y operaciones se llama abstracción de datos. Un SGBD ofrece a los usuarios una representación conceptual de los datos que es proporcionada por un modelo de datos y este modelo de datos oculta los detalles de almacenamiento e implementación que no interesan a la mayoría de los usuarios de la base de datos.

Soporte de Múltiples vistas de los datosUna base de datos suele tener muchos usuarios, y cada uno de estos puede requerir una perspectiva o vista diferente de la misma. Una vista puede ser un subconjunto de una base de datos o puede contener datos virtuales derivados de los archivos de la base de datos pero que no están directamente almacenados.

Compartimiento de datos y procesamiento de transacciones multiusuarioTodo SGBD debe permitir a varios usuarios tener acceso simultáneo a la base de datos. Si los datos de las aplicaciones se deben integrar y mantener en una sola base datos, el SGBD debe incluir un software de control de concurrencia para asegurar que cuando varios

Page 3: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

usuarios intenten actualizar los mismos datos lo hagan de manera controlada para que el resultado de las actualizaciones sea correcto.

Los actores en escenaSon aquellas personas que participan en el diseño, utilización y mantenimiento de una base de datos. Entre ellos están:

Administradores de base de datosEl ABD se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su utilización y de adquirir los recursos de software y hardware que sean necesarios; es la persona responsable cuando surgen problemas como violaciones de la seguridad o una respuesta lenta del sistema.

Diseñadores de base de datosLos DBD se encargan de identificar los datos que se almacenaran en la base datos y de elegir las estructuras apropiadas para representar y almacenar dichos datos; también tienen la responsabilidad de comunicarse con todos los futuros usuarios de la base de datos con el fin de comprender sus necesidades, y de presentar un diseño que satisfaga esos requerimientos.

Usuarios finalesSon personas que acceden a la base de datos para consultarla, actualizarla y generar informes. Ellos son:

Usuarios finales ocasionales : acceden de vez en cuando a la base de datos. Utilizan un lenguaje de consulta de base de datos avanzado para especificar sus solicitudes y suelen ser gerentes u otras personas que accedan ocasionalmente.

Usuarios finales simples o paramétricos : constituyen una gran parte de la totalidad de los usuarios finales y su función principal se basa en consultas y actualizaciones constantes de la base de datos; ejemplo de estos usuarios son cajeros de bancos, encargados de reservas de líneas aéreas, etc.

Usuarios finales avanzados : pueden ser ingenieros, analistas de negocios y otros familiarizados con los recursos del SGBD como para implementar sus aplicaciones.

Usuarios autónomos : mantienen bases de datos personales mediante la utilización de paquetes de programas comerciales.

Analistas de sistemas y programadores de aplicaciones (ingenieros de software)Los analistas de sistemas determinan los requerimientos de los usuarios finales y plantea soluciones para satisfacer dichos requerimientos.

Page 4: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Los programadores de aplicaciones implementan esas soluciones en forma de programas, y luego prueban, depuran y mantienen los mismos.

Los trabajadores entre bastidoresSon personas que tienen que ver con el diseño, creación y funcionamiento del software y entorno del sistema del SGBD. Por lo general a estas personas no les interesa la base de datos en si misma. Entre ellos tenemos:

Los diseñadores e implementadores del SGBD son las personas que diseñan e implementan los módulos e interfaces del SGBD en forma de paquetes de software.

Los desarrolladores de herramientas son personas que diseñan e implementan herramientas, es decir, los paquetes de software que facilitan el diseño y utilización del sistema que ayudan a mejorar el rendimiento.

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

Sistema de gestión de base de datosEs una colección de programas que permite a los usuarios la facilidad de definir, construir y manipular una base de datos para distintas aplicaciones.

La definición 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.

La construcción de la base de datos es el proceso de almacenar datos concretos sobre algún medio de almacenamiento controlado por el SGBD.

La manipulación de la base de datos incluye funciones tales como consultar la base de datos para recuperar datos específicos, actualizar la BD para reflejar los cambios ocurridos en el minimundo, y generar informes a partir de los datos.

Categorías de los modelos de datosLos modelos de datos se pueden clasificar dependiendo de los tipos de conceptos que ofrecen para describir la estructura de la base de datos. Entre ellos tenemos:

Modelos de datos de alto nivel o conceptuales que utilizan conceptos como entidades, atributos y relaciones. Una entidad es un objeto o concepto del mundo real que se describe en la base de datos.Un atributo es una propiedad que da una descripción más amplia de una entidad.Un vínculo describe una interacción entre dos o más entidades.

Modelos de datos de representación (o de implementación) utilizan conceptos que pueden ser entendidos por los usuarios finales, muestran la forma en que los datos se organizan dentro del computador ocultando algunos detalles de sobre cómo se almacenan los datos.Estos son los más utilizados en los SGBD tradicionales, el más utilizado es el modelo de datos relacional, también se encuentran los de red y jerárquicos.

Page 5: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Modelos de datos de bajo nivel o físicos describen como se almacenan los datos en el ordenador, por ejemplo: formato de registro, orden de registro y caminos de acceso.Camino de acceso es una estructura que realiza la búsqueda de determinados registros de la base de datos eficientemente.

Esquemas, instancias y estado de la base de datos

Esquema de la base de datos es la descripción de la misma, la cual se especifica durante el diseño de la base de datos.La representación de un esquema se denomina diagrama del esquema y el diagrama del esquema muestra únicamente algunos aspectos del esquema tales como entidades, atributos y algunos tipos de restricciones.

El estado de la base de datos es el contenido (o sea los datos) de la base de datos en un instante dado. A esto también se lo llama instancia u ocurrencia. En la base de datos, los datos pueden cambiar, por lo tanto el Estado también lo hará.Se parte de Esquema de la Base de Datos, y a medida que la actualizamos (insertar, eliminar o modificar el valor de un elemento de información) se habla de Estado de la Base de Datos.

Es importante la distinción entre Esquema y Estado de la Base de Datos. Cuando definimos una nueva Base de Datos, solo especificamos el esquema al SGBD, en éste momento su Estado es vacío (sin datos), Cuando cargamos los Datos por primera vez, la Base de Datos pasa al Estado Inicial. El SGBD se encarga que cada vez que se aplique una operación a la BD cambie el Estado y controla que sea válido, es decir, verifica que los datos satisfagan la estructura y las restricciones especificadas en el esquema (o sea en la descripción de la BD).

DIAGRAMA DEL ESQUEMA PARA UNA BASE DE DATOS

ESTUDIANTENombre / NumEstudiante / Grado / Carrera

CURSONom_Curso / NúmCurso / HorasCred / Dpto

REQUISITOSNúm_Curso / NúmRequisito

SECCIONIden_secc / Núm_Curso / Semestre / Año

INFORME_NOTASNúmEstudiante / Iden_secc / Notas

ESTADO VACIO

ESTADO INICIAL

ESTADO FINAL

0

ESQUEMA DE LA BD

ESTADOS DE LA BD según los cambios que se van

haciendo

Page 6: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Arquitectura de las bases de datosUn Sistema de Gestión de Bases de Datos (DBMS) es un conjunto de procedimientos,

ayudas de documentación, lenguajes y programas de software que administran los archivos de la BD. Uno de los objetivos del SGBD es proporcionar a los usuarios una visión abstracta de la información.

Una arquitectura de BD debe poseer 3 niveles: Nivel Interno: este nivel describe los datos tal como están almacenados físicamente en la

computadora. Este nivel es descripto por medio de un esquema interno o vista interna. Por lo tanto, este nivel describe la estructura física del almacenamiento y los caminos de acceso a la BD. En este nivel se describen:

o Los archivos.o Los registros de los archivos (longitud, campos, etc.).o Las rutas de acceso a los registros (índices, encadenamientos, archivos invertidos,

etc.).Además la implementación del esquema interno requiere de:

o Archivos de datos: almacenan la base de datos.o Archivos de índices: permiten un acceso rápido a la información adecuada.o Diccionario de datos: Almacenan la información relativa ala estructura de la base

de datos. Nivel Conceptual: este nivel es descripto por medio de un esquema conceptual al decidir

que información se guarda en la BD correspondiente a la estructura organizacional de la BD. A la parte del esquema conceptual que es de interés para un usuario, se los llama subesquema conceptual. Los archivos conceptuales no existen físicamente. Este nivel describe la estructura lógica de toda la BD, detallando: entidades, tipos de datos, vínculos, operaciones de los usuarios y restricciones. En éste podemos usar un Modelo de Datos de Alto Nivel o de Implementación.

Nivel Externo: representa la percepción individual de los usuarios de la BD y describe la parte de interés para ellos. Los archivos externos no existen físicamente. El esquema externo debe ser definido para el acceso a los datos. Este nivel incluye varias vistas de usuarios.

Mapeo de datos o transformación de los datosCuando se efectúa una solicitud en el esquema externo, el SGBD la transforma a una

solicitud expresada en el esquema conceptual, y luego en una solicitud expresada en el esquema interno que se procesará sobre la BD almacenada. En caso de que la solicitud sea para la obtención de datos, será preciso modificar el formato de la información extraída de la BD para que coincida con la vista externa del usuario. El proceso de transformar solicitudes y resultados de un nivel a otro se denomina Correspondencia o Mapeo de datos (data mapping). Con 3 niveles de arquitectura, existen 2 etapas de transformación:

Externa / Conceptual: permite el paso de una vista externa específica a la vista conceptual y viceversa.

Conceptual / Interna: permite el paso de la vista conceptual a la base de datos almacenada y viceversa.

Page 7: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Esquema externo p/programa Vtas de Dpto Esquema externo p/programa Relación de empleados

Concepto Depto Cantidad Nombre Depto

Esquema Conceptual Empleados Artículos

DNI Nombre Depto ... Nro Concepto p/p .. Vtas

DNI Nro Cantidad Fecha ... Esquema de Indices Archivo d/Vtas Datos codificados para Indice p/empleados DNI Nro Cantidad Fecha ...

Clave Puntero Archivo d/empleados Indice p/artículos Datos codificados para

Clave Puntero DNI Nombre Depto ,,,

ARQUITECTURA DE TRES ESQUEMAS

BASE DE DATOS ALMACENADA

Correspondencia externa/conceptual

Correspondencia conceptual/interna

...VISTA EXTERNA_1 VISTA EXTERNA_n

USUARIOS FINALES

NIVEL EXTERNO

NIVEL CONCEPTUAL

ESQUEMA CONCEPTUAL

–Interdependencia lógica–

NIVEL INTERNO ESQUEMA INTERNO

–Interdependencia física–

Page 8: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Indice p/vtas Archivo d/Artículos

Clave Puntero Datos codificados para Nro Concepto p/p ,,,

Independencia de datosSe llama independencia de los datos a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin afectar para nada la definición del esquema en el nivel inmediatamente superior.

Independencia física de los datos es la capacidad de modificar el esquema físico tanto en la estructura del archivo como en las características de los campos, sin obligar que se vuelvan a escribir los programas de aplicaciones.

Independencia lógica de los datos es la capacidad de variar el esquema conceptual sin necesidad de que se vuelvan a escribir de nuevo los programas de aplicaciones. Las modificaciones en el nivel conceptual son necesarias cuando se cambia la estructura lógica de la base de datos.

Características deseables de un SGBD

1) Control de redundancia: en la creación de programas con procesamiento de archivos, cada grupo de usuarios mantiene sus propios archivos para manejar sus aplicaciones de procesamiento de datos. Una buena parte de los datos se almacenaría dos veces: una vez

Usuario A1 Usuario A1 Usuario B1 Usuario B2 Usuario B3

Subesquema Externo A Subesquema Externo B

Correspondencia Externa / Conceptual

Vista Conceptual

Correspondencia Conceptual / Interna

SGBD

Esquema Externo

Esquema Conceptual

Esquema Interno

Page 9: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

en los archivos de cada grupo de usuarios. Otros grupos de usuarios podrían duplicar buena parte de estos datos o todo en sus propios archivos. A veces, ante la redundancia de almacenamiento de los mismos datos provoca varios problemas. En primer lugar es necesario realizar una misma actualización lógica varias veces, una vez en cada archivo en el que se registran datos. Esto implica una duplicación de trabajo. En segundo lugar se desperdicia espacio de almacenamiento al guardar los mismos datos en varios lugares, y este problema puede ser grave si las BD son demasiado grandes. En tercer lugar, es posible que los archivos que representan los mismos datos se vuelvan inconsistentes, quizás porque una actualización se haya aplicado a ciertos archivos pero no a otros. Con el enfoque de BD, las vistas de los diferentes grupos de usuarios se integran durante el diseño de la BD. Para conservar la consistencia debe crearse un diseño que almacene cada dato lógico en un solo lugar de la BD. Ello evita la inconsistencia y ahorro de espacio de almacenamiento. En algunos casos puede convenir la redundancia controlada para mejorar el rendimiento de las consultas. Si colocamos juntos todos los datos, no tendremos que buscar en varios archivos los datos que deseamos obtener. En tales casos, el SGBD deberá ser capaz de controlar esta redundancia para que no haya inconsistencia entre los archivos.

2) Restricción de los accesos no autorizados: cuando muchos usuarios comparten una misma BD, es probable que no todos tengan la autorización para tener acceso a toda la información que contiene. Por ejemplo, es común considerar que los datos financieros sean confidenciales y que solo ciertas personas puedan tener autorización para tener acceso a ellos. Además, es posible que solo algunos usuarios tengan permiso para recuperar datos, en tanto que a otros se les permita obtenerlos y actualizarlos. Por lo tanto es preciso controlar el tipo de operaciones de acceso ya sea obtención o actualización. Por lo regular, a los usuarios o grupos de usuarios se les asigna números de cuenta protegidos con contraseñas, que son los mismos que sirven para tener acceso a la BD. El SGBD debe contar con un subsistema de seguridad y autorización que permita al ABD crear cuentas y especificar restricciones para ellas. El SGBD deberá entonces obligar automáticamente al cumplimiento de dichas restricciones. Cabe señalar que el mismo tipo de controles se puede aplicar al software del SGBD.

3) Suministro de almacenamiento persistente de objetos y estructuras de datos de programas: una aplicación de la BD consiste en ofrecer almacenamientos persistentes para objetos y estructuras de datos de programas. Este es una de las principales razones de que se hayan creado los SGBD orientados a objetos. Los valores de las variables de un programa se desechan una vez que se termina a menos que el programador explícitamente los almacene en archivos permanentes. Para ello, suele requerirse la conversión de esas estructuras complejas a un formato adecuado para su almacenamiento en archivos. Cuando hay que leer otra vez estos datos, el programador debe convertir del formato de archivo a la estructura de variables del programa. El almacenamiento persistente de objetos y estructuras de datos, es una función importante para los sistemas de BD. Los SGBD tradicionales a menudo, adolecían del llamado problema de incompatibilidad de impedancia, porque las estructuras de datos proporcionadas por el

Page 10: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

SGBD eran incompatibles con las del lenguaje de programación. Los sistemas de BD orientados a objetos, suelen ofrecer compatibilidad de las estructuras de datos con uno o más lenguajes de programación orientada a objetos.

4) Capacidad de realizar inferencias y acciones usando reglas: otra aplicación de los sistemas de BD, consiste en ofrecer recursos para definir reglas de deducción que permitan deducir o inferir información nueva a partir de los datos almacenados. A estos sistemas se los conoce como BD deductivas. Por ejemplo, puede haber reglas complejas en la aplicación del minimundo para determinar cuando un estudiante está a prueba. Estas reglas se pueden especificar de manera decorativa como reglas de deducción, con cuya aplicación será posible determinar cuáles estudiantes están a prueba. En un SGBD tradicional se tendrá que escribir un programa por procedimientos explícito para apoyar tales aplicaciones. Pero si cambian las reglas del minimundo, casi siempre es más fácil modificar las reglas de deducción declaradas que volver a codificar los programas por procedimientos.

5) Suministro de múltiples interfaces de usuario: muchos tipos de usuarios con diversos niveles de conocimientos técnicos utilizan las BD, el SGBD debe ofrecer diferentes interfaces. Entre estas podemos mencionar los lenguajes de consulta para usuarios esporádicos, las interfaces de lenguaje de programación para programadores de aplicaciones, las formas y códigos de órdenes para los usuarios paramétricos y las interfaces controladas por menús y en lenguaje natural para los usuarios autónomos.

6) Representación de vínculos complejos entre los datos: una BD puede contener numerosos conjuntos de datos que están relacionados entre sí de muchas maneras. El registro de López en el archivo estudiante se relaciona con cuatro registros del archivo informe_notas. De manera similar, cada registro de sección se relaciona con un registro de curso y también con varios registros de informe_notas, uno por cada estudiante que haya concluido la sección. Es preciso que el SGBD pueda representar diversos vínculos complejos de los datos y también obtener y actualizar con rapidez y eficiencia datos que están mutuamente relacionados.

7) Garantizar el cumplimiento de las restricciones de integridad: la mayor parte de las aplicaciones de BD, tienen ciertas restricciones de integridad que deben cumplir los datos. El SGBD debe ofrecer recursos para definir tales restricciones y hacer que se cumplan. La forma más simple de restringir consiste en especificar un tipo de dato para cada elemento de información, por ejemplo, podemos especificar que el tipo de valor del elemento grado dentro de cada registro de estudiante debe ser entero entre 1 y 5, y que el valor de nombre debe ser una cadena de no más de 30 caracteres alfabéticos. Otro tipo de restricción compleja implica especificar que un registro de un archivo debe relacionarse con registros de otros archivos. Por ejemplo, podemos decir que todo registro de sección, debe estar relacionado con un registro de curso. Otro tipo de restricción especifica, sería que los valores de los elementos de información sean únicos. Por ejemplo, cada registro de curso debe tener un valor único de numcurso. Estas restricciones se derivan de la semántica de los datos y del minimundo que representan. Es responsabilidad de los diseñadores de la BD, identificar las restricciones de integridad durante el diseño. Algunas

Page 11: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

restricciones se pueden especificar en el SGBD, el cual hará automáticamente que se cumplan; otras pueden requerir verificaciones mediante programas de actualización o en el momento en que se introducen los datos. Es posible introducir erróneamente un dato sin violar las restricciones de integridad. Por ejemplo, si un estudiante obtiene una nota de A pero se introduce una C en la BD, el SGBD no podrá descubrir este error automáticamente porque C es un valor permitido del tipo de datos de notas. Esta clase de errores solo puede descubrirse manualmente y corregirse después de actualizada la BD. El SGBD puede rechazar automáticamente una nota de X, porque este no es un valor permitido para el tipo de datos de notas.

8) Suministro de copias de seguridad y recuperación: todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. Para ello, está el subsistema de respaldo y recuperación del SGBD; por ejemplo, si el sistema falla mientras se está ejecutando un complejo programa de actualización, el subsistema de recuperación se encargará de asegurarse de que la BD se restaure al estado en el que estaba antes de que comenzara la ejecución del programa. Como alternativa, el subsistema de recuperación puede asegurarse de que el programa reanude su ejecución en el punto en que fue interrumpido, de modo que su efecto completo se registre en la BD.

Lenguajes del SGBDUna vez diseñada la BD y elegido el SGBD, (que nos proporciona el lenguaje y las vistas

internas correspondientes según donde se lo vaya a aplicar) podemos distinguir los siguientes lenguajes:

1) Lenguaje de Definición de Datos (DDL): cuando en los SGBD no existe una separación de Niveles (interno y conceptual), se utiliza el DDL. En caso de que exista una separación de estos Niveles, este lenguaje servirá solo al Esquema Conceptual. Aunque en la mayoría de los SGBD el DDL se utiliza para describir el esquema conceptual como el externo.

2) Lenguaje de Definición de Almacenamiento (SDL): se utiliza para especificar el Nivel Interno.

3) Lenguaje de Definición de Vistas (VDL): se utiliza para especificar las Vistas de los usuarios y su correspondencia con el Esquema Conceptual.

4) Lenguaje de Manipulación de Datos (DML): es utilizado para realizar las operaciones de manipulación de datos más comunes (recuperación, inserción, eliminación y modificación). Existen dos tipos:

a. LMD de Alto Nivel o de No Procedimiento: utiliza de manera independiente para operaciones complejas de la BD. También se lo llama DML de conjunto. Las consultas especifican que datos hay que obtener y no cómo obtenerlos.

b. LMD de Bajo Nivel o de Procedimiento: es cuando al DML se le incorpora un Lenguaje de Programación, obtiene registros individuales de las BD y los procesa por separado. También se le llama DML de Registro por Registro.Siempre que las órdenes de un DML (de Alto o Bajo Nivel) se incorporan a un

Lenguaje de Programación, se le denomina Lenguaje Anfitrión y al DML Sublenguaje de Datos.

Page 12: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Los usuarios finales, para especificar sus solicitudes, emplean el Lenguaje de Consulta de Alto Nivel, mientras que los programadores utilizan el DML en su forma incorporada (Lenguaje Anfitrión).Lenguaje Anfitrión = Ordenes del DML (Alto o Bajo) + Lenguaje de ProgramaciónLenguaje Integrado = Lenguaje Anfitrión + Sublenguaje de Datos

Interfaces del SGBDLas interfaces del SGBD son lenguajes de programación que permiten la interacción entre la BD y el usuario. Entre las interfaces se pueden distinguir:

1) Interfaces para navegación basados en menú: presentan al usuario listas de opciones, llamadas menú, que guían al usuario para formular solicitudes. Los menús hace innecesario memorizar las órdenes, pues permiten construir la solicitud paso a paso, eligiendo la opción que el menú presenta.

2) Interfaces basados en formularios: presentan un formulario a cada usuario, se llenan todos los espacios de la forma para insertar nuevos datos, o bien se llenan solo ciertos espacios para obtener datos, en cuyo caso el SGBD obtendrá los registros que coincidan con los datos específicos.

3) Interfaces graficas de usuario: presentan al usuario los esquemas en forma de diagrama, por lo tanto, se puede especificar una consulta manipulando el diagrama a través de un dispositivo apuntador para escoger ciertas partes del diagrama.

4) Interfaces de lenguaje natural: estas aceptan solicitudes escritas. Suelen tener su propio esquema. La interfaz consulta las palabras de su esquema para interpretar la solicitud. Si la interpretación tiene éxito, la envía al SGBD para su procesamiento, caso contrario le inicia un diálogo con el usuario para esclarecer la solicitud.

5) Interfaces para usuarios paramétricos: los usuarios como los cajeros tienen un conjunto pequeño de operaciones que deben realizar repetidamente. Generalmente se incluye un conjunto de órdenes abreviadas con el fin de reducir al mínimo el número de digitaciones requeridas para cada solicitud.

6) Interfaces para el ABD: los sistemas de BD contienen órdenes privilegiadas que solo el personal de ABD puede utilizar. Entre ellas están las órdenes para crear cuentas bancarias, establecer los parámetros del sistema, otorgar autorizaciones a las cuentas, reorganizar la estructura de almacenamiento de una BD, etc.

Clasificación de los SGBDExisten varios criterios:

Según el modelo de los datos en que se basa: o Relacional: representa una BD como una colección de tablas. Cada una de las

cuales se puede almacenar en forma de un archivo individual. Casi todas las BD relacionales tienen lenguajes de consulta de alto nivel y manejan una forma limitada de vistas de usuarios.

Page 13: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

o Red: representa los datos como tipos de registros y también un tipo de vínculo llamado tipo de conjunto. Tiene un lenguaje de registro por registro asociado que se debe incorporar en un lenguaje de programación, teniendo así un lenguaje anfitrión.

o Orientado a Objetos: define una base de datos en términos de objetos, sus propiedades y sus operaciones. Todos los objetos que tienen la misma estructura y comportamiento pertenecen a una clase, y las clases se organizan en jerarquías (o gráficos acíclicos) las operaciones de cada clase se especifican mediante procedimientos predefinidos denominados métodos.

o Jerárquico: representa los datos como estructura jerárquica de árbol. Cada jerarquía representa varios registros relacionados entre sí.

Según el número de usuarios a los que da servicio el sistema:o Sistema monousuario: solo atiende a un usuario a la vez.o Sistema multiusuario: atiende a varios usuarios al mismo tiempo.

Según el número de sitios en los que está distribuida la BD:o Centralizados: los datos se almacenan en una sola computadora, pero pueden

atender a varios usuarios.o Distribuidos (SGBDD): la BD real y el SGBD pueden estar distribuidos en varios

sitios conectados por una red de computadora. Según el costo. Según el camino de acceso de que dispone para almacenar los archivos.

Según sean sus propósitos generales o propósitos especiales: cuando el rendimiento es de primordial importancia. Se diseña y se construye un SGBD de propósito especial, el cual no servirá para otras aplicaciones

Sistema de Administración de Base de Datos (DBMS/SGBD/SABD)

El sistema de administración de BD (DBMS/SABD) es el conjunto de programas que maneja todo acceso a la BD. Lo que sucede es lo siguiente:

1) Un usuario solicita el acceso empleando algún Sublenguaje de datos determinado.2) El DBMS interpreta esa solicitud y la analiza.3) El DBMS inspecciona en orden el esquema externo de ese usuario, la correspondencia

externa conceptual asociada, el esquema conceptual, la correspondencia conceptual interna y la definición de la estructura de almacenamiento.

4) El DBMS ejecuta las operaciones necesarias sobre la BD almacenada.

Las funciones del DBMS, son:1) Definición de datos: el DBMS debe ser capaz de aceptar definiciones de datos o sea un

esquema externo, esquema conceptual, esquema interno y todas las correspondencias asociadas, en versión fuente y convertirlas en la versión objeto apropiado.En otras palabras, el DBMS debe incluir entre sus componentes un procesador DDL, o compilador DDL en el sentido que deba poder utilizar este conocimiento para analizar y responder a las peticiones de manipulación de datos.

2) Manipulación de datos: 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.

Page 14: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

En otras palabras, el DBMS debe incluir un componente procesador DML o compilador DML para tratar con el DML (lenguaje de manipulación de datos).En general, las peticiones DML pueden ser "planeadas" o "no planeadas":

a. Petición planeada: es aquella cuya necesidad se previó mucho tiempo antes de que tuviera que ejecutarse por primera vez. El ABD habrá afinado con toda probabilidad el diseño físico de la BD a fin de garantizar un buen desempeño para estas solicitudes.

b. Petición no planeada: es una consulta ad hoc o sea una solicitud cuya necesidad no se previó, sino que surgió de improviso. El diseño físico de la BD puede ser o no ideal para la solicitud específica de que se trate. El logro del mejor desempeño posible con solicitudes no planeadas representa un reto considerable para el DBMS.

3) Seguridad e integridad de los datos: el DBMS debe supervisar las solicitudes de los usuarios y rechazar los intentos de violar las medidas de seguridad e integridad definidas por el ABD.

4) Recuperación y concurrencia de datos: el DBMS debe cuidar del cumplimiento de ciertos controles de recuperación y concurrencia.

5) Diccionario de datos: el DBMS debe incluir una función de diccionario de datos. Puede decirse que el diccionario de datos es una BD por derecho propio. El contenido del diccionario de datos puede considerarse como datos acerca de los datos, o sea, definiciones de otros objetos en el sistema y no solo datos en bruto. En el diccionario de datos se almacenan físicamente todos los diversos esquemas y correspondencias tanto en sus versiones fuentes como en las versiones objeto.

6) Desempeño: el DBMS deberá ejecutar todas las funciones recién identificadas en la forma más eficientemente posible.

Page 15: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Unidad IIEntidad

Entidad es una cosa del mundo real con existencia independiente y se puede clasificar en:1) Tangible o física: Por ejemplo: empleado, alumno, artículo.2) Intangible o conceptual: Por ejemplo, materia, cuenta corriente.

Cada entidad tiene propiedades específicas, llamadas atributos que la describen.

Entidades débilesLas entidades débiles son aquellas que no tienen atributo clave propio. Se identifican por

su relación con otras entidades específicas en combinación con algunos de los valores de sus atributos. Esta otra entidad se denomina propietario identificador y el tipo de vínculo que relaciona a ambas se denomina vínculo identificador del tipo de entidad débil. Siempre tiene una restricción de participación total con respecto a su vínculo identificador, porque una entidad débil no se puede identificar sin una entidad propietaria. Tienen clave parcial que es un atributo que identifica de manera única a la entidad débil, relacionadas con la entidad propietaria.

AtributoLos atributos son las características o propiedades que describen a una entidad; por

ejemplo, nombre, apellido, domicilio, de un paciente en particular. Podemos distinguir los siguientes tipos de atributos:

1) Simple o compuestos:a. Atributo simple o atómico: es un valor único el cual no admite división. Por

ejemplo, el apellido de una persona.b. Atributo compuesto: se pueden dividir en componentes más pequeños. Por

ejemplo, el domicilio en calle, nº, ciudad, país y código postal. El atributo compuesto es una concatenación de atributos simples.

2) Monovaluados o multivaluados:a. Atributo monovaluado: es un atributo que tiene un solo valor para una entidad en

particular. Por ejemplo, la edad de las personas.b. Atributo multivaluado: es cuando un atributo que puede tener distintos números

o grados de valores para el mismo. Por ejemplo: título primario, secundario y terciario de un alumno.

3) Derivado o almacenado:a. Atributo derivado: es aquel valor que se obtiene a partir de otro atributo. Por

ejemplo, la edad a partir de la fecha de nacimiento.b. Atributo almacenado: es aquel que sirve para obtener otros atributos. Por

ejemplo, la fecha de nacimiento que permite obtener la edad.

En términos matemáticos, un atributo A de un tipo de entidad E cuyo conjunto de valores es V se puede definir como una función de E del conjunto potencia P(V) de V (es el conjunto de todos los subconjuntos de V):

A : E P(V)El valor del atributo A para la entidad e lo llamaremos A(e). La definición anterior abarca los atributos monovaluados y multivaluados, además de los nulos. Un valor nulo se representa con el conjunto vacio. En el caso de atributos monovaluados, A(e) solo puede ser un conjunto unitario (es un conjunto de un solo elemento) para cada entidad e de E, mientras que no existe esta restricción para los atributos multivaluados.

Page 16: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

En el caso de un atributo compuesto A, el conjunto de valores V es el producto cartesiano de P(V1), P(V2), … P(Vn) donde V1, V2 … Vn son los conjuntos de valores de los atributos componentes simples que constituyen A:

V = P(V1) x P(V2) x … x P(Vn)

*Los atributos multivaluados se muestran entre llaves { }. Los atributos compuestos se muestran entre paréntesis ( ).

VinculoUn vínculo se da cuando un atributo de una determinada entidad hace referencia a un

atributo de otra entidad. Por ejemplo, empleado pertenece a departamento. Utilizamos tres tipos de vínculos, según la relación de cardinalidad:

1) 1:1 uno a uno: una instancia de la vinculación E1 se corresponde con una instancia de la vinculación E2.

2) 1:N uno a N: una instancia de la vinculación E1 se corresponde con varias instancias de la vinculación E2.

3) M:N M a N: muchas instancias de la vinculación E1 se corresponde con varias instancias de la vinculación E2. Son las más difíciles de resolver. No todos los SGBD lo aceptan, por lo tanto se debe descomponer de N:1 y de 1:M.

Concepto de vínculo según la teoría de conjuntoUn tipo de vínculo R con n tipos de entidades (E1,E2,...,En) define un conjunto de

asociaciones entre estas entidades de estos n tipos de entidades.En términos matemáticos: R es un conjunto de ejemplares de vínculos rj, donde cada rj

asocia n entidades (e1,e2,...,en) y cada entidad ej de rj es miembro del tipo de entidades Ej, siendo 1 ≤ j ≤ n.

Por lo tanto, un tipo de vínculo R es una relación matemática sobre n tipos de entidades (E1,E2,...,En), que también puede definirse como un subconjunto del producto cartesiano E1 x E2 x ... x En.

Se dice que cada uno de los tipos de entidades (E1,E2,...,En) participa en el tipo de vínculos R y de manera similar, que cada una de las entidades individuales e1,e2,...,en participa en el ejemplar de vínculo rj=(e1,e2,...,en).

e1 •

e2 •

e3 •

e4 •

.

.

.

r1

r2

r3

r4

• d1

• d2

.

.

.

EMPLEADO

(entidad)

PERTENECE_A

(Vínculo)

DEPARTAMENTO

(entidad)

Ej. del vínculo PERTENECE_A

Page 17: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Concepto de restricciones de participación (Vínculos) Las restricciones son las que limitan las posibles combinaciones de las entidades que

pueden participar en los ejemplares de vínculos.Podemos distinguir dos tipos de restricciones de vínculos:

1) Razón de cardinalidad para vínculos binarios: especifica el número de ejemplares de vínculos en los que puede participar una entidad. Las razones de cardinalidad más comunes en el caso de vínculos de tipo binario son 1:1, 1:N, M:N.

2) Restricción de participación y dependencia de existencia: especifica si la existencia de una entidad depende de que esté relacionada con otra entidad a través del tipo de vínculo. Hay dos clases de restricciones de participación:

a. Participación total: cuando la totalidad de instancias de una entidad esta relacionada con al menos una instancia de la otra entidad vinculante.

b. Participación parcial: cuando algunas o parte de las instancias de una entidad esta relacionada con una instancia de la otra entidad vinculante, pero no necesariamente todas.

Ejemplo: consideremos dos entidades: Empleados y Departamentos.El vínculo PERTENECE A: tiene una participación total ya que todos los empleados pertenecen a un departamento.El vínculo DIRIGE A: la participación es parcial ya que solo algunos empleados dirigen los departamentos y el resto son empleados pero no dirigen.En los diagramas ER, la participación total se indica con una línea doble, y la participación parcial se indica con una línea simple.

Atributo de un vínculoLos tipos de vínculos también pueden tener atributos, similares a los de los tipos de entidad.

En el caso de tipo de vinculo 1:1 el atributo del vinculo se puede trasladar a una de las entidades participantes, por ejemplo el atributo fecha_inicio del vinculo DIRIGE puede ser atributo tanto de EMPLEADO como de DEPARTAMENTO, aunque conceptualmente pertenece a DIRIGE.

En el caso de un tipo de vinculo 1:N el atributo de este solo se podrá trasladar a la entidad del lado N, por ejemplo si el vinculo TRABAJA_PARA tuviese un atributo fecha_inicio dicho atributo se puede incluir como atributo de empleado.

En el caso de un tipo de vinculo M:N algunos atributos pueden estar determinados por la combinación de las entidades participantes. Tales atributos deberán especificarse como atributos de vínculo, por ejemplo el atributo horas del vínculo M:N TRABAJA_EN el número de horas que un empleado trabaja en un proyecto lo determina una combinación empleado-proyecto, y no cualquiera de las dos entidades individualmente.

ValorEl valor, es el posible dato que puede tener el atributo. Por ejemplo, el nº de empleado

43262 valor.

DominioUn dominio D es un conjunto de valores “atómicos” (indivisibles). También resulta útil

especificar un nombre para el dominio que ayude a interpretar sus valores. También debe especificarse un tipo de datos o formato para cada dominio.

Así pues cada dominio debe tener un nombre, un tipo de datos y un formato. También puede incluirse información adicional para interpretar los valores de un dominio por ej. un

Page 18: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

dominio numérico como pesos de personas deberá especificar las unidades de medición: libras o kilogramos.

PropiedadLa propiedad, es el par ordenado formado por (atributo, valor). Por ejemplo, (codmat,

007).

Atributo NuloUn atributo es nulo cuando no posee un valor aplicable. Por ejemplo, el número de piso de

una persona que vive en una casa.

Atributo Identificador o Atributo ClaveEl atributo identificador es el que permite identificar de manera única a cada entidad. Por

ejemplo, el DNI de una entidad persona.

Instancia de una EntidadLa instancia de una entidad, representa la información o los datos de una entidad. Son

todos los atributos con sus valores, los que constituyen una instancia.

Propiedad IdentificadoraLa propiedad identificadora es el par ordenado formado por (atributo identificador, valor).

Ítem Elemental de DatosEl ítem elemental de datos está formado por una tupla conformada por (entidad, atributo,

valor). Por ejemplo, (empleado, DNI, 324442).

Registro NaturalEl registro natural, es el conjunto de ítem elemental de datos.

Archivo NaturalEl archivo natural, es el conjunto de registros naturales.

Modelos de datos conceptuales de Alto Nivel para Diseño de Bases de DatosLos modelos de datos conceptuales de alto nivel para diseño de BD, constan de cuatro

pasos:1) Es la recolección y análisis de requerimientos durante el cual, el diseñador entrevista a los

futuros usuarios de la BD para entender y documentar sus requerimientos de información y en paralelo con las especificaciones de los requerimientos de datos, conviene especificar los requerimientos funcionales que consisten en las operaciones definidas por el usuario que se aplicarán a la BD y que incluyen la obtención de datos y la actualización. Se acostumbra a usar técnicas como diagramas de flujo de datos, diagramas de secuencia, escenarios, etc. para especificar los requerimientos funcionales.

2) Consiste en el diseño del esquema conceptual para la BD mediante un modelo de datos conceptual de alto nivel. Este paso se denomina diseño conceptual de la BD. El esquema conceptual es una descripción concisa de los requerimientos de información de los usuarios y contiene descripción detallada de los tipos de datos, los vínculos y las restricciones. Permite a los diseñadores de la BD concentrarse en especificar las

Page 19: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

propiedades de los datos, sin tener en cuenta el almacenamiento y pudiendo así, elaborar un buen diseño conceptual. En este momento se puede modificar el esquema conceptual sino resulta factible especificar los requerimientos funcionales en el esquema inicial.

3) Este paso se denomina diseño lógico de la BD o transformación de los modelos de datos. Consiste en implementar la BD con un SGBD comercial. El esquema conceptual se traduce del modelo de datos de alto nivel al modelo de datos de implementación del SGBD.

4) Es la fase de diseño físico de la BD durante el cual se especifica la estructura de almacenamiento interna, los caminos de acceso y la organización de los archivos de la BD, en paralelo con estas actividades, se diseñan e implementan programas de aplicación en forma de transacciones de BD.

Minimundo

RECOLECCION Y ANALISIS DE REQUERIMIENTOS

Requerimientos de la BDRequerimientos funcionales

Específico para cada SGBD

Independiente del SGBD

ANALISIS FUNCIONAL DISEÑO CONCEPTUAL

Esquema conceptual (en un modelo de datos de alto nivel)

Especificación de transacciones de alto nivel

DISEÑO LOGICO (TRANSFORMACION DE MODELO DE DATOS)

Esquema (conceptual) lógico (en el modelo de datos de un SGBD)

DISEÑO DE PROGRAMAS DE APLICACION

DISEÑO FISICO

Esquema interno (para el mismo SGBD)

IMPLEMENTACION DE TRANSACCIONES

Programas de aplicación

Page 20: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Concepto del Modelo ENTIDAD – RELACIONEl modelo de entidad-relación es un modelo de datos conceptual de alto nivel muy

utilizado. Este modelo se emplea en el diseño conceptual de aplicaciones de BD y en muchas herramientas de diseño de BD aplican sus conceptos. En el modelo relacional una fila se denomina tupla, una cabecera de columnas es un atributo y la tabla se denomina relación; el tipo de datos que describe los tipos de valores que pueden aparecer en cada columna se llama dominio. El modelo E-R permite representar las entidades y las relaciones a través de un modelo gráfico.

NombreProy

PROVEEDOR SUMINISTRAR PROYECTO

Cantidad

NomProv

NombreProyPROYECTO

EJ. DE UN MODELO DE E-R

NOTACION PARA LOS DIAGRAMAS E-R

(máx, min)

1

Tipo de entidades

Tipo de entidades débiles

Tipo de vínculos

Tipo de vínculos identificador

Atributo

Atributo clave

Atributo multivaluado

Atributo compuesto

E1 R E2

Atributo derivado

Participación total de E2 en R

E1 R E2Participación parcial

de E2 en R

N

R E2

Restricción estructural (máx,

mín) de la participación de E

en R

Page 21: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

MODELOS DE ORGANIZACIÓN DE INFORMACION Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional.

Modelo JerárquicoUtiliza dos conceptos principales de estructuración de datos: registros y vínculos padre-hijo.

1) Registros: es una colección de valores de campos que proporcionan información sobre la entidad. Los registros del mismo tipo se agrupan en tipos de registros, cada uno de los cuales recibe un nombre y su estructura es una colección de campos de ese nombre, cada uno de los cuales tiene un cierto tipo de datos como entero, real o cadena.Nodos Entidades Registros.

2) Vínculos Padre-Hijos: es un vínculo 1:N entre dos tipos de registros. El tipo de registro del lado 1 se denomina tipo de registro padre y el del lado N se denomina tipo de registro hijo. Por ejemplo, Artistas Relacione Vínculo padre-hijos.

Un esquema de la BD jerárquica consiste en varios esquemas jerárquicos donde cada uno comprende varios tipos de registros padre-hijos y varios tipos de vínculos padre-hijos. Los esquemas jerárquicos se representan en diagramas jerárquicos en los cuales los nombre de los registros aparecen en rectángulos y los tipos de vínculos se dibujan con líneas que conectan el tipo de registro padre y el tipo de registro hijo.

OcurrenciasUna ocurrencia del tipo de vínculo padre-hijo es un registro del tipo de registro padre y

varios tipos de registros hijos. O sea que son los valores que en un instante pueden tomar los registros. Ocurrencia valores registros.

Propiedades del Modelo JerárquicoPodemos distinguir las siguientes:

1) Un tipo de registros raíz de esquema jerárquico no puede participar como tipo de registro hijo en ningún tipo de vínculo padre – hijo.

2) Todo tipo de registro excepto la raíz, participa como tipo de registro hijo en uno y solo un tipo de vínculo padre – hijo.

3) Un tipo de registro puede participar como tipo de registro padre en cualquier cantidad de tipos de vínculos padre – hijo.

4) Un tipo de registro que no participa como tipo de registro padre en ningún tipo de vínculo padre – hijo se denomina hoja del esquema jerárquico.

DEPARTAMENTONOMBRED NUMEROD NOMBREGTE FECHAINICGTE

PROYECTONOMBREPR NUMEROP LUGARP

EJ. DE UN ESQUEMA JERARQUICONombre del padre o raíz

Atributos (conjunto de

campos)

Numero de hijos

Page 22: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

5) Si un tipo de registro participa como padre en más de un tipo de vínculo padre – hijo, entonces sus tipos de registros hijos están ordenados y el ordenamiento es de izquierda a derecha.

Desventajas que presenta el Esquema Jerárquico1) Solo es aplicable para vinculaciones 1:N, M:N no se puede representar directamente

porque los vínculos son 1:N y un tipo de registro no puede participar como hijo en dos o más vínculos padre – hijos distintos. En el modelo jerárquico es posible manejar los vínculos M:N si se pueden duplicar los ejemplares de registros hijos, o sea incorporar una redundancia controlada o mínima.

2) Ningún registro a excepción de la raíz, puede existir si no está relacionado con un padre. Ningún registro hijo se puede eliminar de su padre, pero la eliminación de un padre causa la eliminación de todos sus hijos.

ArbolesUn árbol, es un esquema jerárquico en el que existen muchas ocurrencias jerárquicas,

cada una de las cuales se llama árbol de ocurrencias, cuya raíz es un solo registro del tipo de registro raíz. El árbol de ocurrencia contiene todas las ocurrencias de registros hijos del registro raíz, todas las ocurrencias del registros hijos dentro de los vínculos padre – hijo de cada uno de los registros hijo del registro raíz y así sucesivamente hasta los registros hojas. En una estructura árbol se dice que la raíz tiene nivel 0. El nivel de un nodo no raíz es el nivel del nodo padre ± 1. Por lo tanto, un árbol es un conjunto de nodos, en donde existe un nodo llamado raíz y del cual va a derivar el resto de los nodos, los cuales formarán parte de los subárboles del árbol principal. La terminología es:

Grado: es la cantidad de hijos que tiene un nodo. El grado de un árbol está dado por el nodo de mayor grado.

Nivel: se dice que la raíz se encuentra en el nivel 0 y el resto de los nodos se encuentran en un nivel ± 1 con respecto a su anterior.

Profundidad: está determinada por el máximo nivel en que se encuentran las hojas. Árbol binario: son los más utilizados. Es aquel en el que podemos distinguir un subárbol a

la izquierda y un subárbol a la derecha y el grado del árbol debe ser 2. Estos pueden clasificarse en:

o Árbol binario oblicuo: son los que están formados solamente por un subárbol ya sea a la izquierda o a la derecha.

o Árbol binario completo: son aquellos en donde todos los nodos son de grado 2.o Árbol binario incompleto: son aquellos en donde existen nodos que no son de

grado 2.

Page 23: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

CorrespondenciaLa correspondencia puede ser:

1) Simple: es cuando la correspondencia es de hijo a padre o sea que decimos que un hijo tiene un solo padre.

2) Compleja: es cuando la correspondencia es de padre a hijo, o sea de uno a muchos, porque un padre puede tener varios hijos.

Camino JerárquicoUn camino jerárquico es la secuencia de nodos que parten de la raíz, siendo completo

cuando llega a la hoja.

RetamaUna retama es el conjunto de caminos jerárquicos. Son todos los caminos jerárquicos de

un subárbol

MODELO DE REDES. CARACTERISTICASEl modelo de redes es más flexible que la estructura de árbol porque un nodo hijo puede

tener más de un padre (N:1). Existen dos estructuras de datos en el modelo de redes:1) Registros: consiste en un grupo de valores de datos relacionados entre sí. Se clasifican en

tipos de registros, cada uno de los cuales describe la estructura de un tipo de registro que almacena el mismo tipo de información. Los elementos de información pueden ser de dos tipos:

a. Reales: porque sus valores se almacenan verdaderamente en los registros.b. Virtuales o derivados: porque se obtienen a partir de los reales mediante un

cálculo.2) Conjunto: es un grupo repetitivo que permite incluir un conjunto de valores compuestos

para un elemento de información en un solo registro. Es el nombre de la vinculación entre los registros propietarios y los registros miembros, los cuales forman pares ordenados. El conjunto es vacío cuando no tiene ningún miembro que cumple con la vinculación. La ocurrencia de un conjunto, es la relación entre un registro del tipo de registro propietario con el conjunto de registros del tipo de registro miembro (1:N). Un registro miembro no puede pertenecer a dos ocurrencias distintas.

GRAFOS. ESTRUCTURA DE GRAFOS.El modelo de datos de red utiliza grafos como estructura de datos para representar las

entidades y sus vinculaciones.Los grafos, son pares ordenados formados por un conjunto de vértices y un conjunto de

aristas (entidades, vinculaciones).

GRAFOS DIRIGIDOSLos grafos son dirigidos cuando tiene aristas con orientación, por lo tanto se puede

identificar un vértice origen (a1) y un vértice destino (a2).

GRAFOS CICLICOSUn grafo cíclico es aquel que tiene como entidad descendiente a un antepasado. Si existe

una única entidad, el ciclo se llama lazo.

Page 24: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

RELACION PROPIETARIO MIEMBROUn registro miembro (hijo) puede tener varios registros propietarios (padres). Sus

características son:1) Tipo del conjunto: la relación entre un registro propietario y sus registros miembros se

etiqueta con un nombre de conjunto.2) Propietario y miembro: el registro padre de un conjunto se llama propietario del conjunto. Un

conjunto consiste en un solo registro propietario y uno o más registros miembros.3) Registro múltiple: un conjunto de tipo miembro puede asociarse con más de un tipo

propietario.4) Niveles múltiples: un registro puede ser miembro en un tipo de conjunto y al mismo tiempo

propietario en otro tipo de conjunto.

CICLOSSe dice que existe un ciclo cuando un nodo tiene como descendiente un antepasado, de

modo que la relación padre-hijo se representan a través de un lazo entrelazado. Los SGBD no pueden trabajar con ciclos por lo que se rompe el ciclo y se usa un nodo conector.

LAZOUn lazo, es un ciclo particular en el cual el propietario y el miembro es del mismo tipo de

registro.

RELACIONES O VINCULOS MULTIPLESLas vinculaciones binarias se representan gráficamente mediante líneas únicas, no

identificadas. La situación se complica cuando existen varios vínculos entre los mismos datos.

Nº equipo Nº proyecto

LAZO

Proyecto

empleado

equipamiento

CICLO

Page 25: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Unidad III

MODELO RELACIONAL En el modelo relacional (es el modelo más usado), la BD es representada como una

colección de relaciones.El orden de sus atributos no es importante mientras se mantenga la correspondencia entre atributo y valor. Si se visualiza una relación como una tabla de valores, cada fila representa un registro, el cual es una colección de valores de datos relacionadas entre si. Dichos valores se pueden interpretar como hechos que describen una entidad, y las columnas representan campos (atributos). El nombre de la tabla y los nombres de las columnas ayudan a interpretar el significado de los valores que están en las filas de la tabla. Los nombres de las columnas especifican como interpretar el significado de los valores de datos de cada fila. Todos los valores de una columna tienen el mismo tipo de dato. Una fila se denomina tupla, una cabecera de columna es un atributo y la tabla es una relación. El rango de los valores que puede tomar el tipo de dato que puede aparecer en cada columna se llama dominio el cual debe tener un nombre y un tipo de dato. Una estructura de relación queda definida a partir de un esquema de relación. En un esquema de relación el número de atributos sirve para describir el grado de relación. En el esquema de relación R (A1, A2,..., An); r es un conjunto de tuplas r={t1, t2,..., tn} en donde cada tupla t es una lista de valores, t={v1, v2,..., vn}. El valor de cada casillero se denomina valor atómico porque es indivisible, no puede ser compuesto ni multivaluado. El valor nulo es aquel que se desconoce o no existe. Para relacionar información de dos tablas se utilizan valores coincidentes. Por ejemplo: ESTUDIANTE (DNI, nombre, apellido, dirección)

Existen diferencias importantes entre las relaciones y los archivos: Las tuplas de una relación no tienen un orden específico, en cambio en los registros de un

archivo, se almacenan físicamente en el disco de modo que siempre existe un orden entre ellos.

Las tuplas no forman parte de la definición de una relación, porque la relación intenta expresar los hechos en un nivel lógico o abstracto, ya que en realidad no existe para preferir que un valor aparezca antes que otro en una tupla.

ESTUDIANTES MATERIAS PROFESORES

BASE DE DATOS RELACIONAL

Page 26: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Una tupla de la relación puede ser identificada a través del valor de un atributo clave (siempre va subrayada). Además puede existir una clave secundaria.

RESTRICCIONES RELACIONALES1) Restricción de dominio

Las restricciones de dominio especifican que el valor de cada atributo A debe ser un valor atómico del dom(A).Los tipos de datos asociados a los dominios por lo regular incluyen los tipos de datos numéricos estándar de los números enteros (como entero corto, entero, entero largo) y números reales (flotante y flotante de doble precisión).También disponemos de caracteres, cadenas de caracteres de longitud fija y cadenas de caracteres de longitud variable, así como tipos de datos fecha, hora, marca de tiempo y dinero. Otros dominios posibles se pueden describir mediante un subintervalo de valores de un tipo de datos o como tipos de datos enumerado en el que se listan explícitamente todos los valores posibles.

2) Restricciones en la clave y restricciones sobre nulosPor definición todos los elementos de un conjunto son distintos; por tanto, todas la tuplas de una relación deben ser distintas. Por lo regular existen otros subconjuntos de atributos de un esquema de relación R con la propiedad de que no debe haber dos tuplas en un estado de relación r(R) con la misma combinación de valores para estos atributos. Supóngase que denotamos un subconjunto así de atributos con SC; entonces, para dos tuplas distintas cualesquiera t1 y t2 en un estado de relación r(R), tenemos la siguiente restricción: t1 [SC] ≠ t2 [SC].Todo conjunto de atributos SC se denomina superclave del esquema de relación R. Una superclave SC especifica una restricción de unicidad que significa que dos tuplas distintas en un estado r(R) no pueden tener el mismo valor para SC. Toda relación tiene por lo menos una superclave: el conjunto de todos sus atributos. Sin embargo, una superclave puede tener atributos redundantes, así que un concepto mucho mas útil es el de clave, que carece de redundancia. Una clave K de un esquema de relación R es una superclave de R con la propiedad adicional de que la eliminación de cualquier atributo A de K deja un conjunto de atributos K’ que no es una superclave de R. Por tanto, una clave es una superclave mínima, es decir, una superclave a la cual no podemos quitarle atributos sin que deje de cumplirse la restricción de unicidad.En general, un esquema de relación puede tener mas de una clave. En tal caso, cada una de ella se denomina clave candidata. Es habitual designar a una de las claves candidatas como clave primara de la relación, es conveniente elegir una clave primaria con un solo atributo o un número reducido de atributos. Esta es la clave candidata cuyos valores sirven para identificar las tuplas en la relación. Adoptaremos la convención de subrayar los atributos que forman la clave primaria de un esquema de relación.Hay otra restricción sobre los atributos que especifica si se permiten o no los valores nulos.

Page 27: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

3) Base de datos relacionales y esquemas de base de datosUn esquema de base de datos relacional S es un conjunto de esquemas de relaciones S:{R1, R2, … Rm} y un conjunto de restricciones de integridad RI.Un ejemplo de base de datos relacional seria: EMPRESA = {EMPLEADO, DEPARTAMENTO, LOCALIZACIONES_DEPT. PROYECTO, TREABAJA_EN, DEPENDIENTE}

Un estado de base de datos relacional de S es un conjunto de estados de relaciones BD = {r1, r2, …, rm} tal que cada ri es un estado de R y tal que los estados de relaciones ri satisfacen las restricciones de integridad especificadas en RI.

4) Integridad de entidades, integridad referencial y claves externasLa integridad de entidades establece que ningún valor de clave primaria puede ser nulo. Esto es porque el valor de la clave primaria sirve para identificar las tuplas individuales en una relación, el que la clave primaria tenga valores nulos implica que no podemos identificar algunas tuplas.La restricción de integridad referencial establece que una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en esa relación.Un conjunto de atributos CE (clave externa) en el esquema de relación R1 es una clave externa de R1 si satisfacen las dos reglas siguientes:

1. Los atributos de CE tienen el mismo dominio que los atributos de la clave primaria CP de otro esquema de relación R2, se dice que los atributos CE hacen referencia o se refieren a la relación R2.

2. Un valor de CE en una tupla t1 del estado actual r1(R1) ocurre como valor de CP en alguna tupla t2 del estado actual r2(R2) o bien es nulo. En el primer caso tenemos que t1 [CE] = t2[CP], y decimos que la tupla t1 hace referencia o se refiere a la tupla t2.R1 se denomina relación referenciante y R2 es la relación referenciada.

VENTAJAS DE ESTE MODELO1) Simplicidad de su representación.2) Ofrece flexibilidad para establecer relaciones de datos.3) Las consultas pueden ser manejadas de una manera eficiente.

CARACTERISTICAS DE ESTE MODELO1) Sencillez en el manejo de la información.2) Dentro de la relación no deben existir grupos repetitivos.3) Los datos son homogéneos por columnas.4) Las filas son diferentes. En cada una de las filas se representa un registro o una instancia

diferente.

Page 28: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

REPRESENTACION TABULARLa representación tabular es una manera de representar datos en tablas bidimensionales.

Se acepta una redundancia mínima o controlada. Para la vinculación de tablas, las cuales son matrices rectangulares que pueden ser descriptas matemáticamente.

PROPIEDADES GENERALES1) Cada entrada a la tabla representa un grupo diferente, es decir, no se repite.2) Son homogéneas por columnas, es decir, de la misma clase.3) Cada columna tiene nombre propio.4) Todas las filas son diferentes, no se admiten filas duplicadas.5) Tanto las filas como las columnas pueden ser consideradas en cualquier momento, de esta

manera no se verá afectado el contenido de información o semántica de cualquier función que utilice la tabla.

6) Sencillez en el manejo de la información.

TERMINOLOGIA1) Relación: es un archivo conceptual que consta de ocurrencias con la misma composición

de campos y puede ser representada mediante una tabla.2) Atributos: son los encabezados de las columnas que presenta una relación y es

equivalente a un campo, y son utilizados para describir una relación.3) Dominio: es el conjunto de valores posible que puede tomar el atributo.4) Tupla: se llama así a cada uno de los renglones de la tabla. Cada una representa la

ocurrencia del registro. Una relación está formada por un conjunto de tuplas. Si la relación tiene n columnas y m tuplas, se dice que es de grado n y consta de un conjunto de m tuplas.

5) Cardinalidad: es la cantidad de tuplas o filas que tiene una relación.6) Grado: es el número de columnas que tiene una relación.7) Clave: también conocida como llave, es un dato elemental en un registro al cual se lo

utiliza como identificador. Podemos distinguir las siguientes:a. Primaria: es cuando la clave identifica de manera exclusiva a un registro.b. Secundaria: es cuando no identifica de manera exclusiva a un registro. Se utiliza

para seleccionar a un grupo de registro que pertenece a un conjunto.

ALGEBRA RELACIONALEl álgebra relacional es un conjunto de operaciones que sirve para manipular relaciones

enteras. Estas operaciones sirven para seleccionar tuplas de relaciones individuales y para combinar tuplas vinculadas a partir de varias relaciones vinculadas a fin de especificar una consulta de la BD. El resultado de esta operación es una nueva relación, la cual podrá ser manipulada en una ocasión futura. Las operaciones del álgebra relacional se pueden clasificar en dos grupos:

Grupo 1: operaciones de la teoría de conjunto: estas se pueden aplicar al módulo relacional, porque las relaciones se definen como conjunto de tuplas, y pueden servir para

Page 29: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

procesar las tuplas de dos relaciones como conjuntos o sea para combinar de diversas maneras los elementos de dos conjuntos. Las más utilizadas son la unión, la intersección y diferencia, siendo estas operaciones binarias porque se aplican a dos relaciones. Las dos relaciones a las que se pueden aplicar estas operaciones relacionales deberán tener el mismo tipo de tuplas, esta condición se denomina compatibilidad de unión. Dada las relaciones R (A1, A2,..., An) y S (B1, B2,..., Bm) cumplen con la compatibilidad de unión si tienen el mismo grado n y su dom(A1)= dom(B1), esto significa que las dos relaciones tienen el mismo número de atributos y que cada par de atributos correspondientes tienen el mismo dominio. Dada dos relaciones que cumplen con la condición de compatibilidad de unión R y S podemos definir las siguientes operaciones de la teoría de conjuntos:

a) Unión: (RUS) el resultado es una relación que incluye todas las tuplas de R o S o en ambas. Las tuplas repetidas se eliminan.

b) Intersección: (R∩S) el resultado es una relación que tienen las tuplas comunes de R y S.

c) Diferencia: (R-S) el resultado es una relación que incluye las tuplas que están en R pero no en S.

d) Producto cartesiano: (RxS) en esta no es necesaria la compatibilidad de unión. Sirve para combinar tuplas de dos relaciones y de esta manera poder identificar las tuplas relacionadas entre sí. Dadas dos relaciones R (A1, A2,..., An) y S (B1, B2,..., Bm), el resultado de RxS es una relación Q con n+m atributos Q (A1, A2,..., An, B1, B2,..., Bm) en el mismo orden. La relación Q tiene una tupla por cada combinación de tuplas, una de R y una de S, por lo tanto, si R tiene mR tuplas y S tiene nS tuplas, RxS tendrá nS* mR tuplas.

2) Grupo 2: operaciones creadas específicamente para BD relacionales, incluyen:a. Operación seleccionar: sirve para seleccionar un subconjunto de las tuplas de una

relación que satisfacen una condición de selección de esta manera se seleccionan algunas filas y se desechan otras; la notación es: σ <condición de selección> (<nombre de la relación>). Dentro de la condición de selección se encuentra el nombre del atributo, el operador de comparación (=, <, >, ≤, ≥, ≠) y un valor del dominio del atributo. Estas condiciones pueden ser compuestas por operadores and, or, not. Como resultado de la operación de selección se obtiene todas las tuplas que se cumplen con la condición, esta operación es unaria, es decir, se aplica para una sola relación y el grado de la relación resultante será el mismo que el de la relación R por tener los mismos atributos que R, el número de tuplas de la relación resultante es menor o igual que la relación R.

b. Operación proyectar: selecciona ciertas columnas y desecha las demás. Se utiliza para conservar aquellos atributos que nos interesa, desechando el resto de las columnas. La notación es π <lista de atributos> (<nombre de la relación>). La lista de atributos, son los atributos de la relación R que queremos conservar y en el mismo orden en que aparezcan en la lista. El grado de la relación resultante está dado por

Page 30: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

el número de atributos que figura en <lista de atributos>. El número de tuplas de la relación resultante será menor (en caso de que existan tuplas repetidas y cuando no se incluya el atributo clave) o igual (porque se incluyó el atributo clave o no hubo tuplas repetidas) que la relación R, esta operación es unaria, es decir, se aplica en una sola relación.

c. Operación renombrar: ρ (rho). La operación renombrar es aquella que nos permite modificar el nombre de una relación, los nombres de los atributos, o ambos. Notación ρ S(B1,B2,…,Bn)(R) o ρS(R) o ρ(B1,B2,…,Bn)(R) donde el símbolo ρ se usa para denotar el operador renombrar, S es el nuevo nombre de la relación, y B1, B2 , … Bn

son los nuevos nombres de los atributos. La primera expresión renombra tanto la relación como sus atributos; la segunda relación renombra únicamente la relación; y la tercera renombra solo los atributos. Si los atributos de R son (A1,A2,…An) en ese orden, entonces cada Ai se renombra como Bi.

d. Operación reunión: (R ⋈S) sirve para combinar tuplas relacionadas de dos relaciones vinculadas, en una sola tupla. Permite procesar vínculos entre relaciones cuando exista más de una relación. La forma general de una operación de reunión con dos relaciones R (A1, A2,..., An) y S (B1, B2,..., Bm) es una relación Q con n+m atributos: Q (A1, A2,..., An, B1, B2,..., Bm), en ese mismo orden, Q tiene una tupla por cada combinación de tuplas (una de R y una de S), siempre que la combinación satisfaga la condición de reunión. A diferencia del producto cartesiano en el cual se incluyen todas las combinaciones de tuplas. Dentro de la <condición de reunión> se especifica el nombre del atributo de la relación R, el operador de comparación y el nombre del atributo de la relación S. Esta condición se evalúa para cada combinación de tuplas y aquellas que cumplan la condición se incluirán en la relación resultante Q como una sola tupla. Dentro de <condición de reunión> se pueden incluir varias condiciones mediante los operadores lógicos.

e. Operación división: es útil para un tipo especial de consultas, que se presenta a veces en aplicaciones de bases de datos. La operación división se aplica a dos relaciones R(Z) % S(X)= T(Y), donde X ⊆ Z (condición para realizar la división). Sea Y = Z – X (y por lo tanto Z = X ⋃ Y); es decir, sea Y el conjunto de atributos de R que no son atributos de S. El resultado de la división es una relación T(Y) que incluye una tupla t si hay tuplas tR que aparecen en R, con tR(Y) = t y con tR(X) = ts para cada tupla ts en S. Esto significa que, para que una tupla r aparezca en el resultado T de la DIVISIÓN, los valores de t deben aparecer en R en combinación con las tuplas de S.

Calculo Relacional El cálculo relacional es un lenguaje formal basado en la lógica matemática llamado cálculo

de predicado para las BD relacionales.

Diferencia entre Calculo Relacional y Algebra Relacional

Page 31: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

1) La principal diferencia es que en el cálculo relacional escribimos una expresión declarativa {t.NOMBREEMP , t.APELLIDO|Empleado (t) and t.SALARIO>50000} para especificar una solicitud de obtención de datos, mientras que en el álgebra relacional debemos escribir una secuencia de operaciones. R1 <- σ SALARIO > 50000 (EMPLEADO) R2 <- π NOMBREEMP, APELLIDO (R1)

2) En el álgebra relacional se especifica un cierto orden de las operaciones dentro de una expresión. Este orden sirve para evaluar la consulta, se especifica como debe obtenerse, funciona por procedimiento. En el cálculo relacional no se describe como evaluar una consulta. Una expresión del cálculo relacional especifica qué debe obtenerse, no cómo debe hacerse, por lo tanto se considera un lenguaje declarativo, es decir, que no funciona por procedimiento.

3) El poder de expresión de los dos lenguajes son idénticos, ya que cualquier obtención de datos que se puede especificar en el álgebra relacional también puede ser especificada en el cálculo relacional.

Algoritmo de transformación de ER en relacional

PASO 1. Por cada entidad fuerte E del esquema ER, se crea una relación R que contenga todos los atributos simples de E. Si tuviere atributos compuestos se incluyen solo los atributos simples que lo componen. Se elige uno de los atributos clave de E como clave primaria de R. Si la clave elegida es compuesta, el conjunto de atributos simples que la forman constituirá la clave primaria de R.

PASO 2. Por cada tipo de entidad débil W en el esquema ER con tipo de entidades propietario E, se crea una relación R, y se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) de W como atributos de R.Además, se incluyen como atributos de clave externa de R el atributo o los atributos de clave primaria de la relación o relaciones que corresponden al tipo o tipos de entidades propietarias, con esto indicamos el tipo de relación identificador de W. La clave primaria de R es la combinación de las claves primarias de los propietarios y la clave parcial del tipo de entidad débil de W, si la hubiese.

PASO 3. Por cada tipo de relación binaria 1:1 R del esquema ER, se identifican las relaciones S y T que corresponden a los tipos de entidades que participan en R. Se elige una de las relaciones, por ejemplo S, y se incluye como clave externa en S la clave primaria de T. Es mejor elegir un tipo de identidad con participación total en R en el papel de S. Se incluyen todos los atributos simples(o componentes simples de los atributos compuestos) del tipo de relación 1:1 R como atributos de S.

PASO 4. Por cada tipo de relación binaria 1: N, se identifica la relación S que representa el tipo de entidad participante del lado N del tipo de relación. Se incluye como clave externa en S la clave primaria de la relación T que representa el otro tipo de entidad que participa en R. Se incluyen

Page 32: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de relación 1: N como atributos de S.

PASO 5. Por cada tipo de relación binaria M:N R, se crea una nueva relación S para representar a R. Se incluyen como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidad participantes; su combinación constituirá la clave primaria de S.También se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de relación M: N como atributos de S.

PASO 6. Por cada atributo multivaluado A, se crea una nueva relación R. Esta relación R incluirá un atributo correspondiente a A, clave primaria de K (como clave externa de R) de la relación que representa el tipo de entidades o tipo de relaciones que tiene a A como atributo. La clave primaria de R es la combinación de A y K. Si el atributo multivaluado es compuesto, se incluyen sus componentes simples.

PASO 7. Por cada tipo de relaciones n-arias (n>2), se crea una nueva relación S que representa a R. Se incluyen como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidades participantes. También se incluyen los atributos simples (o los componentes simples de los atributos compuestos) del tipo de relaciones n-arias como atributos de S. La clave primaria de S casi siempre es una combinación de todas las claves externas que hacen referencia a las relaciones que representan los tipos de entidades participantes.No obstante, si la restricción de cardinalidad de uno de los tipos de entidades E que participan en R es 1, entonces la clave primaria de S no debería incluir el atributo de clave externa que haga referencia a la relación E´ que corresponde a E.

Información redundante y anomalías de Actualización Información redundante es todo dato ingresado reiteradamente sin necesidad.Anomalías de Actualización son ciertos problemas que aparecen con frecuencia en el manejo de BD cuando el diseño de las mismas no ha sido realizado de forma “Normalizada”.Se pueden distinguir 3 tipos de Anomalías:

1) Anomalía de inserción: dada una relación Empleado_Departamento se pueden generar 2 tipos de anomalías de inserción:

al ingresar datos sin tener los atributos principales (claves) que conformen la tupla (fila). Por ej: Al ingresar un empleado y no tener un departamento especifico para el mismo, o viceversa, ingresar un departamento nuevo que no posee aun empleado.

al ingresar un mismo dato en otra tupla pero con inconsistencia. Por ej: ingresar un empleado con un código de dpto existente pero un nombre que no coincide en las tuplas anteriores.

Page 33: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

2) Anomalía de eliminación: perdida de información por dar de baja una tupla. Por ej: si se elimina un único empleado que pertenece a un dpto específico de la relación Empleado_Departamento se perdería la información de dicho dpto.

3) Anomalía de modificación: dado el caso de tener redundancia de datos en una relación, la modificación de un atributo implementaría la posterior modificación de las demás tuplas que contengan los mismos datos. Por ej: cambiar el NSS_JEFED de la relación Empleado_Departamento.

Empleado_DepartamentoNOMBREE NSS FECHA_NCTO DIRECCION NUMEROD NOMBRED NSS_JEFED

Definición de dependencia funcionalUna dependencia funcional es una relación entre atributos de una misma relación (tabla). Si X e Y son atributos de la relación R, se dice que Y es funcionalmente dependiente de X (se denota por X→ Y) si cada valor de Y tiene asociado un solo valor de X (X e Y pueden constar de uno o varios atributos). A X se le denomina determinante, ya que X determina el valor de Y. Se dice que el atributo Y es completamente dependiente de X si depende funcionalmente de X y no depende de ningún subconjunto de X.

NormalizaciónLa normalización es una técnica para obtener estructuras de datos eficientes. Cuando se

desarrolla el modelo relacional o sea cuando se realizan operaciones relacionales, suelen cometerse anomalías en el manejo de información como ser:

1) Relaciones con información redundante (1FN).2) Atributos que tienen una dependencia incompleta con respecto a atributos claves (2FN).3) Atributos no primos que dependen de atributos no primos (3FN).

Para eliminar estas anomalías, es que se lleva a cabo el proceso de normalización, el cual es un conjunto de etapas:

1) Información redundante: se eliminan los atributos repetitivos (1FN).2) Dependencia funcional total: debe existir una dependencia de los atributos no primos (no

son clave principal) con respecto a los atributos primos (claves principales) (2FN).3) Dependencia funcional transitiva: o sea que no debe haber transitividad: ABC. (3FN)

Como consecuencia de llevar a cabo estas 3 etapas, es que se crean nuevas relaciones.

VENTAJAS DE LA APLICACIÓN DEL PROCESO DE NORMALIZACION1) Permite la recuperación sencilla de datos.2) Simplifica el mantenimiento de datos.3) Facilidad de implementación.4) Podemos implementar controles de seguridad.5) Precisión en cuanto al manejo de la relación.6) Claridad con que podemos mostrar las relaciones.

Page 34: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

UNIDAD IVEl Ciclo de Vida de un Sistema de InformaciónEn una organización grande el sistema de base de datos suele ser parte del sistema de información, que incluye todos los recursos que participan en la obtención, administración, uso y diseminación de los recursos de información de la organización.Se suele llamar macro ciclo de vida al ciclo de sistema de información, y micro ciclo de vida al ciclo de vida del sistema de base de datos.Por lo general el macro ciclo de vida incluye las siguientes fases:

1) Análisis de factibilidad: en esta fase se analizan las áreas de aplicación, se identifica el costo asociado a la obtención e interpretación de la información, se realizan estudios preliminares de costo-beneficios, se determina la complejidad de los datos y procesos, y establecer prioridades entre las aplicaciones.

2) Obtención y análisis de requisitos: se obtienen los requisitos detallados interactuando con los usuarios para así identificar sus problemas y necesidades específicamente.

3) Diseño: esta fase tiene dos aspectos, el diseño del sistema de base de datos y el diseño de los sistemas de aplicación (programas) que usan y procesan la base de datos.

4) Implementación: se implementa el sistema de información, se carga la base de datos y se implementan y prueban las transacciones de datos.

5) Validación y prueba de aceptación: se evalúa la aceptación del sistema en cuanto a la satisfacción de los requisitos de los usuarios y a los criterios de rendimiento.

6) Despliegue, operación y mantenimiento: esta fase suele estar precedida por la capacitación de los usuarios. La fase operativa comienza cuando todas las funciones del sistema están disponibles y han sido validadas. La supervisión del rendimiento del sistema y el mantenimiento del sistema son actividades importantes durante la fase de operación.

METODOLOGIA PARA EL DISEÑO DE LAS BASES DE DATOSLa metodología más utilizada para el diseño de las BD es el (micro) ciclo de vida del

sistema de aplicación para la BD, el cual consta de las siguientes etapas:

1) Definición del sistema: se definen el alcance del sistema de datos, sus usuarios y sus aplicaciones. Se identifican las interfaces para varias categorías de usuario, las restricciones del tiempo de respuesta y las necesidades de almacenamiento y proceso.

2) Diseño de la base de datos: al final de esta fase estará listo un diseño lógico y físico completo del sistema de base de datos en el SGBD elegido.

3) Implementación de la BD: esto comprende el proceso de especificar las definiciones conceptual, externa e interna de la BD, crear ficheros de la BD vacios e implementar las aplicaciones de software.

4) Carga o conversión de los datos: las base de datos se llenan de datos ya sea cargándolos directamente o convirtiendo ficheros ya existentes al formato del sistema de BD.

5) Conversión de aplicaciones: cualquier aplicación de software que se usaba en un sistema anterior se convierte en nuevo sistema.

6) Prueba y validación: se prueba y valida el sistema.

Page 35: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

7) Operación: el sistema de BD y sus aplicaciones se ponen en operación. Normalmente, el sistema antiguo y el nuevo operan en paralelo por un tiempo.

8) Supervisión y mantenimiento: durante la fase de operación, el sistema se vigila y mantiene constantemente. Puede haber crecimiento y expansión tanto en el contenido de datos como en las aplicaciones de software. Es posible que de vez en cuando se requieran modificaciones y reorganizaciones importantes.

** En general suele haber retroalimentación entro los diversos pasos porque a menudo surgen requisitos en todas las etapas. Esta figura muestra el ciclo de retroalimentación que afecta a las fases de diseño conceptual y lógico como resultado de la implementación y ajuste del sistema.**

Page 36: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

El proceso de Diseño de Base de DatosLos objetivos del diseño de bases de datos son múltiples:

Satisfacer los requisitos de contenido de información de los usuarios y aplicaciones especificados.

Proporcionar una estructuración de la información natural y fácil de entender. Soportar los requisitos de procesamiento y cualesquier otros objetivos de rendimiento,

como el tiempo de respuesta, el tiempo de procesamiento y el espacio de almacenamiento.

Podemos identificar 6 etapas principales del proceso de diseño de bases de datos:o Etapa 1: Obtención y análisis de requisitos: para poder diseñar eficientemente una BD,

debemos conocer las expectativas de los usuarios y de los usos que se piensa darle a la BD.Por lo general esta etapa incluye las siguientes actividades:

1) Se identifican las principales áreas de aplicación y grupos de usuarios que utilizaran la BD o cuyo trabajo se verá afectado por ella. Se eligen individuos clave y un comité dentro de cada grupo para llevar a cabo los pasos subsiguientes de obtención y especificación de requisitos.

2) Se estudia y analiza la documentación existente relativa a las aplicaciones. Se repasa otra documentación (manuales de política, formularios, informes y diagramas de organización) para determinar si tiene alguna influencia sobre el proceso de obtención y especificación de requisitos.

3) Se estudia el entorno de operación actual y los planes de utilización de la información. Esto incluye en el análisis de los tipos de transacciones y de sus frecuencias así como del flujo de la información dentro del sistema. Se estudian las características geográficas de los usuarios, el origen de las transacciones, el destino de los informes, etc. Se especifican los datos de entrada y de salida de las transacciones.

4) A veces se pasan cuestionarios (por escrito) a los posibles usuarios o grupos de usuarios de la base de datos. Sus preguntas se refieren a las prioridades de los usuarios y a la importancia que dan a las diversas aplicaciones. Posiblemente se entrevisten individuos clave que ayudaran a estimar el valor de la información y a establecer las prioridades.

El análisis de requisitos lo lleva a cabo un grupo de analistas o expertos en requisitos para los usuarios finales de la BD.La etapa de obtención y análisis de requisitos puede consumir bastante tiempo pero es esencial para el éxito del sistema de información. Corregir un error de requisitos es mucho más caro que corregir un error cometido durante la implementación, porque los efectos de los errores en los requisitos normalmente afectan al trabajo posterior, y por tanto la mayoría de este trabajo posterior a de reimplementarse. No corregir el error significa que el sistema no podrá satisfacer al cliente y que puede incluso no ser utilizado.

o Etapa 2: Diseño conceptual de la BD: implica dos actividades paralelas:a) Diseño del esquema conceptual: a partir de los requerimientos de datos

(resultantes de la Etapa recolección y análisis de requerimientos), se produce el esquema de BD conceptual mediante el uso de un modelo de datos de alto nivel, independiente del SGBD. Esta independencia es importante para que el SGBD no

Page 37: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

influya en el diseño del esquema conceptual, permitiéndole un entendimiento completo de la estructura, el significado, los vínculos y las relaciones, además para que la elección posterior del SGBD no altere el esquema conceptual. Aquí es importante usar un modelo de datos de alto nivel que tenga las siguientes características:

Expresividad: que pueda distinguir los distintos tipos de datos, vínculos y restricciones.

Sencillez y compresión: para que los usuarios no especialistas comprendan y usen sus conceptos.

Minimalidad: que tenga un número mínimo de conceptos básicos con significado distinto.

Representación gráfica: para que el esquema conceptual sea fácil de interpretar.

Formalidad: los conceptos deben definirse con exactitud y sin que haya posibilidad de confusión.

Para diseñar un esquema conceptual, debemos identificar los componentes básicos del esquema, los tipos de entidades, los tipos de vínculos, sus atributos, los atributos claves, la cardinalidad y las restricciones de participación en los vínculos. Este diseño se deriva de los requerimientos recabados durante la Etapa de recolección y análisis de requerimientos. Hay dos enfoques para el diseño conceptual:

Enfoque centralizado: los requerimientos se combinan y a continuación se diseña un solo esquema, cuando los usuarios son muchos es una tarea laboriosa y lenta.

Enfoque de integración de vistas: no se fusionan los requisitos y a continuación se diseña un esquema, para cada grupo de usuarios o aplicación teniendo en cuenta sus requerimientos. Luego estos esquemas se combinan o integran para formar un esquema conceptual global para toda la BD.

b) Diseño de transacciones: su propósito es diseñar las características de las transacciones conocidas de la BD con independencia del SGBD. Por lo general, los diseñadores saben que transacciones y aplicaciones conocidas se ejecutarán en la BD, por lo tanto es importante especificar las características funcionales de estas transacciones en una etapa temprana del proceso de diseño, lo cual garantizará que el esquema incluirá toda la información requerida por dichas transacciones. Las transacciones pueden agruparse en tres grandes categorías:

Transacciones de recuperación: obtiene datos para exhibirlos en pantalla o en un informe.

Transacciones de actualización: introducen datos nuevos o modifica datos existentes.

Transacciones mixtas: se utilizan en aplicaciones complejas que obtienen y actualizan los datos.

Page 38: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

Es conveniente llevar a cabo en forma paralela el diseño del esquema conceptual y el diseño de transacciones, mediante ciclos de retroalimentación para refinar, hasta lograr un diseño estable del esquema y las transacciones.

o Etapa 3: Elección del SGBD: la elección del SGBD depende de varios factores: Factores técnicos: debe cumplir con las condiciones específicas para las tareas

en cuestión. Lo que debemos considerar es el tipo de SGBD (jerárquico, red, relacional), las estructuras de almacenamiento y caminos de acceso que maneja el SGBD, las interfaces de los usuarios y programadores, los tipos de lenguaje de consulta de alto nivel, etc.

Factores económicos: al escoger un SGBD debemos considerar los siguientes costos:

Costo de adquisición de software: es un gasto inicial que varia según las características del S.O que se utilizara, el lenguaje, la interfaz grafica del usuario (GUI,Gragic User Interface), opciones de recuperación/respaldo y documentación, etc.

Costo de mantenimiento: es el costo del servicio de mantenimiento del proveedor para la actualización de la versión del SGBD.

Costo de adquisición de hardware: es la compra de recursos adicionales (RAM, HDD, controladores, terminales).

Costo de creación y conversión de BD: es el costo para crear un sistema de BD desde cero o bien convertir uno existente al nuevo software de SGBD. Es difícil de pronosticar este costo y con frecuencia se subestima.

Costo de personal: dado que se adopta un sistema nuevo se ve necesario crear puestos nuevos para el ABD y para su personal, esto sucede cuando se incorpora por primera vez un SGBD.

Costo de capacitación: casi siempre es preciso capacitar al personal para el uso y programación del SGBD adquirido. La capacitación es necesaria en todos los niveles (Programación, Desarrollo de aplicaciones, Administración de la BD).

Costo de operación: no se lo incluye en la evaluación de las alternativas porque es independiente del SGBD que se seleccione.

Factores de organización: se distinguen los siguientes: Estructura de datos: si los datos que se almacenan en la BD tienen

una estructura jerárquica, deberá considerarse un sistema jerárquico. Si los datos tienen muchos vínculos, será un SGBD de red o relacional.

Disponibilidad de servicios del proveedor: es conveniente que exista una oficina de proveedores cercana para ayudar a resolver cualquier problema que presente el sistema.

Antes de adquirir un SGBD, la organización debe tener en cuenta la configuración de hardware y software que se requiere para su ejecución. También deberá considerarse la necesidad de aplicaciones para respaldo, recuperación, rendimiento, integridad y seguridad.

Page 39: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

o Etapa 4: Diseño lógico de la BD, transformación al modelo de datos: consiste en crear un esquema conceptual y esquemas externos en el modelo de datos del SGBD elegido. Esto se logra transformando el esquema conceptual y externo producido en el diseño del esquema conceptual del modelo de datos de alto nivel al modelo de datos del SGBD. La transformación se establece en dos etapas:

Transformación independiente del sistema: no considera como el SGBD implementa el modelo de datos.

Adaptación de los esquemas a un SGBD específico: aquí se ajustan los esquemas obtenidos en el paso anterior para adaptarlos a las características específicas del modelo de datos del SGBD seleccionado.

o Etapa 5: Diseño físico de la BD: el diseño físico de la BD es el proceso de selección de estructuras de almacenamiento y caminos de acceso específicos para que los archivos de la misma tengan un buen rendimiento con las diversas aplicaciones de la BD. Los SGBD ofrecen varias opciones de organización de archivos y caminos de acceso. Se utilizan los siguientes criterios para guiar la elección de opciones de diseño físico:

Tiempo de respuesta: es el tiempo que transcurre entre la introducción de la transacción y la obtención de una respuesta.

Aprovechamiento de espacio: se refiere a la cantidad de espacio de almacenamiento que ocupan los archivos y sus estructuras de acceso.

Productividad de las transacciones: es el promedio de transacciones que la BD puede procesar por minuto.

o Etapa 6: Implementación y ajuste del sistema de BD: comprende el proceso de escritura de la definición conceptual interna y externa de la BD, crear los ficheros de la BD e implementar el software.

Objetivos del diseño de base de datos por etapao Etapa 1: Obtención y análisis de requisitos: clarificar los requisitos que debe poseer el

sistema.o Etapa 2: Diseño conceptual de la BD: producir un esquema conceptual de la BD que sea

independiente de un SGBD especifico.o Etapa 3: Elección de un SGBD: selección de un SGBD apropiado según los factores

técnicos, económicos y de organización.o Etapa 4: Diseño lógico de la BD: diseñar un esquema conceptual y esquemas externos

según el SGBD elegido.o Etapa 5: Diseño Físico de la BD: seleccionar estructuras de almacenamiento y caminos de

acceso específicos que brinden un buen rendimiento con las aplicaciones.o Etapa 6: Implementación y ajuste del sistema de BD: carga de los datos y la

implementación de las aplicaciones

VISION DE USUARIO Y DE CONTEXTOSEl problema principal del diseño de una BD, se encuentra en el identificador de las

identidades, vínculos y atributos. Para resolver este problema se usa:

1) Visión del usuario: es una descripción lógica de la información requerida por los usuarios. Un usuario puede tener múltiples visiones y múltiples usuarios pueden compartir una visión.

Page 40: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

2) Visión de contexto: es un conjunto de sentencias que describen la organización, sus recursos y su modo de operación. Esta visión tiende a completar la anterior, aportando conocimiento sobre las estructuras de datos, ya que explica las vinculaciones entre las mismas.

OBTENCION DE LAS VISIONESLas visiones pueden ser obtenidas a través de:

1) Entrevistas con usuarios finales.2) Entrevistas con funcionarios no usuarios.3) Analizando los informes emitidos.4) Analizando las pantallas de procesamiento.5) Analizando la BD ya implementada.6) Analizando archivos y transferencias de datos entre programas ya implementados.7) Observación.

DISEÑO LOGICOEl diseño lógico es complejo, porque hay que encontrar entre distintos factores. Un factor

podría expresarse como posibilidad vs performance. Por diseño se entiende el generar un conjunto de esquemas de relaciones que permiten almacenar la información con mínima redundancia, pero al mismo tiempo, facilitar su recuperación.

OBJETIVOS DEL DISEÑO LOGICOCuando múltiples usuarios, a través de múltiples procesos de diferentes características

interactúan con una misma BD, pueden ocasionar situaciones de incompatibilidad en los aspectos de performance, seguridad e integridad de datos. La solución a dichos conflictos es uno de los objetivos del diseño lógico.

PROPIEDADES DEL DISEÑO LOGICOEl diseño lógico debe presentar las siguientes propiedades:

1) Satisfacción del usuario.2) Satisfacer la necesidad y la organización.3) Flexibilidad frente a cambios y crecimiento.4) Integridad.5) Seguridad y confiabilidad de la información.6) Performance global del sistema, costo operativo.7) Factibilidad de operación.

Page 41: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

UNIDAD V

BASES DE DATOS DISTRIBUIDASUna BD distribuida es una colección de datos que pertenece lógicamente al mismo sistema

pero que está dispersa físicamente entre los sitios de una red de computadora.

Como ventajas de la BD distribuida podemos nombrar las siguientes:

1) La naturaleza distribuida de algunas aplicaciones de BD: muchas de estas aplicaciones están distribuidas naturalmente en diferentes lugares. Por ejemplo, un banco puede tener múltiples sucursales. Es natural que las BD empleadas para ese uso estén distribuidas en esas sucursales. Muchos usuarios locales tienen acceso exclusivamente a los datos que están almacenados en varias de esas sucursales. Las fuentes de los datos y la mayoría de los usuarios y usos de la BD local residen físicamente en ese lugar.

2) Mayor fiabilidad y disponibilidad: la fiabilidad se define como la probabilidad de que un sistema esté en funcionamiento en un momento determinado, y la disponibilidad, es la probabilidad de que el sistema esté disponible continuamente durante un intervalo de tiempo. Cuando los datos y el software del SGBD están distribuidos en varios sitios (se han replicado), cuando un sitio falle los demás seguirán operando, y solo los datos y el software que fallaron estarán inaccesibles. En un sistema centralizado el fallo de un sitio hace que el sistema deje de estar disponible para todos los usuarios.

3) Posibilidad de comparar los datos al tiempo que se mantienen en un cierto grado de control local: en algunos tipos de SGBD distribuidos es posible controlar los datos y el software localmente en cada sitio. Además los usuarios de otros sitios remotos pueden tener acceso a ciertos datos a través del software del SGBD distribuido. Esto hace posible el compartimiento controlado de los datos con todo el sistema distribuido (los locales y los de otros sitios remotos).

4) Mejor rendimiento: cuando una BD grande está distribuida en múltiples sitios, hay BD más pequeñas en cada uno de estos. En consecuencia, las consultas locales y las transacciones que tienen acceso a datos de un solo sitio tienen un mejor rendimiento porque las BD locales son muy pequeñas, el número de transacciones de cada sitio es menor que si todas las transacciones se enviaran a una BD Centralizadas. Si las transacciones implican acceso a más de un sitio pueden efectuarse en paralelo reduciéndose así el tiempo de respuesta.

Para obtener estas ventajas, el software del SGBD distribuido debe contar con las funciones de un SGBD centralizado y además con las siguientes:

La capacidad de tener acceso a sitios remotos y trasmitir consultas y datos entre los diversos sitios a través de una red de comunicaciones.

La capacidad de seguir la pista a la distribución y la replicación de los datos en el catálogo del SGBD.

La capacidad de elaborar estrategias de ejecución para consultas y transacciones que tienen acceso a datos de más de un sitio.

La capacidad de decidir a cuál copia de un elemento de información replicado se tendrá acceso.

Page 42: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

La capacidad de mantener la consistencia de las copias de un elemento de información replicado.

La capacidad de recuperarse de caídas de sitios individuales y de nuevos tipos de fallos, como el fallo de enlace de comunicación.

En el nivel físico (hardware), los principales factores que distinguen un SGBD de un sistema centralizado son los siguientes funciones:

Hay múltiples computadores, llamados sitios o nodos.

Estos sitios deben estar comunicados por medio de algún tipo de red de comunicaciones para trasmitir datos y ordenes entre los sitios.

Los sitios pueden estar físicamente muy cerca (mismo edificio) y conectados a través deuna red de área local, o pueden estar distribuidas a grandes distancias (distintos países) yconectados a través de una red de larga distancia (teléfono o satélite)

CLIENTE

Sitio 1

CLIENTE

Sitio 2

SERVIDOR

Sitio 3

SERVIDOR

Sitio 4

CLIENTE

...

Red de Comunicaciones

Arquitectura física cliente-servidor simplificada para un SGBD.

CLIENTE CLIENTE CLIENTE...

Red de Comunicaciones

Arquitectura Lógica cliente-servidor para un SGBD

SERVIDOR SERVIDOR SERVIDOR...

Page 43: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

TIPOS DE SISTEMAS DE BASES DE DATOS DISTRIBUIDAS 363pag.segunda edicionLos SGBD distribuidos presentan muchas diferencias entre si. El punto principal que todos

estos sistemas tienen en común es el hecho de que los datos y el software del SGBD están distribuidos en sitios conectados por una red de comunicación. Podemos tener en cuenta para ello, sus factores:

1) El primer factor que consideramos es el grado de homogeneidad del software del SGBD distribuido, si todos los servidores (o SGBD individuales) utilizan software idéntico y todos los clientes emplean aplicaciones idénticas, se dice que el SGBD distribuido es homogéneo, caso contrario es heterogéneo.

2) Otro factor relacionado con el grado de homogeneidad es el grado de autonomía local. Si todo acceso al SGBD distribuido debe hacerse a través de un cliente, el sistema no tiene autonomía local. Por otro lado, si se permiten las transacciones locales con acceso directo al servidor, el sistema tendrá un cierto grado de autonomía local (federados).

3) Un tercer aspecto que sirve para clasificar las BD distribuidas es el grado de transparencia de la distribución o de manera alternativa, el grado de integración de los esquemas. Si el usuario percibe un solo esquema integrado sin información alguna relativa a la fragmentación, se dice que el SGBD distribuido tiene alto grado de transparencia de distribución (o de integración de esquema). Por otro lado, si el usuario puede ver toda la fragmentación, el reparto y la replicación, el SGBD distribuido no tiene transparencia de distribución ni integración de esquema. En este caso el usuario debe hacer copias específicas de fragmentos en sitios específicos, anexando el nombre del sitio como prefijo de cada nombre de fragmento. En un SGBD distribuido se debe dar un nombre lo cual hace más complejo a dicho sistema.

Homogéneo: cuando todos los servidores utilizan el mismo software.

Heterogéneo: cuando cada uno desarrolla su propio software.

Federados: cuando tienen cierto grado de autonomía local.

Transparencia de la Distribución.

Tipos de BD distribuidas

Fragmentación: es la técnica a partir de la cual se divide la BD en unidades lógicas llamadas fragmentos y son almacenadas en diversos sitios. La fragmentación puede ser:Horizontal: un fragmento horizontal de una relación es un subconjunto de tuplas de esa relación.Vertical: una fragmentación vertical de una relación mantiene solo ciertos atributos de la relación.Mixta: podemos entremezclar los dos tipos de fragmentación para obtener una fragmentación mixta.

Replicación: si un fragmento se almacena en más de un sitio, se dice que está replicado. Resulta útil para mejorar la disponibilidad de datos.Replicación total: toda la BD está replicada en todos los sitios del sistema distribuido.Replicación parcial: algunos fragmentos de la BD pueden estar replicados y otros no.

Reparto: cada fragmento se debe asignar a un sitio determinado de la BD.

Técnicas de fragmentación,

replicación y reparto para SGBD

Page 44: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

TIPOS DE USUARIOS FINALESPodemos distinguir los siguientes cuatro tipos:

1) Usuarios finales esporádicos: tienen acceso de vez en cuando a la BD, posiblemente requiriendo información diferente en cada ocasión. Por ejemplo, el gerente.

2) Usuarios finales simples: consultan y actualizan constantemente la BD utilizando tipo Standard para estas operaciones (transacciones programadas).

3) Usuarios finales avanzados: son ingresos, científicos, etc., que conocen los recursos del SGBD para satisfacer sus complejos requerimientos.

4) Usuarios autónomos: utilizan BD personalizadas gracias a los paquetes de programas comerciales.

SEGURIDAD Y AUTORIZACION EN BASES DE DATOS.

TIPOS DE SEGURIDADLos tipos de seguridad de las BD abarcan un área amplia, entre ellas las siguientes:

Cuestiones éticas y legales relativas al derecho a tener acceso a cierta información. Es posible que parte de ésta se considere privada y que las personas no autorizadas no puedan tener acceso a ella legalmente.

Cuestiones de política en el nivel gubernamental, institucional o corporativo, relacionadas con las clases de información que no deben estar disponibles para el público.

Cuestiones relacionadas con el sistema, como los niveles de sistema en los que deben manejarse las diversas funciones de seguridad.

La necesidad de algunas organizaciones de identificar múltiples niveles de seguridad y clasificar los datos y los usuarios según estos niveles.

Actualmente, se acostumbra hablar de 2 tipos de mecanismos de seguridad en las bases de datos:

Los mecanismos de seguridad direccionales: se usan para otorgar privilegios a los usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de datos específicos en un determinado modo (como modo lectura, de escritura o de actualización).

Los mecanismos de seguridad obligatorios: sirven para imponer seguridad de múltiples niveles clasificando los datos y los usuarios en varias clases (o niveles) de seguridad e implementando después la política de seguridad apropiada de la organización.

Otro mecanismo de seguridad es el cifrado de datos, que sirve para proteger datos confidenciales que se transmiten por satélite o por algún otro tipo de red de comunicaciones o por algún otro tipo de red de comunicaciones. Así mismo, el cifrado puede proveer de protección adicional a secciones confidenciales de una BD. Los datos se codifican mediante algún algoritmo de codificación.

Page 45: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

LA SEGURIDAD DE LA BD Y EL ABDEl administrador de la BD (ABD) es la autoridad central que controla un sistema de este

tipo. Entre las obligaciones del ABD están la de otorgar privilegios a los usuarios que necesitan usar el sistema y clasificar los usuarios y los datos de acuerdo con la política de la organización. El ABD tiene una cuenta privilegiada en el SGBD, a veces denominada cuenta del sistema, que confiere capacidades extraordinarias no disponibles para las cuentas y usuarios ordinarios de la BD. Las órdenes privilegiadas del ABD incluyen órdenes para otorgar o revocar privilegios a cuentas individuales, usuarios o grupos de usuarios, y para efectuar los siguientes tipos de acciones:

Creación de cuentas: esta acción crea una nueva cuenta y contraseña para un usuario o grupo de usuarios, a fin de que puedan tener acceso al SGBD.

Concesiones de privilegios: esta acción permite al ABD otorgar ciertos privilegios a ciertas cuentas.

Revocación de privilegios: esta acción permite al ABD revocar (cancelar) ciertos privilegios que se habían concebido previamente a ciertas cuentas.

Asignación de niveles de seguridad: esta acción consiste en asignar cuentas de usuarios al nivel apropiado de clasificación de seguridad.

El ABD es el responsable de la seguridad global del sistema de BD.

PROTECCION DE ACCESO, CUENTAS DE USUARIOS Y AUDITORIAS DE LA BASE DE DATOSSiempre que un usuario tenga necesidad de información de un determinado sistema, el

ABD puede otorgarle una cuenta y una contraseña con la que se logueará en dicho sistema. El ABD tendrá una tabla donde consigne estos datos.

El sistema también deberá llevar un control con todas las sesiones y operaciones del usuario que tendrá un registro por acción.

Esto sirve a la hora de auditar un sistema donde existen grandes transacciones y muchos usuarios. La bitácora de la BD que la usa para fines de seguridad suele recibir el nombre de registro de intervenciones.

CONTROL DE ACCESO DISCRECIONAL BASADO EN PRIVILEGIOSEl método más común para imponer el control de acceso discrecional en un sistema de BD

consiste en otorgar y revocar privilegios, función que será ejercida por el ABD.

En SQL2, con el concepto de identificador de autorización se hace referencia a una cuenta de usuario, y se utiliza como sinónimo de ella a las palabras cuenta o usuario. El SGBD debe ofrecer acceso selectivo a cada relación de la BD. En términos informales, hay dos niveles de asignación de privilegios para usar el sistema de BD:

1) El nivel de cuenta: en este nivel, el ABD especifica los privilegios particulares que tiene cada usuario, independientemente de las relaciones de las BD.

2) El nivel de relación: en este nivel, podemos controlar el privilegio para tener acceso a cada relación o vista individual de la BD.

Page 46: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

DIFERENCIA ENTRE EL ENFOQUE DE BASE DE DATO Y EL ENFOQUE TRADICIONAL DE ARCHIVOS

ENFOQUE DE BASE DE DATOS ENFOQUE TRADICIONAL DE ARCHIVOS

Almacén de datos que se definen una sola vez y tienen acceso muchos usuarios

Cada usuario define e implementa los archivos necesarios para cada aplicación

Varios lenguajes Lenguaje único

Mas costoso Menos costoso

Más seguro Menos seguro

Mayor complejidad del diseño Menor complejidad de diseño

La descripción de la BD se almacena en el Catálogo

La descripción de los datos suele ser parte de los programas de aplicación

Independencia con respecto a los programas, lo que permite modificar Archivos sin modificar los programas

La modificación de los archivos requiere modificar los programas

Múltiples usuarios y múltiples aplicaciones a la vez

Único usuario y una aplicación

En el enfoque tradicional de archivos cada usuario define e implementa los archivos requeridos para una aplicación específica, no pudiendo usar los datos de los archivos de otros usuarios. Esto ocasiona una redundancia la cual trae aparejada un desperdicio de espacio y de esfuerzo para mantener actualizados los datos comunes.

En el enfoque de bases de datos se mantiene un único almacén de datos que se define una sola vez y al cual tienen acceso muchos usuarios.

Las principales características del enfoque de BD, en comparación con el enfoque tradicional de archivos son:

1) Naturaleza auto descriptiva de los sistema de BDa. Enfoque de BD: El enfoque de BD contiene una descripción completa de la BD, la

cual se almacena en el Catálogo del Sistema. Esta información se denomina METADATOS, los cuales describen la Estructura de la BD (Estructura de los archivos, tipo, formato y restricción de los datos). El SGBD, y a veces los usuarios,

Page 47: Teoria de La Informacion II - Apuntes

43

Teoría de la Información II Salazar German & Correa Monica

consultan el catálogo para informarse sobre la estructura de la BD para poder trabajar con las aplicaciones. Así el SGBD puede acceder a diversas BD.

b. Enfoque tradicional de archivos: En el enfoque tradicional de archivos, la descripción de los datos es parte de los programas, por lo tanto, dichos programas solo pueden trabajar con una BD específica.

2) Separación entre los programas y los datosa. Enfoque de BD: los programas de acceso del SGBD son independientes de los

archivos. La estructura de los archivos se almacena en el catálogo, aparte de los programas de acceso. Esta propiedad se llama Independencia con respecto a los programas y datos.

b. Enfoque tradicional de archivos: la estructura de los archivos está integrada en el programa de acceso, por lo tanto, cualquier modificación en la estructura de un archivo puede requerir modificación del programa que tiene acceso a dicho archivo.

3) Manejo de múltiples vistas de los datosa. En el enfoque de BD, los SGBD multiusuario cuyos usuarios tienen varias

aplicaciones proporcionan mecanismos para definir muchas vistas diferentes de BD.

4) Compartimiento de datos y procesamiento de transacciones multiusuarioa. En el enfoque de BD, los SGBD debe incluir un software de control de concurrencia

para que las actualizaciones de los mismos datos se realice de manera controlada. Estas son llamadas aplicaciones de procesamiento de transacciones, las cuales aseguran que las transacciones concurrentes se realicen de manera correcta sin interferencias.

COMPARACION DE LOS TRES MODELOS DE DATOS DE REPRESENTACION O IMPLEMENTACION

MODELO DE DATOS RELACIONAL MODELO DE DATOS DE RED MODELO DE DATOS JERARQUICO

Los datos y relaciones entre ellos se representan mediante un conjunto de tablas.

Los datos se representan mediante un conjunto de registros y las relaciones mediante enlaces (los tipos de registros se organizan mediante grafos orientados).

Los datos se representan mediante un conjunto de registros y las relaciones entre estos mediante enlaces. Los registros se organizan como una colección de árboles.

Tablas: columnas (atributos) y filas (registros).

Grafos orientados. Estructuras jerárquicas (árboles).

Las consultas se realizan a través del Álgebra Relacional y Cálculo Relacional.

Las consultas se realizan a través de lógica de grafos.

Las consultas se realizan a través de lógica de árboles.


Top Related