Bases de Datos Unidad 1

18
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN Licenciatura En Informática Bases de Datos Autor: L.I. María de Lourdes Isabel Ponce Vásquez AGOSTO - DICIEMBRE 2008

description

es la primera unidad del curso de bds impartido un la UNAM en la fac.: de contaduria y admón por la prof.: isabel ponce

Transcript of Bases de Datos Unidad 1

Page 1: Bases de Datos Unidad 1

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN

Licenciatura En Informática

Bases de Datos

Autor: L.I. María de Lourdes Isabel Ponce Vásquez

AGOSTO - DICIEMBRE 2008

Page 2: Bases de Datos Unidad 1

Contenido

OBJETIVO GENERAL ..................................................................................................................... 3 UNIDAD 1. PLATAFORMA TEÓRICO CONCEPTUAL........................................................................................4

Objetivos Específicos ....................................................................................................................... 4 1.1. Introducción .............................................................................................................................. 4 1.2. Historia ...................................................................................................................................... 4

1.2.1. Manejadores de Archivos ................................................................................................... 5 1.1.1.1. Ventajas de los manejadores de archivos....................................................................61.1.1.2. Desventajas de los manejadores de archivos..............................................................7

1.2.2. Bases de Datos .................................................................................................................. 8 1.1.1.3. Ventajas de las Bases de Datos...................................................................................81.1.1.4. Desventajas de las Bases de Datos.............................................................................9

1.3. Organización Lógica de los Datos ........................................................................................... 10 1.3.1. Campos ............................................................................................................................ 10 1.3.2. Registros .......................................................................................................................... 10 1.3.3. Archivos ........................................................................................................................... 10 1.3.4. Niveles de Abstracción de Datos en BD ........................................................................... 11

1.4. Definición de Base de Datos ................................................................................................... 12 1.5. Definición de Sistema Administrador de Bases de Datos ........................................................ 12

1.5.1. Funciones u objetivos del DBMS ...................................................................................... 13 1.5.2. Usuarios del DBMS .......................................................................................................... 14 1.5.3. Elementos del DBMS ....................................................................................................... 14

1.1.1.5. Administrador de Archivos..........................................................................................151.1.1.6. Administrador de Datos..............................................................................................151.1.1.7. Procesador de Consultas...........................................................................................151.1.1.8. Controlador de Paralelismo o Concurrencia...............................................................151.1.1.9. Sistema de Recuperación..........................................................................................151.1.1.10. Diccionario de Datos................................................................................................15

1.6. Modelos de datos .................................................................................................................... 17

Unidad 1. Plataforma Teórico Conceptual Página 2

Page 3: Bases de Datos Unidad 1

OBJETIVO GENERAL

Al finalizar el curso, el alumno obtendrá los conocimientos necesarios sobre los diferentes modelos de bases de datos, así como la metodología para construir la base de datos de un sistema informático.

El alumno deberá estar familiarizado con los fundamentos básicos del manejo de archivos, de sistemas de información y de programación.

Unidad 1. Plataforma Teórico Conceptual Página 3

Page 4: Bases de Datos Unidad 1

UNIDAD 1. PLATAFORMA TEÓRICO CONCEPTUALUNIDAD 1. PLATAFORMA TEÓRICO CONCEPTUAL

Objetivos Específicos

Conocer los orígenes de las bases de datos Definir qué es una base de datos Definir qué es un sistema administrador de bases de datos Describir los elementos y funciones u objetivos de los DBMSs Comprender la necesidad de usar un modelo de datos

1.1. Introducción

Las Bases de Datos (BD) son probablemente el elemento más importante de los sistemas de información, ya que para tomar decisiones, planificar y realizar muchas otras actividades se requiere de los datos almacenados en ellas y del manejo eficiente de esos datos. Actualmente se usan ampliamente en organizaciones de todos tamaños, públicas y privadas, y en la vida cotidiana tenemos contacto con ellas en casi todas las actividades, ya sea de forma directa o indirecta.

El área de Bases de Datos es actualmente muy extensa y las técnicas usadas en ella tienen un amplio espectro, incluyendo lenguajes, orientación a objetos y otros paradigmas de programación, compilación, sistemas operativos, programación concurrente, estructuras de datos, algoritmos, teoría, sistemas paralelos y distribuidos, interfaces de usuario, sistemas expertos e inteligencia artificial, técnicas estadísticas y programación dinámica.

Este curso no pretende tocar todos los aspectos mencionados anteriormente, pero sí mostrar las bases que permiten comprender el panorama general de las BD.

1.2. Historia

Desde el comienzo de la historia de la humanidad, los hombres han registrado datos en algún tipo de soporte (piedra, madera, papel, etc.) con el fin de dejar constancia de algún fenómeno o idea. Esos datos deben ser interpretados (incorporándoles un significado) para que se conviertan en información útil.

A partir de la aparición de las computadoras, el almacenamiento y manipulación de datos ha sido el punto principal de la mayoría de las aplicaciones, por ello, se han creado diversas técnicas para proporcionar esta capacidad. Estas técnicas, han evolucionado a través de los años, permitiendo realizar esta tarea de forma más eficiente y segura mediante las Bases de Datos.

Las primeras técnicas de almacenamiento de grandes volúmenes de datos consistían en usar tarjetas perforadas que fueron introducidas en 1890 para realizar el censo de EUA. En EUA se realizaba un censo cada 10 años, el censo de 1880 tomo 7 años completarlo, y ya que la población se había incrementado mucho era evidente que el censo no se podría completar antes del siguiente de 1990. La oficina encargada del censo lanzó una convocatoria para obtener ideas y lograr el censo de modo más eficiente. Herman Hollerith, que trabaja en la oficina, propuso usar tarjetas perforadas facilitar el procesamiento. Estas tarjetas ya se usaban en las industrias de Lyon, Francia para

