introduccion bd

31
INTRODUCCION A partir del avance y el desarrollo que toma cada vez la tecnología, es preciso saber que todo lo relacionado se refiere al software, pero no podemos olvidar que también existe la parte de cómo manejar datos e información. Para ello existen formas o maneras de como poder guardar información necesaria y de vital importancia para nuestra carrera, empresas o compañías que existen. Para poder entender un poco más acerca de lo que trata este tema, una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada y con la menor redundancia posible, de las cuales se permite utilizar estos datos a los diferentes programas y diferentes usuarios. Por lo tanto, el concepto de base de datos generalmente está relacionado con el de red ya que se debe poder compartir esta información. De allí el término base. "Sistema de información" es el término general utilizado para la estructura global que incluye todos los mecanismos para compartir datos que se han instalado. Es por tal motivo precisar más a fondo en este trabajo las diferentes plataformas o manejadores de bases de datos, para poder optar por la más adecuada y ser implantada, si es necesario, en las compañías o empresas que existen alrededor del mundo, como son las más conocidas SQL, ORACLE e IBM.

Upload: jerson-granados-mercado

Post on 15-Sep-2015

24 views

Category:

Documents


0 download

DESCRIPTION

Introducción a Bases de Datos SQL

TRANSCRIPT

INTRODUCCION

A partir del avance y el desarrollo que toma cada vez la tecnologa, es preciso saber que todo lo relacionado se refiere al software, pero no podemos olvidar que tambin existe la parte de cmo manejar datos e informacin. Para ello existen formas o maneras de como poder guardar informacin necesaria y de vital importancia para nuestra carrera, empresas o compaas que existen.Para poder entender un poco ms acerca de lo que trata este tema, una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada y con la menor redundancia posible, de las cuales se permite utilizar estos datos a los diferentes programas y diferentes usuarios. Por lo tanto, el concepto de base de datos generalmente est relacionado con el de red ya que se debe poder compartir esta informacin. De all el trmino base. "Sistema de informacin" es el trmino general utilizado para la estructura global que incluye todos los mecanismos para compartir datos que se han instalado. Es por tal motivo precisar ms a fondo en este trabajo las diferentes plataformas o manejadores de bases de datos, para poder optar por la ms adecuada y ser implantada, si es necesario, en las compaas o empresas que existen alrededor del mundo, como son las ms conocidas SQL, ORACLE e IBM.

1. Concepto y origen de las BD y de los SGBD

Las aplicaciones informticas de los aos sesenta acostumbraban a darse total- mente por lotes (batch) y estaban pensadas para una tarea muy especfica relacionada con muy pocas entidades tipo. Cada aplicacin (una o varias cadenas de programas) utilizaba ficheros de movimientos para actualizar (creando una copia nueva) y/o para consultar uno o dos ficheros maestros o, excepcionalmente, ms de dos. Cada programa trataba como mximo un fichero maestro, que sola estar sobre cinta magntica y, en consecuencia, se trabajaba con acceso secuencial. Cada vez que se le quera aadir una aplicacin que requera el uso de algunos de los datos que ya existan y de otros nuevos, se diseaba un fichero nuevo con todos los datos necesarios (algo que provocaba redundancia) para evitar que los programas tuviesen que leer muchos ficheros. A medida que se fueron introduciendo las lneas de comunicacin, los terminales y los discos, se fueron escribiendo programas que permitan a varios usuarios consultar los mismos ficheros on-line y de forma simultnea. Ms adelante fue surgiendo la necesidad de hacer las actualizaciones tambin on-line.A medida que se integraban las aplicaciones, se tuvieron que interrelacionar sus ficheros y fue necesario eliminar la redundancia. El nuevo conjunto de fi- cheros se deba disear de modo que estuviesen interrelacionados; al mismo tiempo, las informaciones redundantes (como por ejemplo, el nombre y la direccin de los clientes o el nombre y el precio de los productos), que figuraban en los ficheros de ms de una de las aplicaciones, deban estar ahora en un solo lugar.El acceso on-line y la utilizacin eficiente de las interrelaciones exigan estructuras fsicas que diesen un acceso rpido, como por ejemplo los ndices, las multilistas, las tcnicas de hashing, etc.Estos conjuntos de ficheros interrelacionados, con estructuras complejas y compartidos por varios procesos de forma simultnea (unos on-line y otros por lotes), recibieron al principio el nombre de Data Banks, y despus, a inicios de los aos setenta, el de Data Bases. Aqu los denominamos bases de datos (BD).El software de gestin de ficheros era demasiado elemental para dar satisfaccin a todas estas necesidades. Por ejemplo, el tratamiento de las interrelaciones no estaba previsto, no era posible que varios usuarios actualizaran datos simultneamente, etc. La utilizacin de estos conjuntos de ficheros por parte de los programas de aplicacin era excesivamente compleja, de modo que, especial- mente durante la segunda mitad de los aos setenta, fue saliendo al mercado software ms sofisticado: los Data Base Management Systems, que aqu denominamos sistemas de gestin de BD (SGBD).Con todo lo que hemos dicho hasta ahora, podramos definir el trmino BD; una base de datos de un SI es la representacin integrada de los con- juntos de entidades instancia correspondientes a las diferentes entidades tipo del SI y de sus interrelaciones. Esta representacin informtica (o conjunto estructurado de datos) debe poder ser utilizada de forma compartida con muchos usuarios de varios tipos

