Top Banner
BASE DE DATOS FACULTAD DE ADMINISTRACION, ADMINISTRACION TURISTICA Y SISTEMAS COMPUTACIONALES ADMINISTRATIVOS Base de Datos Catedrático: Dr. Carlos Arturo Torres Gastelu Carrera: Lic. En Sistemas Computacionales Administrativos Tema: DBMS existentes Equipo: Equipo 13 Integrantes: Cerón Covarrubias Ana Laura Domínguez Santamaría Eder Jahassiel León Torres Mariana Valerio Prieto Javier Bloque: 5 Veracruz, Ver. 14 de septiembre de 2009 1
31

Dbms Existentes

Jun 13, 2015

Download

Documents

eder8
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dbms Existentes

BASE DE DATOS

FACULTAD DE ADMINISTRACION, ADMINISTRACION TURISTICA Y SISTEMAS COMPUTACIONALES ADMINISTRATIVOS

Base de Datos

Catedrático:Dr. Carlos Arturo Torres Gastelu

Carrera:Lic. En Sistemas Computacionales Administrativos

Tema:DBMS existentes

Equipo:Equipo 13

Integrantes:Cerón Covarrubias Ana Laura

Domínguez Santamaría Eder JahassielLeón Torres MarianaValerio Prieto Javier

Bloque:5

Veracruz, Ver.14 de septiembre de 2009

1

Page 2: Dbms Existentes

BASE DE DATOS

Índice

Introducción

1. Sistema Manejador de Base de Datos…………………………………………3

1.1 Evolución……………………………………………………………..4

1.2 Propósito……………………………………………………………...5

1.2 Objetivos……………………………………………………………...5

1.4 Ventajas………………………………………………………………6

1.5 Inconvenientes……………………………………………………….7

1.6 Lenguajes del DBMS………………………………………………..7

2. DBMS de código abierto……………………………………………………..8

2.1 Firebird………………………………………………………………..8

2.2 SQLite…………………………………………………………………10

2.3 Apache Derby………………………………………………………...12

2.4 Postgre SQL…………………………………………………………..13

3. DBMS propietarios……………………………………………………………18

3.1 Fox Pro………………………………………………………………..18

3.2 Filemaker……………………………………………………………..19

3.3 WindowBase………………………………………………………….19

4. DBMS en web………………………………………………………………….20

4.1 EasySQL………………………………………………………………20

5. Sitios web que ofrecen versiones gratuitas y/o académicas……………..21

Bibliografía………………………………………………………………………..22

2

Page 3: Dbms Existentes

BASE DE DATOS

SISTEMA MANEJADOR DE BASE DE DATOSLos sistemas de gestión de base de datos (SGBD); (en inglés: DataBase Management System, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.

Esquema de un DBMS

EVOLUCIÓN

Inicialmente, en los años 40s,  los Sistemas de Archivos generados a través de lenguajes de programación no propietarios como Cobol y Fortran (vigentes en la actualidad), permiten almacenar los datos a través de archivos planos con funciones básicas de lectura y escritura sobre ellos.  En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database Management System),

3

Page 4: Dbms Existentes

BASE DE DATOS

por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos,  los cuales se limitan a la estructuración del almacenamiento físico de los datos.  Con los DBMS se crea el concepto de Administración de los datos, por medio de actividades integradas que permiten verlos físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por estructuras donde se  establecen  vínculos de integridad, métodos de acceso y organización física sobre los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios, seguridad, atomicidad e independencia física y lógica de los datos, entre otros.  

El primer gestor de bases de datos (DBMS) comercial, IDS:  Integrated Data Store , se crea bajo el concepto del Modelo de Datos de Red (Bachgman, 1965); luego se desarrolla el IMS: Information Management System , sobre el concepto del Modelo de Datos Jerárquico.  Estos DBMSs eran accesados normalmente por lenguajes de programación como Cobol usando interfases de bajo nivel haciendo que las tareas de creación de aplicaciones y mantenimiento de los datos  fuesen controlables, pero aún complejas.  

A medida que evolucionaban los DBMS, los lenguajes de programación también lo hacían.  En 1967 surge el primer lenguaje de programación orientado a objetos, Simula, el cual fue propuesto para simulación  de actividades.  En este los procedimientos podían ser asociados a un tipo para representar el comportamiento de una instancia, introduciendo así el concepto de Clase.  Simula, soporta paralelismo permitiendo muchas entidades interactivas en una simulación.  Además comparte objetos acoplando datos y procedimientos.  

