Vous êtes sur la page 1sur 22

BASE DE DATOS

1
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
BASE DE DATOS

SISTEMA MANEJADOR DE BASE DE DATOS


Los 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),
por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos,

3
BASE DE DATOS

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) los cuales se
proyectan como una extensión de los RDBMS hacia el paradigma

4
BASE DE DATOS

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 conductor
menor de edad. En los SGBD existen herramientas que facilitan la
programación de este tipo de condiciones.

5
BASE DE DATOS

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
personas que administren de los sistemas operativos. Esto puede llegar a
incrementar los costos de operación en una empresa. Sin embargo

6
BASE DE DATOS

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.

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.

7
BASE DE DATOS

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.
Diferentes arquitecturas, entre ellas el Firebird incrustado (embedded
server) que permite ejecutar aplicaciones monousuario en ordenadores
sin instalar el software Firebird.

8
BASE DE DATOS

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
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.

9
BASE DE DATOS

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 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.

10
BASE DE DATOS

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 tiempoMozilla 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 deOpenOffice.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; ennuevas
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.
SQLFilter, un plugin para OmniPeek, usa SQLite para indexar paquetes enuna
base de datos para poder se consultada por medio de SQL.
HaXe usa SQLite como parte de su servidor embebido.

11
BASE DE DATOS

Adobe Photoshop Elements utiliza SQLite como motor de base de datos ensu
ú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.

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.

12
BASE DE DATOS

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.

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).

13
BASE DE DATOS

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.
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.

14
BASE DE DATOS

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.

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,

15
BASE DE DATOS

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
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.

16
BASE DE DATOS

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 trigger
o El momento en que el disparador debe arrancar
o El evento del disparador deberá activarse sobre...
o La tabla donde el disparador se activará
o La frecuencia de la ejecución
o 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
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
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
18
BASE DE DATOS

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
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
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
BASE DE DATOS

BIBLIOGRAFÍA
http://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

Vous aimerez peut-être aussi