Está en la página 1de 54

TEMA 4: TRATAMIENTO DE LA INFORMACIN: BASES DE DATOS

Agenda:
o o o o

Introduccin Aplicaciones de los sistemas de bases de datos Cronologa de las BD hasta la actualidad Sistemas de bases de datos frente a sistemas de

archivos
o

Desventajas del procesamiento de archivos

TEMA 4: TRATAMIENTO DE LA INFORMACIN: ARCHIVOS Y ORGANIZACIN DE LA INFORMACIN

Agenda:
o o

Aplicaciones con bases de datos Referencias Bibliogrficas

Introduccin
Una base de datos es un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. Por ejemplo una biblioteca puede

considerarse una base de datos compuesta por documentos y textos impresos en papel.

Introduccin
Un sistema de gestin de bases de datos
(SGBD) consiste en una coleccin de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La coleccin de datos, denominada base de datos, contiene

informacin relevante para una empresa, por


ejemplo.

Introduccin
El objetivo principal de un SGBD es
proporcionar una forma de almacenar y recuperar la informacin de una base de datos de manera que sea tanto prctica como eficiente. Los sistemas de bases de datos se

disean para gestionar grandes cantidades de


informacin.

Introduccin

La gestin de los datos implica tanto la definicin


de estructuras para almacenar la informacin como la provisin de mecanismos para la manipulacin de la informacin. Deben proporcionar la fiabilidad de la informacin almacenada, a pesar de las cadas del sistema o los intentos de acceso sin autorizacin.

Introduccin

Si los datos van a ser compartidos entre


diversos usuarios, el sistema debe evitar

posibles resultados anmalos.

Introduccin

Dado que la informacin es tan importante en la


mayora de las organizaciones, los cientficos informticos han desarrollado un amplio conjunto de conceptos y tcnicas para la gestin de los datos.

Aplicaciones de los sistemas de bases de datos

Algunas de sus aplicaciones ms representativas:


o

Bancos. Para informacin de los clientes, cuentas y prstamos, y transacciones bancarias. Lneas areas. Para reservas e informacin de planificacin.

Las lneas areas fueron las primeros en usar las bases de datos de
forma distribuida geogrficamente (las computadoras situadas en todo el mundo accedan al sistema de bases de datos centralizado a travs de las lneas telefnicas y otras redes de datos).

Aplicaciones de los sistemas de bases de datos


Universidades. Para informacin de los estudiantes, matrculas de las asignaturas y cursos. Transacciones de tarjetas de crdito. Para compras con tarjeta de crdito y generacin mensual de extractos. Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generacin mensual de facturas, manteniendo el saldo de las tarjetas telefnicas de prepago y para almacenar informacin sobre las redes de comunicaciones.

Aplicaciones de los sistemas de bases de datos


Finanzas. Para almacenar informacin sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos. Ventas. Para informacin de clientes, productos y compras.

Produccin. Para la gestin de la cadena de produccin y para el


seguimiento de la produccin, inventarios de productos en stock y pedidos de productos. Recursos humanos. Para informacin sobre los empleados, salarios, impuestos y beneficios, y para la generacin de las nminas.

Cronologa de las BD hasta la actualidad

A lo largo de las ltimas cuatro dcadas del siglo veinte, el


uso de las bases de datos creci en todas las empresas. En los primeros das, muy pocas personas interactuaron directamente con los sistemas de bases de datos, aunque sin darse cuenta interactuaron con bases de datos. Sin ir ms lejos cualquier operacin que se realice sobre las cuentas ya sea del cajero automtico o del homebanking estn interactuando constantemente sobre una o ms bases de datos del banco. Hay muchos ejemplos al respecto.

Cronologa de las BD hasta la actualidad

La revolucin de Internet a finales de la dcada de 1990


aument significativamente el acceso directo del usuario a las bases de datos. Las organizaciones convirtieron

muchas de sus interfaces telefnicas a las bases de datos


en interfaces Web, y pusieron disponibles en lnea muchos servicios.

Cronologa de las BD hasta la actualidad

Aunque las interfaces de datos ocultan detalles del acceso