Luego se genera una nueva noción, donde las bases de datos deben almacenar por medio de una estructura tabular llamada relación o tabla (Codd,1970), compuesta por filas y columnas, accesando dichas relaciones a través de un lenguaje de alto nivel no procedural  (declarativo).  De esta forma en los años 80s surgen varios productores de DBMS Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2, además de otros lenguajes orientados a objetos como el C++, Java (antes el Oak), Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero su desarrollo se hace independiente de los DBMSs.  

Comenzando los años 80’s ya se siente la necesidad de que los DBMS actuales manipulen objetos complejos y estructuras como las usadas en sistemas CAD y CASE, entre otras.  A partir de esto se da inicio a dos grandes tendencias: los ORDBMS (Object Relational Database Management System)

4

Page 5: Dbms Existentes

BASE DE DATOS

los cuales se proyectan como una extensión de los RDBMS hacia el paradigma OO, y los OODBMS (Object Oriented Database Management System) estarían disponibles para almacenar y manipular las clases, los objetos, la asociación entre ellos y sus métodos.  Así, finalizando los años 80s se crean los OODBMSs por medio de productores como O2, ObjectDesign y Objectivity, entre otros.  Pero realmente se puede decir que estos no se hicieron tan comerciales como los existentes RDBMS ya que el concepto de Orientación a Objetos se seguía manejando muy a nivel del lenguaje de programación, sin que se trabajaran estructuras de almacenamiento Orientadas a Objetos dependientes de estos .  Así, en 1991 surge la ODMG (Object Database Management Group) el cual estandariza los OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2 inicia un trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS.  Este trabajo fue programado para finalizarse en 1995, pero aún se sigue trabajando en este con un tiempo límite de terminación, en el año 1999.

PROPÓSITO

El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

OBJETIVOS

Existen distintos objetivos que deben cumplir los SGBD:

Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un

5

Page 6: Dbms Existentes

BASE DE DATOS

conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.

Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

Manejo de Transacciones. Una Transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.

Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.

VENTAJAS

Proveen facilidades para la manipulación de grandes volúmenes de datos. Entre éstas:

o Simplifican la programación de equipos de consistencia.o Manejando las políticas de respaldo adecuadas, garantizan que

los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.

o Organizan los datos con un impácto mínimo en el código de los programas.

o Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.

Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.

INCONVENIENTES

1. Típicamente,es necesario disponer de una o más personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más

6

Page 7: Dbms Existentes

BASE DE DATOS

personas que administren de los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.

2. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una planilla de cálculo.

3. Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.

4. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.

5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

Lenguajes del DBMS

En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos.  Estos lenguajes estandar son:  

DDL (Data Definition language) : Lenguaje de Definición de Datos.  Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquma conceptual e interno (Base de datos Almacenada).  

SDL (Store Definition language) : Lenguaje de definición de almacenamiento.  Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.

VDL (View Definition language) : Lenguaje de Definición de Vistas.  Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual.

En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.

7

Page 8: Dbms Existentes

BASE DE DATOS

DML (Data Manipulation language) : Lenguaje de Manipulación de Datos.  Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación.

o Tipos de DML's : De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos.

DBMS DE CODIGO ABIERTO

FIREBIRD

Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente y el 18 de abril de 2008 fue liberada la versión 2.1.

Los objetivos de la Fundación FirebirdSQL son:

Apoyar y lograr el avance del manejador de base de datos relacional Firebird

Proveer los mecanismos e infraestructura no comerciales para aceptar y administrar los fondos recaudados, e invertir tales fondos para promover el esfuerzo del desarrollo de esta base de datos

Fomentar la cooperación y la afiliación de individuos, organizaciones sin fines de lucro y compañías comerciales involucradas o que estén planeando estar involucradas en el desarrollo, apoyo y promoción de los proyectos de software de Firebird y sus productos y actividades asociadas.

CARACTERÍSTICAS

Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

Ejecutable pequeño, con requerimientos de hardware bajos. Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros

(embedded). Soporte de transacciones ACID y claves foráneas. Es medianamente escalable. Buena seguridad basada en usuarios/roles.

