Sq lite

11
Vélez Osornio Raúl Bases de Datos para Dispositivos Moviles 382-M

Transcript of Sq lite

Page 1: Sq lite

Vélez Osornio RaúlBases de Datos para Dispositivos Moviles

382-M

Page 2: Sq lite

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.

¿Qué es SQLite?

Page 3: Sq lite

Existen varias paginas de donde descargar SQLite pero siempre va a ser mejor descargarlo de su pagina oficial

https://www.sqlite.org/download.html

¿Dónde descargar SQLite?

Page 4: Sq lite

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

¿Cómo se utiliza?

Page 5: Sq lite

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.

Page 6: Sq lite

Abrir y crear base de datos sqlite3 transportes.db

Crear tabla buscreate 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

Comandos

Page 7: Sq lite

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

Page 8: Sq lite

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

Page 9: Sq lite

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;

Page 10: Sq lite

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;

Page 11: Sq lite

https://usemossoftwarelibre.wordpress.com/cc/tutorial-sqlite-en-espanol/capitulo-4-tutorial-sqlite/

https://www.sqlite.org/index.html https://

blog.udemy.com/tutorial-de-android-sqlite-para-principiantes/

http://imaginate-soft.blogspot.mx/2013/09/sqlite-3-comandos-basicos-ejemplo.html

https://usemossoftwarelibre.wordpress.com/cc/tutorial-sqlite-en-espanol/capitulo-4-tutorial-sqlite/

Bibliografía