














































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Durante las últimas cuatro décadas del siglo veinte, el uso de las bases de datos creció en todas las empresas. En los primeros días, muy pocas personas interactuaban directamente con los sistemas de bases de datos, aunque sin darse cuenta interactuaban indirectamente con bases de datos—con informes impresos como los extractos de las tarjetas de crédito, o mediante agentes como los cajeros de los bancos y los agentes de reservas de las líneas aéreas.
Tipo: Apuntes
1 / 86
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!















































































En colaboración con el
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Durante las últimas cuatro décadas del siglo veinte, el uso de las bases de datos creció en todas las empresas. En los primeros días, muy pocas personas interactuaban directamente con los sistemas de bases de datos, aunque sin darse cuenta interactuaban indirectamente con bases de datos—con informes impresos como los extractos de las tarjetas de crédito, o mediante agentes como los cajeros de los bancos y los agentes de reservas de las líneas aéreas. Después llegaron los cajeros automáticos y permitieron a los usuarios interactuar directamente con las bases de datos. Pero a partir de la revolución de Internet a finales de los años noventa aumentó significativamente el acceso directo del usuario a las bases de datos. Las organizaciones convirtieron sus procesos, permitieron que sus operaciones se pudieran realizar por medio de la Web. Por ejemplo, cuando se accede a una librería en línea y se busca en una colección de libros o de música, se está accediendo a datos almacenados en una base de datos. Cuando se realiza un pedido en línea, el pedido se almacena en una base de datos. Cuando se accede al sitio Web de un banco y se consultan el estado de la cuenta y los movimientos, la información se recupera del sistema de información del banco, que utiliza bases de datos. Cuando se accede a un sitio Web, puede que se recupere información personal de una base de datos para seleccionar los anuncios que se deben mostrar. Más aún, los datos sobre todos los accesos Web que realizan los usuarios dentro de un sistema pueden almacenarse en una base de datos. Así, aunque las interfaces de usuario ocultan los detalles del acceso a las bases de datos, y la mayoría de las personas, ni siquiera es consciente que están interactuando con una base de datos, el acceso a las bases de datos forma actualmente una parte esencial de la vida de todos. Una base de datos es una colección de datos relacionados. Con la palabra datos nos referimos a los hechos conocidos que se pueden grabar y que tienen un significado implícito. Por ejemplo, los nombres, números de teléfono y direcciones de las personas que conoce. Puede tener todos estos datos grabados en un libro de direcciones indexado o los puede tener almacenados en el disco duro de un computador. Esta colección de datos con un significado implícito es una base de datos. La definición anterior de base de datos es muy genérica; por ejemplo, podemos pensar que la colección de palabras que compone esta página de texto es una colección de datos relacionados y que, por tanto, constituye una base de datos. No obstante, el uso común del término base de datos es normalmente más restringido. Una base de datos tiene las siguientes propiedades implícitas:
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Una base de datos, por sí misma, no es más que una forma de almacenamiento de datos; por lo tanto, para poder acceder a dichos datos existe un conjunto de programas que facilitan la interacción con dichos datos. El objetivo principal de este conjunto de programas denominado: Sistema de Administración de Base de Datos (DBMS, en inglés DataBase Management System) es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea práctica y eficiente. Éstos sistemas de administración de BD (Base de Datos) están diseñados para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. Además, los sistemas de administración de bases de datos deben garantizar la fiabilidad de la información almacenada, a pesar de las caídas del sistema o de los intentos de acceso no autorizados. Si los datos van a ser compartidos entre diferentes usuarios, el sistema debe evitar posibles resultados anómalos. Podemos definir un sistema de administración de datos como una colección de programas que permite a los usuarios crear y mantener una base de dato s. El DBMS es un sistema de software de propósito general que facilita los procesos de definición, construcción, manipulación y compartición de bases de datos entre varios usuarios y aplicaciones. Definir una base de datos implica especificar los tipos de datos, estructuras y restricciones de los datos que se almacenarán en la misma.
Las bases de datos y los sistemas de administración de bases de datos surgieron en respuesta a los primeros métodos de gestión informatizada de los datos comerciales. A modo de ejemplo de dichos métodos, típicos de los años sesenta, considérese parte de una entidad bancaria que, entre otros datos, guarda información sobre todos los clientes y todas las cuentas de ahorro. Una manera de guardar la información en la computadora es almacenarla en archivos del sistema operativo. Para permitir que los usuarios manipulen la información, el sistema tiene varios programas de aplicación que gestionan los archivos, incluyendo programas para:
Estos programas de aplicación los han escrito programadores de sistemas en respuesta a las necesidades del banco. Se añaden nuevos módulos al sistema según surgen las necesidades. Por ejemplo, supóngase que un banco decide ofrecer además de caja de ahorro, cuentas corrientes. En consecuencia, se crean nuevos archivos permanentes que contienen información acerca de todas las cuentas corrientes abiertas en el banco y puede que haya que escribir nuevos programas de aplicación
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
para afrontar situaciones que no se dan en las cajas de ahorro, como los descubiertos^1. Así, con el paso del tiempo, se añaden más archivos y programas de aplicación al sistema. Los sistemas operativos convencionales soportan este sistema de procesamiento de archivos típico. El sistema almacena los registros permanentes en varios archivos y necesita diferentes programas de aplicación para extraer y añadir a los archivos correspondientes. Antes de la aparición de las bases de datos, las organizaciones normalmente almacenaban la información en sistemas de este tipo. Guardar la información de la organización en un sistema de procesamiento de archivos tiene una serie de inconvenientes importantes:
Redundancia e inconsistencia de los datos. Debido a que los archivos y programas de aplicación los crean diferentes programadores en el transcurso de un período de tiempo, es probable que los diversos archivos tengan estructuras diferentes y que los programas estén escritos en varios lenguajes de programación diferentes. Además, puede ser que la información esté duplicada en varios lugares (archivos). Por ejemplo, la dirección y el número de teléfono de un cliente dado pueden aparecer en un archivo que contenga registros de cuentas de ahorros y en un archivo que contenga registros de cuentas corrientes. Esta redundancia conduce a costos de almacenamiento y de acceso más elevados. Además, puede dar lugar a la inconsistencia de los datos ; es decir, puede ser que las diferentes copias de los mismos datos no coincidan. Por ejemplo, es posible que el cambio en la dirección de un cliente esté reflejado en los registros de las cuentas de ahorro, pero no en el resto del sistema. Dificultad en el acceso a los datos. Supóngase que uno de los empleados del banco necesita averiguar los nombres de todos los clientes que viven en domicilio con un mismo código postal. El empleado pide al departamento de procesamiento de datos que genere esa lista. Debido a que esta petición no fue prevista por los diseñadores del sistema original, no hay un programa de aplicación a mano para satisfacerla. Hay, sin embargo, un programa de aplicación que genera la lista de todos los clientes. El empleado del banco tiene ahora dos opciones: obtener la lista de todos los clientes y extraer manualmente la información que necesita, o bien pedir a un programador de sistemas que escriba el programa de aplicación necesario. Ambas alternativas son obviamente insatisfactorias. Supóngase que se escribe el programa y que, varios días más tarde, el mismo empleado necesita reducir esa lista para que incluya únicamente a aquellos clientes que tengan una cuenta con saldo igual o superior a $10.000. Como se puede esperar, no existe ningún programa que genere tal lista. De nuevo, el empleado tiene que elegir entre dos opciones, ninguna de las cuales es satisfactoria. La cuestión aquí es que los entornos de procesamiento de archivos convencionales no permiten recuperar los datos necesarios de una forma práctica y eficiente. Hacen falta sistemas de recuperación de datos más adecuados para el uso general. Aislamiento de datos. Como los datos están dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los datos correspondientes.
(^11) Descubierto de una cuenta corriente: el término se refiere a la posibilidad de utilizar un determinado monto asignado en la cuenta, para hacer operaciones como extracciones de dinero o pago de servicios, sin tener saldo real en la cuenta.
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
sistemas de administración de las mismas.
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Figura 1: Estructura de un Sistema que utiliza DBMS
Unas cuantas características distinguen la tecnología de bases de datos de la tecnología tradicional de programación con archivos. En el procesamiento tradicional de archivos, cada usuario define e implementa los archivos necesarios para una aplicación concreta como parte de la programación de esa aplicación. Por ejemplo, un usuario, la oficina de notificación de calificaciones, puede encargarse del mantenimiento de un archivo con los estudiantes y sus calificaciones. Los programas encargados de imprimir el certificado de estudios de un estudiante e introducir nuevas calificaciones en el archivo se implementan como parte de la aplicación.
Un segundo usuario, la oficina de contabilidad, puede encargarse del seguimiento de las cuotas de los estudiantes y sus pagos. Aunque ambos usuarios están interesados en datos relacionados con los estudiantes, cada uno mantiene archivos separados (y programas para la manipulación de esos archivos), porque cada uno requiere algunos datos que no están disponibles en los archivos del otro. Esta redundancia en la definición y el almacenamiento de datos da como resultado un derroche de espacio de almacenamiento y reiterados esfuerzos por mantener al día datos comunes.
Con las bases de datos se mantiene un único almacén de datos, que se define una sola vez, y al que acceden varios usuarios. En los sistemas de archivos cada aplicación tiene libertad para asignar un nombre independientemente a los elementos de datos. Por el contrario, en una base de datos, los nombres o etiquetas de los datos se definen una vez, y son utilizados para
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
a la asignación de ese asiento para un pasajero. Estos tipos de aplicaciones se denominan, por lo general, aplicaciones de procesamiento de transacciones en línea (OLTP, online transaction processing). Un papel fundamental del software DBMS multiusuario es garantizar que las transacciones concurrentes operan correcta y eficazmente.
El concepto de transacción es cada vez más importante para las aplicaciones de bases de datos. Una transacción es un programa en ejecución o proceso que incluye uno o más accesos a la base de datos, como la lectura o la actualización de los registros de la misma. Se supone que una transacción ejecuta un acceso lógicamente correcto a la base de datos si lo ejecutó íntegramente sin interferencia de otras transacciones. El DBMS debe implementar varias propiedades de transacción. La propiedad aislamiento garantiza que parezca que cada transacción se ejecuta de forma aislada de otras transacciones, aunque puedan estar ejecutándose cientos de transacciones al mismo tiempo. La propiedad de atomicidad garantiza que se ejecuten o todas o ninguna de las operaciones de bases de datos de una transacción.
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Cuando una aplicación interactúa con una base de datos, se comunica con un servidor de base de datos, el cuál puede estar instalado localmente y ejecutándose en la misma computadora en donde se ejecuta la aplicación, o de lo contrario, puede estar instalado en otra máquina comúnmente llamada servidor de base de datos (porque presta servicio, de acuerdo a las peticiones que la aplicación realice). Cuando el servidor de base de datos se encuentra instalado en un servidor externo, la comunicación se logra utilizando una red, que requiere un protocolo^2 para poder comunicarse; el protocolo que generalmente se utiliza se denomina TCP/IP. Este protocolo queda fuera del alcance de este material, pero podemos explicarlo fácilmente si pensamos en Internet: hoy en día, todos estamos acostumbrados a utilizar computadoras con internet y buscar información en google, buscar noticias de otros países, conectarnos a las redes sociales o jugar en red con otras personas que están en otra parte del mundo, ¿Cómo se logra esto?
Cada computadora se comunica con otra computadora utilizando un número identificador para cada una, denominado IP, es simplemente como un documento de la computadora, que la identifica y es necesario para lograr comunicarse con otra, de esta manera si entramos a la página de google: www.google.com, ¿Cómo hacemos para poder ver la página del buscador?, simplemente nuestra computadora se conecta por medio de la red con otra computadora que cumple la función de servidor, ya que responde a las peticiones de los usuarios: al entrar a www.google.com.ar, el servidor detecta que nosotros queremos acceder a la página del buscador y simplemente nos brinda la página.
Figura 2: Esquema de un Sistema de Base de Datos Distribuida
(^2) Protocolo : En informática y telecomunicación, un protocolo de comunicaciones es un sistema de reglas que permiten que dos o más entidades de un sistema de comunicación se comuniquen entre ellas para transmitir información por medio de cualquier tipo de variación de una magnitud física. Se trata de las reglas o el estándar que define la sintaxis, semántica y sincronización de la comunicación, así como también los posibles métodos de recuperación de errores. Los protocolos pueden ser implementados por hardware, por software, o por una combinación de ambos.
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
descripción de alto nivel de la realidad, y luego se transforma el esquema conceptual en un esquema lógico. El motivo de realizar estas dos etapas es la dificultad de abstraer la estructura de una base de datos que presente cierta complejidad.
Un esquema es un conjunto de representaciones lingüísticas o gráficas que describen la estructura de los datos de interés. Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades:
En general, un modelo no es capaz de expresar todas las propiedades de una realidad determinada, por lo que hay que añadir aserciones que complementen el esquema. A medida que han ido evolucionando el software y el hardware, las posibilidades y las demandas de los usuarios han ido creciendo y paralelamente los modelos de datos fueron enriqueciéndose y salvando carencias de sus predecesores. Cronológicamente, podemos clasificarlos de la siguiente forma:
Los modelos de datos primitivos se usaron durante la década de los 70, cuando aún no se utilizaban las técnicas de bases de datos. Los objetos se representaban como registros organizados en ficheros, y las relaciones mediante referencias explícitas a otros registros en algún campo del mismo. Los lenguajes de manipulación dependen por entero de la organización física de los datos y las operaciones básicas de lectura y escritura son específicas para la aplicación implementada.
Para garantizar, o al menos mejorar, las independencias de las aplicaciones frente a los datos aparecen los primeros sistemas de gestión de bases de datos basados en lo que ahora llamamos modelos de datos clásicos. Los primeros en aparecer fueron el jerárquico y la red, cuyos nombres muestran cual es la estructura de datos subyacente en los modelos. Los elementos siguen siendo representados por registros, pero las relaciones entre elementos se expresan, con ciertas limitaciones implícitas del modelo, mediante la estructura en que se basan.
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Fig. 3: El modelo de datos jerárquico
En el modelo jerárquico los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de datos puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de datos y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
Por otro lado, el modelo de red es ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Representó una gran mejora con respecto al modelo jerárquico ya que ofrecía una solución eficiente al problema de redundancia de datos, no obstante, la dificultad que significa administrar los datos en una base de datos de red ha provocado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.
Fig. 4: El modelo de datos de red
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Fig. 6: El modelo de datos orientado a objetos
Los modelos de datos orientado a documentos permiten la indexación a texto completo , es decir que posibilita crear estructuras de datos similares a los árboles de búsqueda para, en líneas generales, realizar búsquedas más potentes.
Fig. 7: El modelo de datos orientado a documentos
Módulo 5: Base de Datos Versión 2.0 – Liberada el 12/07/
Los modelos de datos multidimensionales son ideados para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP (On-Line Analytical Processing, Procesamiento Analítico en Línea). Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia se encuentra a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desea estudiar.
Fig. 8: El modelo de datos multidimensional
Las bases de datos multidimensionales suelen representarse gráficamente como cubos, según se muestra en la siguiente figura.
Fig. 9: El modelo de datos multidimensional como un cubo