2. Evolucin de los SGBD

Para entender mejor qu son los SGBD, haremos un repaso de su evolucin desde los aos sesenta hasta nuestros das.

2.1. Los aos sesenta y setenta: sistemas centralizadosLos SGBD de los aos sesenta y setenta (IMS de IBM, IDS de Bull, DMS de Univac, etc.) eran sistemas totalmente centralizados, como corresponde a los sistemas operativos de aquellos aos, y al hardware para el que estaban hechos: un gran ordenador para toda la empresa y una red de terminales sin inteligencia ni memoriaLos primeros SGBD en los aos sesenta todava no se les denominaba as estaban orientados a facilitar la utilizacin de grandes conjuntos de datos en los que las interrelaciones eran complejas. El arquetipo de aplicacin era el Bill of materiales o Parts explosin, tpica en las industrias del automvil, en la construccin de naves espaciales y en campos similares. Estos sistemas trabajaban exclusivamente por lotes (batch).Al aparecer los terminales de teclado, conectados al ordenador central mediante una lnea telefnica, se empiezan a construir grandes aplicaciones on-line transaccionales (OLTP). Los SGBD estaban ntimamente ligados al software de comunicaciones y de gestin de transaccionesAunque para escribir los programas de aplicacin se utilizaban lenguajes de alto nivel como Cobol o PL/I, se dispona tambin de instrucciones y de subrutinas especializadas para tratar las BD que requeran que el programador conociese muchos detalles del diseo fsico, y que hacan que la programacin fuese muy compleja. Puesto que los programas estaban relacionados con el nivel fsico, se deban modificar continuamente cuando se hacan cambios en el diseo y la organi- zacin de la BD. La preocupacin bsica era maximizar el rendimiento: el tiempo de respuesta y las transacciones por segundo.

2.2. Los aos ochenta: SGBD relacionalesLos ordenadores minis, en primer lugar, y despus los ordenadores micros, extendieron la informtica a prcticamente todas las empresas e instituciones.Esto exiga que el desarrollo de aplicaciones fuese ms sencillo. Los SGBD de los aos setenta eran demasiado complejos e inflexibles, y slo los poda utilizar un personal muy cualificado.La aparicin de los SGBD relacionales* supone un avance importante para facilitar la programacin de aplicaciones con BD y para conseguir que los programas sean independientes de los aspectos fsicos de la BD.

* Oracle aparece en el ao 1980.Todos estos factores hacen que se extienda el uso de los SGBD. La estandarizacin, en el ao 1986, del lenguaje SQL produjo una autntica explosin de los SGBD relacionales.