Unidad 1. Plataforma Teórico Conceptual Página 4

Page 5: Bases de Datos Unidad 1

controlar los telares. Hollerith diseñó un método para usar la misma tecnología para almacenar los datos del censo y examinar los patrones. Él ganó la competencia y gracias a su diseño, el censo se completo en tiempo record, creándose una nueva técnica de procesamiento de datos. Después de su éxito, el equipo mecánico para perforar tarjetas se uso durante muchos años para almacenar, ordenar, analizar y reportar datos, usando las tarjetas perforadas como medio de entrada tanto para programas como para datos en las computadoras.

A principios de los 40s, se empezaron a usar cintas perforadas para almacenar datos y programas en las computadoras, cuando se desarrollaron las computadoras electromecánicas y electrónicas. Al inicio de los 50s, se crearon las cintas magnéticas, usadas como entrada para computadoras, incluyendo la UNIVAC 1, que fue la primera computadora comercial disponible. Conjuntos de tarjetas perforadas, cintas perforadas y cintas magnéticas se usaron esencialmente de la misma forma, para almacenar programas y proporcionar un método de almacenamiento y entrada de datos. Los datos en estos medios sólo se podían leer en el orden en el que eran almacenados. Este tipo de procesamiento de archivos secuenciales fue muy eficiente pero no flexible. El procesamiento de nómina era generalmente la primera aplicación que las organizaciones automatizaban, debido a lo complejo de sus cálculos y las necesidades de reportes que eran tediosos para llevarse a cabo por humanos.

Este tipo de procesamiento usaba un archivo maestro que contenía datos relativamente permanentes, ordenados por una llave, separados en campos que contenían todos los datos necesarios. Cada cierto período (diario, semanal, mensual, etc.), se preparaba un archivo de transacciones que contenía los datos nuevos a incluir, modificar o borrar del archivo maestro. Generalmente, los archivos maestros se mantenían en cintas magnéticas y los archivos de transacciones en tarjetas perforadas y ambos tenían que estar en el mismo orden. Este tipo de procesamiento por lotes, se llevaba a cabo por un operador, sin intervención posterior del personal.

El almacenamiento en discos magnéticos se hizo disponible a finales de los 50s, logrando el acceso directo de los registros. Los programas no requerían que el orden de acceso correspondiera al orden físico de los registros. Las actualizaciones se empezaron a hacer directamente en el disco, sin rescribir el archivo completo. Durante los 60s, se crearon los lenguajes de programación, incluyendo Cobol y PL/1, para el procesamiento comercial de datos que usaban almacenamiento de datos en cinta y disco. Originalmente, la organización de archivos fue usada para almacenar los datos en estos dispositivos de almacenamiento secundario, pero conforme las aplicaciones se hacían más complejas se necesitaron métodos más sofisticados para almacenar y extraer los datos necesarios.

1.2.1. Manejadores de Archivos

El trabajo que realizaban los programadores con los archivos simples era exhaustivo, ya que tenía que crear programas para insertar, modificar, borrar, consultar, listar, buscar, ordenar y reportar los datos en cada uno de los archivos que manejaban.

Con el tiempo, muchos programadores se dieron cuenta de que gran parte del trabajo que se realizaba con los archivos era muy similar en casi todos los casos y empezaron a crear herramientas que hicieran este trabajo de modo más fácil sin tener que hacer un programa para cada archivo y con ello se crearon los Sistemas de Administración de Archivos o Manejadores de Archivos.

Los Manejadores de Archivos son sistemas de software que facilitaban recursos para la administración de archivos a un nivel de abstracción superior del ofrecido por los sistemas operativos, pero con facilidades menores que las ofrecidas por los actuales sistemas de Administración de Bases de Datos.

Unidad 1. Plataforma Teórico Conceptual Página 5

Page 6: Bases de Datos Unidad 1

Por ejemplo, eran capaces de crear, abrir y cerrar un archivo a la vez mediante menús o comandos, una vez abierto el archivo, permitían insertarle datos, modificarlos, y borrarlos, también contaban con funciones de consulta, ordenamiento y búsqueda que permitían obtener datos con gran facilidad.

Sin embargo, la mayoría no eran capaces de trabajar con varios archivos a la vez. Podían abrir un número limitado de archivos, pero sólo podían procesar uno en un momento dado, tampoco eran capaces mantener la seguridad de los datos, ya que cualquiera que tuviese una herramienta que pudiese abrir los archivos creados, podía modificarlos sin que quedara rastro del usuario que lo había hecho. Tampoco eran capaces de mantener integridad de los datos ya que generalmente los datos eran duplicados en múltiples archivos, esto debido principalmente, a que no se podían compartir fácilmente entre varios usuarios a la vez, el programador tenía que controlar manualmente el archivo, bloqueando y desbloqueando registros y/o archivos completos. Por otro lado, tampoco permitían procesar transacciones seguras, era responsabilidad del programador verificar que sus datos fueran actualizados correctamente en todo momento, por si fuera poco, era muy fácil perder la información contenida en los archivos al haber algún corte de energía eléctrica.

Figura 1. Ejemplo de Manejadores de Archivos

1.1.1.1. Ventajas de los manejadores de archivos

Las ventajas del almacenamiento de datos en archivos en comparación al almacenamiento de datos en memoria principal son:

Datos independientes de los programas. Los datos almacenados en los archivos no dependen de los programas que los acceden, siempre que los programas se escriban en el mismo lenguaje de programación, en cambio, los datos almacenados en RAM sólo se pueden acceder por la aplicación que los puso en memoria.

Datos compartidos. Ya que los datos son independientes de los programas, se pueden compartir con diferentes programas al mismo tiempo.

Datos persistentes. Los datos almacenados en archivos son permanentes, ya que se almacenan en dispositivos de almacenamiento externo, al contrario de la información almacenada en RAM que se pierde al salir del programa o apagar el equipo de cómputo.