a las bases de datos, y la mayora de la gente ni siquiera es consciente de que estn interactuando con una base de

datos, el acceso a las bases de datos forma una parte


esencial de la vida de casi todas las personas actualmente.

Cronologa de las BD hasta la actualidad

La importancia de los sistemas de bases de datos se


puede juzgar de otra forma: actualmente, los vendedores de sistemas de bases de datos como Oracle estn entre

las mayores compaas software en el mundo, y los


sistemas de bases de datos forman una parte importante de la lnea de productos de compaas ms diversificadas, como Microsoft e IBM.

Sistemas de bases de datos frente a sistemas de archivos Considrese parte de una empresa financiera,
las cajas de ahorros, que mantienen informacin acerca de todos los clientes y cuentas de ahorros. Una manera de mantener la informacin en una computadora es

almacenarla en archivos del sistema


operativo.

Sistemas de bases de datos frente a sistemas de archivos

Para permitir a los usuarios manipular la informacin,


el sistema tiene un nmero de programas de aplicacin que manipula los archivos, incluyendo:
o

Un programa para efectuar cargos o abonos en una


cuenta. Un programa para aadir una cuenta nueva. Un programa para calcular el saldo de una cuenta. Un programa para generar las operaciones mensuales.

o o o

Sistemas de bases de datos frente a sistemas de archivos Estos programas de aplicacin se han escrito por
programadores de sistemas en respuesta a las necesidades de la organizacin financiera. Si las

necesidades se incrementan, se aaden nuevos


programas de aplicacin al sistema. Por ejemplo, supngase que las regulaciones de un nuevo gobierno

permiten a las cajas de ahorros ofrecer cuentas


corrientes.

Sistemas de bases de datos frente a sistemas de archivos Como resultado se crean nuevos archivos permanentes
que contengan informacin acerca de todas las cuentas corrientes mantenidas por la empresa, y puede ser

necesario escribir nuevos programas de aplicacin para


tratar situaciones que no existan en las cuentas de ahorro, tales como manejar descubiertos. As, sobre la

marcha, se aaden ms archivos y programas de


aplicacin al sistema.

Sistemas de bases de datos frente a sistemas de archivos Los registros permanentes son almacenados en varios
archivos y se escriben diferentes programas de aplicacin para extraer registros y para aadir registros a los

archivos adecuados. Antes de la llegada de los sistemas


de gestin de bases de datos (SGBDs), las organizaciones normalmente han almacenado la informacin usando

tales sistemas, los sistemas web pueden ser almacenados


en una base de datos.

Sistemas de bases de datos frente a sistemas de archivos Aunque las interfaces de datos ocultan detalles del acceso
a las bases de datos, y la mayora de la gente ni siquiera es consciente de que estn interactuando con una base de

datos, el acceso a las bases de datos forma una parte


esencial de la vida de casi todas las personas actualmente. Otro ejemplo sencillo y que puede

resultar familiar es la consulta de saldo al


celular. (Se puede describir este ejemplo).

Desventajas del procesamiento de archivos Mantener informacin de la organizacin en un sistema de


procesamiento de archivos tiene una serie de inconvenientes importantes:
o

Redundancia e inconsistencia de datos: La misma informacin puede estar duplicada en diferentes lugares (archivos). Por ejemplo, la direccin y nmero de telfono de un cliente particular puede aparecer en un archivo que

contenga registros de cuentas de ahorros y en un archivo


que contenga registros de una cuenta corriente.

Desventajas del procesamiento de archivos


o

Esta redundancia conduce a un almacenamiento y costo de


acceso ms altos. Adems, puede conducir a inconsistencia de datos; es decir, las diversas copias de los mismos datos pueden no coincidir. Por ejemplo, un cambio en la direccin del cliente puede estar reflejado en los registros de las cuentas de ahorro pero no estarlo en el resto del sistema. (Similar al problema de datos que tenia la Provincia

de Santa Fe en sus sistemas de impuestos).

Desventajas del procesamiento de archivos


o

Dificultad en el acceso a los datos. Supngase que uno