2.3. Los aos noventa: distribucin, C/S y 4GLAl acabar la dcada de los ochenta, los SGBD relacionales ya se utilizaban prcticamente en todas las empresas. A pesar de todo, hasta la mitad de los noventa, cuando se ha necesitado un rendimiento elevado se han seguido utilizando los SGBD pre relacional.A finales de los ochenta y principios de los noventa, las empresas se han encontrado con el hecho de que sus departamentos han ido comprando ordenadores departamentales y personales, y han ido haciendo aplicaciones con BD. El resultado ha sido que en el seno de la empresa hay numerosas BD y varios SGBD de diferentes tipos o proveedores. Este fenmeno de multiplicacin de las BD y de los SGBD se ha visto incrementado por la fiebre de las fusiones de empresas.La necesidad de tener una visin global de la empresa y de interrelacionar diferentes aplicaciones que utilizan BD diferentes, junto con la facilidad que dan las redes para la intercomunicacin entre ordenadores, ha conducido a los SGBD actuales, que permiten que un programa pueda trabajar con diferentes BD como si se tratase de una sola. Es lo que se conoce como base de datos distribuidaEsta distribucin ideal se consigue cuando las diferentes BD son soportadas por una misma marca de SGBD, es decir, cuando hay homogeneidad. Sin embargo, esto no es tan sencillo si los SGBD son heterogneos. En la actualidad, gracias principalmente a la estandarizacin del lenguaje SQL, los SGBD de marcas diferentes pueden darse servicio unos a otros y colaborar para dar ser- vicio a un programa de aplicacin. No obstante, en general, en los casos de heterogeneidad no se llega a poder dar en el programa que los utiliza la apariencia de que se trata de una nica BD.

Figura 1

Adems de esta distribucin impuesta, al querer tratar de forma integrada distintas BD preexistentes, tambin se puede hacer una distribucin deseada, diseando una BD distribuida fsicamente, y con ciertas partes replicadas en diferentes sistemas. Las razones bsicas por las que interesa esta distribucin son las siguientes: 1) Disponibilidad. La disponibilidad de un sistema con una BD distribuida puede ser ms alta, porque si queda fuera de servicio uno de los sistemas, los de ms seguirn funcionando. Si los datos residentes en el sistema no disponible estn replicados en otro sistema, continuarn estando disponibles. En caso contrario, slo estarn disponibles los datos de los dems sistemas.2) Coste. Una BD distribuida puede reducir el coste. En el caso de un sistema centralizado, todos los equipos usuarios, que pueden estar distribuidos por distintas y lejanas reas geogrficas, estn conectados al sistema central por medio de lneas de comunicacin. El coste total de las comunicaciones se puede reducir haciendo que un usuario tenga ms cerca los datos que utiliza con mayor frecuencia; por ejemplo, en un ordenador de su propia oficina o, incluso, en su ordenador personal.La tecnologa que se utiliza habitualmente para distribuir datos es la que se conoce como entorno (o arquitectura) cliente/servidor (C/S). Todos los SGBD relacionales del mercado han sido adaptados a este entorno. La idea del C/S es sencilla. Dos procesos diferentes, que se ejecutan en un mismo sistema o en sistemas separados, actan de forma que uno tiene el papel de cliente o peticionario de un servicio, y el otro el de servidor o proveedor del servicio.Por ejemplo, un programa de aplicacin que un usuario ejecuta en su PC (que est conectado a una red) pide ciertos datos de una BD que reside en un equipo UNIX donde, a su vez, se ejecuta el SGBD relacional que la gestiona. El programa de aplicacin es el cliente y el SGBD es el servidor.Un proceso cliente puede pedir servicios a varios servidores. Un servidor puede recibir peticiones de muchos clientes. En general, un proceso A que hace de cliente, pidiendo un servicio a otro proceso B puede hacer tambin de servidor de un servicio que le pida otro proceso C (o incluso el B, que en esta peticin sera el cliente). Incluso el cliente y el servidor pueden residir en un mismo sistema.Figura 2

