sq lite

10
SQLite

Upload: maria-vargas

Post on 13-Jun-2015

148 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Sq lite

SQLite

Page 2: Sq lite

SQLite es una pequeña librería programada en lenguaje C que implementa

un completo motor de base de datos multiplataforma que no precisa configuración. Se distribuye bajo licencia de dominio público. Es muy rápido y la ventaja fundamental es que permite utilizar un amplio subconjunto del lenguaje estándar SQL.

A diferencia de los sistema 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.

SQLite

Page 3: Sq lite

SQLite goza de un par de características que lo hacen único, alguna de ellas se detallan a continuación.

Cero ConfiguraciónDe la forma en que fue concebido y diseñado SQLite, NO necesita ser instalado No prender ,reiniciar o apagar un servidor, e incluso configurarlo. Esta cualidad permite que no haya un administrador de base de datos para crear las tablas, vistas, asignar permisos. O bien la adopción de medidas de recuperación de servidor  por cada caída del sistema.

Características de SQLite

Page 4: Sq lite

Portabilidad

SQLite puede ser ejecutado en diferentes sistemas operativos, como ser Windows, Li-nux, BSD, Mac OS X, Solaris, HPUX,AIX o estar embebido en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. se pude notar que muchos de ellos trabajan a16, 32 y 64 Bits. La portabilidad no está dada en sí por el software, sino por la base de datos condensada en un solo archivo, que puede estar situado en cualquier directorio, trayendo como ventaja que la base de datos puede ser fácil-mente copiada a algún dispositivo USB o ser enviada vía correo electrónico. En cambio, los motores de base de datos tienden por lo general a almacenar la colección de archivos, al que sólo el motor de la base de datos puede llegar a tener acceso. Esto hace que los datos sean más seguros y más difíciles de acceder. Algunos proporcionan la opción de escribir directamente en el disco y pasar por el sistema de ficheros todos juntos. Esto aporta un mayor rendimiento, pero a costa de una considerable complejidad de instalación y mantenimiento.

Page 5: Sq lite

Registros de longitud variable

Generalmente los motores asignan una cantidad fija de espacio en disco para cada fila en la mayoría de los campos de una determinada tabla. Por ejemplo, tomemos un campo de tipo VARCHAR(100), esto significa que el motor le asignará 100 bytes de espacio fijo en disco, independientemente de la cantidad de información que se almacene en ese campo. En cambio, SQLite realizará todo lo contrario, utilizando para ello la cantidad de espacio en disco necesario para almacenar la información real del campo. Tomando el ejemplo anterior, si quisiera almacenar un solo carácter en un campo definido como VARCHAR(100), entonces un único byte de espacio de disco se consume. Realmente una característica especial para ahorrar espacio en memoria.

Page 6: Sq lite

Pedagógico

Algunas veces cuando se está en un ámbito educativo, se tiende a enseñar SQL para administrar las bases de datos. Muchas veces transportar una base a casa no es tarea fácil, por eso SQLite está siendo adoptado de una forma pedagógica. Por ejemplo, los estudiantes pueden enviar vía e-mail las bases de datos a los docentes para su presentación y los docentes realizarán las observaciones necesarias. Para los estudiantes más avanzados que están interesados en el estudio de cómo trabaja un RDBMS, el código SQLite puede servir como una buena base. Esto no quiere decir que es un modelo exacto de la forma en que los motores de bases de datos se apliquen, sino una forma en la que un estudiante que entiende cómo funciona SQLite puede comprender los principios operativos de otros sistemas

Page 7: Sq lite

• Como gestor de base de datos local en un PC. De esta

forma podemos gestionar bases de datos con SQLite igual que si estuviéramos trabajando con un sistema gestor de base de datos como MySQL sin necesidad de instalar nada, ya que SQLite se compone de un único archivo ejecutable.

• Como una extensión más de PHP, utilizando las funcionalidades de SQLite configuradas, o bien como módulo de PHP, o como librería; sin necesidad de tener instalado o conectar con un servidor de base de datos. Ofrece un rápido interfaz de base de datos almacenado en archivo de texto plano.

Formas de uso

Page 8: Sq lite

Una de las opciones de utilización de SQLite es como

extensión de base de datos para php      Esta opción, ofrece un rápido interfaz de base de datos, al

igual que ofrecen otras bases de datos como MySQL, pero con la ventaja de no tener la necesidad de tener instalado o conectar con un servidor de base de datos. SQLite tiene prácticamente las mismas funcionalidades y rapidez que el resto de gestores de base de datos, y los datos se almacenan en un archivo de texto plano.

     SQLite dispone de un completo interfaz orientado a objetos, con distintas funciones que nos facilitan la manipulación de datos. Funciones muy similares a las que podemos manejar con MySQL.

SQLite como extensión de PHP

Page 9: Sq lite

puede funcionar perfectamente para sitios de tráfico bajo-medio, lo

cual se traduce en el 99,9% de los sitios web actuales. es mono-usuario, es decir, no permite concurrencia de conexiones,

aunque he leído varias cosas diferentes sobre esto. Si un usuario está modificando datos, otro no podrá hacerlo hasta que el anterior no termine.

no es una base de datos, sino un fichero con datos debidamente organizados (esto me recuerda al Access de Microsoft). Para hacer una copia o migrar la aplicación basta con mover el fichero de sitio y listo.

no tiene tipos de datos. Puedes meter una cadena de texto en un campo que estás utilizando como numérico. Esto me lleva a pensar en la cantidad de problemas que pueden ocurrir.

no hay gestión de usuarios. La seguridad se basa en el sistema de permisos de ficheros establecido por Unix/Linux.

Por lo general SQLite :

Page 10: Sq lite

Se pueden observar algunas claras ventajas, como lo es la

presencia de las extensiones, para casi todos los lenguajes que existen. Cuando Daniel y yo pusimos a prueba SQLite, lo realizamos frente a los colosos del software libre MySQL y PostgreS-QL. Notamos que SQLite es muy rápido en respuesta cuando se realizan las consultas del manejo de los datos. Esto se debe a que no existe un proceso intermedio para la comunicación con el motor. Cosa que sí realizan los ya mencionados motores. Algunos puntos fuertes fueron la carencia de configuraciones y el tener una base de datos en un solo archivo. No obstante, hay que aclarar que SQLite tiene algunos puntos flacos como ser que no es apropiado para realizar aplicaciones cliente/servidor o para implementaciones de gran escala, como puede ser un padrón electoral. Puesto que SQLite se satura.