Unidad 1. Plataforma Teórico Conceptual Página 6

Sistema de pedidos

Programa A Programa B Programa C

Archivo De

ClientesArchivo

DeInventarios

Archivo De

Pedidos

Sistema de Facturación

Programa A Programa B Programa A Programa B

Archivo De

Precios

Archivo De

Clientes Archivo De

Empleados

Sistema de Nómina

Page 7: Bases de Datos Unidad 1

Gran capacidad de almacenamiento. A diferencia de la RAM que es un recurso muy limitado por ser muy caro, los dispositivos de almacenamiento secundario pueden almacenar grandes volúmenes de datos, por lo que los archivos pueden ser sumamente grandes.

1.1.1.2. Desventajas de los manejadores de archivos

Algunas de las desventajas o problemas que se tenían al manejar la información con los sistemas manejados con archivos son:

Datos separados y aislados. Al encontrarse los datos aislados dependiendo de cada aplicación no es posible compartirlos y reutilizar la información que ya se habían capturado.

Redundancia. Si la información manejada en una aplicación específica, se necesitaba para otra aplicación en un proyecto separado, y no existía una correcta coordinación para administrar la información común a ambas aplicaciones, ésta información se duplicaba en varios archivos. Como consecuencia de la redundancia se obtenían altos costos de almacenamiento, inconsistencias en los datos, ya que podía modificarse en un archivo pero probablemente no en todos.

Dificultad de acceso. Ya que el diseño de un sistema generalmente parte de la base de que la información será empleada de cierta forma, cada nueva solicitud de información de los usuarios implica la redefinición del sistema y la modificación de los programas que generan esa información.

Dependencia entre programas y la estructura de almacenamiento. El acceso a los datos se definía de cierta forma, mediante cierta clave específica y usando ciertos algoritmos específicos, dependiendo del tipo de organización de archivo definido (secuencial, aleatoria), lo que provoca alta sensibilidad a los cambios de entorno, si se cambiaba el método de organización de un archivo, o se reemplazaba la unidad de disco por otro modelo, se necesitaba modificar la lógica de los programas que usaban los archivos afectados por esos cambios. A esto se le llama dependencia de datos.

Archivos y aplicaciones incompatibles. Ya que cada sistema manejaba su información de modo independiente, generalmente los datos en los diversos archivos no coincidían en tipo y/o longitud, haciendo la tarea de tratar de compartir la información sumamente difícil.

Dependencia entre aplicaciones y equipo. Los archivos también se creaban para que funcionaran en una plataforma, si se necesitaba llevarlos a otra, ya sea otro sistema operativo u otro hardware, en el mejor de los casos tenían que convertirse y en el peor de los casos debían volver a capturarse.

Menor productividad en el desarrollo y mantenimiento de las aplicaciones. Los programadores pasaban gran parte del tiempo modificando los programas para cumplir con los nuevos requerimientos, y tratando de que no se afectarán a otros programas que tenían acceso a los mismos datos.

Representación difícil para el usuario. Debido a la forma de organizar y manejar la información, los usuarios finales no tenían acceso directo a la información de forma simple, cualquier necesidad debía ser resuelta por los programadores.

Altos costos. Se deben invertir recursos económicos para capacitar al personal adecuado, y generalmente se pagan sueldos elevados por la especialización.

Unidad 1. Plataforma Teórico Conceptual Página 7

Page 8: Bases de Datos Unidad 1

1.2.2. Bases de Datos

Para eliminar las desventajas del manejo de archivo, la tecnología de bases de datos propone: juntar toda la información que es relevante a la operación de una organización, organizarla y codificarla apropiadamente y colocarla en un gran repositorio llamado base de datos.

Las BD aparecieron a finales de los 60s como una solución a los problemas técnicos y administrativos, que surgieron con los antiguos sistemas de archivos de computadora. A medida que aumentaba el volumen de datos, la complejidad de su organización y se extendían a nuevas áreas de la operación de las empresas, las dificultades para mantener su funcionamiento y el costo bajo control se acentuaban. Aunque los archivos casi han desaparecido, su comprensión es importante porque sus características básicas son el origen de algunas limitaciones del manejo de datos, al comprender las deficiencias de los sistemas de archivos, se comprenden mejor las propiedades específicas de las BD y se aprovechan mejor. Los primeros modelos de BD fueron los de red y jerárquicos.

Figura 2. Ejemplo de Base de Datos

1.1.1.3. Ventajas de las Bases de Datos

Integración de los datos. Los datos se encuentran almacenados en un mismo repositorio que es accesible desde cualquier aplicación.

Se comparten datos entre diferentes aplicaciones. Múltiples aplicaciones nuevas y existentes pueden tener acceso a los mismos datos sin afectar a las aplicaciones que ya existen.

Control de redundancia. Debido a que se administran en un mismo repositorio no hay necesidad de duplicar los datos, a excepción de los casos donde convenga por el desempeño de la aplicación.

Consistencia. Debido a que se elimina la redundancia, se obtiene consistencia de los datos almacenados. En los casos en que la redundancia sea controlada, el DBMS puede garantizar que la BD no tenga inconsistencias realizando actualizaciones automáticas (propagación de actualizaciones).

Facilidad de acceso. No se requiere modificar todos los programas que emplean una base de datos que ha sufrido cambios, sólo aquellos programas que tengan que almacenar los datos nuevos en la base de datos o hacer una consulta específica de esos datos. Si la modificación sólo consiste en modificar el tamaño de los datos almacenados no se requieren modificaciones en la base de datos.

Unidad 1. Plataforma Teórico Conceptual Página 8

Clientes Inventarios Precios

Pedidos Empleados

Sistema dePedidos

Sistema deNómina

Sistema deFacturación

Page 9: Bases de Datos Unidad 1