La facilidad para disponer de distribucin de datos no es la nica razn, ni si- quiera la bsica, del gran xito de los entornos C/S en los aos noventa. Tal vez el motivo fundamental ha sido la flexibilidad para construir y hacer crecer la configuracin informtica global de la empresa, as como de hacer modificaciones en ella, mediante hardware y software muy estndar y barato. El xito de las BD, incluso en sistemas personales, ha llevado a la aparicin de los Fourth Generation Languages (4GL), lenguajes muy fciles y potentes, especializados en el desarrollo de aplicaciones fundamentadas en BD. Proporcionan muchas facilidades en el momento de definir, generalmente de forma visual, dilogos para introducir, modificar y consultar datos en entornos C/S.

2.4. Tendencias actualesHoy da, los SGBD relacionales estn en plena transformacin para adaptarse a tres tecnologas de xito reciente, fuertemente relacionadas: la multimedia, la de orientacin a objetos (OO) e Internet y la web.Los tipos de datos que se pueden definir en los SGBD relacionales de los aos ochenta y noventa son muy limitados. La incorporacin de tecnologas multimedia imagen y sonido en los SI hace necesario que los SGBD relacionales acepten atributos de estos tipos. Sin embargo, algunas aplicaciones no tienen suficiente con la incorporacin de tipos especializados en multimedia. Necesitan tipos complejos que el desarrollador pueda definir a medida de la aplicacin. En definitiva, se necesitan tipos abstractos de datos: TAD. Los SGBD ms recientes ya incorporaban esta posibilidad, y abren un amplio mercado de TAD predefinidos o libreras de clases.Esto nos lleva a la orientacin a objetos (OO). El xito de la OO al final de los aos ochenta, en el desarrollo de software bsico, en las aplicaciones de ingeniera industrial y en la construccin de interfaces grficas con los usuarios, ha hecho que durante la dcada de los noventa se extendiese en prcticamente todos los campos de la informtica. En los SI se inicia tambin la adopcin, tmida de momento, de la OO. La utilizacin de lenguajes como C++ o Java requiere que los SGBD relacionales se adapten a ellos con interfaces adecuadas.La rpida adopcin de la web a los SI hace que los SGBD incorporen recursos para ser servidores de pginas web, como por ejemplo la inclusin de SQL en guiones HTML, SQL incorporado en Java, etc. Notad que en el mundo de la web son habituales los datos multimedia y la OO.

SQLSQL es un lenguaje formal declarativo, estandarizado ISO, para manipular informacin en una base de datos. SQL es un acrnimo (Structured Query Language) ya que la ISO lo define con nombre oficial Database Language SQL. No es un lenguaje estructurado (puede ser usado en bloques o procedimientos), No es solamente para consultas ("queries") y desde el punto de vista computacional no es un lenguaje ya que no es Turing completo.

Orgenes y evolucin Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a ste un sublenguaje de acceso a los datos basado en el clculo de predicados. Basndose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que ms tarde sera ampliamente implementado por el SGBD (Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial. El SEQUEL terminara siendo el predecesor de SQL, siendo ste una versin evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos SGBD relacionales surgidos en los aos siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin adoptado por la ISO. Sin embargo, este primer estndar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definicin de almacenamiento que se consideraron suprimir. As que en 1992 se lanza un nuevo estndar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estndar de facto de la inmensa mayora de los SGBD comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es general y muy amplio.

Lenguaje de definicin de datos (LDD) El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el que se encarga de la modificacin de la estructura de los objetos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE. CREATE Este comando crea un objeto dentro de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Ejemplo (crear una tabla) CREATE TABLE 'TABLA_NOMBRE' ( 'CAMPO_1' INT, 'CAMPO_2' STRING)ALTER Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a una tabla, modificar un trigger, etc. Ejemplo (agregar columna a una tabla) ALTER TABLE 'TABLA_NOMBRE' ( ADD NUEVO_CAMPO INT UNSIGNED meel)DROP Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. Ejemplo ALTER TABLE ''TABLA_NOMBRE'' ( DROP COLUMN ''CAMPO_NOMBRE1'' )TRUNCATE Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE slo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clusula WHERE. Si bien, en un principio, esta sentencia parecera ser DML (Lenguaje de Manipulacin de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transaccin. Ejemplo TRUNCATE TABLE ''TABLA_NOMBRE1''

Lenguaje de manipulacin de datos (LMD) Definicin Un lenguaje de manipulacin de datos (Data Manipulation Language, o DML en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. INSERT Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. Forma bsica INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...''])Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le ser asignado el valor por omisin. Los valores especificados (o implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error. Ejemplo INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850);Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada: INSERT INTO ''tabla'' VALUES (''valor1'', [''valor2,...''])Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas de la tabla 'agenda_telefonica'): INSERT INTO agenda_telefonica VALUES ('Roberto Jeldrez', 4886850);