8

Page 9: Dbms Existentes

BASE DE DATOS

Diferentes arquitecturas, entre ellas el Firebird incrustado (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.

Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.

Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc. Requisitos de administración bajos, siendo considerada como una base

de datos libre de mantenimiento, al margen de la realización de copias de seguridad.

Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.

Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL.

Capacidad de almacenar elementos BLOB (Binary Large OBjects). Soporte de User-Defined Functions (UDFs). Versión autoejecutable, sin instalación, excelente para la creación de

catálogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones.

Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre si, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos.

En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura.

Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:

En plataformas Windows seleccionar el Superserver. En Linux simplemente elegir cualquiera, según las conexiones

estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución.

Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única bibliotéca de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones de usuario sin requerir que este se instale por separado.

SQLITE

9

Page 10: Dbms Existentes

BASE DE DATOS

SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, y que está contenida en una relativamente pequeña (~225 kB) biblioteca en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp.

A diferencia de los sistemas de gestión de base de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.

En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB.

El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado.

CARACTERÍSTICAS

La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas.

SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3.

Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puede automáticamente reintentarse hasta

10

Page 11: Dbms Existentes

BASE DE DATOS

que expira un timeout configurable). Esta situación de acceso concurrente podría cambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un deadlock debido al multithread. Este punto fue tratado en la versión 3.3.4, desarrollada el 11 de febrero de 2006.

Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y gestionar los ficheros de base de datos SQLite. También sirve como ejemplo para la escritura de aplicaciones utilizando la biblioteca SQLite.

PRODUCTOS QUE UTILIZAN SQLITE

Desde hace tiempo Mozilla Firefox usa SQLite para almacenar, por ejemplo, las cookies. SQLite es usado por el entorno de base de datos Kexi como un motor de base de datos interno por defecto. SQLite se ha usado para guardar el índice para un set de DVD conteniendo todos los números publicados de la revista The New Yorker. Yum, la herramienta de gestión de paquetes de Fedora Core, ha cambiado a SQLite y pysqlite para el almacenamiento de datos y parseo de XML desde el núcleo de Fedora 4. De acuerdo con los comentarios de los usuarios, el incremento de funcionamiento es impresionante, así como la reducción en el consumo de memoria. Los desarrolladores de OpenOffice.org han considerado embeber SQLite en el modelo de base de datos de Base, pero esto depende en gran manera del progreso de sqlite-sdbc-driver, que está todavía en estado de alpha. Actualmente han decidido usar HSQLDB, pero la opción está todavía abierta siempre y cuando el driver sqlite-sdbc acabe siendo maduro y de confianza. Open Outlook Connector, un conector open source de Microsoft Outlook/MAPI ha sido hecho usando SQLite. Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de RSS que se distribuye con OS X. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite, utilizando la API Core Data. Monotone, un sistema de control de versiones de libre distribución lo usa. El nuevo sistema de almacenamiento implementado en el núcleo de Mozilla (MozStorage) utiliza SQLite. Mozilla Firefox 3 usa un sistema basado en SQLite para almacenar bookmarks y el histórico de navegación. Se está considerando también utilizar SQLite en Mozilla Calendar y Mozilla Thunderbird. PyKota, una solución gratuita de cuotas de impresión y contabilidad, puede utilizar SQLite como su base de datos. Amarok usa SQLite para guardar su colección de datos por defecto; en nuevas versiones, puede usar bases de datos externas. XMMS2 usa SQLite para su biblioteca de Medios. La biblioteca de medios consta de un índice de metadatos de las canciones en la biblioteca, así como un lugar en el cuál almacenar listas de reproducción.

11

Page 12: Dbms Existentes

BASE DE DATOS

SQLFilter, un plugin para OmniPeek, usa SQLite para indexar paquetes en una base de datos para poder se consultada por medio de SQL. HaXe usa SQLite como parte de su servidor embebido. Adobe Photoshop Elements utiliza SQLite como motor de base de datos en su última versión del producto (la 6.0) en sustitución del Microsoft Access, utilizado en las versiones anteriores. XBMC Media Center (antes conocido como "XBox Media Center") es un reproductor de medios de audio, video, fotos, etc de código libre (open source) multi-plataforma a la vez que un centro de entretenimiento. Usa SQLite para administrar las librerias de musica, video y fotografias, listas de reproduccion y bookmarks entre otras utilidades menores. Android usa SQLite para almacenamiento de datos estructurados