Independencia entre programas y estructuras de almacenamiento. Si los proveedores del sistema de base de datos modifican los algoritmos para manipular los datos de la base de datos, esto no afecta a los programas que utilizan esos datos.

Independencia de la aplicación con la estructura de los datos. El acceso a los datos ya no depende de la plataforma donde hayan creado.

Datos y aplicaciones compatibles. Ya que los datos están integrados, se pueden compartir entre diferentes aplicaciones sin que se tengan que convertir o volver a capturar.

Mayor productividad en el desarrollo y mantenimiento de aplicaciones. Como los programadores no tienen que rehacer todos los programas debido a la modificación de la estructura o plataforma del almacenamiento de los datos, se puede preocupar más por los nuevos desarrollos y dedicar menos tiempo al mantenimiento.

Representa los datos del usuario en forma natural. El usuario final no necesita ser un experto en informática para poder tener acceso a los datos almacenados en la base de datos.

Seguridad de los datos. El DBA es responsable de la seguridad de los datos y de prevenir el acceso no autorizado a los datos, por lo que debe garantizar diversos niveles de permisos a los usuarios. La BD proporciona herramientas que le permiten mantener esa seguridad.

1.1.1.4. Desventajas de las Bases de Datos

Alto costo del DBMS. Los DBMS son sofisticados sistemas cuyo costo es elevado. Alto costo del hardware. El DBMS requiere memoria adicional y mucho poder de

procesamiento, por lo que se requiere hardware con mucho potencial que puede ser muy costoso.

Altos costos de programación. Las herramientas del DBMS pueden ser complejas, por lo que los programadores necesitan conocer el sistema para poder sacarle el mayor provecho. El personal experimentado puede ser costoso.

Altos costos de conversión. Cuando una organización migra a otro sistema de bases de datos, los datos deben pasarse de los archivos existentes a la base de datos. Como los archivos pueden estar en diferentes formatos, esto puede ser difícil y llevar mucho tiempo de procesamiento. Además las aplicaciones que hacían uso de esos datos y mantenían detalles de su forma de almacenamiento deben ser modificadas para trabajar con el DBMS, en el mejor de los casos esto sólo será una modificación, pero si el lenguaje no posee una adecuada interfaz a la base de datos, se tendrá que reprogramar toda la aplicación.

Procesamiento de algunas aplicaciones más lento. Aunque los sistemas BD están diseñados para proporcionar más información de modo más fácil que usar simplemente archivos, algunas aplicaciones son más lentas, ya que los datos no se almacenan de la mejor forma dependiendo de cada aplicación.

Incremento de vulnerabilidad. Ya que los recursos están centralizados, se incrementa el riesgo de seguridad. Como las aplicaciones dependen del DBMS, la falla del sistema puede ocasionar que las operaciones no se puedan realizar. También, los errores de una aplicación pueden afectar a otras aplicaciones que usan los datos incorrectos creados por la aplicación incorrecta.

Recuperación más difícil. La recuperación después de una falla de la BD es complicada porque muchas transacciones pueden haber estado en progreso cuando fallo el sistema. Como parte de esta recuperación, el sistema debe determinar cuáles transacciones estaban completas y cuáles en progreso al momento de la falla. Si la BD se daña, se puede recuperar usando un respaldo. El hecho de que la BD permita a los usuarios hacer actualizaciones concurrentes complica el proceso de recuperación.

Unidad 1. Plataforma Teórico Conceptual Página 9

Page 10: Bases de Datos Unidad 1

1.3. Organización Lógica de los Datos

Para su estudio, los datos se organizan jerárquicamente creando diversas unidades que van desde el carácter en el nivel más bajo hasta las bases de datos. Los siguientes conceptos, son conceptos lógicos que se refieren al medio en que el usuario de computadoras ve los datos y se organizan.

1.3.1. Campos

Los datos pueden representarse mediante números y caracteres, los caracteres se agrupan para formar campos. Un campo es una unidad de información que consta de varios caracteres, bytes, palabras o códigos tratados en conjunto y es la unidad de información lógicamente significativa más pequeña en un archivo.

Por ejemplo, un campo puede referirse a un nombre de un empleado, el número de control de un alumno, la dirección de un cliente, o el precio de un artículo, un campo es una idea lógica y dan significado a los bytes almacenados en el archivo.

Los campos se caracterizan por su nombre, tamaño o longitud y su tipo de datos (entero, cadena, etc.). Los campos a su vez, pueden subdividirse en subcampos; por ejemplo, el campo fecha se divide en los subcampos día, mes y año.

1.3.2. Registros

Un registro es un conjunto finito, ordenado y heterogéneo de campos relacionados, tratados como una unidad. Es una colección de información, normalmente relativa a una entidad en particular. Es un conjunto de campos agrupados bajo la perspectiva de un archivo.

Por ejemplo, un registro puede ser la información de un determinado empleado que contiene los campos de nombre, dirección, fecha de nacimiento, estudios, salario, etc., el registro es otro concepto lógico, los registros no necesariamente existen en el archivo en un sentido físico, pero constituyen una organización lógica de los datos.

Los registros organizados en campos que manejan información significativa para el programador se denominan registros lógicos, son definidos por el programador y generalmente son de menor o igual tamaño de un registro físico. En cambio, un registro físico, es una serie de registros contiguos registrados como una unidad, es la cantidad de datos más pequeña que puede transferirse en una operación de entrada / salida a través del búfer; su tamaño está definido en el hardware del equipo.

El propósito principal de los registros es agrupar campos lógicamente relacionados para ejecutar sobre ellos operaciones de entrada /salida.

1.3.3. Archivos

