BASES DE DATOS- Elizabeth

Document Sample
BASES DE DATOS- Elizabeth Powered By Docstoc
					MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con
más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una subsidiaria
de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009—
desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia,
pero para aquellas empresas que quieran incorporarlo en productos privativos deben
comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en
su mayor parte en ANSI C.

MySQL es la base de datos open source más popular y, posiblemente, mejor del mundo. Su
continuo desarrollo y su creciente popularidad está haciendo de MySQL un competidor
cada vez más directo de gigantes en la materia de las bases de datos como Oracl
MySQL es un sistema de administración de bases de datos (Database Management
System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una
aplicación que permite gestionar archivos llamados de bases de datos o , lo que es lo
mismo,                                                                               u

Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas
relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples
tablas        para       almacenar        y      organizar         la        información.

MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de
desarrollo, permitiendo su interactuación con los lenguajes de programación más
utilizados como PHP, Perl y Java y su integración en distintos sistemas operativos.

También es muy destacable, la condición de open source de MySQL, que hace que su
utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar
su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas
actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los
programadores orientados a Internet.

Al contrario de proyectos como Apache, donde el software es desarrollado por una
comunidad pública y el copyright del código está en poder del autor individual, MySQL es
propietario y está patrocinado por una empresa privada, que posee el copyright de la
mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además
de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus
operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.
MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.
Creando una base de datos

El nombre de nuestra base de datos será Videoteca. Crearemos nuestra base de datos
dando al enlace que pone ―Bases de datos‖, que esta abajo, en nuestra pagina de
http://localhost/phpmyadmin/ como podemos ver en esta imagen:




Ahora se nos abrirá una nueva ventana, donde abajo del todo veremos ―Crear una base de
datos‖, en ella escribiremos el nombre de nuestra nueva base de datos, en este caso:
Videoteca.




PD: en lo nombres no podemos escribir caracteres como, comas, acentos, ñ, etc.

Si todo ha ido bien, ahora nos pondrá que ya esta creada.




Crear tablas y campos para la base de datos

En el apartado anterior hemos aprendido a crear una base de datos MySQL, y he creado
una, a la cual la he llamado ―Videoteca‖. Ahora el siguiente paso seria crear las tablas y los
campos que nos hagan falta para posteriormente meter los datos, y eso es precisamente lo
que vamos a aprender en este tutorial.
Creando una Tabla y sus campos en MySQL

Existen varias formas y programas diferentes para crear una tabla en una base de datos
MySQL, pero lo voy a hacer desde phpMyAdmin, el motivo de hacerlo desde phpMyAdmin
y no de otra forma es porque comúnmente, en todos los servidores ya sean caseros o de un
hosting privados siempre suele tener un phpMyAdmin a mano.

En primer lugar vamos a nuestro phpMyAdmin y seleccionamos la base de datos que
hemos creado anteriormente(Videoteca) como vemos en la siguiente imagen:




Ahora se cargara la base de datos y nos saldrá un mensaje que pone ―no se han encontrado
tablas en la base de datos‖ y más abajo veremos un pequeño formulario para crear nuestra
primera tabla.

En nombre pondremos película y en número de campos pondremos 3.




Ahora damos a continuar y se nos cargara la pagina para crear los campos, en este caso
serán los 3 que hemos puesto antes.

Veremos que tendremos que rellenar varios datos, pero no tenemos que preocuparnos, ya
que explicaremos uno a uno lo que significa.

      En Campo, pondremos el nombre del campo.
      En Tipo, debemos poner el tipo de datos que se van a incluir en el campo, por
       ejemplo pondríamos:
          o VARCHAR si vamos a incluir un texto inferior a 255 caracteres ejemplo
              (nombres, DNI, direcciones).
          o TEXT si vamos a incluir un texto más largo de 255 caracteres ejemplo
              (noticias).
          o INT si deseamos escribir exclusivamente números.
          o DATE para poner fechas, o DATETIME, si queremos poner hora y fecha.
      En Longitud, deberemos de poner el número de caracteres máximo que puede
       contener dicho campo, esto no hace falta para todos los tipos de datos, ya que por
       ejemplo para los de tipo DATE, o TEXT no hace falta, pero para los INT y
       VARCHAR es imprescindible.
      En Nulo, podemos elegir Null o Not Null dependiendo si queremos que el campo
       pueda estar vacío (sin datos) o no.
      En predeterminado, podemos poner lo que queramos que se ponga en el campo
       en el caso de que no se rellenen los datos o que se rellene de forma incorrecta.
      En extra, vemos que podemos seleccionar Auto_Increment, esto nos sirve para
       llevar un orden de los datos que tenemos, por ejemplo, creamos un campo llamado
       id, de tipo INT y le ponemos auto_increment, de esta forma cada vez que se cree un
       nuevo dato en este campo se le sumara 1 a la id anterior, de forma que podremos
       llevar un pequeño orden.

Ahora que ya mas o menos he explicado para que es cada cosa voy a deciros que debemos
de poner en cada uno de los 3 campos:

Campo 1
Nombre: id_pelicula
Tipo: INT
Nulo: Not Null
Extra: Auto_increment
Y marcamos la llave de Primaria

Campo 2
Nombre: pelicula
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null

Campo 3
Nombre: Director
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null

Ahora damos a Grabar y ya tendemos nuestra base de datos "Videoteca" con la tabla
"películas" con la que podremos empezar a trabajar.

Historia del proyecto

SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por
IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un
estándar para las bases de datos relacionales. Desde 1986, el estándar SQL ha aparecido en
diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea
originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995
y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El
objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero
sin sacrificar velocidad, fiabilidad o usabilidad.
Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas
usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus
necesidades. Esto lo llevó a crear una API SQL denominada MySQL para bases de datos
muy similar a la de mSQL pero más portable.

La procedencia del nombre de MySQL no es clara. Desde hace más de 10 años, las
herramientas han mantenido el prefijo My. También, se cree que tiene relación con el
nombre de la hija del cofundador Monty Widenius quien se llama My.

Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los
fundadores de MySQL AB en el concurso ―Name the Dolphin‖. Este nombre fue enviado
por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado
del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad
en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

Lenguajes de programación

Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de
programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi
(via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de
Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac y Linux), (x)Harbour
(Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe un
interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que
soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder
desde el sistema SAP, lenguaje ABAP.

Aplicaciones

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas
(Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento
de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que
a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida
en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar
problemas de integridad en entornos de alta concurrencia en la modificación. En
aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno
es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.
Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos
sobre el desempeño para detectar y corregir errores tanto de SQL como de programacion.

Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo:

      AIX
      BSD
      FreeBSD
      HP-UX
      GNU/Linux
      Mac OS X
      NetBSD
      Novell Netware
      OpenBSD
      OS/2 Warp
      QNX
      SGI IRIX
      Solaris
      SunOS
      SCO OpenServer
      SCO UnixWare
      Tru64
      eBD
      Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows
       Vista, Windows 7 y Windows Server (2000, 2003 y 2008) Windows.
      OpenVMS

Crear una base de datos

Si el administrador creó la base de datos al momento de asignar los permisos, podemos
hacer uso de ella. De otro modo, nosotros debemos crearla:


mysql> USE zoologico
ERROR 1049: Unknown database 'zoologico'
mysql>


    El mensaje anterior indica que la base de datos no ha sido creada, por lo tanto
necesitamos crearla.


mysql> CREATE DATABASE zoologico;
Query OK, 1 row affected (0.00 sec)


mysql> USE zoologico
Database changed
mysql>


     Bajo el sistema operativo Unix, los nombres de las bases de datos son sensibles al uso
de mayúsculas y minúsculas (no como las palabras clave de SQL), por lo tanto debemos de
tener cuidado de escribir correctamente el nombre de la base de datos. Esto es cierto
también para los nombres de las tablas. Al crear una base de datos no se selecciona ésta de
manera autómatica; debemos hacerlo de manera explícita, por ello usamos el comando
USE en el ejemplo anterior.
     La base de datos se crea sólo una vez, pero nosotros debemos seleccionarla cada vez
que iniciamos una sesión con mysql. Por ello es recomendable que se indique la base de
datos sobre la que vamos a trabajar al momento de invocar al monitor de MySQL. Por
ejemplo:




shell>mysql -h casita -u blueman -p zoologico


Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17 to server version: 3.23.38-nt


Type 'help;' or '\h' for help. Type '\c' to clear the buffer


mysql>


     Observar que "zoologico" no es la contraseña que se está proporcionando desde la
línea de comandos, sino el nombre de la base de datos a la que deseamos acceder. Si
deseamos proporcionar la contraseña en la línea de comandos después de la opción "-p",
debemos de hacerlo sin dejar espacios (por ejemplo, -phola123, no como -p hola123). Sin
embargo, escribir nuestra contraseña desde la línea de comandos no es recomendado, ya
que es bastante inseguro.

Explicamos los pasos a seguir para crear la base de datos en MySQL

Antes de abordar los scripts de nuestro sitio, es importante crear la base de datos (BD) que
va a ser utilizada por los mismos. Hemos elegido una base de datos MySQL, entre otras
razones, porque se trata del tipo de base más corrientemente utilizado en combinación con
PHP. Por supuesto, podríamos haber utilizado cualquier otra base para la cual PHP tenga
funciones o simplemente crear un DSN y emplear las funciones para ODBC disponibles
en PHP. Pensamos que el hecho de programar en este lenguaje lleva inherente la necesidad
de conocer mínimamente el funcionamiento de MySQL y que la utilización de cualquier
otra BD o método de conexión no conlleva cambios significativos en los scripts que
abordaremos. Veremos pues el caso particular de MySQL y dejamos a vuestra cuenta
aplicar lo visto para cualquier otra base. En capítulos de otros manuales hemos explicado
la instalación y utilización de MySQL y la sintaxis para la creación de tablas. En
este capítulo nos limitaremos a describir paso a paso la creación de la base postal sin hacer
hincapié en el significado de los comandos utilizados.
Pasemos pues a describir uno a uno los pasos a seguir:


1.-Creación de la base de datos
Una vez dentro de MySQL, el primer paso es crear la base de datos:

                                   Create database postal;



2.-Creación de las tablas
Para la creación de la tabla imagenes, donde almacenaremos los gráficos de las postales,
generaremos dos campos: id_imagen, que es el identificador del grafico, específico para
cada uno y cuyo valor corresponde también con el nombre del archivo gif. El otro campo,
tipo, define el objeto de la postal (cumpleaños, Navidades o San Valentín).


La forma más simple de crear esta tabla sería:

                                   Create Table imagenes
                                              (
                                     id_imagen int(2),
                                      tipo varchar(15)
                                             );



La siguiente tabla a crear, postal, debe guardar toda una serie de datos necesarios para
hacer llegar la postal al destinatario y hacer que el remitente reciba la confirmación de
recepción. Veremos cómo actúa cada uno de esos datos en el script más adelante. Por
ahora nos limitaremos a describir la sintaxis de la creación:

                                    Create Table postal
                                              (
                                      id_postal int(5),
                                    texto varchar(255),
                              email_destinatario varchar(50),
                             nombre_destinatario varchar(50),
                               email_remitente varchar(50),
                              nombre_remitente varchar(50),
                                     id_imagen int(2),
                                       avisar char(7)
                                             );
Para una aplicación más compleja deberíamos definir además las claves y considerar más
detenidamente el tipo de campo a definir. Aconsejamos leer los capítulos del tutorial de
SQL donde podréis consejos para mejorar las prestaciones de las tablas.


3.-Relleno de la tabla imagenes con los gráficos de muestra
Para rellenar rápidamente la tabla en un primer momento, sin necesidad de recurrir a
sentencias SQL tipo Insert, podemos crear un archivo de texto con los registros separados
por líneas y los valores de campo, puestos en el buen orden, separados por tabuladores. En
el pack de descarga encontraréis el archivo texto imagenes ya preparado. Lo único que
tenéis que hacer es colocar el archivo en el directorio bin de MySQL y ejecutar la siguiente
orden en la base de datos:

                 Load data local infile "imagenes.txt" into table imagenes;



Con esto tendremos llena la tabla imagenes. Para comprobarlo teclead:

                                  select * from imagenes;


Veréis como aparece en pantalla el contenido de la tabla que obviamente corresponde al
del archivo texto.

4.-Creación del directorio virtual en el servidor
Llegados a este punto, queda extraer los archivos restantes del pack a un directorio que
deberá ser registrado en el servidor como directorio virtual tal y como hemos explicado
para el caso del PWS.

Algunos ejemplos de PHP y MySQL se utilizan conjuntamente son los siguientes:

       Banner de rotación. En este sitio, donde cada bandera es, un script PHP que se
       llama. Esto abre una base de datos y toma al azar una bandera de él para mostrar
       al visitante. También cuenta el número de veces que se ha visto la bandera y
       podrían, con algunos cambios, también hace clic en la pista. Para agregar, cambiar
       o modificar las banderas todo lo que tengo que hacer es cambiar la base de datos y
       el script tomará las banderas correctas para todas las páginas en el sitio.
       Foros. Cientos de foros (de mensajes) en Internet y se ejecutan usando PHP y
       MySQL. Estas son mucho más eficientes que otros sistemas que crear una página
       para cada mensaje y ofrecemos una amplia variedad de opciones. Todas las
       páginas en el foro puede ser actualizado por cambiar una secuencia de comandos.
       Bases de datos. Un ejemplo evidente es que los sitios recibe todo lo que hay
       información de una base de datos. Por ejemplo Script Avenue está a cargo de unos
       cuantos scripts, que cobran toda su información de una gran base de datos. Todas
       las categorías secuencia de comandos diferentes se puede acceder de una secuencia
       de comandos con sólo cambiar la URL para acceder a una parte diferente de la base
       de datos.
       Páginas web. Si usted tiene un sitio web grande y desea cambiar el diseño puede
       tomar mucho tiempo para actualizar y cargar todas las páginas. Con PHP y MySQL
       de su sitio web todo podría ser sólo uno o dos scripts PHP. Éstos acceder a una
       base de datos MySQL para obtener la información de las páginas. Para actualizar el
       diseño del sitio web que acaba tendría que cambiar una página.




PostgreSQL, a menudo simplemente Postgres, es una base de datos del sistema de
gestión relacional de objeto (ORDBMS). Es liberado bajo una licencia estilo MIT y es por
tanto libre y software de código abierto . Al igual que muchas otras de código abierto de
programas, PostgreSQL no está controlada por una sola compañía, pero tiene una
comunidad global de desarrolladores y empresas para su desarrollo.

PostgreSQL es un sistema avanzado de administración de bases de datos objeto-
relacionales (ORDBMS) derivado del sistema de administración de bases de datos Postgres
de Berkeley

Nombre del Producto

El mixto de capitalización del nombre de PostgreSQL puede confundir a algunas personas
en el primer visionado. El pronunciaciones varios de " SQL "puede llevar a esta confusión.
los desarrolladores de PostgreSQL que se pronuncia / ˌ poʊstɡrɛs kju ɛl ː / , ( muestra de
audio , MP3 5.6k). Se abrevia como "Postgres", su nombre original. Debido al apoyo de
todas partes para el estándar SQL más entre las bases de datos relacionales, la comunidad
considera cambiar el nombre de nuevo a Postgres. Sin embargo, el PostgreSQL Core Team
anunció en 2007 que el producto seguirá siendo llamado PostgreSQL. El nombre hace
referencia al proyecto de los orígenes de la como "post- Ingres "base de datos, los autores
originales de haber desarrollado la base de datos Ingres, en la que Ingres es la abreviatura
de teractive EN raphics G RE S istema trieval.
Historia

PostgreSQL evolucionado a partir del Ingres proyecto en la Universidad de California,
Berkeley . En 1982, el líder del proyecto, Michael Stonebraker , a la izquierda de Berkeley
para hacer una versión propietaria de Ingres. Regresó a Berkeley en 1985 y comenzó un
proyecto post-Ingres para resolver los problemas con los sistemas de base de datos actual
que se ha convertido cada vez más evidente durante la década de 1980. El nuevo proyecto,
Postgres, con el objetivo de añadir la menor cantidad de características que se necesitan
para apoyar tipos completamente. Estas características incluyen la capacidad de definir los
tipos y describir relaciones - algo que se usa ampliamente antes, 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 de una manera natural, utilizando
reglas. Postgres utiliza muchas ideas de Ingres, pero no su código.

 A partir de 1986, el equipo publicó una serie de artículos que describen la base del
sistema, y en 1988 tuvo una versión prototipo. El equipo lanzó la versión 1 a un pequeño
número de usuarios en junio de 1989, a continuación, la versión 2 con un sistema de
normas re-escrito en junio de 1990. La versión 3, lanzado en 1991, una vez más re-escribió
el sistema de normas, y soporte adicional para los administradores de almacenamiento de
múltiples y un motor de consultas mejorado. En 1993 el gran número de usuarios
comenzó a desbordar el proyecto con las solicitudes de apoyo y características. Después de
lanzar la versión 4 - sobre todo la limpieza - el proyecto terminado.

 Sin embargo, de código abierto a los desarrolladores pueden obtener copia y desarrollar el
sistema de cascada, ya había puesto en libertad Postgres de Berkeley bajo un estilo licencia
MIT . En 1994, estudiantes de posgrado de Berkeley Andrew Yu y Jolly Chen sustituyó a la
de Ingres basado en el lenguaje de consulta QUEL intérprete con una para el SQL lenguaje
de consulta, creación de Postgres95. El código fue publicado en la web.

 En julio de 1996, Marc Fournier en Hub.Org Servicios de red siempre que el primer
servidor no universitarios de desarrollo para el esfuerzo de desarrollo de código abierto.
Junto con Bruce Momjian y Vadim B. Mikheev se iniciaron las obras para estabilizar el
código heredado de Berkeley. La primera fuente la versión libre fue lanzado el 01 de agosto
1996.

 En 1996, el proyecto fue renombrado a PostgreSQL para reflejar su apoyo a SQL. El
primer lanzamiento de la versión 6.0 de PostgreSQL formó en enero de 1997. Desde
entonces, el software ha sido gestionada por un grupo de desarrolladores de bases de datos
y los voluntarios de todo el mundo, coordinando a través de la Internet .

El proyecto PostgreSQL sigue haciendo versiones mayores (aproximadamente al año) y de
menor importancia "comunicados de corrección de errores", todos los disponibles bajo la
misma licencia, sobre la base de las contribuciones de los vendedores de software
privativo, las empresas de apoyo, y los programadores de código abierto en general.
Características

Funciones

 Funciones permiten bloques de código que será ejecutado por el servidor. Aunque estos
bloques pueden ser escritas en SQL, la falta de operaciones de programación de base que
existían antes de la versión 8.4, tales como ramificación y looping , ha impulsado la
adopción de otras lenguas dentro de las funciones. Algunos de los idiomas puede ejecutar
hasta dentro de los factores desencadenantes. Funciones en PostgreSQL se puede escribir
en los siguientes idiomas:

      Un built-in lenguaje llamado PL / pgSQL se asemeja a la lengua de procedimiento
       de Oracle PL / SQL .
      lenguajes de script se logra a través de PL / Lua , PL / LOLCODE , PL / Perl ,
       plPHP , PL / Python , PL / Ruby , PL / sh , PL / Tcl y PL / sistema .
      Compilado idiomas C , C + + , Java (a través de PL / Java )
      El lenguaje estadístico R a través de PL / I .

 PostgreSQL soporta funciones que devuelven filas, donde la salida de la función es un
conjunto de valores que pueden ser tratados al igual que una tabla dentro de las consultas.
agregados personalizados y funciones de ventana también se puede definir.

 Las funciones pueden definirse de manera que se ejecutan con los privilegios de una de la
persona que llama o el usuario que define la función. Las funciones se refieren a veces
como procedimientos almacenados , aunque hay una ligera diferencia técnica entre los
dos.

 Índices

 PostgreSQL incluye una función de apoyo a B +-árbol , hash , GiST y Gin índices. Además,
los métodos de índice definidos por el usuario se puede crear, aunque esto es bastante un
proceso complicado. Los índices de PostgreSQL también admite las características
siguientes:

       Expresiones índices se pueden crear con un índice del resultado de una
       expresión o función, en lugar de simplemente el valor de una columna.
       índices parciales , que una parte de la mesa, sólo puede ser índice creado
       mediante la adición de un WHERE cláusula en la final de la CREATE INDEX
       declaración. Esto permite un menor índice a crear.
       El planificador es capaz de utilizar varios índices juntos para satisfacer las
       consultas complejas, con carácter temporal en memoria índice de mapa de bits
       operaciones.

Los desencadenantes

Los factores desencadenantes son eventos desencadenados por la acción de SQL LMD
declaraciones. Por ejemplo, una instrucción INSERT declaración podría activar un
disparador que comprobar si los valores de la declaración eran válidas. La mayoría de los
desencadenantes sólo se activan por cualquiera de INSERT o UPDATE declaraciones.
 Los desencadenantes son totalmente compatibles y se pueden fijar a las tablas, pero no a
opiniones . Las vistas pueden tener reglas, sin embargo. Múltiples factores
desencadenantes son despedidos por orden alfabético. Además de llamar funciones
escritas en el formato nativo PL / pgSQL, desencadena también puede invocar funciones
escritas en otros lenguajes como PL / Perl.

MVCC

 PostgreSQL administra la concurrencia a través de un sistema conocido como Multi-
Version Control de concurrencia (MVCC), que proporciona a cada usuario una
"instantánea" de la base de datos, permitiendo modificaciones que deben introducirse sin
que sea visible a otros usuarios hasta que una transacción se confirma. Esto elimina en
gran medida la necesidad de bloqueos de lectura y garantiza la base de datos mantiene la
ACID principios de una manera eficiente.

Reglas

 Las reglas permiten el árbol "consulta" de una consulta de entrada para que sea reescrito.
Un uso común es para aplicar puntos de vista, incluyendo vistas actualizables.
Reglamento, o más propiamente, "Consulta Re-escribir las reglas", se adjuntan a una tabla
/ clase y "Re-escritura" a la próxima LMD (seleccionar, insertar, actualizar y / o
cancelación) en una o más consultas que reemplace el original o ejecutar instrucción DML,
además de él. Consulta Re-escritura se produce después de analizar instrucción DML,
pero, antes de planificar la consulta.

Los tipos de datos

Una gran variedad de especies nativas tipos de datos son soportados, incluyendo:

       matrices de longitud variable (incluyendo textos y tipos compuestos) hasta 1 GB en
       el tamaño total de almacenamiento.
       De precisión arbitraria numéricos
       Primitivas geométricas
       IPv4 y IPv6 las direcciones
       CIDR bloques y las direcciones MAC
       XML apoyo Xpath consultas (a partir de 8,3)
       UUID (a partir de 8,3)

 Además, los usuarios pueden crear sus propios tipos de datos que generalmente se puede
ejercer plenamente intercambiables a través de PostgreSQL GiST infraestructura.
Ejemplos de estos son los sistema de información geográfica (SIG) los tipos de datos de la
PostGIS proyecto para PostgreSQL.

Por el usuario los objetos definidos

 Los nuevos tipos de casi todos los objetos dentro de la base de datos se pueden crear,
incluyendo:

       Los yesos
       Conversiones
       Tipos de datos
       Dominios
       Las funciones, incluyendo funciones de agregado
       Índices
       Los operadores (que existen pueden ser sobrecargados )
       Procedimiento idiomas

 Herencia

 Las tablas se pueden configurar para heredar sus características de un "padre" de mesa.
Los datos de las tablas secundarias se parecen existir en las tablas de los padres, salvo que
los datos se selecciona de la tabla primaria mediante la palabra clave ONLY *, es decir,
seleccionar SÓLO PARENT_TABLE. Adición de una columna de la tabla primaria hará
que la columna aparezca en la tabla secundaria.

La herencia se puede utilizar para implementar la partición de tablas, utilizando
disparadores o reglas a las plantillas, directo a la tabla primaria en las tablas del niño
apropiado.

 Esta característica no es totalmente compatible sin embargo-en particular, las
restricciones de tabla no están actualmente heredables. A partir de la versión 8.4, todas las
restricciones CHECK y restricciones no-nulo en una tabla primaria se heredan
automáticamente por sus hijos. Otros tipos de restricciones (único, clave principal y las
claves foráneas) no se heredan.

 La herencia proporciona una forma de trazar los rasgos de las jerarquías de generalización
representa en diagramas de entidad-relación (ERD) directamente en la base de datos
PostgreSQL.

Otras características

       Integridad referencial limitaciones incluyendo clave externa limitaciones,
       restricciones de columna y fila de los controles
       Accesos . Si bien las opiniones son por defecto no actualizable, se pueden hacer
       mediante la creación de "insertar", "actualizar", y / o "eliminar" Consulta Re-
       escribir las reglas en la vista.
       Interior y exterior (completa, izquierda y derecha), y la cruz se une a
       Sub- selecciona
           o Subconsultas correlacionadas
       Transacciones
       Soporta la mayoría de las principales características de SQL: 2008 estándar
       conexiones cifradas a través de SSL
       gran objeto de almacenamiento binario y de texto
       Copia de seguridad en línea
       Dominios
       Tablespaces
       Los puntos de retorno
       De punto en el tiempo de recuperación
       En dos fases
       TOAST (L a O-A versized ttribute S almacenamiento previo echnique T) se utiliza
       para almacenar de forma transparente tabla con los atributos grandes (como
         archivos adjuntos MIME grande o mensajes XML) en un área separada, con la
         compresión automática.
         Las expresiones regulares
         tabla de expresiones comunes
         Embedded SQL se implementa mediante el preprocesador. código SQL es la
         primera escrita en código C incrustado. A continuación, el código se ejecuta a
         través de preprocesador ecpg, que sustituye a SQL con llamadas a código de la
         biblioteca. A continuación, el código puede ser compilado usando el compilador C.
         Incorporación de las obras también con C + +, pero no reconoce todas las
         construcciones de C + +.


¿Qué es Postgres?

Los sistemas de mantenimiento de Bases de Datos relacionales tradicionales (DBMS,s)
soportan un modelo de datos que consisten en una colección de relaciones con nombre,
que contienen atributos de un tipo específico. En los sistemas comerciales actuales, los
tipos posibles incluyen numéricos de punto flotante, enteros, cadenas de caractéres,
cantidades monetarias y fechas. Está generalmente reconocido que este modelo será
inadecuado para las aplicaciones futuras de procesado de datos. El modelo relacional
sustituyó modelos previos en parte por su "simplicidad espartana". Sin embargo, como se
ha mencionado, esta simplicidad también hace muy dificil la implementación de ciertas
aplicaciones. Postgres ofrece una potencia adicional sustancial al incorporar los siguientes
cuatro conceptos adicionales básicos en una vía en la que los usuarios pueden extender
fácilmente el sistema

clases

herencia

tipos

funciones


Otras características aportan potencia y flexibilidad adicional:

Restricciones (Constraints)

Disparadores (triggers)

Reglas (rules)

Integridad transaccional


Estas características colocan a Postgres en la categoría de las Bases de Datos identificadas
como objeto-relacionales. Nótese que éstas son diferentes de las referidas como
orientadas a objetos, que en general no son bien aprovechables para soportar lenguajes de
Bases de Datos relacionales tradicionales. Postgres tiene algunas características que son
propias del mundo de las bases de datos orientadas a objetos. De hecho, algunas Bases de
Datos comerciales han incorporado recientemente características en las que Postgres fue
pionera

Instalación de PostgreSQL

Para que configure encuentre correctamente Docbook SGML DTD, necesitas eliminar las
definiciones de catálogo para OpenSP del sistema de catálogos SGML. Usa los siguientes
comandos antes de construir el paquete para cumplir esto:


    sed -i.orig \
      -e "/CATALOG \/etc\/sgml\/OpenSP-1.5.1.cat/d" \
      /etc/sgml/catalog \
      /etc/sgml/sgml-docbook.cat


Instala PostgreSQL ejecutando los siguientes comandos:


    sed -i \
      -e "s|dsssl-stylesheets|& \\\\\n   sgml/docbook/&-1.79|" \
      configure &&
    ./configure --prefix=/usr --enable-thread-safety &&
    make


Ahora, como usuario root:


    make install &&
    chown -R root:root /usr/share/doc/postgresql/html


   Nota

Si estás actualizando un sistema existente y vas a instalar los nuevos ficheros sobre los
antiguos, entonces deberías guardar un respaldo de tus datos, cerrar el antiguo servidor y
seguir las instrucciones que hay en la documentación oficial de PostgreSQL.

Inicializa un grupo de bases de datos con los siguientes comandos ejecutados como usuario
root:


    install -v -m755 -d /srv/pgsql/data &&
    useradd -c "PostgreSQL Server" -g users -d /srv/pgsql/data postgres
    &&
    chown -v postgres /srv/pgsql/data &&
     su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'




Como usuario root, arranca el servidor de bases de datos con el siguiente comando:


     su - postgres -c '/usr/bin/postmaster -D /srv/pgsql/data > \
       /srv/pgsql/data/logfile 2>&1 &'


Aún como usuario root, crea una base de datos y verifica la instalación:


     su - postgres -c '/usr/bin/createdb test' &&
     echo "create table t1 ( name varchar(20), state_province varchar(20)
     );" \
       | (su - postgres -c '/usr/bin/psql test ') &&
     echo "insert into t1 values ('Billy', 'NewYork');" \
       | (su - postgres -c '/usr/bin/psql test ') &&
     echo "insert into t1 values ('Evanidus', 'Quebec');" \
       | (su - postgres -c '/usr/bin/psql test ') &&
     echo "insert into t1 values ('Jesse', 'Ontario');" \
       | (su - postgres -c '/usr/bin/psql test ') &&
     echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')




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, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de
diciembre de 2009 fue liberada la versión 2.5.0 RC1.
FirebirdSQL Fundation

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.



Historia

A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos
integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a
otros desarrolladores independientes, crearon el fork ahora conocido como Firebird. Más
tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin
embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la
MPL (Mozilla Public License).

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 Servidor Embebido1 (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.
Tipos de servidor

Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si
bien tienen varias diferencias menores entre sí, 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.

El sistema de administración de bases de datos relacional de código abierto Firebird cuenta
con un rendimiento excelente y se escala de manera impresionante, desde un modelo
integrado y monousario, hasta desarrollos empresariales con múltiples bases de datos de
más de 500 Gb, con cientos de clientes simultáneos.
Firebird soporta un número grande de plataformas de software y hardware: Windows,
Linux, MacOS, HP-UX, AIX, Solaris y más. Funciona en x386, x64 y PowerPC, Sparc y
otras plataformas de hardware, y cuenta con un mecanismo de fácil migración entre tales
plataformas.
Una de las características claves de Firebird es su arquitectura multigeneracional, que
permite el desarrollo y soporte de aplicaciones híbridas OLTP y OLAP. Esto hace a Firebird
capaz de servir simultáneamente como un almacén de datos analítico y operacional,
porque las lecturas no bloquean a las escrituras cuando acceden a los mismos datos en la
mayoría de las situaciones.
Firebird soporta procedimientos almacenados, disparadores, eventos y funciones definidas
por el usuario; tiene un gran soporte a SQL92. Está soportado por muchas opciones de
conectividad a bases de datos. La alta compatibilidad con los estándares de laindustria en
muchos frentes hace a Firebird la opción obvia para desarrollar aplicaciones interoperables
para ambientes homogéneos e híbridos. La mezcla de características: alto rendimiento,
tamaño de distribución pequeño, escalabilidad suprema, instalación sencilla y silenciosa y
100% libre de regalías hacen a Firebird una opción muy atractiva para todos los tipos de
desarrolladores de software y distribuidores. Es utilizada por aproximadamente 1 millón
de desarrolladores de software en todo el mundo.



Firebird se deriva del código fuente de InterBase 6.0, de Borland. Es de código abierto
y no tiene licencias duales. Tanto si lo usas en aplicaciones comerciales o de código
abierto, ¡es totalmente LIBRE!

La tecnología de Firebird ha estado en uso por 20 años, lo que lo hace un producto muy
estable y maduro.

Principales características

¡No te dejes engañar por el tamaño del instalador!; Firebird es un poderoso y completo
RDBMS. Puede manejar bases de datos desde solo unos cuantos KB hasta muchos
Gigabytes con muy buen desempeño y prácticamente libre de mantenimiento!

Sus principales características son:

      Completo soporte para Procedimientos Almacenados y Disparadores
      Transacciones 100% ACID
      Integridad Referencial
      Arquitectura multi-generacional
      Bajo consumo de recursos
      Completo lenguaje interno para procedimientos almacenados y disparadores
       (PSQL)
      Soporte para Funciones Externas (UDFs)
      Poca o ninguna necesidad de DBAs especializados.
      Prácticamente no requiere configuración - solamente instalas y ¡comienzas a
       usarla!
      Gran comunidad y muchos sitios donde podes encontrar excelente soporte
       gratuito.
      Versión incrustada - ideal para crear catálogos en CDROM, versiones mono
       usuario, de evaluación o portátiles de las aplicaciones.
      Docenas de herramientas de terceros, como herramientas de administración
       gráficas, herramientas de replicación, etc.
      Escritura segura - recuperación rápida, ¡sin requerir logs de transacciones!
      Muchas formas de acceder a tu base de datos: nativo/API, drivers
       dbExpress, ODBC, OLEDB, proveedor .Net, driver JDBC nativo tipo 4, módulo
       Python, PHP, Perl, etc.
      Soporte nativo para todos los principales sistemas operativos, incluyendo
       Windows, Linux, Solaris, MacOS.
      Copias de seguridad incrementales
      Disponibilidad de binarios en arquitectura de 64bits
      Implementación completa de cursores en PSQL
      Tablas de Monitoreo
      Disparadores a nivel de Conexión y Transacción
      Tablas Temporales

Herramientas y Componentes

Acá encontrarás una lista con algunos recursos de interés como herramientas, drivers, etc.
No olvides revisar el Sitio oficial de Firebird para una lista completa y actualizada.

Herramientas de administración gráfica

      IBExpert (Versión personal gratuita)
      FlameRobin (Código abierto, se ejecuta en Windows, Linux, MacOSX y FreeBSD)
      DB Workbench
      Firebird Development Studio



Drivers y componentes de acceso

Componentes para Delphi

              IB Objects
              FIBPlus
              UIB (Unified InterBase Components)
              Zeos
              MDO

ODBC

              Gemini ODBC driver
              Firebird ODBC Driver
              EasySoft

OLEDB

              ZStyleGroup
              IBProvider

Java

              JayBird

.Net Provider

              Firebird .Net Provider

C++

              IBPP
Otros lenguajes

               PHP
               Python
               Perl
      Probar Firebird es una tarea muy sencilla. El tamaño del instalador es usualmente
       menor de 5MB (dependiendo del sistema operativo de tu elección) y totalmente
       automatizado. Puedes descargarlo desde el Sitio oficial de Firebird. La última
       versión estable liberada es la 2.1.
      Notarás que el servidor viene en 3 distintos sabores: SuperServer, Classic y
       Embedded. Puedes iniciar con el SuperServer. Actualmente, la edición Classic
       está recomendada para usarse en máquinas con SMP y otras situaciones
       específicas. La edición SuperServer comparte el cache entre las conexiones y utiliza
       hilos para manejar cada una de ellas. La edición Classic inicia un proceso servidor
       independiente por cada conexión que recibe.
      La edición Incrustada (Embedded) es una sorprendente variación del servidor.
       Es un completo Servidor Firebird empacado en unos cuantos ficheros.
       Con él es muy fácil distribuir aplicaciones, puesto que no requiere instalación.
       Es ideal para catálogos en CDROM, demostraciones o aplicaciones de escritorio
       independientes.
      Firebird viene con un completo conjunto de utilitarios de línea de comandos que te
       permiten crear bases de datos, obtener estadísticas, ejecutar comandos y scripts
       SQL, realizar copias de seguridad y restauraciones, etc. Si prefieres utilizar una
       interfaz gráfica, encontrarás una gran cantidad de opciones para elegir, algunas de
       ellas gratuitas. Te servirá como punto de partida la lista al final de este documento.
      En Windows, puedes ejecutar Firebird como servicio o en modo aplicación. El
       instalador puede crear, en el panel de control, un ícono para administrar el servidor
       (iniciarlo, detenerlo, etc.).
      El sitio de Firebird puede ser alcanzado en
       http://firebird.sourceforge.net/index.php , o, alternativamente, en
       http://www.firebirdsql.org/ .
       Al momento de escribir este documento, el sitio de descarga de Firefox estaba en
       http://sourceforge.net/project/showfiles.php?group_id=9028 . Tenga en cuenta
       que esto puede haber cambiado ya. Es recomendable ir al sitio web de Firebird y
       haga clic en el vínculo "Descargar".

En este momento hay 2 versiones del servidor Firebird que se puede descargar.

       Firebird Super Server
       Firebird Clásico servidor

 En pocas palabras, la diferencia entre las dos versiones radica en el criterio de diseño. El
super servidor utiliza hilos para el servicio a múltiples clientes conectándose al mismo al
mismo tiempo, mientras que el servidor Classic fue el enfoque original utilizado en
Interbase, que genera un proceso servidor independiente para cada conexión. Un Libro
Blanco de la comparación de los dos enfoques se pueden encontrar aquí . La elección de
qué versión del servidor a utilizar es totalmente de usted. Para "bases de datos
incrustadas" con pocos usuarios al mismo tiempo, no se debe hacer una gran diferencia
que uno elige.
En teoría, para aplicaciones con un público más amplio, el Servidor de Super debe realizar,
reduciendo los tiempos de inicio de proceso y un mejor reparto de los recursos. No he
tenido la oportunidad de probar esto en un entorno de gran volumen, así que no sería
capaz de hablar con autoridad sobre este tema.

Este documento sólo se refiere a la versión de Super Servidor de Firebird

Requisitos del sistema

 Esta base de datos, en poco más de 2,5 MB es realmente muy pequeño, y supongo que, si
se puede ejecutar Linux en su sistema, probablemente se puede ejecutar esta base de datos.

Los únicos requisitos son:

       ncurses4 v5.0 o superior
       glibc v2.2 o superior

 Estas instrucciones han sido probadas en Probatus Espectros de Linux 1.2, lo que
equivale a Red Hat v7.3. Debería funcionar en cualquier Linux basado en rpm, aunque,
como siempre, su kilometraje puede variar.

Instalación de Firebird

Después de haber descargado el archivo rpm de la página web, iniciar sesión como root.

Ejecute el siguiente comando:

# Echo localhost.localdomain>> / etc / hosts.equiv

Esto agregará localhost a la lista de servidores que reconoce. Vaya al directorio donde el
archivo descargado reside rpm y ejecutar el siguiente comando.

# Rpm-ivh FirebirdSS-1.0.2.908-1.i386.rpm

Esto instalará Firebird y crear un script de inicio en / etc / init.d que se inicie
automáticamente al arrancar Firebird. Si encuentra algún error, comprueba que tienes
ncurses4 y la versión correcta de la glibc instalado.

 Es interesante, te darás cuenta de que Firebird crea un directorio llamado interbase en /
opt, y pone sus binarios allí. Esto demuestra su patrimonio, ya que se deriva de Interbase,
después de todo. Tendremos que hacer que los ficheros binarios disponibles en todo el
sistema, y por eso vamos a editar el archivo / etc / profile, insertando dentro de las
siguientes líneas:

exportación INTERBASE_HOME = / opt / interbase
Export PATH = $ PATH: $ INTERBASE_HOME / bin

Guarde el archivo y reinicie el servidor y compruebe que Firebird se inicia en Aceptar.
Primeros pasos con Firebird

 Ahora vamos a caminar a través de la creación de una base de datos de la muestra y
familiarizarnos con las operaciones y las herramientas de administración de este software
de base de datos.

3.1 Herramientas de administración

 El sistema cuenta predeterminada de administración tiene el nombre de usuario
SYSDBA (este nombre de usuario no parece ser entre mayúsculas y minúsculas, cuando lo
probé) y la llave maestra contraseña. Para los usuarios de versiones anteriores de
Interbase (y las personas que trabajaron a través del Catálogo de pescado tutorial para
Delphi ), esto le parecerá muy familiar. Usted usará esta cuenta para crear otro usuario y
la base de datos de la muestra inicialmente.



Las herramientas administrativas que están disponibles con el software son:

       gsec - Este es el administrador de seguridad. Usted usará esta herramienta de
       línea de comandos para crear, modificar y eliminar usuarios de bases de datos,
       cambiar contraseñas, etc
       isql - Esta es la herramienta interactiva del SQL, similar a la de Oracle SQL * Plus
       y psql comando Postgresql. Usted puede usar este para probar o ejecutar consultas
       SQL.



3.1.1 gsec Administrador de Seguridad

 Usted tendrá que ejecutar gsec como SYSDBA. Para invocar, ejecute lo siguiente como
root o no usuario root:

$ Gsec usuario sysdba-password masterkey


 Con ello se abre la> gsec del sistema. Se pueden visualizar los usuarios actuales
escribiendo "pantalla" en el prompt, así:




Gsec> Activar


 Es una buena idea cambiar la contraseña de SYSDBA, ya que por defecto es tan bien
conocida. Para cambiarla, modificamos la cuenta SYSDBA usando el siguiente comando:

Gsec> modificar NewPassword SYSDBA-pw
Ok, NewPassword no es exactamente una contraseña segura. Usted debe generar su
propio, que debe contener números y letras, y deben ser cambiados con frecuencia. Pero
no vamos a entrar en eso aquí.

3.1.2 isql procesador SQL interactivo

Como se mencionó anteriormente, es análogo a isql psql para PostgreSQL y SQL * Plus de
Oracle. Puede escribir un comando SQL y obtener los resultados de la consulta de la base
de datos.

Firebird viene con una base de datos EMPLEADO ejemplo, y lo usaremos para probar
nuestros comandos SQL. Para comenzar, ejecute el siguiente comando:

isql / opt / Interbase / ejemplos / employee.fdb


Esto le conectará con la base de datos de ejemplo EMPLEADO y mostrar un SQL> en la
pantalla. Usted puede escribir en los comandos SQL en el indicador. Recuerde poner un
punto y coma (;) en la final de la instrucción de darlo por terminado, antes de pulsar
<ENTER> para ejecutarlo.

Para prueba, escriba el siguiente comando SQL y pulse <ENTER>

SQL> SELECT emp_no, FULL_NAME, job_code, empleado de job_country;


De esta manera tendrás:

 FULL_NAME EMP_NO JOB_CODE JOB_COUNTRY
 ======= ===================================== ====== ==
===============

 2 Nelson, EE.UU. Robert VP
 4 EE.UU. Young, Ing. Bruce
 5 Lambert, Kim Eng EE.UU.
 8 Johnson, Leslie Mktg EE.UU.
 9 Bosque, Phil mngr EE.UU.
 11 Weston, KJ SREP EE.UU.
 12 Lee, Terri Admin EE.UU.
 Hall 14, EE.UU. Finan Stewart
 EE.UU. 15 jóvenes, Katherine Admin
 20 Papadopoulos, Chris mngr EE.UU.
 24 Fisher, Pete Ing. EE.UU.
 28 Bennet, Inglaterra Ann Admin
 29 De Souza, Ing. Roger EE.UU.
 34 Baldwin, Janet EE.UU. Ventas
Si desea ver todas las tablas de la base de datos, escriba lo siguiente:

SQL> Mostrar tablas;


Esto le dará todas las tablas de la base de datos.

 PAÍS AL CLIENTE
 DEPARTAMENTO DE EMPLEADO
 EMPLOYEE_PROJECT JOB
 PHONE_LIST PROYECTO
 PROJ_DEPT_BUDGET SALARY_HISTORY
 VENTAS

Para salir de isql, simplemente escriba quit, y <ENTER> prensa.




SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, y que
está contenida en una relativamente pequeña (~275 kiB)1 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.
¿Qué es SQLite?

Una de las novedades que trae consigo PHP5, es la inclusion por defecto de su propia base
de datos SQLite, pero que es esto?, SQLite es una librería escrita
en C que implementa un motor de base de datos para SQL92
empotrable.

Por lo tanto SQLite es una librería escrita en lenguaje C que
implementa un manejador de base de datos SQL embebido.

Los programas que se enlacen con la librería SQLite pueden tener acceso a una base de
datos SQL, sin tener que ejecutar un programa de RDBMS separado.

SQLite es Software Libre por lo tanto el código fuente es del dominio públicoy licencia
GPL.

Ademas se puede entender como bases de datos empotradas aquellas que no inician un
servicio en nuestra máquina independiente de la aplicación, pudiendose enlazar
directamente a nuestro código fuente o bien utilizarse en forma de librería (include)".


Sus desarrolladores destacan, que su principal característica, es su completo soporte para
tablas e índices en un único archivo por base de datos, soporte transaccional, rapidez (unas
2 veces mas veloz que MySQL y PostgreSQL,
http://www.hwaci.com/sw/sqlite/speed.html), escaso tamaño (unas 25 mil líneas de
código C) y su completa portabilidad.


Su instalación es muy sencilla (Archivos Fuentes: http://www.hwaci.com/sw/sqlite/),
requiere únicamente los pasos habituales de tar, configure, make y make install. Los
desarrolladores recomiendan estos pasos:

$ tar zxvf sqlite.tar.gz
$ mkdir bld
$ cd bld
$ ../sqlite/configure
$ make
$ make install

Existen ports de la API para distintos lenguajes, incluso un proyecto de ODBC para SQLite
(http://www.ch-werner.de/sqliteodbc/); la API para Python la podemos encontrar en
http://pysqlite.sourceforge.net/

SQLite, no permite múltipes usuarios accediendo en modo escritura a la base de datos,
debido que el mecanismo de bloqueo que utiliza es muy "basto": bloquea toda la base de
datos. Así esta librería está especialmente indicada cuando se requiera de una gran rapidez
en las consultas y nos baste que sólo un único usuario pueda realizar modificaciones.

SQLite, cuenta con una utilidad llamada sqlite que nos permitirá ejecutar comandos SQL
contra una base de datos SQLite en modo consola. Desde aquí podemos crear nuestra base
de datos, realizar consultas, insertar datos, etc.
Por ejemplo, supongamos que tenemos un archivo llamado tablas.sql con los siguientes
comandos:

CREATE TABLE MAQUINAS (
ID INTEGER UNIKE PRIMARY KEY,
NOMBRE VARCHAR(30),
IP VARCHAR(15),
USUARIO VARCHAR(30)
);
INSERT INTO MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina1','192.168.1.10','Jose');
INSERT INTO MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina2','192.168.0.1', 'Pedro');
INSERT INTO MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina3','192.168.0.100','Carlos');

Si ejecutamos:

$ sqlite base.db
observamos que nos crea un solo archivo(base.db), mescla de binario y ASCII, el cual
contiene la definición de la base de datos, tabla y datos.

Algunas operaciones sobre esta base serian:

$ sqlite base.db "select * from maquinas"

que dara como salida:

1|maquina1|192.168.1.10|Jose
2|maquina2|192.168.0.1|Pedro
3|maquina3|192.168.0.100|Carlos

de similar forma se ejecuta el resto de los comandos como ser: INSERT, UPDATE,
DELETE, etc.

Observese que SQLite retorna todo el resultado de la consulta separados por el símbolo "|".

COMO USAR SQLITE EN PHP5

archivo: prueba.php

/* Definimos el nombre de la base de datos
observar que es la misma base del ejemplo de arriba
para ver el ejemplo correr en PHP5 copiar base.db a /var/www/html
o al directorio que use para publicar su paginas web
si no se asigna permisos de lectura a base.db el navegador
dara error de acceso
*/
$base = 'base.db';

/* Revisamos si la base de datos existe. */
if(!file_exists($base)){
echo "Base de datos no existe";
}
else
{
/* Abrimos la base de datos */
$db = sqlite_open($base,0666,$sqliteerror);
$sql = "select * from maquinas";

/* Obtenemos todo el resultado de la consulta */
$resultado = sqlite_query($db,$sql);

/* Obtenemos cada fila del resultado una por una */
while($filas = sqlite_fetch_array($resultado,SQLITE_ASSOC))
{
/* Realizamos la salida de cada columna de la tabla
maquinas COLUMNAS: ID,NOMBRE,IP,USUARIO */
print_r ($filas[NOMBRE]." ");
print_r ($filas[IP]." ");
print_r ($filas[USUARIO]);
echo "
";
}
}
?>



Mas operaciones de inserción, actualización, eliminación y otros comandos y funciones se
puede hallar en: http://hu.php.net/sqlite , http://www.hwaci.com/sw/sqlite/index.html

Como podemos comprobar SQLite junto con PHP, PYTHON, C u otro lenguaje, nos da una
gran facilidad de manipulación de nuestros datos. En nuestros ejemplos sólo hemos
trabajado sobre una tabla, pero como toda base de datos SQL, SQLite permite crear varias
tablas y establecer relaciones entre ellas utilizando toda la potencia del lenguaje SQL, al
mismo tiempo, se intenta cumplir al máximo el estandard, proveer rapidez y simplicidad
de la base de datos.

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.[1] 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.

Lenguajes de programación

      La biblioteca puede ser usada desde programas en C/C++, aunque enlaces para Tcl
       y muchos otros lenguajes de scripts están disponibles.
      SQLite se encuentra embebido en el REALbasic framework, haciendo posible que
       aplicaciones desarrolladas en REALbasic para Windows, Linux o Mac OS X usen la
       base de datos SQLite.
      Existe un módulo DBI/DBD para Perl disponible en CPAN, DBD::SQLite, no es
       una interface para SQLite, sino que incluye el motor completo de SQLite en sí
       mismo por lo cual no necesita ningún software adicional.
      Hay también un módulo para Python llamado PySQLite.2
      Hay otro módulo para Visual Basic 6 llamado VBSqlite[2]
      Desde Delphi se puede usar SQLite a través de los componentes libres ZeosLib[3].
      PHP incluye SQLite, desde la versión 5. SQLite también funciona con PHP 4 pero
       no viene incluido en él. Para más detalles vea

el manual y PECL info.

      Desde Lazarus 0.9.8 y Free Pascal 2.0.0, SQLite está disponibles para
       programadores de Pascal. Hay un tutorial en inglés aquí.
      Mac OS X v10.4 incluye SQLite, y es una de las opciones en la Core Data API de
       Apple. AppleScript puede abrir, crear, y manipular base de datos SQLite por medio
       de la aplicación de ayuda "Database Events" de Mac OS X 10.4.
      BlitzMAX posee un MOD que permite trabajar con bases de datos SQLite. Para más
       detalles y descarga del MOD vea [4].
      El componente de base de datos (gb.db) de Gambas soporta SQLite en sus
       versiones 1, 2 y 3
      El lenguaje de programación de videojuegos Bennu tiene un mod de SQlite
       disponible
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 [5] usar HSQLDB, pero la opción está todavía abierta siempre y cuando el
       driver sqlite-sdbc acabe siendo maduro y de confianza.
           o También es interesante este how-to: Using SQLite Database with
               OpenOffice.org.
      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.
      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 librerías de música, video y fotografías, listas de reproducción y
       bookmarks entre otras utilidades menores.
      Android usa SQLite para almacenamiento de datos estructurados (package
       android.database.sqlite).
      SimilarImages, programa para encontrar imágenes duplicadas.


       SQLite Manager, un gestor de bases de datos SQLite integrado en Firefox




SQLite Manager integra a Firefox un completo gestor de bases de datos SQLite en el que
puedes crear tablas e índices, navegar en los archivos de base de datos o ejecutar consultas
SQL. La extensión te brinda un botón que deberás arrastrar desde la caja de iconos (Ver |
Barras de herramientas | Personalizar…) hasta el lugar de tu preferencia en la barra de
herramientas, con el que se abre el gestor en una ventana emergente, aunque en las
opciones puedes configurarla para que lo abra en una pestaña. Además un selector en la
parte suiperior derecha del gestor te permitirá abrir cualquier archivo SQLite asociado al
perfil activo de Firefox.
DB2 Express-C es una edición comunitaria sin cargo del servidor de datos DB2. Es ideal
para negocios pequeños y empresas de múltiples sucursales, así como también para
desarrolladores y socios de negocios que atienden a estos clientes. DB2 Express-C puede
prepararse rápidamente, es fácil de usar e incluye capacidades de autogestión. También
incorpora todas las funciones centrales de las ediciones DB2 más escalables, incluso la
tecnología revolucionaria pureXML®para desarrollar una nueva especie de soluciones
basadas en Web 2.0 y SOA.

La combinación de estos dos productos ayuda a brindar una plataforma sólida y rica en
funciones para desarrollar aplicaciones confiables y efectivas a nivel de los costos para
pequeñas y medianas empresas.

DB2 Express-C™ es la versión gratuita de uno de los mas avanzados sistemas de
administración de base de datos del mundo. ¿Por qué pagar cuando usted puede tener todo
sin costo? DB2 Express-C es gratis para desarrollar, utilizar en producción y distribuir.

Es un servidor de datos rápido, seguro, fiable, e increíblemente escalable, ideal para la
mayoría de empresas que recién empiezan o pequeñas y medianas empresas ya
establecidas. DB2 Express-C 9.7 está disponible en Linux, UNIX, Windows y ahora en la
Mac OS X!. También permite a los desarrolladores manejar fácilmente XML nativo a través
de la tecnología de almacenamiento llamada pureXML™. Si usted desarrolla en Java, .Net,
Ruby, Python, Perl o casi cualquier otro lenguaje de programación disponible, DB2 pueden
ser su ventaja tecnológica.

DB2 Express-C no es una versión limitada de DB2. Al contrario, DB2 Express-C comparte
el mismo código que el resto de las ediciones comerciales y tiene una generosa licencia, que
no impone límites a su base de datos. Esto significa que en su servidor puede tomar ventaja
de:



      Hasta 2 núcleos (1 CPU)
      Hasta 2 Giga Bytes de memoria RAM
      No hay límites de tamaño de base de datos
      No hay límites de conexiones
      No hay límites de usuarios u cualquier otro tipo de limites
Muy por encima de la competencia


                                                 SQL Server 2005            Oracle 10g Express
Características       DB2 Express-C
                                                     Express                     Edition

                       Hasta para 2
CPUs                                                      1                            1
                        Núcleos

RAM                         2 GB                        1 GB                         1 GB

DB Tamaño                Sin límite                     4 GB                         4 GB

32/64 bit                32 y 64 bit                    32 bit                      32 bit




Si usted compra el soporte opcional 24/7 por menos de $3000 por año, le permitirá
utilizar hasta 4 núcleos y 4 GB de RAM y agrega Alta Disponibilidad y Recuperación de
Desastres (HADR), además de la replicación de SQL.

Muchos expertos de la industria y usuarios han elogiado las nuevas herramientas que IBM
desarrollo para facilitar la administración y uso de DB2 Universal Database, constituido en
base a dos productos incluidos en el DB2 de AIX en 1994: el DB2 Common Server, que
para propósitos generales incluía funciones avanzadas para el mercado de servidores de
bases de datos con soporte de hardware SMP y OLTP; y el DB2 Parallel Edition, que fue
desarrollado para soportar aplicaciones de gran escala, como el Data Warehousing y Data
Minino y aplicaciones de negociosa nivel mundial como la SAP, People Soft y Baan.
DB2 incluye todo lo necesario para implementar una solución de replicación de datos en
cualquier tipo fr ambientedistribuido o heterogéneo, pues permite enviar los datos a
cualquier sitio para cubrir todos los requerimientos de una empresa, desde oficinas
centrales a sucursales, usuarios móviles, proveedores, clientes y socios de negocios.
Gracias a su alcance global y de bajo costo, Internet puede ser una solución de negocios
muy poderosa para realizar operaciones comerciales garantizando un nivel de seguridad y
confiabilidad con sus servicios de autorización y autenticación integrados a redes y sistema
operativos, soportando el network−computing utilizando Java y JDBC, incluyendo
capacidad nativa de almacenar varios tipos de datos: alfanuméricos, video, imagen, audio y
los definidos por el usuario.
DB2 y SQL Server tenían grandes compañías detrás con otros negocios que les permitió
aguantar la política agresiva de Oracle. Recientemente IBM adquirió Informix con lo que el
mercado de las bases de datos comerciales en UNIX (Linux) quedó entre IBM y Oracle.

El IBM DB2 Enterprise Server Edition es un modelo relacional de bases de datos de
servidor desarrollado por IBM . Principalmente se ejecuta en Unix (a saber, AIX ), Linux ,
System i (anteriormente AS/400), z / OS y Windows servidores. DB2 también alimenta las
diferentes ediciones de IBM Galería infosfera. Junto con DB2 es otro RDBMS : Informix ,
que fue adquirida por IBM en 2001

IBM DB2 Express-C es un país libre para descargar, usar y redistribuir edición de la
IBM DB2 datos del servidor, que tiene base de datos XML y de base de datos relacional
sistema de características.

Historia

 El 30 de enero de 2006, IBM anunció una versión especial libre de DB2 Express edition
llamada DB2 Express-C. La edición de DB2 Express-C fue creado para el lanzamiento de
IBM DB2 8.2. Después de este DB2 Express-C fue creado para todas las versiones de DB2
nuevo: 9.1 (nombre en código "Viper"), 9.5 (nombre en clave "Viper 2"), y 9.7 (nombre en
clave "Cobra").

El IBM DB2 pureXML aplicación de base de datos XML características se introdujo en la
versión beta de DB2 9.

Entornos compatibles

 IBM DB2 Express C soporta 32 bits y 64 bits x86 de Windows XP, Vista y con algunos
problemas de Windows 7. Linux se ejecuta en la versión de 32 bits y 64 bits de Intel /
AMD y 64 bits de IBM POWER. Solaris y Mac OS X son compatibles con 64 bits de AMD /
Intel máquinas solamente. Lista de las distribuciones de Linux incluye el apoyo de Ubuntu
8.04.1 LTS, RHEL 5, 10 y SLES 11. Otras distribuciones son reportados a trabajar
demasiado y puesto en libertad. deb para Ubuntu trabaja también en Debian.

Limitaciones

 A diferencia de expresar la competencia (libre) las ofertas de base de datos de Oracle y
Microsoft, IBM DB2 Express-C no limita la cantidad de datos que pueden almacenarse en
una base de datos, ni el motor de base de datos del regulador del número de conexiones de
usuarios concurrentes. IBM ofrece versiones nativas de 64 bits de DB2 Express-C para
todas las plataformas soportadas, pero las versiones de 32 bits todavía están disponibles
para algunos entornos. aplicaciones remotos pueden conectarse a DB2 Express-C a través
de TCP / IP V4 tuberías, TCP / IP V6, o su nombre. El motor de DB2 Express-C de base de
datos está limitada al uso de hasta 2 GB de RAM y dos núcleos de CPU, pero puede ser
instalado y utilizado en las máquinas de cualquier tamaño, con la memoria y la CPU queda
disponible para su uso por el O / S y otras aplicaciones . El conjunto de DB2 Express-C
característica es muy similar a la edición DB2 Express (un producto a pagar), pero la
diferencia principal es que Express-C tiene menor de la CPU y los límites de memoria.
DB2 Express-C no está permitido para su uso en entornos de alta disponibilidad como la
participación de la replicación, clustering activo-pasivo de disco, o compartido. En lugar
de actualizaciones del software DB2 (a través de parches conjuntos denominados paquetes
Fix) no están disponibles para el Express-C, el motor de DB2 existentes Express-C debe ser
eliminado y reemplazado con una versión más reciente de Express-C. En cualquiera de los
casos, la base de datos DB2 (s) permanecen intactos en el servidor y no son tocados por la
utilidad de instalación de software. IBM sólo ofrece la versión actual del Express-C en su
página web, pero los usuarios pueden optar por instalar y ejecutar versiones anteriores de
DB2 Express-C que se ha descargado de IBM.
Actualizaciones

 DB2 Express C versión no es compatible y regular Fixpacks DB2 no se puede aplicar a él.
IBM no es la liberación de cualquier revisión, pero que publican imágenes de instalación
actualizado y eliminar las antiguas. versiones de Unix necesita ser reinstalado, pero las
versiones de Windows son capaces de hacer actualizaciones in-situ sólo con la ejecución
del programa de instalación de la nueva versión. Si necesita tener acceso a DB2 regulares
fixpacks lanzado varias veces al año, usted necesita comprar DB2 Express (o mejor)
Edition.

 Las imágenes de instalación son tradicionalmente actualiza una vez por cada nueva
versión de DB2 importante para el código de sincronización con fixpack segundos. Por
ejemplo DB2 Express C durante 9,1 comunicado está disponible como DB2 Express C 9.1 y
DB2 Express C 9.1.2. DB2 Express C 9.7 se actualiza a 9.7.1 romper esa tradición.

Ediciones

 DB2 para Linux, Unix y Windows tiene tres ediciones distintas: Express Edition , edición
Workgroup Server y Enterprise Server Edition . Cada una de estas ediciones cuenta con
grupos de diferentes características para diferentes cargas de trabajo de empresas. Las
aplicaciones creadas para el menor ediciones de DB2 están garantizados para trabajar en
las ediciones superiores pero a un nivel más alto de rendimiento.

 La versión sin cargo de DB2 se llama DB2 Express-C . DB2 Express-C es en cierto modo
similar a abrir bases de datos fuente, como MySQL y PostgreSQL , ya que se ofrece sin
soporte, de forma gratuita para su uso libre, incluyendo el uso en entornos de producción.
Los usuarios que necesiten soporte de nivel empresarial y fixpacks debe comprar cualquier
edición de DB2 estándar. DB2 Express-C, no obstante, se basa en el mismo código que
DB2 otra para Linux, Unix y ediciones de Windows y no es de código abierto. DB2
Express-C es también similar a las versiones libres de base de datos Oracle y Microsoft
SQL Server, excepto que DB2 Express-C no tiene límite en número de usuarios o en el
tamaño de base de datos. DB2 Express-C se ejecuta en Windows 32 y 64 bits, Linux en
x86, x64 y procesadores POWER, Solaris en x64 CPU y máquinas Intel con Mac OS X.
Puede ser instalado en máquinas de cualquier tamaño, pero el motor de base de datos
utilizan sólo dos CPU núcleos y 2 GB de RAM. La ayuda se proporciona en un foro libre,
web público. Para esta edición no hay fixpacks o apoyo oficial de IBM. Si usted necesita la
ayuda de IBM, puede adquirir DB2 Express Edition Licencia de Término Fijo (FTL) , que
permitirá a su servidor de base de datos DB2 Express con el mundo / 7 de soporte
telefónico 24 de ancho, fixpacks, el uso de 4 GB de RAM y hasta cuatro núcleos de CPU y
de alta disponibilidad de recuperación de desastres función y replicación de datos basada
en SQL.


 DB2 para z / OS (el mainframe) está disponible en su embalaje de productos tradicionales,
o en la Unidad de Valor edición , que permite a los clientes pagar en su lugar una sola vez
el precio de carga.

 DB2 para i (el ex DB2/400) es la tercera encarnación importante de DB2. Es muy
estrechamente incorporada al sistema operativo del IBM System i máquinas.
 DB2 también poderes IBM InfoSphere Warehouse, que ofrece capacidades de
almacenamiento de datos. InfoSphere Warehouse ofrece varias ediciones diferentes y está
disponible para z / OS, Linux, Unix, y Windows. Incluye varias BI características tales
como ETL , minería de datos , OLAP de aceleración y de análisis en línea .

IBM DB2 Express-C es un país libre para descargar, usar y redistribuir edición de la
IBM DB2 datos del servidor, que tiene base de datos XML y de base de datos relacional
sistema de características.




                    Apache Derby


                    Desarrollador


             Apache Software Foundation
                        Sitio web


                 Información general


  Última versión estable        10.5.3.0
                                21 de agosto de 2009


  Género                        RDBMS


  Sistema operativo             Multiplataforma


  Licencia                      Apache License 2.0


  En español                    ?
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.

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.

Historia

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.

Críticas

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


Derby: Base de Datos de la fundación Apache




La fundación Apache presentó el mes pasado la primera versión de su base de datos Derby:
Apache Derby 10.1.1.0

Esta extraña numeración (para ser una primera versión) es debida a que esta base de datos
ya tiene mucha historia a sus espaldas. Cedida en 2004 por IBM a la fundación Apache,
Derby se llamaba anteriormente Cloudscape y tiene su origen en una empresa del mismo
nombre fundada en California en 1996.

En su actual encarnación, Apache Derby se presenta como una base de datos Java 100%
con las siguientes características:

      Estándar y potente – Se adhiere a los estándares JDBC y ANSI SQL y proporciona
       transacciones, triggers y copias de seguridad online.
      Flexible – Puede utilizarse como un servidor o embebida.
      Utilizable en PDA – Derby soporta el estándar J2ME y puede usarse como base de
       datos en PDA con un subconjunto de JDBC.

                                      Apache Derby

                                      Apache Derby



                       Convertido      Fundación del software de
                          cerca        Apache


                            El         10.4.1.3/ 26 de abril, 2008;
                      lanzamiento      hace 46 días
                       más último
                         Escrito       Java
                        adentro


                           OS          Cruz-plataforma


                        Género         Sistema de gerencia de base de
                                       datos emparentada


                        Licencia       Licencia de Apache 2.0


                        Web site       http://db.apache.org/derby/



Apache Derby es a Java sistema de gerencia de base de datos emparentada eso se puede
encajar en los programas de Java y utilizar para tratamiento transaccional en línea. Tiene 2
 MB huella del disco-espacio.[1] Apache Derby se desarrolla como abra la fuente proyecto
     debajo del Licencia de Apache 2.0. Derby fue distribuido previamente como IBM
                                Cloudscape y Sol DB de Java.




                     Motor encajado Derby de la base de datos

    La base de la tecnología, motor de la base de datos de Derby es un motor encajado
  emparentado por completo funcionado de la base de datos. JDBC y SQL es el APIs de
                                      programación.

                             Servidor de la red de Derby

 El servidor de la red de Derby aumenta el alcance del motor de la base de datos de Derby
  proporcionando funcionalidad tradicional del servidor de cliente. El servidor de la red
permite que los clientes conecten el TCP/IP excesivo usando el estándar DRDA protocolo.
 El servidor de la red permite que el motor de Derby apoye networked JDBC, ODBC/CLI,
                                        Perl y PHP..
                                 Utilidades de base de datos

           ij - una herramienta que permite que las escrituras del SQL sean ejecutadas contra
                                    cualquier base de datos de JDBC.
             dblook - herramienta de la extracción del esquema para una base de datos de
                                                 Derby.
        sysinfo - utilidad para exhibir la trayectoria de los números y de la clase de versión.

                                            Historia

 Apache Derby originó en Cloudscape inc., Oakland, California start-up fundado adentro
1996 para desarrollar Java base de datos tecnología. El primer lanzamiento del motor de la
 base de datos, entonces llamado JBMS, estaba adentro 1997. Posteriormente el producto
  fue retitulado Cloudscape y los lanzamientos fueron hechos alrededor cada seis meses.

  En 1999 Informix Software, Inc., Cloudscape adquirido, Inc. En 2001 IBM adquirió los
activos de la base de datos del software de Informix, incluyendo Cloudscape. El motor de la
        base de datos re-fue calificado a IBM Cloudscape y lanzamientos continuados,
principalmente centrándose en uso encajado con los productos y el middleware de Java de
                                              IBM.

 En agosto de 2004 IBM contribuyó el código a Fundación del software de Apache como
  Derby, un proyecto de la incubadora patrocinado por el proyecto del DB de Apache. En
  julio de 2005 el proyecto de Derby graduó de la incubadora de Apache y ahora se está
convirtiendo como secundario-proyecto del proyecto del nivel superior del DB en Apache.
Antes de la graduación de Derby de la incubación, el sol ensambló el proyecto de Derby con
        un intento al uso Derby como componente en sus propios productos,[2] y con el
lanzamiento de Java 6 en diciembre de 2006, el sol comenzó a empaquetar Derby en JDK
                                   calificado como DB de Java.

   En marzo de 2007 IBM anunció que retirarían la comercialización y la ayuda para el
  producto de Cloudscape, pero continuaría contribuyendo a Apache Derby el proyecto.

                                             Notas

                          1. ^ El proyecto del DB de Apache. Apache.org.
                  2. ^ Apache Derby gradúa con el sol onboard. CNET news.com.
            3. ^ Cambios en la disponibilidad y la ayuda de Cloudscape. IBM.


Configuración Derby

Una vez descargado el zip de la implementación de Apache del sistema de bases de datos
Derby.
   1. descomprima en un directorio sin espacios en la ruta a este. Puede utilizarse
      cualquier versión de la página de Apache indicada en la sección de
      LINKinstaladores.




   2. Cree la variable de entorno DERBY_HOME cuyo valor sea la ruta al directorio
      del paso anterior. Entrando por la propiedades de Opciones Avanzadas y
      Variables de Entorno.
   Agregue en el valor de la variable CLASSPATH la, recién creada, variable
   DERBY_HOME de la siguiente forma: %DERBY_HOME%;


3. Verifique que tenga una variable de entorno JAVA_HOME que referencie el
   directorio donde está el JDK de su versión de java. Si no la tiene, configúrela e
   inclúyala en la variable CLASSPATH como %JAVA_HOME%;.
   Deberían salir los siguientes bloques, donde las letras en rojo dependen de los
   directorios que haya especificado en su máquina.
   ----------------- Información de Java ----------------
   Versión de Java:    1. #.#
   Proveedor de Java: Sun Microsystems Inc.
   Inicio Java:      Ruta correspondiente al JAVA_HOME
   Classpath de Java: Rutas incluidas en la variable CLASSPATH
   Nombre del SO:       Su S.O. Instalado
   Arquitectura del SO: Su arquitectura
   Versión del SO:     Su versión
   Nombre usuario Java: Su nombre de usuario
   Dir. inicial usuario: La ruta a su directorio principal de archivos
   Dir. usuario: La ruta a su directorio principal de archivos
   java.specification.name: Java Platform API Specification
   java.specification.version: 1. #


   --------- Informaci¾n de Derby --------
   JRE - JDBC: J2SE 5.0 - JDBC 3.0
   [C:\ Desarrollo\db-derby-10.4.2.0-bin \lib\derby.jar] 10.4.2.0 - (689064)
   [C:\ Desarrollo\db-derby-10.4.2.0-bin \lib\derbytools.jar] 10.4.2.0 - (689064)
   [C:\ Desarrollo\db-derby-10.4.2.0-bin \lib\derbynet.jar] 10.4.2.0 - (689064)
   [C:\ Desarrollo\db-derby-10.4.2.0-bin \lib\derbyclient.jar] 10.4.2.0 - (689064)
http://www.webestilo.com/mysql/crear-base-datos.phtml

http://www.desarrolloweb.com/articulos/346.php

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

http://www.ejemplode.com/22-mysql/13-
ejemplo_de_base_de_datos_en_mysql.html

http://www.cristalab.com/tutoriales/crear-una-base-de-datos-en-mysql-
c270l/

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

http://www.cristalab.com/tutoriales/tutorial-basico-de-bases-de-datos-c75l/

http://www.ibiblio.org/pub/linux/docs/LuCaS/Postgresql-
es/web/navegable/todopostgresql/postgres.htm

http://translate.google.com.sv/translate?hl=es&langpair=en%7Ces&u=http://
linux-sxs.org/internet_serving/firebird102.html

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

http://www.firebird.com.mx/modules/news/

http://www.firebirdnews.org/docs/fb2min_es.html

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

http://www.somoslibres.org/modules.php?name=News&file=article&sid=183

http://www.zonafirefox.net/2007/11/sqlite-manager-un-gestor-de-bases-de-
datos-sqlite-integrado-en-firefox.html

http://db2express.com/es/

http://translate.google.com.sv/translate?hl=es&langpair=en%7Ces&u=http://
en.wikipedia.org/wiki/IBM_DB2

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

http://www.versioncero.com/noticia/329/derby-base-de-datos-de-la-
fundacion-apache
http://www.worldlingo.com/ma/enwiki/es/Apache_Derby

http://cupi2.uniandes.edu.co/sitio/index.php/tutoriales/hibernate?start=10

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:687
posted:10/15/2011
language:Spanish
pages:45