de los empleados de la entidad financiera necesita averiguar los nombres de todos los clientes que viven

en la ciudad cuyo cdigo postal es 3400. El empleado


pide al departamento de procesamiento de datos que genere dicha lista. Debido a que esta peticin no fue prevista cuando el sistema original fue diseado, no hay un programa de aplicacin a mano para

satisfacerla.

Desventajas del procesamiento de archivos


o

Hay, sin embargo, un programa de aplicacin que


genera la lista de todos los clientes. El empleado del banco tiene ahora dos opciones: o bien obtener la lista

de todos los clientes y obtener la informacin que


necesita manualmente, o bien pedir al departamento de procesamiento de datos que solicite a un programador de sistemas, que escriba el programa de aplicacin necesario.

Desventajas del procesamiento de archivos


o

Ambas alternativas son obviamente insatisfactorias.


Supngase que se escribe tal programa y que, varios das ms tarde, el mismo empleado necesita arreglar

esa lista para incluir slo aquellos clientes que tienen


una cuenta con saldo de $10.000 o ms. Como se puede esperar, un programa para generar tal lista no existe. De nuevo, el empleado tiene que elegir entre dos opciones, ninguna de las cuales es satisfactoria.

Desventajas del procesamiento de archivos


o

La cuestin aqu es que el entorno de


procesamiento de archivos convencional no permite que los datos necesarios sean

obtenidos de una forma prctica y eficiente. Se


deben desarrollar sistemas de recuperacin de datos ms interesantes para un uso general, y no para requerimiento ms especficos, como los presentados previamente.

Desventajas del procesamiento de archivos


o

Aislamiento de datos: Debido a que los datos estn dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difcil escribir nuevos programas de aplicacin para recuperar los datos apropiados. Por ejemplo algunos programas pueden tener sus archivos en un formato, y otros programas en otro formato diferente, esto genera inconvenientes a la hora de integrar los datos. Problemas de integridad: Los valores de los datos almacenados en la

base de datos deben satisfacer ciertos tipos de restricciones de


consistencia. Por ejemplo, el saldo de una cuenta bancaria no puede nunca ser ms bajo de una cantidad predeterminada (por ejemplo $25).

Desventajas del procesamiento de archivos


o

Los desarrolladores hacen cumplir esas restricciones en el


sistema aadiendo el cdigo apropiado en los diversos programas de aplicacin. Sin embargo, cuando se aaden

nuevas restricciones, es difcil cambiar los programas


para hacer que se cumplan. El problema es complicado cuando las restricciones implican diferentes elementos de

datos de diferentes archivos. Es decir, va a haber muchos


cambios que deben hacerse y esto pone en riesgo la integridad de los datos.

Desventajas del procesamiento de archivos


o

Problemas de atomicidad: Un sistema de informacin, como cualquier otro dispositivo mecnico o elctrico, est sujeto a fallos. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que exista

antes del fallo, es decir, al estado original anterior al fallo. Consideremos


un programa para transferir $50 desde la cuenta A a la B. Si ocurre un fallo del sistema durante la ejecucin del programa, es posible que los $50 fueran eliminados de la cuenta A, pero no acreditados a la cuenta B, resultando un estado de la base de datos inconsistente.

Desventajas del procesamiento de archivos


o

Claramente, es esencial para la consistencia de la base de datos que ambos, el abono y el crdito tengan lugar, o que ninguno tenga lugar. Es decir, la transferencia de fondos debe ser atmica: sta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difcil asegurar esta

propiedad en un sistema de procesamiento de archivos


convencional, en cambio en un sistema de bases de datos, esta propiedad siempre se cumple.
o

Anomalas en el acceso concurrente: Conforme se ha ido mejorando el conjunto de ejecucin de los sistemas y ha sido posible una respuesta en tiempo ms rpida, muchos sistemas han ido permitiendo a mltiples usuarios actualizar los datos simultneamente. (Hilos de ejecucin).

Desventajas del procesamiento de archivos


o

En tales sistemas un entorno de interaccin de actualizaciones concurrentes puede dar lugar a datos inconsistentes. Considrese una cuenta bancaria A, que contiene $500. Si dos clientes retiran fondos (por ejemplo $50 y $100 respectivamente) de la cuenta A en

