sq llite

8
SQLite 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. implementa un completo motor de base de datos multiplataforma que no precisa configuración. Se distribuye bajo licencia de dominio público. "SQLite es un sistema de gestión de base de datos, un ´gran archivador´ que permite consultar, agregar, modificar y eliminar dentro de una base de datos". Así, se puede seleccionar rápidamente los fragmentos de información que se necesiten SQLlite 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. SQLite destaca también por su versatilidad. El motor de PHP 5 incluye soporte interno para SQLite. Combina el motor y el interfaz de la base de datos en una única biblioteca, y almacena los datos en un único archivo de texto plano. Esto hace que cada usuario pueda crear tantas bases de datos como desee sin la necesidad de la intervención de un administrador de bases de datos que gestione los espacios de trabajo, usuarios y permisos de acceso. El hecho de almacenar toda la base de datos en un único archivo, facilita la portabilidad de los datos, y solamente tiene la restricción del espacio de disco asignado al usuario en el servidor. Su potencia se basa fundamentalmente en la simplicidad, lo que hace que no sea una buena solución en entornos de tráfico muy elevado y/o alto acceso concurrente a datos. SQLite encapsula toda la base de datos en un único fichero. En su versión 3, SQLite soporta bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo Blob.

Upload: antonio-pena

Post on 11-Aug-2015

473 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sq llite

SQLite

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.

implementa un completo motor de base de datos multiplataforma que no precisa configuración. Se distribuye bajo licencia de dominio público.

"SQLite es un sistema de gestión de base de datos, un ´gran archivador´ que permite consultar, agregar, modificar y eliminar dentro de una base de datos". Así, se puede seleccionar rápidamente los fragmentos de información que se necesiten

SQLlite 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. SQLite destaca también por su versatilidad. El motor de PHP 5 incluye soporte interno para SQLite. Combina el motor y el interfaz de la base de datos en una única biblioteca, y almacena los datos en un único archivo de texto plano. Esto hace que cada usuario pueda crear tantas bases de datos como desee sin la necesidad de la intervención de un administrador de bases de datos que gestione los espacios de trabajo, usuarios y permisos de acceso. El hecho de almacenar toda la base de datos en un único archivo, facilita la portabilidad de los datos, y solamente tiene la restricción del espacio de disco asignado al usuario en el servidor. Su potencia se basa fundamentalmente en la simplicidad, lo que hace que no sea una buena solución en entornos de tráfico muy elevado y/o alto acceso concurrente a datos. SQLite encapsula toda la base de datos en un único fichero. En su versión 3, SQLite soporta bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo Blob.

Recomendaciones Para el correcto aprovechamiento de esta utilidad es necesario por parte del usuario tener los siguientes conocimientos:

• Creación de paginas web ( HTML, etc … ).

• PHP.

• Conocimientos de bases de datos ( SQL ).

Formas de uso Podemos utilizar SQLite de dos formas:

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

Page 2: Sq llite

SQLite como extensión de PHP 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.

Caracteristicas

1. SQLite no necesita ser "instalado" antes de que se utilice. No hay un "setup" procedimiento. No hay ningún proceso de servidor que debe ser arrancados, detenidos o configurado. No hay necesidad de un administrador para crear una nueva instancia de base de datos o asignar permisos de acceso para los usuarios. SQLite no utiliza los archivos de configuración

2. La mayoría de los motores de base de datos SQL se ejecutan como un proceso de servidor. Los programas que desee acceder a la base de datos comunicarse con el servidor utilizando algún tipo de la comunicación (normalmente TCP / IP) para enviar peticiones al servidor y recibir de vuelta los resultados.

SQLite no funciona de esta manera.Con SQLite, el proceso que quiere acceder a la base de datos lee y escribe directamente de los archivos de base de datos en el disco.No hay ningún proceso de servidor intermediario.