Un archivo (file, fichero) es un conjunto de datos almacenado en memoria secundaria con el fin de mantener a largo plazo cierta información y/o para vencer las limitaciones de espacio en la memoria principal. Es una colección de registros lógicamente relacionados que son tratados como una unidad y que son persistentes. Es la unidad básica de almacenamiento de información a largo plazo, formada por registros que tienen significado para el usuario. Para su procesamiento, todo el contenido del archivo o parte de él, se carga en memoria principal.

Unidad 1. Plataforma Teórico Conceptual Página 10

Page 11: Bases de Datos Unidad 1

Las principales características de los archivos son: La información contenida en ellos es independiente de los programas que los acceden. Se pueden compartir con diferentes programas al mismo tiempo. Los datos que almacenan son permanentes ya que son almacenados en un dispositivo

externo. Tienen gran capacidad de almacenamiento.

Para facilitar el procesamiento de los archivos, a estos se les impone una organización específica llamada estructura de archivo, gracias a ella, se puede almacenar y acceder de forma eficiente la información almacenada.

1.3.4. Niveles de Abstracción de Datos en BD

Al hablar de datos, es importante distinguir entre el mundo real, la pequeña parte del mundo real que concierne a la BD, la estructura de la BD y los datos almacenados en la BD. Existen actualmente cuatro niveles de abstracción a considerar en este entorno:

Mundo real, o realidad. En este nivel, se habla de la empresa, la organización para la cual se diseña la BD. La empresa puede ser una corporación, agencia de gobierno, universidad, banco, escuela, hospital, etc. que existe en el mundo real. Como la organización funciona en el mundo real, es imposible obtener la información necesaria para las decisiones simplemente observando la realidad, ya que existen demasiados factores involucrados para poder tomar todos en cuenta. En vez de esto, se desarrolla un modelo o vista de la realidad en la cual se representan estas facetas de la empresa que necesita tomarse en cuenta para tomar decisiones.

La parte del mundo real que se representa en la BD es llamada minimundo o universo de discurso. Para el minimundo, se empieza a desarrollar un modelo conceptual, que forma el segundo nivel de discusión. Se identifican las entidades como representaciones de personas, lugares, eventos, objetos o conceptos acerca de los cuales se recolectan datos. Las entidades similares se agrupan en conjuntos de entidades. Un modelo conceptual puede tener muchos conjuntos de entidades. Cada entidad tiene ciertos atributos, los cuales son características o propiedades para describir la entidad y que la organización considera importantes. Cada conjunto de entidades puede tener varios atributos para describir a sus miembros. Algunas entidades tienen interrelaciones o se asocian con otras entidades. El modelo conceptual representará estas interrelaciones asociando los conjuntos de entidades de alguna forma. La BD debe diseñarse para ser un modelo adecuado de la organización y sus operaciones para el minimundo de interés. Cada entidad debe representarse, con sus atributos y las interrelaciones en las que participa. En el mundo real, los objetos representados en el modelo conceptual sufren cambios, por lo que el modelo desarrollado debe permitir no sólo la representación de entidades, atributos e interrelaciones básicas, sino que debe permitir también hacer cambios que reflejen los cambios de la realidad.

La estructura de la BD, llamada modelo lógico de la BD, es el tercer nivel de discusión. En este nivel, se habla de metadatos, o datos acerca de los datos. Para cada conjunto de entidades en el modelo conceptual, se tiene un tipo de registro en el modelo lógico de la BD. Un tipo de registro tiene varios tipos de elementos de datos, cada uno de los cuales representa un atributo de una entidad. Un elemento de dato es la unidad nombrada más pequeña de almacenamiento de datos. Otras palabras algunas veces usadas para los elementos de datos son campo o atributo. Generalmente, un campo es un conjunto de bytes adyacentes identificados como la localización física para el atributo, de modo que tienen un significado más físico que el de atributo. Atributo se refiere generalmente a una característica de una entidad en el modelo conceptual, pero ya que existe una

Unidad 1. Plataforma Teórico Conceptual Página 11

Page 12: Bases de Datos Unidad 1

correspondencia entre los atributos y los elementos de datos, las dos palabras pueden ser intercambiables. Algunas veces, los atributos se agrupan para formar datos agregados, que son grupos de atributos con un nombre en un registro, por ejemplo una fecha. Los datos agregados permiten referirse al grupo de atributos como un todo o al elemento individual del grupo. Un registro es una colección de atributos relacionados y/o datos agregados. Las interrelaciones también pueden ser representadas por tipos de registros, pero hay otras formas de representarlas. La información acerca de la BD se almacena en un diccionario de datos, también llamado directorio de datos o catálogo de sistema. Este repositorio de información contiene descripciones de los tipos de registros, tipos de atributo y agregados de datos, y otra información. Por cada atributo, debe haber una descripción mostrando el nombre del atributo, su tipo de dato y sus sinónimos, que son otros nombres usados para los atributos. El diccionario de datos es actualmente una BD acerca de la BD. Sin embargo, los diccionarios de datos generalmente hacen mucho más que simplemente almacenar la descripción de la estructura de la BD, en algunos DBMSs, están activamente involucrados en todos los accesos a la BD.

El cuarto nivel de discusión concierne a los datos en la BD. Consisten de instancias de datos u ocurrencias. Para cada objeto en el minimundo que se representa como una entidad, existirá una ocurrencia del registro correspondiente en la BD, pudiendo haber muchas ocurrencias en cada entidad. Un archivo es una colección de ocurrencias de un tipo de registro. Finalmente, la base de datos es una colección de archivos relacionados.

1.4. Definición de Base de Datos

Existen muchas definiciones de Base de Datos, la mayoría tienen algunas coincidencias pero dista de ser una definición aceptada mundialmente, sin embargo, la siguiente definición trata de consolidar la mayoría de las fuentes bibliográficas e incluir los aspectos más importantes de las Bases de datos:

