Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Documentación SQLite
ÍNDICE
1. Introducción............................................................................................................................. 2
2. Características Generales de SQLite ................................................................................ 2
3. Arquitectura de SQLite ......................................................................................................... 3
4. Instalación y Configuración ................................................................................................ 5
5. Bases de Datos y Tipos de Datos en SQLite ................................................................ 12
6. Operaciones básicas en SQLite ....................................................................................... 13
7. SQLite en Aplicaciones Java ............................................................................................ 20
2 SGBD SQLITE
1. Introducción
SQLite se implementa como una librería compacta, integrada por ficheros escritos en
el lenguaje C o sino como un fichero ejecutable de Windows cuyo tamaño es de
aproximadamente de 350 KB, dependiendo de la plataforma.
1
Trigger: es un procedimiento que se ejecuta en el SGBD cuando se cumple con determinada condición
definida para el mismo.
3 SGBD SQLITE
Algunas de las aplicaciones conocidas a nivel mundial que utilizan este SGBD:
Adobe
Skype
Google
Mc Afee
Symbian
Etc.
Sin embargo, por sus ventajas la hace apropiada a una gran variedad de aplicaciones
para el usuario.
3. Arquitectura de SQLite
2
TCL: es un lenguaje de programación dinámico e interpretado. Forma parte del TCL/ TK.
4 SGBD SQLITE
El compilador SQL:
El Backend:
4. Instalación y Configuración
Para poder utilizarlo desde la consola CMD de Windows, se debe agregar una
referencia a la variable Path del sistema, del fichero sqlite3 para que pueda ser utilizado
directamente desde la misma. Eso se hace, en las variables de entorno del sistema:
8 SGBD SQLITE
Luego, se tiene la herramienta SQLite Manager, que es una herramienta Wizard que
permite gestionar visualmente las bases de datos SQLite.
La misma puede ser descargada gratuitamente sin problemas desde varios sitios web,
existen versiones desktop de la herramienta y web también. En este caso se utiliza la
versión desktop. Se la descarga, se trata de un fichero .RAR. Una vez efectuada su
descarga, se la puede iniciar y posee todas las opciones para el manejo de bases de
datos SQLite.
9 SGBD SQLITE
File – aquí se pueden acceder y manipular las bases de datos SQLite que se tengan.
10 SGBD SQLITE
Database – acá se tienen opciones básicas para trabajar con la base de datos actual,
como ser la creación de tablas, vistas, consultas, importar datos, esquemas para la tabla,
etc.
Por último, se tiene una extensión para el navegador Mozilla Firefox, que se lo puede
agregar para utilizarlo desde el mismo como herramienta de gestión. La misma tiene
opciones similares a SQLite Manager.
12 SGBD SQLITE
La mayoría de los motores de base de datos SQL utiliza tipado de datos estático y
rígido. De esta manera, el tipo de dato de un valor está determinado por su contenedor,
es decir la columna particular en la cual se almacena.
SQLite utiliza un sistema de tipos dinámico más general. Aquí, el tipo de datos de una
columna es el valor propiamente dicho, no el tipo definido en sí de la columna. Es
compatible con la mayoría de tipos de las bases de datos generales de los demás
sistemas gestores de base de datos sin problemas. La característica del tipado de datos
de ser dinámico, permite llevar a cabo ciertas operaciones que no pueden ser realizadas
con otros SGBD.
NATIVE
CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB
BLOB BLOB
REAL REAL
DOUBLE
DOUBLE
PRECISION
FLOAT
NUMERIC NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME
Además el sistema gestor admite el uso de clave primaria para los registros de la tabla.
También brinda soporte a las operaciones básicas como ser UNION, INTERSECT, GROUP
BY, ORDER BY, etc. Todo lo anterior y lo establecido en el estándar SQL-ANSI 92.
Para crear una base de datos, se utiliza el siguiente comando desde la consola del
sistema:
Sqlite3 baseDeDatos.db
Luego consultamos por las bases de datos del sistema, con el comando .databases:
Aquí se pueden utilizar los calificadores para los atributos NOT NULL, UNIQUE y
CHECK.
La estructura gráfica es:
15 SGBD SQLITE
En este caso, la sintaxis es la misma que la definida en el estándar definido para SQL-
ANSI.
a. Inserción
b. Eliminación
c. Actualización
Consultas en general
Además mediante las herramientas GUI como ser SQLite Manager y el plugin de
Mozilla Firefox se pueden realizar estas operaciones visualmente.
Se puede desarrollar una aplicación Java que maneje bases de datos SQLite, para lo
cual se requiere tener instalados los siguientes componentes:
El SGBD SQLite.
SQLite Manager.
Driver para Java de SQLite, que se puede descargar gratuitamente desde
http://www.zentus.com/sqlitejdbc/.
El entorno de desarrollo ECLIPSE IDE.
CONTACTO
Atributo Tipo
Nombre String
Apellido String
TipoTel String
NroTel String
Las clases básicas que son requeridas en la aplicación para realizar la consulta de
datos a una base de datos SQLite existente son:
Una clase para modelar un objeto que represente a la tabla, en este caso sería
Registro.java.
Una clase que permita gestionar la conexión a la base de datos, Conexión.java.
Una clase que permita efectuar las operaciones en la base de datos, ABM.java.
Una clase para mostrar los datos en la interface gráfica, GUI.java.
De las anteriores, las clases que se encuentran relacionadas con el acceso la base de
datos son:
21 SGBD SQLITE
Clase Registro.java – Esta clase posee los atributos asociados a los campos de la
tabla, el constructor y los getters y setters.
/**
* @return the nombre
*/
public String getNombre() {
return nombre;
}
/**
* @param nombre the nombre to set
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}
/**
* @return the apellido
*/
public String getApellido() {
return apellido;
}
/**
* @param apellido the apellido to set
*/
public void setApellido(String apellido) {
this.apellido = apellido;
}
/**
* @return the tipoTel
*/
public String getTipoTel() {
return tipoTel;
}
/**
* @param tipoTel the tipoTel to set
*/
22 SGBD SQLITE
/**
* @return the nroTel
*/
public String getNroTel() {
return nroTel;
}
/**
* @param nroTel the nroTel to set
*/
public void setNroTel(String nroTel) {
this.nroTel = nroTel;
}
package proyectosqlitefabio;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
Connection conexion;
Statement consulta;
public String ruta;
/**
* Constructor for objects of class Conexion
*/
public Conexion()
{
//C:\SQLITE DB
ruta = "C:/SQLITE DB/contacto.db";
}
public void conectar(){
try {
Class.forName("org.sqlite.JDBC");
}
catch (ClassNotFoundException e) {
23 SGBD SQLITE
//JOptionPane.showMessageDialog(null, e.getMessage());
JOptionPane.showMessageDialog(null, "Error. No se encontró el driver para
conectar a la base de datos");
}
try {
conexion = DriverManager.getConnection("jdbc:sqlite:"+ruta);
consulta = conexion.createStatement();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
}
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public ABM(){
System.out.println("Clase de ABM de contactos");
}
}
finally{
try{
consulta.close();
conexion.close();
}catch (Exception e){
e.printStackTrace();
}
}
return valor;
24 SGBD SQLITE
} catch (SQLException e) {
System.out.println("Mensaje:"+e.getMessage());
System.out.println("Estado:"+e.getSQLState());
System.out.println("Codigo del error:"+e.getErrorCode());
JOptionPane.showMessageDialog(null, ""+e.getMessage());
}
return resultado;
}
}