2. Esta es una extensión para el Motor de Bases de Datos SQL
Embebible SQLite. SQLite es una biblioteca de C que
implementa un motor de base de datos SQL embebible. Los
programas que se enlazan con la biblioteca SQLite pueden
tener acceso a la base de datos SQL sin ejecutar un proceso
RDBMS separado.
SQLite no es una biblioteca de cliente utilizada para conectarse
a un gran servidor de bases de datos. SQLite es el servidor. La
biblioteca SQLite lee y escribe directamente a y desde los
ficheros de la base de datos en el disco.
3. Existen varias paginas de donde descargar SQLite pero siempre
va a ser mejor descargarlo de su pagina oficial
https://www.sqlite.org/download.html
4. Primeros Pasos con SQLite
La forma más sencilla de entender SQLite es empezar a usarlo.
Ya que Android viene con SQLite preinstalado, puede crear un
entorno interactivo ejecutando una instancia del emulador
Android Virtual Device (AVD).
Puede iniciar una sesión AVD utilizando el popular entorno de
desarrollo Eclipse. Una vez iniciada, puede conectar una
ventana de símbolo del sistema al emulador usando el siguiente
comando ADB (Android Debugging Bridge):
adb -e shell
5. El parámetro “-e” le indica a la herramienta ADB que busque un emulador en
lugar de un dispositivo físico Android. Las bases de datos SQLite se
encuentran guardadas en ficheros de base de datos específicos a la aplicación
que se ejecuta. Si tiene una aplicación Android con el nombre de paquete
“com.udemy.myDBapp”, la base de datos SQLite para esta aplicación se
encontrará en:
/data/data/com.udemy.myDBapp/databases/mydatabase.db
El nombre de la base de datos de este ejemplo es mydatabase.db pero podría
llamarse de la manera que elija. Para el propósito de este ejemplo, cambie de
directorio en la ventana de comandos ADB y cree una estructura de
subdirectorios de forma que pueda experimentar con SQLite. Las sentencias a
utilizar serían parecidas a las siguientes:
cd /data/data
mkdir com.udemy.myDBapp
cd com.udemy.myDBapp
mkdir databases
cd databases
Una vez que ha creado esta jerarquía correctamente, puede iniciar la
herramienta interactiva SQLite usando este comando:
sqlite3 ./mydatabase.db
Ahora ya está preparado para comenzar a introducir comandos para crear,
modificar, y borrar datos de las tablas de su base de datos SQLite.
6. Abrir y crear base de datos
sqlite3 transportes.db
Crear tabla bus
create table bus( id_bus char (6) primary key not null,-- bus001 hasta
bus015 descripcion varchar(25) not null,-- describe el bus fecha date not
null,--fecha de adquisición o compra capacidad integer not null);--cantidad
máxima de pasajeros
FOREIGN KEY en SQLite
create table pasajero( id_bus_pas char (6) not null, dni int not
null, nombres varchar(25) not null, apellidos varchar(25) not null, FOREIGN
KEY(id_bus_pas) REFERENCES bus(id_bus) );
Ver tablas de una base de datos SQLite
.tables
7. FOREIGN KEY en SQLite
create table pasajero( id_bus_pas char (6) not null, dni int not
null, nombres varchar(25) not null, apellidos varchar(25) not null, FOREIGN
KEY(id_bus_pas) REFERENCES bus(id_bus) );
Ver tablas de una base de datos SQLite
.tables
Consultar una tabla
select *from bus;
Obtener información de la configuración de nuestra base de datos
.show
Obtener información de la estructura de nuestra base de datos
.schema
Consultas un poco más complejas
SELECT * FROM bus WHERE capacidad >80;--todos los buses con
capacidad mayor a 80
Cantidad de registros de una tabla
SELECT count(*) FROM bus ;--total registros de la tabla bus
8. El comando CREATE VIEW asigna un nombre a un pre-
envasados SELECT comunicado. Una vez creada la vista, se
puede utilizar en la cláusula FROM de otra SELECT en lugar de un
nombre de tabla.
Si el "TEMP" o palabra clave "TEMPORAL" se produce en medio
de "crear" y "Ver" y luego la opinión de que se crea es sólo visible
a la conexión de base de datos que creó y se borra
automáticamente cuando la conexión de base de datos se cierra.
Si se especifica un <database-name>, se crea la vista en la base
de datos llamada. Es un error especificar tanto un <database-
name> y la palabra clave TEMP en una vista, a menos que el
<database-name> es "temp". Si no se especifica ningún nombre
de base de datos, y la palabra clave TEMP no está presente, la
vista se crea en la base de datos principal.
9. Código SQL:
CREATE VIEW info AS SELECT * FROM tb2 JOIN
(SELECT * FROM tb3 )ON id_tb2_FK= id_tb2;
Esta vista nos une las dos tablas prácticamente dando como resultado:
id_tb2, texto, id_tb1FK , id_tb3, informacion, id_tb2_FK
Ahora una vista sobre otra vista
Código SQL:Ver originalCREATE VIEW detalles AS SELECT * FROM tb4
JOIN (SELECT *FROM intermedia JOIN (SELECT * FROM info) ON
id_tb2=id_tb2FK)
ON id_tb4FK =id_tb4;
10. Dando como resultado todos los datos campos de la tb2, tb3,
intermedia y tb4
Para restringir una vista que solo quieres que te mande a llamar
un solo registro es fácil pones:
Código SQL:Ver originalSELECT * FROM info WHERE id_tb2=1;