Una Base de Datos es una colección de datos interrelacionados, almacenados en conjunto (en archivos) en un dispositivo de almacenamiento secundario (no volátil), con redundancia controlada (normalizados); su finalidad es la de servir a una o más aplicaciones y a uno o más usuarios (compartidos); los datos son independientes de los programas que los usan; su definición (metadatos) debe almacenarse junto con los datos; se emplean métodos bien determinados para incluir datos nuevos y modificar o extraer los existentes (SQL), garantizando la seguridad del conjunto de datos.

1.5. Definición de Sistema Administrador de Bases de Datos

Para lograr obtener las ventajas descritas anteriormente, ningún programa de aplicación debe tener acceso directo a los archivos que componen la base de datos, sino que se colocará entre estos archivos y los programas de aplicación un nuevo nivel de software llamado Sistema de Administración de Bases de Datos o DBMS.

Un DBMS (Data Base Management System ó Sistema Administrador de Bases de Datos) es un software de sistema (conjunto de programas) diseñado para la implantación, acceso y mantenimiento de grandes colecciones de datos de forma compartida, garantizando su seguridad. El DBMS consta de un conjunto de datos relacionados entre sí (BD) y un conjunto de programas para tener acceso a esos datos. Los programas de aplicación utilizan los servicios del DBMS; y el DBMS a su vez, utiliza los servicios del sistema de archivos

Unidad 1. Plataforma Teórico Conceptual Página 12

Page 13: Bases de Datos Unidad 1

Un Sistema de Base de Datos es el conjunto formado por el software (DBMS), los datos BD y los usuarios (finales, programadores de aplicaciones y DBA).

El conjunto de datos se conoce comúnmente como base de datos. El DBMS proporciona un alto nivel de abstracción para acceder a la información, ya que en vez de manipular archivos, registros, índices, cilindros, sectores, etc., el programa de aplicación se maneja enteramente en términos de los objetos almacenados en la BD.

La BD no será controlada por ninguno de los grupos encargados de construir aplicaciones, sino por un grupo o persona que administrará la BD, llamado Administrador de la BD, quien será responsable de definir, mantener y garantizar la integridad y seguridad de la BD.

Finalmente el DBMS generalmente tendrá una aplicación especial llamada lenguaje de consulta que permitirá a los usuarios finales interrogar a la BD sin tener que pasar por el analista o programador.

Este esquema elimina los problemas mencionados previamente, sin embargo, el proceso para obtener todo esto es complejo.

1.5.1. Funciones u objetivos del DBMS

El objetivo principal de un DBMS es crear un ambiente para guardar y recuperar información de la base de datos de forma conveniente y eficiente.

Las funciones provistas por un DBMS se pueden agrupar en:

Manipulación (Consulta y Actualización) de los Datos. Esta es su función más básica y la única que es visible. Consiste en un conjunto herramientas que permite a los distintos tipos de usuarios del DBMS recuperar, manipular y modificar la información almacenada en la BD. Para ello debe incluir un procesador o compilador DML (Data Manipulation Languaje o Lenguaje de Manipulación de Datos).

Definición de datos o Mantenimiento de Esquemas. El DBMS debe ser capaz de aceptar la definición de datos o esquemas. Un esquema de la BD es la descripción de la estructura de la información almacenada en ella, como tipos, tamaños y restricciones de datos. Los usuarios necesitan acceder, agregar y modificar datos, pero también requieren acceder, agregar o modificar el esquema de datos. Para ello emplea un procesador o compilador DDL (Data Definition Language ó Lenguaje de Definición de Datos).

Optimización y Ejecución. El DBMS generalmente tiene un optimizador que determina la forma más eficiente de obtener los resultados solicitados. Una vez determinado el mejor método, el administrador en tiempo de ejecución lo ejecuta.

Seguridad e Integridad de los datos. El DBMS debe vigilar las solicitudes del usuario y rechazar todo intento de violar las restricciones de seguridad e integridad definidas por el DBA.

Manejo de Transacciones y control de concurrencia. Esta es una de las tareas principales. Una transacción es un programa de aplicación, generalmente de duración breve, que accede y actualiza una parte también generalmente pequeña de la BD. El procesamiento de transacciones consiste en controlar múltiples transacciones ejecutadas en paralelo sobre la misma base de datos corriendo en un sistema que puede fallar, por lo que el objetivo del administrador de transacciones o monitor de procesamiento de transacciones (monitor PT) del DBMS es: evitar que las transacciones interfieran entre sí al ejecutarse en paralelo mediante el control de paralelismo y garantizar que la BD no sea dañada en forma

Unidad 1. Plataforma Teórico Conceptual Página 13

Page 14: Bases de Datos Unidad 1

irreparable por caídas, ya sea del sistema o de algunas transacciones mediante técnicas de recuperación.

Diccionario de datos. El DBMS debe proporcionar una función de diccionario de datos que permita conocer el contenido de los metadatos (“datos acerca de los datos”). El diccionario almacena el esquema de la BD y las restricciones de seguridad e integridad. Además este diccionario debe poder ser consultado del mismo modo que cualquier otra BD.

Rendimiento. Todas las funciones anteriores deben realizarse del modo más eficiente posible.

Además de las funciones anteriores, los DBMS suelen incorporar funciones para simplificar las tareas de mantenimiento que realiza el DBA, entre estas funciones se encuentran las herramientas para cargar archivos de otras fuentes a la BD, reorganización de la base de datos, generación de respaldos de seguridad, generadores de reportes y estadísticas.

1.5.2. Usuarios del DBMS

Como se ha mencionado, existen diversos usuarios del DBMS, que se pueden clasificar como:

Usuario final o casual. Es una persona sin conocimientos técnicos sobre bases de datos ni sobre programación y computación en general. Los objetivos de interfaces para este tipo de usuario son permitirle obtener la información que busca con un mínimo de entrenamiento previo y sin mayor esfuerzo. El usuario final puede acceder a la BD a través de las aplicaciones creadas por los programadores de aplicaciones, o mediante una interfaz proporcionada por el software del DBMS.

