AgvNet
Usuario (México)

SQLite Bases de datos SQL sin servidor Introducción. SQLite no nació ayer, pero respecto a otros manejadores de BD como mysql, postgresql, oracle o sql server, SQLite es una nueva opción para nuestras aplicaciones. Desarrollo SQLite es un proyecto de dominio público, su creador es D. Richard Hipp, el cual implementa una pequeña librería de aproximadamente 500kb, programado en el lenguaje C, de dominio público, totalmente libre y que tiene con función hacer de un sistemas de bases de datos relacional. Uno de las primeras diferencia entre los motores de Bases de datos convencionales es su arquitectura cliente/servidor, pues SQLite es independiente, simplemente se realizan llamadas a sub rutinas o funciones de las propias librerías de SQLite, lo cual reduce ampliamente la latencia en cuanto al acceso a las bases de datos. Con lo cual podemos decir que las base de datos compuesta por la definición de las tablas, índices y los propios datos son guardados por un solo fichero estándar y en un solo ordenador. Veamos algunas razones para escoger SQLite como una herramienta de desarrollo: Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es necesaria para acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos incorporadas. Rendimiento de base de datos: SQLite realiza operaciones de manera eficiente y es más rápido que MySQL y PostgreSQL. Portabilidad: se ejecuta en muchas plataformas y sus bases de datos pueden ser fácilmente portadas sin ninguna configuración o administración. Estabilidad: SQLite es compatible con ACID, reunión de los cuatro criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad. SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar, incluyendo sub-consultas, generación de usuarios, vistas y triggers. Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, etc. Costo: SQLite es de dominio público, y por tanto, es libre de utilizar para cualquier propósito sin costo y se puede redistribuir libremente. Por último y cerrando un poco este artículo, conocimos un motor de base de datos realmente muy interesante y que es para tenerlo muy en cuenta, de hecho grandes empresas como Adobe, Firefox, Google, McAfee, Toshiba, Sun Microsystem, Symbian, Microsoft, etc hacen uso de SQLite para el desarrollo de mucho de sus productos, demostrando de esta manera la confianza y el gran rendimiento de la misma Bien una vez enterados de que se trata y conociendo la teoría del SQLite a lo más importante la instalación de las herramientas necesarias para utilizar esta tecnología. Por supuesto la instalación la realizaremos en Linux suponiendo que nuestra mini aplicación estará montada en un servidor Linux (no importa el distro) con el servidor web apache, desarrollada en PHP y utilizando SQLite como SGBD. Y digo que no importa el distro debido a que instalaremos todo a partir del código fuente así que no importara si tenemos un gestor de paquetes rmp o dpkg. ACLARO QUE INSTALE TODO EN MI LAPTOP ASÍ QUE GARANTIZO QUE FUNCIONA Y SI SIGUEN LOS PASOS AL PIE DE LA LETRA NO HABRA PROBLEMA SI DESEAN INSTARLO USTEDES EN SU PC. REQUISITOS: 1.- S.O Linux obviamente instalado (yo tengo Ubuntu 9.04) 2.- Código fuente de XAMPP for Linux 1.7.3a, que contiene: Servidor: MySQL host info: Localhost via UNIX socket Versión del servidor: 5.1.41 Versión del protocolo: 10 Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 Versión del cliente: mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $ Extension PHP: mysqli PERL Common Gateway Interface (CGI) Server Side Includes (SSI) SQLite 3.- Una cuenta en el sistema operativo con password para poder ejecutar comandos como root. Como podemos ver el XAMPP for Linux o lampp (Linux, apache, mysql, php, perl, SQLite) trae todo integrado así que nos quitara el trabajo de instalar todo por partes y complicarnos la vida con las mil dependencias que surgen al instalar un paquete en Linux. Instalación: La instalación es sumamente sencilla. Al igual que en Windows el xampp solo descomprime sus archivos y levanta los servicios. Lo primero es copiar el archivo al directorio /opt. Es necesario loguearse como root con el comando su o sudo –s en el primer caso pedirá el password de root y en el segundo pedirá el password de la cuenta en uso. 1. Descomprimir el archivador.tar.gz root@agv-laptop:/opt# tar xvfz xampp-linux-1.7.3a.tar.gz 2. Lo siguiente es levantar los servicios del xampp root@agv-laptop:/# /opt/lampp/lampp start Con este comando ya deberían estar arriba los servicios de apache, mysql, php y perl. Lo podemos comprobar nuestro navegador abriendo la dirección http://locahost 3. A continuación es conveniente asignar una contraseña a nuestro servidor mysql editando el archivo config.inc.php root@agv-laptop:/#nano /opt/lampp/phpmyadmin/config.inc.php Modificar la linea: $cfg['Servers'][$i]['password'] = ''; 4. Ahora nos topamos con un problemita. Para publicar algo con apache necesitamos copiar carpetas o archivos al directorio /opt/lampp/htdocs. Pero solo se puede copiar con permiso de root y en consecuencia al tratar de ingresar por el navegador nos marca acceso denegado. Esto lo solucionaremos con la siguiente línea: root@agv-laptop:/# chmod 777 /opt/lampp/htdocs/ Ahora si no queremos estar levantando los servicios de xampp cada vez que carguemos el S.O podríamos crear un scri pt en bash y hacer que arranque cuando cargue Linux o agregar el comando al archivo /etc/rc.local Ya que tenemos instalado xampp podemos desarrollar nuestro proyecto y publicarlo con apache. PHP se puede conectar a SQLite de manera similar a como lo hacemos a mysql asi que no es muy difícil desarrollar proyectos con este ligero SGBD. Este es una parte del código que inserta a una tabla de contactos telefónicos un registro. <?PHP $firstname=sqlite_escape_string(@$_REQUEST['firstname']); $lastname=sqlite_escape_string(@$_REQUEST['lastname']); $phone=sqlite_escape_string(@$_REQUEST['phone']); sqlite_query($db,"INSERT INTO users (firstname,lastname,phone) VALUES('$firstname','$lastname','$phone')"; Como podemos observar la sintaxis es prácticamente igual que la conexión a mysql. Opinión personal: En las empresas lo único que les interesa son las soluciones informáticas que les salen prácticamente gratis. Desde utilización de servidores o PC's con sistemas operativos libres hasta implementación de soluciones alternativas a programas como Microsoft office (open office) dremweaber (quanta)… y lenguajes de programación y gestores de BD por los que no se tiene que pagar licencias como Java, PHP, JSP, mysql, postgresql, oracle y ahora SQLite parece ser otra alternativa que ofrece grandes ventajas.