TERMINOS Y CONCEPTOS SOBRE BASE DE DATOSCONCEPTOS BASICOS DE UNA BASE DE DATOS

CARCTEREs cualquier signo numrico, alfabtico o especial que se emplea en la escritura y el clculo.DATOEs el conjunto de caracteres, asi como tambin son hechos que pueden registrarse y que tienen un significado implcito.El dato es una representacin simblica (numrica, alfabtica, algortmica, entre otros.), un atributo o caracterstica de una entidad. Los datos son hechos que describen sucesos y entidades. No tienen ninguna informacin.TIPOS DE DATOS TIPOS ESTTICOS TIPOS DINMICOS TIPOS SIMPLES TIPOS ESTRUCTURADOS TIPOS ESTRUCTURADOS TIPOS ORDINALES TIPOS COMPUESTOS TIPOS DE DATOS ABSTRACTOS TIPOS OBJETO TIPOS NO ORDINALESEjemplo:Pueden construir datos como los: Nombres, nmeros telefnicos y direcciones de personas que conocemos. CAMPOSEs el conjunto de todos los atributos.Tipos de Campos:Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los ms comunes podemos nombrar:Numrico: entre los diferentes tipos de campos numricos podemos encontrar enteros sin decimales y reales decimales.Booleanos: poseen dos estados: Verdadero Si y Falso No.Memos: son campos alfanumricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.Fechas: almacenan fechas facilitando posteriormente su explotacin. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los das entre una fecha y otra.Alfanumricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).Auto incrementables: son campos numricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.INFORMACINEs todo aquello que se da y recibe sobre un hecho, tema o situacin. La informacin es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje. La informacin es ordenada y muy til.Tratamiento de la informacin en una empresa (usando base de datos).

CARACTERISTICAS DE LA INFORMACIN1. Modifica el estado de nuestros conocimientos.2. Exige un soporte para llegar a su destino.Diferencia entre Datos e informacin1. Los Datos a diferencia de la informacin son utilizados como diversos mtodos para comprimir la informacin a fin de permitir una transmisin o almacenamiento ms eficaces.2. Aunque para el procesador de la computadora hace una distincin vital entre la informacin entre los programas y los datos, la memoria y muchas otras partes de la computadora no lo hace. Ambos son registradas temporalmente segn la instruccin que se le d. Es como un pedazo de papel no sabe ni le importa lo que se le escriba: un poema de amor, las cuentas del banco o instrucciones para un amigo. Es lo mismo que la memoria de la computadora. Slo el procesador reconoce la diferencia entre datos e informacin de cualquier programa. Para la memoria de la computadora, y tambin para los dispositivos de entrada y salida (E/S) y almacenamiento en disco, un programa es solamente ms datos, ms informacin que debe ser almacenada, movida o manipulada.3. La cantidad de informacin de un mensaje puede ser entendida como el nmero de smbolos posibles que representan el mensaje. "los smbolos que representan el mensaje no son ms que datos significativos.4. En su concepto ms elemental, la informacin es un mensaje con un contenido determinado emitido por una persona hacia otra y, como tal, representa un papel primordial en el proceso de la comunicacin, a la vez que posee una evidente funcin social. A diferencia de los datos, la informacin tiene significado para quien la recibe, por eso, los seres humanos siempre han tenido la necesidad de cambiar entre s informacin que luego transforman en acciones. "La informacin es, entonces, conocimientos basados en los datos a los cuales, mediante un procesamiento, se les ha dado significado, propsito y utilidad"CUALIDADES DE LA INFORMACIN