APACHE DERBY

Apache Derby es un sistema gestor de base de datos relacional escrito en Java que puede ser embebido en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.

Apache Derby tiene su origen en la empresa Cloudscape Inc, en Oakland, California que se fundó en 1996 para desarrollar una tecnología de base de datos para Java. La primera versión del motor de base de datos, que por entonces se llamó JBMS, tuvo lugar en 1997. Posteriormente el producto fue renombrado como Cloudscape y aparecieron versiones nuevas cada seis meses. En 1999 Informix Software, Inc., adquirió Cloudscape, Inc. En 2001 IBM adquirió los activos de Informix Software, incluyendo Cloudscape. El motor de base de datos fue renombrado a IBM Cloudscape y continuaron apareciendo versiones, enfocadas principalmente a usos embebidos en productos Java de IBM y middleware.

En agosto de 2004 IBM cedió el código a la Apache Software Foundation para Derby, un proyecto patrocinado por el proyecto Apache DB. En julio de 2005 el proyecto Derby continuó desarrollándose como subproyecto base de datos de alto nivel en Apache. Sun se unió al proyecto Derby con el objetivo de utilizar como componente en sus propios productos, y con el lanzamiento de Java 6 en diciembre de 2006, Sun comenzó a empaquetar Derby en el JDK llamado Java DB.

12

Page 13: Dbms Existentes

BASE DE DATOS

En marzo de 2007 IBM anunció que podría comenzar a hacer marketing y dar soporte para el producto Cloudscape, pero que continuaría contribuyendo con el proyecto Apache Derby.

CARACTERÍSTICAS

APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99. La sintaxis SQL usada proviene de IBM DB2.

Su código mide alrededor de 2000KB comprimido. Soporta cifrado completo, roles y permisos. Además posee SQL

SCHEMAS para separar la información en un única base de datos y control completo de usuarios.

Soporta internamente procedures, cifrado y compresión. Trae soporte multilenguaje y localizaciones específicas. A partir de la versión 10.4 trae un sistema simple de replicación maestro-

esclavo. Transacciones y recuperación ante errores ACID. Posee tres productos asociados a la marca:

o Derby Embedded Database Engine: El motor propiamente dicho.o Derby Network Server: Permite convertir Derby en una base de

datos que sigue el modelo cliente-servidor tradicional.o Database Utilities: Un paquete de utilidades.

Derby está escrito en Java y no tiene bindings para otros lenguajes (no tendría mucho sentido) por lo que limita al programador a utilizarlo mediante la máquina virtual de Java y en programas escritos en ese lenguaje o lenguajes de scripting que se ejecuten sobre JVM (Jython, JRuby, Jacl, etc.). Esto por otro lado hace que las aplicaciones sean altamente portables.

Derby hace uso de una mayor cantidad de memoria y su rendimiento y compatibilidad SQL es inferior que otras alternativas como puede ser la base de datos gratuita y de código libre H2 por lo que su uso carece de poco sentido.[1] [2]

En su modo embebido sólo soporta un único proceso que tenga abierta la base de datos. Sin embargo en su modo de cliente/servidor soporta el acceso de varios procesos simultáneos mediante bloqueo de filas.

Postgre SQL

PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD.

13

Page 14: Dbms Existentes

BASE DE DATOS

Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones de "SQL" pueden llevar a confusión. Los desarrolladores de PostgreSQL lo pronuncian /poːst ɡɹɛs kjuː ɛl/;. Es también común oír abreviadamente como simplemente "Postgres", el que fue su nombre original. Debido a su soporte del estándar SQL entre la mayor parte de bases de datos relacionales, la comunidad consideró cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL Core Team anunció en 2007 que el producto seguiría llamándose PostgreSQL. El nombre hace referencia a los orígenes del proyecto como la base de datos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres.

PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES.

El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional de comprender "tipos", es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estos son llamados objetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describir relaciones - las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario. En Postgres la base de datos «comprendía» las relaciones y podía obtener información de tablas relacionadas utilizando reglas. Postgres usó muchas ideas de Ingres pero no su código.