3. El formato de archivo SQLite es multiplataforma.Un archivo de base de datos escrita en una máquina puede ser copiado y utilizado en un equipo diferente con una arquitectura diferente. Big-endian o little-endian, 32-bit o 64-bits no importa. El término inglés endianness ("extremidad") designa el formato en el que se almacenan los datos de más de un byte en un ordenador.Todas las máquinas usan el mismo formato de archivo. Además, los desarrolladores se han comprometido a mantener el formato de archivo compatible y estable, por lo que las nuevas versiones de SQLite pueden leer y escribir archivos de base de datos de más edad

4. CODIGO FUENTEEl código fuente de SQLite está diseñado para ser legible y accesible para el programador medio.Todos los procedimientos y estructuras de datos y muchas las variables automáticas son cuidadosamente comentado con información útil sobre lo que hacen.

Combina el motor y el interfaz de la base de datos en una única biblioteca, y almacena los datos en un único archivo de texto plano. Esto hace que cada usuario pueda crear tantas bases de datos como desee sin la necesidad de la intervención de un

Page 3: Sq llite

administrador de bases de datos que gestione los espacios de trabajo, usuarios y permisos de acceso. El hecho de almacenar toda la base de datos en un único archivo, facilita la portabilidad de los datos, y solamente tiene la restricción del espacio de disco asignado al usuario en el servidor.

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

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

Su potencia se basa fundamentalmente en la simplicidad, lo que hace que no sea una buena solución en entornos de tráfico muy elevado y/o alto acceso concurrente a datos. SQLite encapsula toda la base de datos en un único fichero.

VENTAJAS

No requiere configuración

No se requiere uso de servidor (proceso activo para atender las peticiones)

Fácilmente portable (multiplataforma Windows, Linux, Mac, dispositivos mobiles, tablet´s, etc.)

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.

Acceso mucho más rápido.

Prácticamente cualquier lenguaje y SO lo soportan.

Registros de Longitud Variable

Único archivo de Base de Datos

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.

Page 4: Sq llite

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.

No posee configuración

De la forma en que fue creado 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.

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.

DESVENTAJAS

Limitaciones en Where: esta limitación está dada por el soporte para clausuras anidadas.

Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto quiere decir, cuando se realice la creación de la tabla desde el modo consola, está permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.

Falta de documentación en español: si bien ya contamos con una comunidad latino americana de SQLite, sería importante encontrar mucha más documentación, libros, review, etc. como muchos otros motores de bases de datos cuentan hoy en día.

CLASIFICACIÓN DE LOS COMANDOS

Page 5: Sq llite

APLICACIONES

Mozilla Firefox la utiliza para almacenar, por ejemplo, las cookies, los favoritos, el historial, etc. Se está considerando también utilizar SQLite en Mozilla Calendar y Mozilla Thunderbird.

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.

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.

Concurrencia

Comando descripciónCREATE Utilizado para crear nuevas tablas, procedimientos

almacenados e índices

DROP Empleado para eliminar tablas, procedimientos almacenados e índices

ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos

SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.

INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.

UPDATE Utilizado para modificar los valores de los campos y registros especificados.

DELETE Utilizado para eliminar registros de una tabla de una base de datos.

Page 6: Sq llite

La concurrencia de SQLite, es el concepto que se refiere a la capacidad de SQLite para permitir que diversos usuarios hagan uso de la misma base de datos con poca o ninguna diferencia de tiempo. SQLite es un sistema que se considera de baja concurrencia.

Pueden haber múltiples usuarios leyendo una base de datos, pero solamente un usuario que escriba datos a la vez. SQLite bloquea la base de datos durante la escritura y nadie tiene permitido el acceso durante el tiempo que dura la operación. Por lo general, SQLite mantiene el bloqueo durante unos pocos milisegundos. Como consecuencia, si una aplicación va a necesitar una alta concurrencia de escritura de datos siendo el tiempo un factor crítico, debe considerarse otro sistema de gestión de datos más robusto cuyo diseño sea expresamente para múltiples usuarios o de alta concurrencia