QU ES UNA BASE DE DATOS?

Una base de datos es un almacn que nos permite guardar grandes cantidades de informacin de forma organizada para que luego podamos encontrar y utilizar fcilmente. Adems una base de datos es un conjunto de datos que pertenecen a un mismo contexto y almacenados se pueden utilizar las veces que necesitemos. Se podra decir que, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos, que si los organizamos en orden podremos consultarlos cuando los necesitemos. En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en un formato electrnico, que ofrece un amplio rango de soluciones al problema de almacenar datos.

El trmino de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de informacin relacionada que se encuentra agrupada o estructurada.

Desde el punto de vista informtico, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.La idea central de una base de datos es la organizacin. Siendo de gran utilidad para resguardar informacin valiosa y accesar a la misma de manera rpida y precisa.

Existen unos programas denominados Sistemas Gestores de Bases de Datos, abreviado SGBD, que permiten almacenar y para despus poder acceder a los datos de forma rpida. Las propiedades de estos SGBD, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica.

Ms adelante ahondamos en el tema de los Sistemas Gestores de Bases de Datos; por ahora analizamos el concepto en s de lo que es una Base de Datos.

Por qu utilizar una base de datos?

Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte ms til a medida que la cantidad de datos almacenados crece.

Una base de datos puede ser local, es decir que puede utilizarla slo un usuario en un equipo, o puede ser distribuida, es decir que la informacin se almacena en equipos remotos y se puede acceder a ella a travs de una red.

La principal ventaja de utilizar bases de datos es que mltiples usuarios pueden acceder a ellas al mismo tiempo.

Desventajas de las bases de datos

Complejidad:

Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.Coste del equipamiento adicional:

Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento. Adems, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una mquina ms grande o una mquina que se dedique solamente al SGBD. Todo esto har que la implantacin de un sistema de bases de datos sea ms cara.Vulnerable a los fallos:

El hecho de que todo est centralizado en el SGBD hace que el sistema sea ms vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).

Tipos de Base de Datos

Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:

MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volmenes de datos.

PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.

Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa Access, el cual crea un archivo .mdb con la estructura ya explicada.

Microsoft SQL Server: es una base de datos ms potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volmenes de informaciones.SISTEMA DE GESTION DE BASE DE DATOSUn gestor de base de datos o bien un SGBD, nos permite introducir, organizar y recuperar la informacin, el ms utilizado es el modelo relacional el cual se encarga de almacenar los datos en forma de tablas.Las principales caractersticas de los gestores (aunque sean distintos) son: Aceptar definiciones de esquemas y vistas Manipulan los datos y siguiendo las rdenes de los usuarios. Cuidan que se respete la seguridad e integridad Permite definir usuarios y restricciones de acceso Controlan la concurrencia y las operaciones asociadas a la recuperacin de los fallos.

Este tiene por objetivo servir de interfaz entre la base de datos, el usuario y aplicaciones que la utilizan.Adems de almacenar los datos de las aplicaciones web la eleccin de un gestor depende del tipo de plataforma con el que se trabaje y las necesidades.

Estas aplicaciones permiten almacenar la definicin lgica de la base de datos como son esquemas y sub esquemas, en cuanto al mbito fsico permiten el acceso simultaneo a varios ficheros.Este programa se divide en dos grupos:Servidores de BB.DD (S.G.BB.DD. corporativos): estas estn orientadas a la implementacin de un gran volumen de informacin y a proveer acceso a travs de redes.Gestores de BB.DD. personales:Ofrecen solucin a las necesidades domesticas de almacenamiento de informacin, as como gestin para Pymes.La escalabilidad es un factor en caso de querer almacenar una gran cantidad de datos.Un sistema de gestin de bases de datos (SGBD) es un software que permite manipular las bases de datos. Construir Utilizar Mantener Reorganizar

Propiedades fundamentales:

Independencia de los datos. Acceso eficiente a los datos. Integridad y seguridad de los datos. Administracin de los datos. Acceso concurrente y recuperacin en caso de