La siguiente lista muestra los hitos más importantes en la vida del proyecto Postgres.

1986: se publicaron varios papers que describían las bases del sistema. 1988: ya se contaba con una versión utilizable.

14

Page 15: Dbms Existentes

BASE DE DATOS

1989: el grupo publicaba la versión 1 para una pequeña comunidad de usuarios.

1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas.

1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores de almacenamiento.

1993: crecimiento importante de la comunidad de usuarios, la cual demandaba más características.

1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se disolvió.

Después de que el proyecto POSTGRES terminara, dos graduados de la universidad, Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con un intérprete del lenguaje de consultas QUEL (basado en Ingres), creando así el sistema al cual denominaron Postgres95.

Para el año 1996 se unieron al proyecto personas ajenas a la Universisdad como Marc Fournier de Hub.Org Networking Services, Bruce Momjian y Vadim B. Mikheev quienes proporcionaron el primer servidor de desarrollo no universitario para el esfuerzo de desarrollo de código abierto y comenzaron a trabajar para estabilizar el código de Postgres95.

En el año 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la característica del lenguaje SQL y lo terminaron llamando PostgreSQL, cuya primera versión de código abierto fue lanzada el 1 de agosto de 1996. La primera versión formal de PostgreSQL (6.0) fue liberada en enero de 1997. Desde entonces, muchos desarrolladores entusiastas de los motores de base de datos se unieron al proyecto, coordinaron vía Internet y entre todos comenzaron a incorporar muchas características al motor.

Aunque la licencia permitía la comercialización de PostgreSQL, el código no se desarrolló en principio con fines comerciales, algo sorprendente considerando las ventajas que PostgreSQL ofrecía. La principal derivación se originó cuando Paula Hawthtorn (un miembro del equipo original de Ingres que se pasó a Postgres) y Michael Stonebrajer conformaron Illustra Information Technologies para comercializar Postgres.

En 2000, ex inversionistas de Red Hat crearon la empresa Great Bridge para comercializar PostgreSQL y competir contra proveedores comerciales de bases de datos. Great Bridge auspició a varios desarrolladores de PostgreSQL y donó recursos de vuelta a la comunidad, pero a fines de 2001 cerró debido a la dura competencia de compañías como Red Hat y pobres condiciones del mercado.

15

Page 16: Dbms Existentes

BASE DE DATOS

En 2001, Command Prompt, Inc. lanzó Mammonth PostgreSQL, la más antigua distribución comercial de PostgreSQL. Continúa brindando soporte a la comunidad PostgreSQL a traves del auspicio de desarrolladores y proyectos, incluyendo PL/Perl, PL/php y el alojamiento de proyectos de comunidades como PostgreSQL Build Farm.

En enero de 2005, PostgreSQL recibió apoyo del proveedor de base de datos Pervasive Software, conocido por su producto Btrieve que se utilizaba en la plataforma Novell Netware, Pervasive anunció soporte comercial y participación comunitaria y logró algo de éxito. Sin embargo, en julio de 2006 dejó el mercado de soporte de PostgreSQL.

A mediados de 2005 otras dos compañías anunciaron planes para comercializar PostgreSQL con énfasis en nichos separados de mercados. EnterpriseDB añadió funcionalidades que le permitían a las aplicaciones escritas para trabajar con Oracle ser más fáciles de ejecutar con PostgreSQL. Greenplum contribuyó mejoras directamente orientadas a aplicaciones de Data Warehouse e Inteligencia de negocios, incluyendo el proyecto BizGres.

En octubre de 2005, John Loiacono, vicepresidente ejecutivo de software en Sun Microsystems comentó: "No estamos yendo tras el OEM de Microsoft pero estamos viendo a PostgreSQL ahora", aunque no se dieron especificaciones en ese momento. Para noviembre de 2005, Sun Solaris 10 (lanzamiento 6/06) incluía PostgreSQL.

En agosto de 2007 EnterpriseDB anunció el Postgres Resource Center y EnterpriseDB Postgres, diseñados para ser una completamente configurada distribución de PostgreSQL incluyendo muchos módulos contribuidos y agregados. EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.

El proyecto PostgreSQL continúa haciendo lanzamientos principales anualmente y lanzamientos menores de reparación de bugs, todos disponibles bajo la licencia BSD, y basados en contribuciones de proveedores comerciales, empresas aportantes y programadores de código abierto mayormente.