El programador de aplicaciones. Es el encargado de construir sistemas que utilizan el DBMS. Generalmente su interés no es interactuar directamente con el DBMS, sino escribir programas en lenguajes de alto nivel que invocan las funciones necesarias (generalmente con instrucciones SQL) para acceder a la BD. Su tarea principal es empaquetar el conjunto de funciones del DBMS que los usuarios finales requieren, para que puedan invocarlas simplemente oprimiendo una tecla.

Administrador de la BD (DBA). Es el usuario que necesita íntima familiaridad con los mecanismos internos del sistema, uso de recursos, desempeño, requerimientos de seguridad, etc. Se encargan de implementar la BD en una organización. Tiene todos los privilegios permitidos por el DBMS y puede asignar o eliminar privilegios a los otros usuarios.

Algunos sistemas proporcionan una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuarios. El mismo lenguaje puede usarse desde un programa escrito en un lenguaje de programación como Java, y también proporciona funciones de administración para usarse por el DBA.

Otros sistemas proporcionan interfaces de estilos muy distintos para distintos tipos de usuarios, reconociendo especialmente que los usuarios finales necesitan interfaces visuales muy distintas que las que pueden requerir los otros usuarios.

1.5.3. Elementos del DBMS

Comprender un modelo abstracto de datos es importante para describir la arquitectura del sistema de BD. El esquema de la base de datos se usa para describir la organización conceptual del sistema de base de datos. Esta organización es definida durante el proceso de diseño, generalmente usando el lenguaje de definición de datos (DDL) del DBMS particular.

Unidad 1. Plataforma Teórico Conceptual Página 14

Page 15: Bases de Datos Unidad 1

La arquitectura de los sistemas de BD no se ha estandarizado al mismo grado que la de los compiladores, pero hay ciertos elementos que de un modo u otro forman parte de la mayoría de los DBMS, incluyendo:

1.1.1.5. Administrador de Archivos

Éste módulo interactúa directamente con el sistema de archivos proporcionado por el sistema operativo. Tiene a su cargo el manejo de las estructuras físicas de almacenamiento, administración de espacio en memoria secundaria y métodos eficientes de acceso y búsqueda. En algunos casos los diseñadores del DBMS, estimando que el manejo de archivos proporcionado por el SO no es adecuado a los fines del DBMS, implementan sus propias rutias de acceso a archivos directamente sobre el hardware.

1.1.1.6. Administrador de Datos

Ubicado a un nivel de abstracción mayor que el anterior, este módulo proporciona las funciones básicas que sirven de interfaz entre los datos y los programas de aplicación o consultas de los usuarios. Permite encontrar registros o verificar que un conjunto de datos cumpla las restricciones semánticas del diseño.

1.1.1.7. Procesador de Consultas

Este módulo traduce las consultas expresadas en un lenguaje de consulta de alto nivel a una sucesión de pedidos básicos a nivel de interpretación del administrador de datos. Esta traducción no es trivial porque, en general, existen muchas estrategias distintas para implementar una consulta de alto nivel, con costos muy diferentes. El procesador de consultas tiene a su cargo la optimización de consultas, o sea, tratar de encontrar la implementación más eficiente de una consulta dada.

1.1.1.8. Controlador de Paralelismo o Concurrencia

Cuando el DBMS soporta múltiples procesos accediendo y posiblemente modificando una misma base de datos en paralelo, es importante garantizar que estos procesos no interfieran entre sí, manteniendo a la vez el mayor grado de paralelismo posible.

1.1.1.9. Sistema de Recuperación

Junto con el controlador de paralelismo, este módulo implementa la función de manejo de transacciones. El sistema de recuperación debe mantener suficiente información acerca del progreso de las distintas transacciones en ejecución para poder garantizar que la BD será restaurada a un estado consistente en caso de alguna falla parcial o total.

1.1.1.10. Diccionario de Datos

Como se mencionó previamente, los DBMS tienen como una de sus funciones, proporcionar un diccionario de los datos contenidos en la BD, por lo que muchos vendedores de DBMSs ofrecen diccionarios de datos o directorios de datos que almacenan la descripción de la BD y sirven en la creación y procesamiento de la BD.

Unidad 1. Plataforma Teórico Conceptual Página 15

Page 16: Bases de Datos Unidad 1

Un Diccionario de Datos (DD) es una base de Datos que contiene Datos acerca de los Datos de la base de Datos.

El DD almacena las definiciones de todos los elementos (tablas, vistas, índices, procedimientos almacenados, disparadores, etc.) de los datos en la base de datos y las interrelaciones entre diversas estructuras de dato. Gracias a esto, la base de datos es autodescriptiva, pues contiene información que describe su propia estructura.

La información en el diccionario de datos se llama metadatos y también se pueden consultar y manipular como el resto de los datos.

Si el diccionario es parte del DBMS, se dice que es un DD integrado o catálogo de sistema. Un DD integrado siempre contiene la estructura actual de la BD, porque se mantiene automáticamente por el sistema. Los DD integrados desarrollan muchas funciones en la vida de la BD, no sólo en la fase de diseño. Si el DD está disponible sin un DBMS, se le llama DD libre y pueden ser productos comerciales o un archivo desarrollado y mantenido por el diseñador. Durante la etapa de diseño es preferible usar un DD libre, antes de elegir un DBMS particular ya que no está atado a algún DBMS y el diseñador puede gozar de las ventajas de tener estas herramientas sin definir una implementación particular. Su mayor desventaja es que una vez que la BD es creada, los ajustes en la estructura pueden no ser actualizados en el DD libre y con el tiempo, el DD no reflejará apropiadamente la estructura de la BD.