aproximadamente el mismo tiempo, el resultado de las ejecuciones


concurrentes puede dejar la cuenta en un estado incorrecto (o inconsistente).

Desventajas del procesamiento de archivos


o

Supongamos que los programas se ejecutan para cada retirada y escriben el resultado despus. Si los dos programas funcionan concurrentemente (concurrentemente significa en paralelo), pueden leer ambos el valor $500, y escribir despus $450 y $400,

respectivamente. Dependiendo de cul escriba el ltimo valor, la cuenta


puede contener bien $450 o bien $400, en lugar del valor correcto, $350. Para protegerse contra esta posibilidad, el sistema debe mantener alguna forma de supervisin. Sin embargo, ya que se puede acceder a los datos desde muchos programas de aplicacin diferentes que no han sido previamente coordinados, la supervisin es difcil de proporcionar.

Desventajas del procesamiento de archivos


o

Problemas de seguridad: No todos los usuarios de un sistema de bases de datos deberan poder acceder a todos los datos. Por ejemplo, en un sistema bancario, el personal de recursos humanos necesita ver slo esa parte de la base de datos que tiene informacin acerca de varios empleados del banco. No necesitan acceder a la informacin acerca de las cuentas de clientes, es difcil garantizar tales restricciones de seguridad, en sistemas de archivos convencionales. Estas dificultades, entre otras, han motivado el desarrollo de los sistemas de bases de datos.

Aplicaciones con bases de datos

Para poder realizar prctica con sistemas de


bases de datos, es necesario comprender

cmo se conforma una base de datos en la


computadora; pero antes se debe entender

ciertas definiciones.

Aplicaciones con bases de datos

Entidad: Una entidad es una cosa u objeto del mundo real que es distinguible de todos los dems objetos. Por ejemplo cada persona es una entidad, que tiene un conjunto de propiedades asociadas, por ejemplo: DNI, Nombre, Sexo, Edad, etc. Las entidades pueden ser concretas, es decir identificables en el mundo real, por ejemplo, personas, autos, casas; o pueden abstractas, por ejemplo viajes, estadas, excursiones, etc. Es decir son entidades abstractas aquellas que no son identificables como cosas u objetos, pero que tienen un significado y existen.

Aplicaciones con bases de datos

Relacin: Es una asociacin entre diferentes


entidades. Por ejemplo se puede definir una relacin que asocie a la entidad cliente de una agencia de viajes llamado Luis Lpez, con la entidad viaje. Se sabe que Lpez

viaj a un lugar cuyo cdigo de viaje es V-14.


Esto se puede representar as:

Aplicaciones con bases de datos

Cliente
Numero_Cliente: 002 Nombre: Luis Lpez Sexo: M Edad: 23 viaja

Viaje Cdigo_Viaje: V-14 Numero_Cliente: 002 Origen_viaje: Esquina Destino_viaje: Coln Fecha_viaje: 24/09/2010

El conjunto de las relaciones de las entidades de un modelo de datos, se llama modelo entidad relacin, y es la base fundamental para entender cmo trabajan las bases de datos. (Se pueden presentar varios ejemplos ilustrativos).

Aplicaciones con bases de datos


Una representacin genrica del modelo entidad relacin para las dos tablas mencionadas en el ejemplo previo, seran:

Cliente

Viaje Cdigo_Viaje Numero_Cliente Origen_viaje Destino_viaje Fecha_viaje

Numero_Cliente Nombre Sexo Edad

viaja

Aplicaciones con bases de datos

En este ejemplo est modelada la relacin viaja, y se lee de la


siguiente manera: Un Cliente est asociado a un viaje, es decir que puede viajar en una fecha determinada a un lugar, y un viaje est asociado a uno o ms clientes. Esta relacin es de uno a muchos, ya que un destino determinado puede ser elegido por ms de un cliente, existen otro tipo de relaciones de uno a uno y de muchos a muchos. (Se pueden presentar

varios ejemplos)