Los SGBD deben cumplir con las propiedades ACID para las transacciones:

Atomicity (Atomicidad: las transacciones son atmicas) Consistencia (Consistencia: una transaccin transforma un estado consistente de la BD en otro) Isolation (Aislamiento: las transacciones estn aisladas entre s) Durability (Durabilidad: despus que una transaccin ha sido confirmada ella persiste)

VENTAJAS DE UN SGBD

1. Reutilizacin de datos y programas2. Control de redundancia3. Estandarizacin4. Consistencia5. Integridad6. Seguridad7. Rapidez de desarrollo8. Mantenimiento y reingeniera: Cambios en la estructura de datos sin cambiar los programas que los usan (hasta cierto punto).

DESVENTAJAS DE UN SGBD

1. Tamao2. Susceptibilidad a fallas3. Complejidad en la recuperacin a fallas4. Puede llegar a trabajar en forma lenta debido a la cantidad de verificaciones que debe hacer.

Modelo entidad-relacin

Los diagramas o modelos entidad-relacin (denominado por su siglas, ERD Diagram Entity relationship) son una herramienta para el modelado de datos de un sistema de informacin. Estos modelos expresan entidades relevantes para un sistema de informacin, sus inter-relaciones y propiedadesENTIDAD

Representa una cosa u "objeto" del mundo real con existencia independiente, es decir, se diferencia unvocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad.Algunos Ejemplos: Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrn atributos diferentes, por ejemplo, el nmero de bastidor). Una casa (Aunque sea exactamente igual a otra, an se diferenciar en su direccin).

ATRIBUTOS

Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades.Un conjunto de entidades dentro de una entidad, tiene valores especficos asignados para cada uno de sus atributos, de esta forma, es posible su identificacin unvoca.Ejemplos:A la coleccin de entidades Alumnos, con el siguiente conjunto de atributos en comn, (id, nombre, edad, semestre), pertenecen las entidades: (1, Sofa, 18 aos, 2) (2, Josefa, 19 aos, 5) (3, Gabriela, 20 aos, 2)

RELACIN

Describe cierta dependencia entre entidades o permite la asociacin de las mismas.Ejemplo:Dadas dos entidades "Habitacin 502" y "Mark", es posible relacionar que la Habitacin 502 se encuentra ocupada por el husped de nombre Mark.Una relacin tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, Un Husped (entidad), se aloja (relacin) en una habitacin (entidad).

Clave principalSe denomina Clave principal o primaria al atributo o conjunto mnimo de atributos (uno o ms campos) que permiten identificar en forma nica cada instancia de la entidad, es decir, a cada registro de la tabla. Las claves principales se utilizan cuando se necesita hacer referencia a registros especficos de una tabla desde otra tabla. En un principio se puede identificar ms de un atributo que cumpla las condiciones para ser clave, los mismos se denominan Claves candidatas.

Si la clave primaria se determina mediante un solo atributo de la entidad, entonces se dice que la misma es una Clave simple. En caso de estar conformada por ms de un atributo, la misma se conoce como Clave compuesta.

Clave forneaLa Clave fornea (tambin llamada externa o secundaria) es un atributo que es clave primaria en otra entidad con la cual se relaciona.

Tipos de Relaciones

Se entiende por Relacin a la asociacin entre 2 o ms entidades1. Clasificacin por cardinalidadRelacin Uno a Uno: Cuando un registro de una tabla slo puede estar relacionado con un nico registro de la otra tabla y viceversa.En este caso la clave fornea se ubica en alguna de las 2 tablas.

Relacin Uno a Muchos: Cuando un registro de una tabla (tabla secundaria) slo puede estar relacionado con un nico registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener ms de un registro relacionado en la tabla secundaria.En este caso la clave fornea se ubica en la tabla secundaria.

Relacin Muchos a Muchos: Cuando un registro de una tabla puede estar relacionado con ms de un registro de la otra tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente, se tiene que aadir una tabla entre las dos (Tabla dbil o de vinculacin) que incluya los pares de valores relacionados entre s.