El DD libre se emplea en las primeras etapas del diseño para recolectar y organizar la información de la BD. Cada atributo, su origen, nombre, uso, significado, relaciones con otros elementos, formato, e identidad personas o grupos de personas responsables de ingresarlo, actualizarlo y mantenerlo correctamente deben ser determinados. El DD proporciona una herramienta efectiva para cumplir esta tares. El DBA puede empezar desarrollando del DD identificando los atributos, asegurando acuerdos con los usuarios en la definición de cada uno e ingresando el atributo en el DD. Ya que los usuarios no son responsables de los datos de otros usuarios, el DBA debe controlar el acceso al diccionario.

Un DD es útil por las siguientes razones:

Recolecta y almacena información acerca de los datos en una localización central. Esto ayuda a administrar obteniendo control sobre los datos como un recurso.

Asegura acuerdos de los usuarios y diseñadores acerca del significado de los atributos. Una definición exacta de cada atributo debe desarrollarse para almacenar en el DD.

Comunicación con los usuarios. El DD facilita la comunicación, ya que se almacenan significados exactos. El DD también identifica las personas, departamentos o grupos que tienen acceso o interés en cada elemento.

Identifica redundancia e inconsistencia en los nombres de los atributos. En el proceso de identificar y definir atributos, el DBA puede descubrir sinónimos, que son nombres diferentes para los mismos datos. La BD puede aceptar sinónimos, pero el sistema debe manejarlos. El DBA puede también descubrir homónimos, que son nombres idénticos para atributos diferentes. Este no se permite en la BD:

Mantener el rastro de los cambios a la estructura de la BD. Los cambios como la creación de nuevos atributos y tipos de registros deben guardarse en el DD.

Determinar el impacto de los cambios a la estructura de la BD. Ya que el DD registra cada elemento, todas sus interrelaciones y todos sus usuarios, el DBA puede ver qué efectos puede tener un cambio.

Unidad 1. Plataforma Teórico Conceptual Página 16

Page 17: Bases de Datos Unidad 1

Identificar las fuentes y responsables de los datos. Una regla general para ingresar datos es que los datos deben ser capturados tan cercano a la fuente como sea posible. Las personas o departamentos que generan o capturan los valores para cada atributo y que son responsables de actualizarlos deben listarse en el diccionario de datos.

Registrar los esquemas externos, lógico e interno y realizar el mapeo entre ellos. Registrar información sobre el control de acceso. Un DD puede almacenar las identidades de

todos los que tengan permitido acceder a cada elemento, junto con el tipo de acceso (inserción, actualización o eliminación).

Proporcionar información de auditoría. El DD puede ser usado para almacenar cada acceso, permitiendo usar estadísticas para auditar el sistema y evitar intentos de violación de seguridad.

No todos los DD proporcionan soporte para todas las funciones y algunos proporcionan funciones adicionales. Algunos sólo almacenan el esquema, algún control de documentación y algunos DD son “metasistemas” que controlan el acceso a la BD, generan código de sistema y mantienen estadísticas del uso de la BD.

1.6. Modelos de datos

Un modelo, en general, es una representación simplificada de un sistema real. Gracias a los modelos podemos comprender y conceptualizar una idea abstracta de forma más fácil. Si la representación es adecuada, podremos interrogar al modelo si deseamos conocer alguna propiedad del sistema real.

Existen enfoques alternativos para visualizar manejar datos a un nivel lógico independientemente de cualquier estructura física de soporte en que se basen.

Un modelo de datos es una forma de explicar la organización lógica de los datos y las relaciones entre ellos; es una definición lógica, independiente y abstracta de los objetos, operadores y demás que en conjunto constituyen la máquina abstracta con la que interactúan los usuarios. Es un conjunto de conceptos, reglas y convenciones bien definidos que permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que se desea almacenar en la BD.

El modelo de datos debe poder representar tanto las características estáticas o estructuras de datos (objetos), como las dinámicas u operaciones (comportamiento) del sistema real que pretende representar. En consecuencia, un modelo de datos se define por los siguientes componentes:

Un conjunto de objetos y sus interrelaciones. Esto representa las características estáticas o invariantes e incluye las propiedades de los objetos.

Un conjunto de operaciones, o lenguaje, que representa las características dinámicas. Restricciones sobre los objetos, sus interrelaciones y las operaciones definidas sobre ellos.

Los modelos de datos incluyen generalmente un tipo de diagrama y vocabulario específico para describir la estructura de la BD. La estructura de la base de datos es llamada intensión de la BD, es relativamente permanente y se describe en el esquema de la BD. El esquema puede cambiar ocasionalmente si se requieren nuevos datos, a este proceso se le llama evolución del esquema. Los datos almacenados en la BD en un momento dado son llamados la extensión de la BD, instancia de la BD o estado de la BD. La extensión cambia cada vez que se agregan, borrar o modifican datos. La extensión siempre debe tener un estado válido, lo que implica que satisfaga todas las restricciones especificadas en el esquema. La intensión de la BD es actualmente una estructura compleja de datos abstractos que formalmente define todas las posibles extensiones.

Unidad 1. Plataforma Teórico Conceptual Página 17

Page 18: Bases de Datos Unidad 1

Existe gran variedad de modelos de datos y metodologías disponibles en la literatura y comercialmente: existen modelos que presentan los datos en términos de tablas, grafos, árboles, funciones, conjuntos, etc.

Tarea.a. Leer al menos 2 fuentes adicionales sobre los temas vistos en esta unidad y hacer un resumen

de la unidad (máximo 1 cuartilla). No olvidar conclusiones y bibliografía.b. Explicar cuáles son las diferencias entre el manejo de datos con archivos y con una BD, entre

una BD y un DBMS, entre los datos y metadatos, entre el DML y el DDL.c. Investigar y explicar cómo funciona un DBMS.

Unidad 1. Plataforma Teórico Conceptual Página 18