Aplicaciones con bases de datos

Tabla: Es la forma de representar una entidad o una relacin en el


sistema de bases de datos, es decir, es la estructura de datos fsica que se almacena por cada entidad en la base de datos.

Cada base de datos del sistema, posee un conjunto de tablas, que comprende todo el modelo de datos de dicha base, es decir que si se quiere definir una base de datos para la empresa turstica, por el momento sta tendr dos tablas, una que se llamar Cliente y otra que se llamar Viaje. Para la relacin viaja no se define tabla, debido a que la relacin es de uno a muchos. Obviamente que podrn definirse otras tablas en base a las necesidades de almacenamiento y representacin de la informacin.

Aplicaciones con bases de datos


Registro de tabla: Es una fila de una tabla determinada.
Estas dos tablas, contendrn fsicamente cargados a todos los clientes de la empresa y a todos los viajes realizados, por ejemplo:

Tabla Cliente
Numero_Cliente 001 002 003 004 Nombre Ana Prez Luis Lpez Germn Correa Andrea Cerutti Sexo F M M F Edad 24 23 45 24

Tabla Viaje
Codigo_viaje V-14 V-15 V-16 V-17 Numero_Clie nte 002 001 004 001 Orgen_viaje Goya Esquina Mendoza Santa Fe Destino_viaje Posadas Coln Formosa Formosa Fecha_viaje 12/11/2007 24/09/2010 30/07/2009 12/01/2011

Aplicaciones con bases de datos

Por cada fila de la tabla cliente habr una fila en la tabla viaje. Un
registro de la tabla cliente sera por ejemplo:
001 Ana Prez F 24 V-14

Aplicaciones con bases de datos

Lenguaje de base de datos: Es el lenguaje que utilizan los sistemas


de bases de datos, el que se utilizar se llama SQL (Structured Query Language, Lenguaje estructurado de consultas). Para realizar consultas a la base de datos se deben escribir las consultas y el servidor donde estn almacenadas las tablas responder mostrando el resultado de la consulta. En la prctica se utilizar el servidor de base de datos MySQL.

Aplicaciones con bases de datos En general una consulta SQL tiene las siguientes partes:
select A1, A2,, An from r1, r2,, rm where P;
Select: Se usa para listar los atributos deseados del resultado de una consulta. From: Lista de las tablas a las cuales se quiere consultar. where: Es la condicin que se especifica para obtener el resultado.

Aplicaciones con bases de datos

Por ejemplo si se quiero saber quienes son los clientes cuyo destino
de su viaje es Formosa, y adems saber en qu fecha han viajado, la consulta sera: Select c.Nombre,v.Fecha_viaje From Cliente c, Viaje v Where c.Numero_Cliente=v. Numero_Cliente AND v.Destino_viaje=Formosa;
Como se puede ver, en la clusula where, hay dos condiciones que sern evaluadas por el motor de base de datos, y se fijar por cada fila de las tablas cliente y viaje, que se cumplan estas dos condiciones: 1) que el nmero de cliente de la tabla cliente sea igual al nmero de cliente de la tabla viaje, y 2) que el atributo Destino_viaje de la tabla viaje sea Formosa. La condicin que se evala en el Where posee un operador AND como se observa en la consulta, y esto garantiza que para que la consulta devuelva al menos un resultado, o sea para que devuelva al menos una fila, deben cumplirse las dos condiciones antes mencionadas.

Aplicaciones con bases de datos

Como se puede ver en la clusula Select, se nombran los atributos


con su correspondiente alias de cada tabla, para la entidad Cliente el alias o nombre corto es c y para Viaje es v, es decir, se coloca el alias de la tabla propietaria de ese atributo, luego el punto y el nombre del atributo, adems todos los atributos nombrados en el Select van separados por coma. En la clusula From, van los nombres de las tablas consultadas, separadas por coma, y en el Where tambin se nombran los atributos anteponiendo el alias de la tabla propietaria ms el punto, y luego el nombre del atributo. Al final de la consulta se coloca un punto y coma.

Aplicaciones con bases de datos