El nombre de tabla dbil deviene que con sus atributos propios no se puede encontrar la clave, por estar asociada a otra entidad. La clave de esta tabla se conforma por la unin de los campos claves de las tablas que relaciona.

2. Clasificacin por ModalidadDadas las tablas A y B, que se encuentran relaciona- das:

Si para todo registro de A debe existir siempre al menos un registro de B asociado, se dice que la relacin en sentido A->B es Obligatoria.

Si para todo registro de A, pueden existir o no, uno o varios registros de B asociados, se dice que la relacin en sentido A->B es Optativa.La modalidad de las relaciones se debe analizar en ambos sentidos

RELACIONES DE UNO A UNOSe representa cuando existe una relacin como su nombre lo indica uno a uno, denominado tambin relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y viceversa. Ejem 1: La relacin asignacin de automvil que contiene a las entidades EMPLEADO Y AUTO, es una relacin 1 a 1, ya que asocia a un empleado con un nico automvil por lo tanto ningn empleado posee mas de un automvil asignado, y ningn vehiculo se asigna a mas de un trabajador.

Ejem 2: La relacin nacimiento, las entidades PARTIDA DE NACIMIENTO Y PERSONA, cada persona solo tiene una partida de nacimiento y una partida de nacimiento corresponde a una persona.

La Relacin Uno a Uno se da cuando un registro de una tabla slo puede estar relacionado con un nico registro de la otra tabla y viceversa.La Clave Fornea se ubica en alguna de las 2 tablas

RELACIONES DE UNO A MUCHOSSignifica que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una entidad del tipo A. Ejem 1: PADRE HIJOS, un padre pude tener muchos hijos, y un hijo tiene un padre. Ejem 2: BUS PASAJERO, un bus puede transportar a muchos pasajeros, pero un pasajero es transportado a la vez en un solo bus. Ejem 3: ZOOLOGICO ANIMALES, un zoolgico alberga muchos animales y un animal est en un zoolgico.

A Un Curso tiene muchos AlumnosA Un Alumno est en slo un cursoA Un Curso puede estar transitoriamente vacoA Todo Alumno tiene un Curso asignado

La Relacin Uno a Muchos se establece cuando un registro de una tabla (tabla secundaria) slo puede estar relacionado con un nico registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener ms de un registro relacionado en la tabla secundaria.La Clave Fornea se ubica en la Tabla Secundaria

RELACIONES DE MUCHOS A MUCHOSEstablece que cualquier cantidad de entidades del tipo A puede estar relacionados con cualquier cantidad de entidades del tipo B. Ejem 1: INGENIERO-PROYECTO, un proyecto puede estar a cargo de muchos ingenieros y un ingeniero se puede hacer cargo de varios proyectos. Ejem 2: ALUMNO-CURSO, un alumno puede estar matriculado a muchos cursos y en un curso estn matriculados muchos alumnos. Ejem 3: INMUEBLE-PROPIETARIO, un inmueble puede tener muchos propietarios y un propietario puede tener varios inmuebles.

A Un Profesor puede estar asignado en varios CursosA Un Curso puede tener muchos Profesores asignadosA Todo Profesor tiene un Curso asignadoA Un Curso puede no tener transitoriamente un Profesor

El diagrama de Entidad Relacin es:

La Relacin Muchos a Muchos se da cuando un registro de una tabla puede estar relacionado con ms de un registro de la otra tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente, se tiene que aadir una tabla entre las dos (Tabla dbil o de vinculacin) que incluya los pares de va- lores relacionados entre s.El nombre de tabla dbil deviene que con sus atributos propios no se puede encontrar la clave, por estar asociada a otra entidad. La clave de esta tabla se conforma por la unin de los campos claves de las tablas que relaciona.

La Clave Principal de la Tabla Dbil se conforma por las ClavesPrincipales de las tablas regulares

PASOS PARA LA CONTRUCCION DEL DIAGRAMA ENTIDAD RELACION1. Identificar las entidades

2. Determinar las claves primarias

3. Describir los atributos de las entidades

4. Establecer relaciones entre las entidades

5. Dibujar el modelo de datos

6. Realizar comprobaciones