SQLite Bases de datos SQL sin servidor Introducción. SQLite no nació ayer, pero respecto a otros manejadores de BD como mysql, postgresql, oracle o sql server, SQLite es una nueva opción para nuestras aplicaciones. Desarrollo SQLite es un proyecto de dominio público, su creador es D. Richard Hipp, el cual implementa una pequeña librería de aproximadamente 500kb, programado en el lenguaje C, de dominio público, totalmente libre y que tiene con función hacer de un sistemas de bases de datos relacional. Uno de las primeras diferencia entre los motores de Bases de datos convencionales es su arquitectura cliente/servidor, pues SQLite es independiente, simplemente se realizan llamadas a sub rutinas o funciones de las propias librerías de SQLite, lo cual reduce ampliamente la latencia en cuanto al acceso a las bases de datos. Con lo cual podemos decir que las base de datos compuesta por la definición de las tablas, índices y los propios datos son guardados por un solo fichero estándar y en un solo ordenador. Veamos algunas razones para escoger SQLite como una herramienta de desarrollo: Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es necesaria para acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos incorporadas. Rendimiento de base de datos: SQLite realiza operaciones de manera eficiente y es más rápido que MySQL y PostgreSQL. Portabilidad: se ejecuta en muchas plataformas y sus bases de datos pueden ser fácilmente portadas sin ninguna configuración o administración. Estabilidad: SQLite es compatible con ACID, reunión de los cuatro criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad. SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar, incluyendo sub-consultas, generación de usuarios, vistas y triggers. Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, etc. Costo: SQLite es de dominio público, y por tanto, es libre de utilizar para cualquier propósito sin costo y se puede redistribuir libremente. Por último y cerrando un poco este artículo, conocimos un motor de base de datos realmente muy interesante y que es para tenerlo muy en cuenta, de hecho grandes empresas como Adobe, Firefox, Google, McAfee, Toshiba, Sun Microsystem, Symbian, Microsoft, etc hacen uso de SQLite para el desarrollo de mucho de sus productos, demostrando de esta manera la confianza y el gran rendimiento de la misma Bien una vez enterados de que se trata y conociendo la teoría del SQLite a lo más importante la instalación de las herramientas necesarias para utilizar esta tecnología. Por supuesto la instalación la realizaremos en Linux suponiendo que nuestra mini aplicación estará montada en un servidor Linux (no importa el distro) con el servidor web apache, desarrollada en PHP y utilizando SQLite como SGBD. Y digo que no importa el distro debido a que instalaremos todo a partir del código fuente así que no importara si tenemos un gestor de paquetes rmp o dpkg. ACLARO QUE INSTALE TODO EN MI LAPTOP ASÍ QUE GARANTIZO QUE FUNCIONA Y SI SIGUEN LOS PASOS AL PIE DE LA LETRA NO HABRA PROBLEMA SI DESEAN INSTARLO USTEDES EN SU PC. REQUISITOS: 1.- S.O Linux obviamente instalado (yo tengo Ubuntu 9.04) 2.- Código fuente de XAMPP for Linux 1.7.3a, que contiene: Servidor: MySQL host info: Localhost via UNIX socket Versión del servidor: 5.1.41 Versión del protocolo: 10 Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 Versión del cliente: mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $ Extension PHP: mysqli PERL Common Gateway Interface (CGI) Server Side Includes (SSI) SQLite 3.- Una cuenta en el sistema operativo con password para poder ejecutar comandos como root. Como podemos ver el XAMPP for Linux o lampp (Linux, apache, mysql, php, perl, SQLite) trae todo integrado así que nos quitara el trabajo de instalar todo por partes y complicarnos la vida con las mil dependencias que surgen al instalar un paquete en Linux. Instalación: La instalación es sumamente sencilla. Al igual que en Windows el xampp solo descomprime sus archivos y levanta los servicios. Lo primero es copiar el archivo al directorio /opt. Es necesario loguearse como root con el comando su o sudo –s en el primer caso pedirá el password de root y en el segundo pedirá el password de la cuenta en uso. 1. Descomprimir el archivador.tar.gz root@agv-laptop:/opt# tar xvfz xampp-linux-1.7.3a.tar.gz 2. Lo siguiente es levantar los servicios del xampp root@agv-laptop:/# /opt/lampp/lampp start Con este comando ya deberían estar arriba los servicios de apache, mysql, php y perl. Lo podemos comprobar nuestro navegador abriendo la dirección http://locahost 3. A continuación es conveniente asignar una contraseña a nuestro servidor mysql editando el archivo config.inc.php root@agv-laptop:/#nano /opt/lampp/phpmyadmin/config.inc.php Modificar la linea: $cfg['Servers'][$i]['password'] = ''; 4. Ahora nos topamos con un problemita. Para publicar algo con apache necesitamos copiar carpetas o archivos al directorio /opt/lampp/htdocs. Pero solo se puede copiar con permiso de root y en consecuencia al tratar de ingresar por el navegador nos marca acceso denegado. Esto lo solucionaremos con la siguiente línea: root@agv-laptop:/# chmod 777 /opt/lampp/htdocs/ Ahora si no queremos estar levantando los servicios de xampp cada vez que carguemos el S.O podríamos crear un scri pt en bash y hacer que arranque cuando cargue Linux o agregar el comando al archivo /etc/rc.local Ya que tenemos instalado xampp podemos desarrollar nuestro proyecto y publicarlo con apache. PHP se puede conectar a SQLite de manera similar a como lo hacemos a mysql asi que no es muy difícil desarrollar proyectos con este ligero SGBD. Este es una parte del código que inserta a una tabla de contactos telefónicos un registro. <?PHP $firstname=sqlite_escape_string(@$_REQUEST['firstname']); $lastname=sqlite_escape_string(@$_REQUEST['lastname']); $phone=sqlite_escape_string(@$_REQUEST['phone']); sqlite_query($db,"INSERT INTO users (firstname,lastname,phone) VALUES('$firstname','$lastname','$phone')"; Como podemos observar la sintaxis es prácticamente igual que la conexión a mysql. Opinión personal: En las empresas lo único que les interesa son las soluciones informáticas que les salen prácticamente gratis. Desde utilización de servidores o PC's con sistemas operativos libres hasta implementación de soluciones alternativas a programas como Microsoft office (open office) dremweaber (quanta)… y lenguajes de programación y gestores de BD por los que no se tiene que pagar licencias como Java, PHP, JSP, mysql, postgresql, oracle y ahora SQLite parece ser otra alternativa que ofrece grandes ventajas.