CARACTERÍSTICAS

Algunas de sus principales características son, entre otras:

Alta concurrencia

Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada

16

Page 17: Dbms Existentes

BASE DE DATOS

usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

Amplia variedad de tipos nativos

PostgreSQL provee nativamente soporte para:

Números de precisión arbitraria. Texto de largo ilimitado. Figuras geométricas (con una variedad de funciones asociadas) Direcciones IP (IPv4 e IPv6). Bloques de direcciones estilo CIDR. Direcciones MAC. Arrays.

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.

Otras características

Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).

Disparadores (triggers): Un disparador o trigger se define en una acción especifica basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características:

o El nombre del disparador o triggero El momento en que el disparador debe arrancaro El evento del disparador deberá activarse sobre...o La tabla donde el disparador se activaráo La frecuencia de la ejecucióno La función que podría ser llamada

Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers).

Vistas. Integridad transaccional. Herencia de tablas. Tipos de datos y operaciones geométricas.

17

Page 18: Dbms Existentes

BASE DE DATOS

DBMS PROPIETARIOS

FOX PRO

Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.

CARACTERISTICAS

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.

Entre sus características se pueden enumerar:

Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.

Flexibilidad para crear todo tipo de soluciones de bases de datos. Lenguaje de Programación Orientado a objetos. Utilización de Sentencias SQL en forma nativa. Poderoso manejo de vistas y cursores y control completo de estructuras

relacionales. Su propio gestor de base de datos incorporado. Sin embargo, también

puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.

Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.

Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reports en formato XML.

Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft

La última versión liberada es la 9.0.

Se planeo inicialmente la salida de una nueva versión llamada 'Sedna', la cual pretendía ser un poderoso y completo lenguaje interactuando aun más con VisualStudio.net, SQLServer2005, SQLExpress2005 y Office12 teniendo a su vez soporte para Windows Vista. Posteriormente se supo que no habrá una

18

Page 19: Dbms Existentes

BASE DE DATOS

próxima versión (Mensaje a la comunidad VFP). Microsoft ha cancelado su desarrollo y lanzó lo que han hecho hasta ahora como add-ons en conjunto con el service pack 2 ambos por el momento en versión Beta (SP2 y "Sedna" - Beta). Igualmente, según las políticas de soporte de Microsoft, éste continuara dando soporte al producto hasta el año 2015.

FILEMAKER

FileMaker comenzó como un producto basado en DOS llamado "Nutshell,” desarrollado por Nashoba Systems de Concord, Massachusetts entre 1982 y 1983. Nutshell era distribuido por Leading Edge, una compañia de electronicos que recien comenzaba a vender computadoras y software PC compatible.

Con la introducción de Macintosh, Nashoba combinó el motor de la base de datos con un GUI, creando un programa muy fácil de usar. A Leading Edge no le interesaba el producto, prefería mantenerse como un vendedor de productos DOS, y quedarse con el nombre de "Nutshell". Nahoba encontró a un distribuidor Forethought Inc. y lo introdujeron al mercado de la Mac como “FileMaker”. Al debutar la Macintosh Plus, la próxima versión de FileMaker se llamó “FileMaker Plus” para reflejar el nombre de la computadora.

FileMaker Pro es una aplicación multi-plataforma (Windows y Mac) de base de datos relacional de FileMaker Inc. (una subsidiaria de Apple Inc.). FileMaker integra el motor de la base de datos con la interfaz, lo que permite a los usuarios modificar la base de datos al arrastrar elementos (campos, pestañas, botonoes) a los layouts/pantallas/formas que provee la interfaz.

FileMaker evolucionó de una aplicación de DOS, que se desarrolló primariamente para la Apple Macintosh. Desde 1992 está disponible para Microsoft Windows, y se puede utilizar como un ambiente heterogéneo. FileMaker está disponible para desktop, servidor y configuraciones web.

La característica que define a FileMaker es que el motor de la base de datos está integrado con las vistas (pantallas, reportes, etc) que se utilizan para accesarlo. La mayoría de las bases de datos separan estos elementos, y se concentran primariamente en la organización y almacenamiento de datos.

WINDOWBASE

