Está en la página 1de 18

==== FIREBIRD ====

El Gestor de Base de Datos, Firebird

Firebird, es un sistema de administracin de base de datos relacional (o RDBMS) SQL de cdigo abierto, basado en la versin 6 de Interbase, cuyo cdigo fue liberado por Borland en 2000. Su cdigo fue reescrito de C a C++. Caractersticas

Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows. Ejecutable pequeo, con requerimientos de hardware bajos. Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded). Soporte de transacciones y claves forneas. Es medianamente escalable. Buena seguridad basada en usuarios/roles. Diferentes arquitecturas, entre ellas el Firebird empotrado (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird. Bases de datos de slo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms. Existencia de controladores ODBC, OLEDB y JDBC. Controlador nativo para PHP. Requisitos de administracin bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realizacin de copias de seguridad y restauraciones peridicas. Pleno soporte del estndar SQL-92, tanto de sintaxis como de tipos de datos. Completo lenguaje para la escritura de disparadores (triggers) y procedimientos almacenados. Capacidad de almacenar elementos BLOB (binary large objects).

Tipos de servidor 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 ejecucin individuales para cada conexin.

Por lo tanto para un nmero reducido de conexiones el recomendado sera el classic porque consumir menor cantidad de recursos. 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, segn las conexiones estimadas. En la mayora de las situaciones no se notar diferencias en la ejecucin. Podra considerarse un tercer tipo, el Embedded. ste consiste en una nica DLL (de unos 2 MB de tamao) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuble junto con aplicaciones de usuario. Conceptos bsicos Para empezar, hay que entender que un servidor de base de datos -como Firebird/InterBase- es un proceso -es decir, un programa- ejecutndose en la computadora que se utiliza como servidor. Este proceso servir de "intermediario" entre el programa cliente -que puede estar hecho con Power Builder, Java, Delphi, C++Builder, etc- y la base de datos fsica -en este caso, el archivo de base de datos, generalmente con extensin gdb-. Este programa -Firebird/InterBase-, debe atender todas las rdenes que le hacen los programas cliente. Estas rdenes tienen que ver con alguna base de datos, por ejemplo: insertar un registro, modificar el valor de una columna de una tabla, modificar la estructura de una tabla, eliminar un registro, obtener un conjunto de registros, etctera. En el caso de los servidores de base de datos SQL, las rdenes deben ser escritas en ese lenguaje (SQL), pues es el nico que el servidor entiende. Por ejemplo, para insertar un registro se debe escribir una orden INSERT, para eliminar uno o ms registros se le debe dar una orden DELETE, etc. Diferencias entre formatos de archivos y servidores SQL Cuando utilizamos un formato de archivos (Paradox, dBase, Access), el programa cliente (hecho con Delphi/C++ Builder) utiliza una interfaz prefabricada de acceso a los archivos, como la BDE. Menciono el trmino prefabricada porque son bibliotecas de funciones precompiladas (DLL) las cuales al ser utilizadas por el programa cliente, permiten abrir, modificar y obtener datos de los archivos de datos (los archivos DB, DBF, MDB). Cuando utilizamos programas cliente que acceden a una base de datos localizada en un servidor de archivos, lo que estamos haciendo es que todos los programas cliente abren fsicamente el archivo de datos, mediante un proceso que se ejecuta en cada computadora cliente. Esta situacin conlleva algunas desventajas como las siguientes:

Si alguna conexin de red o programa cliente tiene un problema, puede daar el archivo de datos, ya que lo est abriendo directamente. Las consultas a datos pueden llegar a ser muy lentas, ya que para seleccionar los registros de una consulta, cada programa cliente debe de pedir todo el archivo al servidor de archivos y toda esta informacin debe viajar por la red. No se estn aprovechando los recursos del servidor, solamente aquellos que optimizan el acceso a los archivos, dado que la mquina que ejecuta la consulta es la mquina cliente, adems de que se crean cuellos de botella en la red, como se explica en el punto anterior. Ahora veamos las ventajas de utilizar un servidor SQL:

Se minimizan los daos a la base de datos cuando falla uno de los programas clientes, pues lo peor que puede pasar es que se quede abierta una o ms transacciones, las cuales posteriormente se pueden recuperar o eliminar. Se aprovecha al mximo las capacidades del hardware del servidor, debido a que el proceso de consulta de datos es ejecutado por el servidor SQL, el cual corre sobre el servidor de hardware. Se optimiza el trfico en la red, debido a que cuando el servidor SQL devuelve los datos de una consulta al programa cliente, solamente enva el conjunto de datos producto de la consulta, y no el total de los datos de la tabla, como sucede cuando se utiliza un servidor de archivos. Estas son nicamente las ventajas a nivel de acceso y transmisin de datos, ya que a nivel de seguridad e integridad tiene muchas ms ventajas.

Programa para Administracin de la Base de Datos Personalmente utilizo IBExpert versin 2006.12.13, el cual es un gran Administrador para manejar las bases de datos de Firebird, es intuitivo y permite una gestin rpida de los objetos de la BD. En cuanto a la programacin de disparadores y procedimientos almacenados presenta seguimiento paso a paso para identificar errores (debug).

Cada sistema gestor de bases de datos tiene sus propias idiosincrasias en la forma en que implementa SQL. Firebird adhiere al estndar SQL ms rigurosamente que cualquier otra RDMS excepto posiblemente por su primo, InterBase. Los desarrolladores que migren desde productos que cumplen menos con los estndares frecuentemente suponen errneamente que Firebird es rebuscado, mientras que muchos de sus aparentes particularidades no son ms que restricciones del estndar. El smbolo delimitador de cadenas Las cadenas de caracteres en Firebird estn delimitadas por un par de comillas simples -'I am a string' (cdigo ASCII 39, no 96). Si Ud. ha usado versiones previas del pariente de Firebird, Interbase, recordar que las comillas simples y dobles se podan intercambiar como delimitadores de cadenas. En Firebird, las comillas dobles no se pueden usar como delimitadores de cadenas. Identificadores con comillas dobles Antes del estndar SQL-92, no era legal tener nombres de objetos (identificadores) en una base de datos que fueran iguales a las palabras claves del lenguaje, distinguieran maysculas de minsculas, o contuvieran espacios. SQL92 introdujo un nuevo estndar para hacer legales todas esas cosas, siempre que los identificadores fueran rodeados por un par de smbolos de comilla doble (ASCII 34) y fueran siempre referidos delimitados por comillas dobles.

El propsito de este regalo era hacer ms fcil migrar metadatos desde RDBMSs no estndares. La parte mala es que, si Ud. elige encerrar un identificador con comillas dobles, distinguir entre maysculas y minsculas y ser obligatorio siempre escribirlo entre comillas dobles. Firebird permite una ligera relajacin de esta regla si se cumple un conjunto de condiciones muy especial: si el identificador que fue definido entre comillas dobles: 1. fue definido totalmente en maysculas, 2. no es una palabra clave, y 3. no contiene espacios, ...entonces puede ser usado en SQL sin comillas y sin prestar atencin a maysculas y minsculas (pero en cuanto le pone comillas alrededor, debe coincidir las maysculas nuevamente!) Aviso No abuse de esta posibilidad! Por ejemplo, si tiene las tablas "TESTTABLE" y "TestTable", ambas definidas entre comillas dobles, y ejecuta el comando: SQL>select * from TestTable; ...obtendr los registros de "TESTTABLE", no "TestTable"! A menos que tenga una razn de peso para definir identificadores con comillas, se recomienda que los evite. Firebird acepta sin problemas una mezcla de identificadores con y sin comillas -por lo que no es problema incluir esa palabra clave que Ud. obtuvo de una base de datos antigua, si realmente lo necesita. Aviso Algunas herramientas de administracin de base de datos imponen el entrecomillado en todos los identificadores por defecto. Trate de elegir una herramienta que tome como opcional el entrecomillado. Apstrofos en cadenas Si Ud. necesita usar un apstrofo dentro de una cadena de Firebird, puede escapar el caracter del apstrofo precedindolo con otro. Por ejemplo, esta cadena producir un error: 'Joe's Emporium'

porque el evaluador encuentra el apstrofo e interpreta como 'Joe' seguida por algunas palabras claves desconocidas.

la

cadena

Para convertir el ejemplo en una cadena legal, duplique el caracter apstrofo: 'Joe''s Emporium' Note que son DOS comillas simples, no una doble. Concatenacin de cadenas El smbolo de concatenacin en SQL es un doble pipe (ASCII 124, un par sin espacio entremedio). En SQL, el smbolo + es un operador aritmtico y provocar un error si intenta usarlo para concatenar cadenas. La siguiente expresin agrega el siguiente texto Reportado por: delante de cada apellido: 'Reportado por: ' || LastName Tenga cuidado con las concatenaciones. Tenga en cuenta que Firebird generar un error si su expresin intenta concatenar dos o ms columnas de tipo char o varchar si la longitud combinada puede exceder el lmite mximo de longitud para el tipo char o varchar (32 KB). Vea tambin en las notas ms abajo, Expresiones con NULL, sobre la concatenacin de expresiones que involucran NULL. Divisin de un entero por un entero Firebird respeta el estndar SQL truncando el resultado (cociente) de una divisin entero/entero al entero menor. Esto puede generar resultados extraos si no lo tiene en cuenta. Por ejemplo, este clculo es correcto en SQL: 1/3=0 Si Ud. est actualizando desde una RDBMS que resuelve divisiones entre enteros a un cociente real, necesitar alterar las expresiones afectadas para usar un tipo real o numrico escalado para el dividendo, divisor, o ambos. Por ejemplo, el clculo anterior puede ser modificado como sigue para producir un resultado distinto de cero: 1.000 / 3 = 0.333

Expresiones con NULL En SQL, NULL no es un valor. Es una condicin, o estado, de un dato, en el cual su valor es desconocido. Debido a que es desconocido, NULL no puede comportarse como un valor. Cuando Ud. intenta realizar operaciones aritmticas con NULL, o lo mezcla con valores en otras expresiones, el resultado de la operacin ser siempre NULL. No es cero o blanco o una cadena vaca y no se comporta como ninguno de estos valores. Por lo tanto - aqu hay algunos ejemplos de las sorpresas que se puede llevar si intenta realizar clculos y comparaciones con NULL:

1 + 2 + 3 + NULL = NULL not (NULL) = NULL 'Hogar ' || 'dulce ' || NULL = NULL if (a = b) then MiVariable = 'Igual'; else MiVariable = 'Distinta'; Despus de ejecutar este cdigo,MiVariable ser 'Distinta' si ambos a and b son NULL. La razn es que la expresin 'a = b' se evala a NULL si al menos uno de ellos esNULL. En un contexto de if...then NULL se comporta como FALSE. Por lo tanto, el bloque 'then' no se ejecuta y se pasa directamente al bloque 'else'.

if (a <> b) then MiVariable = 'Distinta'; else MiVariable = 'Igual'; Aqu, MiVariable ser 'Igual' si a es NULL y b no, explicacin es similar a la del ejemplo previo. o viceversa. La

Nombre || ' ' || Apellido

resultar NULL si Nombre o Apellido es NULL. Sugerencia Piense en NULL como DESCONOCIDO y todos estos extraos resultados comenzarn de repente a tener sentido! Si el valor de Numero es desconocido, el resultado de '1 + 2 + 3 + Numero' tambin ser desconocido (y por lo tanto NULL). Si el contenido de MiCadena es desconocido, entonces tambin lo es 'MiCadena || SuCadena' (incluso si SuCadena no es NULL). Etctera.

Respaldo (Backup) La distribucin de Firebird contiene una utilidad para respaldar y recuperar sus bases de datos. Su nombre es gbak y se puede hallar en el subdirectorio bin de su instalacin de Firebird. Las bases de datos de Firebird se pueden respaldar mientras hay usuarios conectados al sistema haciendo su trabajo normal. El respaldo ser tomado de una instantnea del estado de la base de datos al momento de comienzo del mismo. Hacer respaldos regularmente y ocasionales restauraciones usando gbak deberan ser tareas programadas de su actividad de administracin de bases de datos. Aviso No use utilidades externas de respaldo propietarias o herramientas de copia de archivos tales como WinZip, tar, copy, xcopy, etc., en una base de datos que est en uso. No slo el respaldo ser poco confiable, tambin el bloqueo a nivel de disco usado por estas herramientas puede corromper una base de datos en marcha. Importante Estudie las advertencias de la siguiente seccin sobre actividad de bases de datos durante la restauracin!

Como corromper una base de datos 1. Modificar las tablas de metadatos por su cuenta Firebird almacena y mantiene todos los metadatos para sus propios objetos y los del usuario en -una base de datos de Firebird! Ms precisamente, las almacena en relaciones (tablas) directamente en la base de datos. Los identificadores de las tablas de sistema, sus columnas y varios otros tipos de objetos de sistema comienzan con los caracteres RDB$. Debido a que son objetos de bases de datos ordinarios, pueden ser consultados y manipulados de la misma manera que los objetos definidos por un usuario. No obstante, el que pueda no implica que deba hacerlo. El motor de Firebird implementa un subconjunto de alto nivel de SQL (DDL) para el propsito de definir y operar sobre objetos de metadatos, tpicamente a travs de las sentencias CREATE, ALTER y DROP. Nunca es poca la recomendacin de que utilice DDL -no operaciones directas SQL sobre las tablas de sistema- cada vez que necesite alterar o eliminar metadatos. Difiera las operaciones caseras hasta que su nivel en SQL y su conocimiento del motor de Firebird se vuelva muy avanzado. Una base de datos retocada no es linda de mantener ni barata de reparar. 2. Deshabilitar la escritura forzada en Windows Firebird se instala con la escritura forzada (escritura sincrnica) habilitada por defecto. Los datos modificados y agregados son escritos a disco inmediatamente luego de ingresados. Es posible configurar una base de datos para que utilice escritura de datos asincrnica -donde los datos modificados o nuevos son mantenidos en memoria intermedia para ser volcada a disco peridicamente por el subsistema de E/S del sistema operativo. El trmino comn para esta configuracin es escritura no forzada (forced writes off) (odeshabilitada). A veces se recurre a esta configuracin para incrementar el rendimiento durante operaciones largas. La gran advertencia aqu es: no deshabilite la escritura forzada en un servidor Windows. Ha sido observado que las plataformas de servidor Windows no vacan el cach de escritura hasta que el servicio Firebird sea detenido. Aparte de interrupciones de poder, hay demasiadas otras cosas que pueden ir mal en un servidor Windows. Si se detiene, el sistema de E/S queda fuera de alcance y el trabajo de sus usuarios se perder en el proceso de reinicio. Nota Windows 9x y ME no soportan escritura diferida

Deshabilitar la escritura forzada en un servidor Linux Los servidores Linux son ms seguros para ejecutarse con escritura forzada deshabilitada temporalmente. An as, no la deje deshabilitada una vez que su lote mayor de tareas est completo, a menos que tenga un sistema muy robusto de soporte contra fallas de poder. 3. Restaurar un respaldo a una base de datos en ejecucin Una de las opciones de la utilidad gbak (gbak -r[estore]) le permite restaurar un archivo gbak sobre una base de datos existente. Es posible que este tipo de restauracin se ejecute an sin advertir que hay usuarios conectados a la base de datos: la corrupcin de la base de datos est prcticamente asegurada como resultado. Aviso Tenga en cuenta que necesitar disear sus herramientas de administracin y procedimientos para prevenir la posibilidad para cualquier usuario (incluyento SYSDBA) de restaurar a una base de datos activa si hay algn usuario conectado. Nota Por ms instrucciones sobre gbak vea el captulo 21, Database Backup and Restore, de Using Firebird. Por instrucciones sobre cmo bloquear el acceso a los usuarios, vea el captulo 14: Getting exclusive access to a database, de Using Firebird. Si es posible, se recomienda que restaure el respaldo a un lugar vaco del disco usando la opcin gbak -c[reate] y verifique la base de datos restaurada usando isql o su herramienta de administracin preferida. Si la base de datos restaurada es correcta, desactive (shutdown) el servidor. Haga una copia del archivo de la antigua base de datos y luego copie el archivo (o los archivos) de base de datos restaurados sobrescribiendo los existentes. 4. Permitir a los usuarios conectarse durante una restauracin Si Ud. no bloquea el acceso a los usuarios mientras realiza una restauracin usando gbak -r[estore] entonces los usuarios sern capaces de conectarse e intentar operar sobre los datos. En este caso, el resultado sern estructuras corruptas.

Lmites de la Base de Datos ITEM Firebird 2.X Firebird 1.5 ilimitada 32 Tb usando la bd varios ficheros.

Tamao maximo de Practicamente la base de datos usando partiendo en varios ficheros.

Tamao mximo bd Vrios Terabytes en la gran mayoria Igual que en un solo fichero de plataformas; El limite viene definido Firebird 2.x por el sistema de archivos ( 4Gb o 2 Gb en algunas plataformas, Ej. Windows 98) Mximo numero de 64.535 ficheros de base de datos Maximo numero de 64.535 tablas Mximo tamao de 32 Tb una tabla Maximo tamao de 2 Gb un fichero externo de tabla Igual que Firebird 2.x Igual que Firebird 2.x Igual que Firebird 2.x Igual que Firebird 2.x

Mximo numero de > 16 Billones (Esto no esta comprobado, 4 Billones filas por tabla este dato es terico). Mximo tamao de 64.535 bytes (64 KB) fila Igual que Firebird 2.x

Mximo tamao de 16 Kb Igual que pagina de datos Nota: El tamao puede ser de Firebird 2.x 1024,2048,4096,8192 o 16384. El Tamao 1024 no esta recomendado. Mximo numero de Depende del tipo de dato usado. Igual que columnas por tabla Firebird 2.x (Ejemplo: 16384 INTEGER (4-Byte) valores por fila.) Nota: 8-Byte son almacenados por cada BLOB or ARRAY El tamao del BLOB o ARRAY no es tenido en cuenta en el tamao de la fila. Mximo numero de 65.535 indices por tabla Igual que Firebird 2.x

Mximo tamao de 4096 cuando el tamao de la pagina es 16 252 bytes

indice principal

Kb (Limitado a un cuarto del tamao de la paginacion de la base de datos. ) Importante: disminuye el lmite de carcter por columna cuando el caracterer esta configurado comomultibyte;

Mximo numero de 4.398.046.511.104 indices por databla

Igual que Firebird 2.x

Lmites de los tipos de datos en Firebird Tamao Nombre Array de cadena Varchar(n) n 1 to 32.767 Bytes Caracteres caracteres o de texto. Rango/Precisin Descripcin

NB, si selecccionamos la opcion multi-Byte reduce el numero de caracteres posibles proporcionalmente. Entero corto Entero largo to to Nmero Real con 7 dgitos Nmero Real con 16 dgitos

Smallint Integer Float Double Precisin Timestamp Date Time BLOB Numeric

16 bits 32 bits 32 bits 64 bits

-215 to 215-1 -231 to 231-1 3.4x10-30 3.4x1038 1.7x10-308 1.7x10308

64 bits 1 jan 100 CE to 28 Incluye la hora y la fecha en (2x32 bits) feb 32768 CE dos estructuras de 32 bits. 32 bits 32 bits <32 GB Variable Segun Fecha. Ejemplo: 12/10/1977 1 jan 100 CE to 28 La hora no esta almacenada feb 32768 CE en este tipo. 0:00 to 23:59,9999 Tipo Hora. Ejemplo: 12:00:00 Almacenamiento para variables indeterminadas. Textos,Imagenes,Archivos Binarios, etc. la Numeros reales con la

(precision,scale) (16,32 64 bits)

or especificacin deseada

cantidad de decimales definidos. Ejemplo: Numeric(10,3) 3462344634,345

Como conseguir ayuda La comunidad de ayudantes voluntarios de Firebird se remonta bastante tiempo atrs, a varios aos antes que el cdigo fuente de su antecesor, InterBase 6, fuera hecho de cdigo abierto. Colectivamente, la comunidad de Firebird tiene todas las respuestas! Incluso hay gente que ha estado involucrada con l desde que era un diseo en una pizarra de un bao en Boston.

Visite el sitio oficial del Proyecto Firebird en http://firebird.sourceforge.net y nase a las listas de soporte de usuarios. Visite el sitio de conocimiento Firebird en http://www.ibphoenix.com para buscar en un vasto conjunto de informacin sobre desarrollo con y usando Firebird. Vea la creciente lista de documentacin que ha sido producida dentro del mismo proyecto Firebird en http://firebird.sourceforge.net/manual/. Obtenga el manual Using Firebird y su volumen acompaante, Firebird Reference Guide. Ambos libros se incluyen en el CD de IBPhoenix como libros electrnicos (e-books) en formato PDF. Estn completamente enlazados entre s. Lea el captulo 10 de Firebird Reference Guide: Resources and References para ver una coleccin de tiles recursos sobre Firebird, SQL y el desarrollo de aplicaciones de bases de datos. Ordene el libro oficial de Firebird en http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1093098777:149734 &page=ibp_firebird_book en el sitio web de IBPhoenix, con ms de 1100 pginas repletas de informacin sobre Firebird.

Usando los libros de Publicaciones IBPhoenix Using Firebird y la Firebird Reference Guide han sido diseados para un acceso y utilizacin fcil durante su trabajo de desarrollo. Un botn en la esquina superior derecha de cada pgina del contenido har que Acrobat Reader pase entre uno y otro volumen. Cada pgina de contenido tambin tiene una barra de navegacin con botones para llevarlo directamente al ndice para el caracter seleccionado. Todas las entradas del ndice estn enlazadas a sus fuentes. Si necesita ms detalle sobre configuracin de su servidor y red, refirase a los captulos previos de Using Firebird. El captulo 7 es una referencia para resolucin de problemas. Los captulos siguientes tratan del diseo, lenguaje, cuestiones de

desarrollo y dan instrucciones detalladas de cmo usar las herramientas de lnea de comandos.

EJEMPLOS DE FIREBIRD

Conexin a la base de datos de la muestra


En los ejemplos subdirectorio de su instalacin de Firebird es una base de datos de ejemplo denominada employee.gdb . Usted puede utilizar esta base de datos para "probar sus alas". Advertencia Si est ejecutando el servidor en Windows XP o ME, asegrese de cambiar el nombre de esta base de datos de prueba para ejemplo. fdb para moverse por la herramienta Restaurar sistema, que apunta a los archivos con un .gdb extensin. Hay ms informacin acerca de este problema en las notas de lanzamiento (busque en la doc subdirectorio de su instalacin de Firebird). Nombre del servidor y la ruta Si mueve la base de datos de ejemplo, asegrese de que lo mueve a un disco duro que est conectado fsicamente a la mquina servidor. Las acciones, las unidades asignadas o (en Unix) sistemas SMB (Samba) no va a funcionar. La misma regla se aplica a cualquier base de datos que cree. Hay dos elementos en una cadena de conexin TCP / IP: el nombre del servidor y la ruta del disco / sistema de archivos. Su formato es como sigue:

Para un servidor Linux: ServerName :/ archivo_de_la_base_de_datos Ejemplo en un servidor Linux o algn otro Posix llamado serverxyz : serverxyz:/opt/interbase/examples/employee.gdb

Para un servidor Windows: ServerName: DriveLetter: \ sistema de archivos de la ruta \ archivo de base de datos

Ejemplo en Windows: serverxyz:C:\Program Files\Firebird\examples\employee.gdb La sentencia CONNECT Conexin a una base de datos Firebird requiere que el usuario debe autenticarse mediante un nombre de usuario y una contrasea vlida. Cualquier usuario aparte de SYSDBA, root(en sistemas POSIX) o Administrator (en los sistemas Windows, si Firebird se ejecuta con ese usuario) necesita tambin tener permisos a los objetos dentro de una base de datos.Para simplificar aqu, vamos a ver autenticacin como SYSDBA usando la contrasea de masterkey . Uso de isql Hay varias maneras diferentes de conectarse a una base de datos usando isql. Una forma es ejecutar isql en su terminal interactiva. Vaya a la bin subdirectorio de su instalacin y, en ese sistema, escriba el comando isql (en Linux:. / isql) [ significa "pulsar Enter"]: C: \ Archivos de programa \ Firebird \ bin> isql Use CONNECT o CREATE DATABASE para especificar una base de datos SQL> CONNECT "C: \ Archivos de programa \ firebird \ examples \ employee.fdb" Contrasea CON> usuario SYSDBA ',' llave maestra '; Importante

En isql, cada sentencia SQL debe finalizar con un punto y coma. Si pulsa Intro y la lnea no termina con un punto y coma, isql asume que la sentencia contina en la siguiente lnea y el prompt cambiar de SQL> a CON> . Esto le permite distribuir sentencias largas en varias lneas. Si presiona Enter despus de su declaracin y se le ha olvidado el punto y coma, simplemente escriba en la lnea de vaco despus de la CON> prompt y pulse Intro de nuevo. Si ejecuta Classic Server para Linux, una conexin rpida, directa y localmente se intenta si la ruta de la base de datos no se inicia con un nombre de host. Esto puede fallar si su nombre de usuario de Linux no tiene suficientes derechos de acceso al archivo de base de datos. En este caso, conectar con localhost : / <ruta>. A continuacin, el proceso del servidor (con Firebird 1.0 por lo general se ejecuta como root ) se abrir el archivo. Por otro lado, al estilo de la red las conexiones pueden fallar si un

usuario crea la base de datos en modo local clsico y el servidor no tiene suficiente derechos de acceso. Nota A pesar de smbolos comillas simples son la "norma" para la delimitacin de las cadenas en Firebird, smbolos comillas dobles se utilizan con la cadena de ruta de la base de datos en el ejemplo anterior. Esto es a veces necesario, con algunas de las utilidades de lnea de comandos, donde la cadena de ruta contiene espacios. Las comillas simples deben trabajar para las rutas que no contienen espacios. Las comillas en "SYSDBA" y "llave maestra" son opcionales, por cierto. Rutas de base de datos sin espacios tampoco es necesario que se cita. En este punto, isql le informar de que est conectado: BASE DE DATOS "C: \ Archivos de programa \ Firebird \ ejemplos \ employee.fdb", del usuario: sysdba SQL> Ahora puede seguir jugando con la employee.gdb base de datos. Los personajes representan isql SQL interactivo [utilidad]. Se puede utilizar para consultar datos, obtener informacin sobre los metadatos, la creacin de objetos de base de datos, ejecutar scripts de definicin de datos y mucho ms. Para volver al tipo de lnea de comandos SQL> QUIT; Para obtener ms informacin 10: Interactive SQL Utility (isql). El uso de un cliente GUI Las herramientas clientes GUI generalmente se hacen cargo de componer la cadena CONNECT para usted, utilizando el servidor, la ruta, nombre de usuario y la contrasea que usted escribe en campos. Utilice los elementos como se describe en el tema anterior. Nota

sobre isql, vea Using

Firebird, captulo

Es muy comn que tales herramientas esperar todo el servidor + ruta de acceso como una nica cadena

Recuerde que los nombres de los archivos y los comandos en Linux y otros shells de comandos Posix distinguen entre maysculas y minsculas

Creacin de una base de datos usando isql cLa instruccin CREATE DATABASE No es ms que una manera de crear una base de datos usando isql. Aqu, vamos a ver una forma sencilla de crear una base de datos interactiva - aunque, por su trabajo serio definicin de base de datos, debe crear y mantener sus objetos de metadatos a travs de scripts de definicin de datos. Hay un captulo completo en el manual Using Firebirddiscutir este tema. A partir de isql Para crear una base de datos de forma interactiva utilizando el shell de comandos isql, llegar a un smbolo del sistema en Firebird bin isql subdirectorio y el tipo (Windows) o / isql (Linux).: C: \ Archivos de programa \ Firebird \ bin> isql Use CONNECT o CREATE DATABASE para especificar una base de datos La instruccin CREATE DATABASE Ahora, usted puede crear su nueva base de datos interactiva. Supongamos que desea crear una base de datos llamada test.fdb y gurdelo en un directorio llamado data sobre el Dde unidad: SQL> CREATE DATABASE 'D: \ Datos de programa \ test.fdb' page_size 8192 Contrasea CON> usuario SYSDBA ',' llave maestra '; Importante

En la instruccin CREATE DATABASE las comillas en string ruta, nombre de usuario y la contrasea son obligatorios. Esto es diferente de la sentencia CONNECT. Si ejecuta SQL clsico en Linux y no iniciar el camino de la base de datos con un nombre de host de creacin, de la base de datos de archivo que se intenta con su nombre de Linux como el propietario. Esto puede o no puede ser lo que quieres (piense en los derechos de acceso, si quieres que los dems para poder conectarse). Si antepones a localhost: a la trayectoria, el

proceso del servidor (con Firebird 1.0 por lo general se ejecuta como root ) crear y el propietario del archivo. La base de datos ser creada y, despus de unos momentos, el smbolo del sistema SQL volver a aparecer. Ahora est conectado a la nueva base de datos y pueden proceder a crear algunos objetos de prueba en el mismo. Para comprobar que realmente hay una base de datos ah, escriba la siguiente consulta: SQL> SELECT * FROM RDB $ RELACIONES; La pantalla se llenar de una gran cantidad de datos! Esta consulta selecciona todas las filas de la tabla de sistema en el Firebird almacena los metadatos para las tablas. Un "vaco"de base de datos no est vaco - que contiene una base de datos que se convertir con metadatos a medida que comienza la creacin de objetos en su base de datos. Para volver al tipo de lnea de comandos SQL> QUIT;