Select c.Nombre,v.Fecha_viaje From Cliente c, Viaje v Where c.Numero_Cliente=v.Numero_Cliente AND v.Destino_viaje=Formosa;
Como se puede ver, en la clusula where, hay dos condiciones que sern evaluadas por el motor de base de datos, y se fijar por cada fila de las tablas cliente y viaje, que se cumplan estas dos condiciones: 1) que el nmero de cliente de la tabla cliente sea igual al nmero de cliente de viaje de la tabla viaje, y 2) que el atributo Destino_viaje de la tabla viaje sea Formosa. Veamos lo que hace la base de datos para responder a esta consulta.

Aplicaciones con bases de datos


Tabla Cliente
Numero_Cliente 001 002 003 004 Nombre Ana Prez Luis Lpez Germn Correa Andrea Cerutti Sexo F M M F Edad 24 23 45 24

Tabla Viaje
Codigo_viaje

V-14 V-15 V-16 V-17

Numero_Clien te 002 001 004 001

Orgen_viaje

Destino_viaje

Fecha_viaje

Goya Esquina Mendoza Santa Fe

Posadas Coln Formosa Formosa

12/11/2007 24/09/2010 30/07/2009 12/01/2011

Es decir, si se observan las tablas anteriores con los datos y se analizan las condiciones de la consulta, el resultado sera:
Nombre
Ana Prez Andrea Cerutti

Fecha_viaje
12/01/2011 30/07/2009

Aplicaciones con bases de datos


El sistema de base de datos se encarga de realizar todas las comparaciones antes mencionadas, y obtiene el resultado a esta consulta, por lo tanto, al escribir la consulta siguiente y ejecutarla como se ver en la prctica: Select c.Nombre,v.Fecha_viaje From Cliente c, Viaje v Where c.Numero_Cliente=v.Numero_Cliente AND v.Destino_viaje=Formosa; se obtiene el resultado siguiente:
Nombre
Ana Prez Andrea Cerutti

Fecha_viaje
12/01/2011 30/07/2009

Aplicaciones con bases de datos

Hay otras consultas ms complejas que se pueden realizar, pero van


ms all de los objetivos que se pretenden lograr desde este curso a las aplicaciones de las bases de datos.

Sobre las bases de datos se pueden realizar varias operaciones, no solamente consultas que es la que se aplicar en el laboratorio, sino tambin las siguientes, que solo se las nombrarn: Creacin de bases de datos, creacin de tablas, insercin de registros a las tablas, eliminacin de registros de las tablas, modificacin del nombre de la base de datos, modificacin del nombre de una tabla, modificacin de la estructura de una tabla, etc.

Aplicaciones con bases de datos

Como corolario final podemos decir lo siguiente: Los sistemas de


bases de datos presentan muchas ventajas respecto a los sistemas de archivos.

Como se vio en el sencillo ejemplo anterior, podrn realizarse consultas simples como estas, o ms complejas dependiendo de lo que se pretenda encontrar en los datos, es decir, dependiendo de los requerimientos de los usuarios.

Lo nico que deber hacerse, es escribir correctamente la consulta, y no modificar las aplicaciones, como sucede en los sistemas de archivos convencionales. En este sentido, las aplicaciones solamente mostrarn datos, en base a las consultas escritas en lenguaje SQL.

Referencias Bibliogrficas

SILBERSCHATZ, Korth Fundamentos de Bases de Datos,


ISBN 8448120213 Editorial MCGRAW-HILL Edicin 1998, en Rstica 664 pginas Edicin Nmero 3 Idioma

Espaol.

ELMASRI RAMEZ A. NAVATHE SHAMKANT B. Editorial ADDISON-WESLEY Fundamentos de Sistemas de Bases

de Datos ISBN 8478290516 Editorial:


IBEROAMERICANA.

Referencias Bibliogrficas

Vecchietti Aldo R., Amadeo Marcelo, Gestin de datos,


2005, Universidad Tecnolgica Nacional, Facultad Regional Santa Fe.

Nancy Gremberg, Priya Nathan, Nita Brozowski Oracle


University Editorial: Oracle Corporation 2000-2001.