WindowBase era un sistema de gestión de base de datos relacionales (SGBD) desarrollado por Software Products International como el sucesor natural de su famoso gestor para MS-DOS Open Access. Anunciada en 1991 es presentado en Europa en el CeBIT 1992 siendo inicialmente distribuida por las filiales europeas de SPI.

19

Page 20: Dbms Existentes

BASE DE DATOS

SPI respondía así a la competencia creciente de aplicaciones que ya venían explotando las ventajas de la interfaz gráfica de usuario (GUI) de Microsoft Windows 3.x, demanda que acabaría acaparando el propio Microsoft con Microsoft Access. Costaba 495 dólares (695 $ con el SDK para C).

Incorporaba funcionalidades Dynamic Data Exchange (DDE), un software development kit con C y C++ y soporte SQL. En cuanto a la interfaz, además de personalización de menús brindaba al usuario no experto herramientas de ayuda para representar de forma gráfica los criterios de sus consultas: botones de selección, controles editables, barras de desplazamiento y casillas de verificación, además de un sistema en línea de ayuda sensible al contexto. También se incluían plantillas predefinidas de formularios de pantalla y de informes impresos.

Los datos podían exportarse o importarse gracias a conexiones con los principales formatos de archivo: dBase, Btrieve o el propio Open Access-GBD. En monopuesto era compatible con Microsoft SQL Server.

En 1994 se presenta la versión 2.0 a un precio de 495 dólares la nueva licencia, 79 dólares por el pack opcional de conectividad xBase, y 149 dólares por actualizaciones. En España es distribuida por Sedyco, empresa que se hizo cargo del soporte de los clientes de SPI tras del cierre de SPI Ibérica. Esta empresa lo traduce al idioma español con vistas a comercializarlo también en Hispanoamérica y lo comercializa a un precio inicial de 19.900 pesetas.

DBMS EN WEB

EASYSQL

EasySQL es una aplicación web para gestionar bases de datos, permite todo tipo de operaciones de administración, gestión y consulta de los datos almacenados. Todo ello con un potente interface basado en ventanas que hace que su uso sea ágil e intuitivo.

El proyecto ha sido desarrollado en español para su uso con el Explorer de Microsoft, y presenta un interface basado en ventanas, las cuales pueden minimizarse y moverse por el espacio de trabajo, que permite gestionar varias tablas y bases de datos de forma simultánea.

Los datos almacenados pueden exportarse o ser consultados desde otro servidor en formato XML y en tiempo real. El sitio web, proporciona un archivo de ayuda en formato PDF con imágenes explicativas de su funcionamiento, una galeria de imágenes, un foro de discusión donde exponer dudas o sugerencias y tutoriales de tecnologías relacionadas con las bases de datos,

20

Page 21: Dbms Existentes

BASE DE DATOS

con el objetivo de introducir al usuario inexperto en el mundo de los datos dinámicos.

El registro como usuario es totalmente gratuito y proporciona accesos a todas las secciones de la web, y los servicios que proporciona pueden ser muy utiles tanto para usuarios que deseen crear sus paginas personales como para empresas que necesiten servicios de bases de datos más avanzados. El proyecto ha sido desarrollado por TheWebAnimals, S.L. (http://www.thewebanimals.com) una empresa española dedicada a servicios, diseño y programación para internet.

SITIOS WEB QUE OFRECEN VERSIONES GRATUITAS Y/O

ACADEMICAS

Existen bastantes páginas que ofrecen versiones gratuitas y/o académicas como por ejemplo:

http://www.portalprogramas.com/gratis/motor-bases-datos-postgresql

http://www.freedownloadmanager.org/es/downloads/dbms_gratis/

21

Page 22: Dbms Existentes

BASE DE DATOS

BIBLIOGRAFÍAhttp://www.unalmed.edu.co/~mstabare/Dbms.htm

http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_base_de_datos

http://es.wikipedia.org/wiki/SQLite

http://es.wikipedia.org/wiki/Firebird

http://es.wikipedia.org/wiki/Apache_Derby

http://es.wikipedia.org/wiki/PostgreSQL

http://es.wikipedia.org/wiki/Fox_Pro

http://es.wikipedia.org/wiki/WindowBase

http://es.wikipedia.org/wiki/FileMaker

http://www.maestrosdelweb.com/actualidad/1639/

22