Upload
laura-martinez
View
231
Download
4
Embed Size (px)
Citation preview
DESDE LA LÍNEA DE COMANDOS
Paso 1: Descargar SQLITE en la pagina oficial http://www.sqlite.org/download.html. Básicamente hay para todos los sistemas operativos en este caso Windows. Descargamos “Precompiled Binaries For Windows”
Paso 2: Para crear la base de datos ejecutamos símbolo de sistema y desde la consola de comandos no ubicamos en el directorio donde descargamos y descomprimimos el archivo de SQLite.
C:\>sqlite3 nombrebasededatos.db
Y aparece lo siguiente
1. SQLite version 3.6.172. Enter ".help" FOR instructions3. Enter SQL statements terminated WITH a ";"4. sqlite>
Para verificar que la base de datos existe .tables [nombrebasededatos]
Paso 3: Para crear las tablas de la base de datos utilizamos el siguiente comando
“CREATE TABLE [nombre de la tabla] ( columna1, columna2, columna n);”
CREATE TABLE tb1(id_tb1 integer PRIMARY KEY NOT NULL,texto text);
CREATE TABLE tb2(id_tb2 integer PRIMARY KEY NOT NULL,texto varchar (50),id_tb1FK integer NOT NULL CONSTRAINT fk_id_tb1FK REFERENCES a(id_tb1) ON UPDATE CASCADE);
CREATE TABLE tb3(id_tb3 integer PRIMARY KEY NOT NULL,informacion text,id_tb2_FK integer NOT NULL CONSTRAINT fk_id_tb2FK REFERENCES a(id_tb2) ON DELETE CASCADE);Para confirmar que las tablas están creadas: .schema [tabla]
PASO 4: Sqlite ignora todavía la integridad referencial, para esto se tiene los TRIGGER.
CREATE TRIGGER insert_tb1_a_tb2BEFORE INSERT ON tb2FOR EACH ROWBEGINSELECT RAISE (ROLLBACK, ’No se puede inserta el registro’)WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;END;
Esto se hace en todas las tablas, solo cambiando:
tb2= “a la tabla que vamos a insertar un dato” SELECT Id_tb1= “origen del dato” FROM tb1= la tabla de donde viene “ NEW.id_tb1FK =”referencia tb2 que hace con la tb1”
Si se quiere realizar un update;
CREATE TRIGGER update_tb1_tb2BEFORE UPDATE ON tb2FOR EACH ROWBEGINSELECT RAISE (ROLLBACK, ’No se puede insertar el registro’)WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;END;
Esto hace que cuando actualizamos tb1 se actualice la tb2
Y para un deleate;
CREATE TRIGGER delete_tb1_tb2 BEFORE DELETE ON tb1 FOR EACH ROW BEGIN DELETE FROM tb2 WHERE id_tb2FK = OLD.id_tb1; END;
Si eliminamos un registro de la tb1 también se elimina en la tb2. OLD. esto es un valor que es definido por SQLite.
Insertar datos :
INSERT INTO tb1 VALUES ('1','Dato');
SELECT * FROM tb1;
crear vistas. Esta vista une las dos tablas
CREATE VIEW info AS SELECT * FROM tb2 JOIN (SELECT * FROM tb3)ON id_tb2_FK= id_tb2;
borrar tablas:
DROP TABLE nombretabla;
DUMP: crear un archivo sql
BEGIN TRANSACTION;CREATE TABLE Datos (id int(3) not null,Apellido char(30) not null,Nombre char(30) not null,Documentos char(30) not null,Observaciones chat(60) not null,primary key (id));INSERT INTO "Datos" VALUES(1, 'Aguiar', 'Edwin', 'Si, tiene', 'Ninguna quedestacar');INSERT INTO "Datos" VALUES(2, 'Esparza', 'Silvina', 'Tambien posee', 'Esposa');INSERT INTO "Datos" VALUES(3, 'Aguiar Esparza', 'Sabina', 'recien obtenido','Hija, bebe de 7 meses');COMMIT;
Actualizar Datos:
update Datos set Nombre="Marcelo" where Nombre="Edwin";
Eliminar registros
delete from Datos where id="2";
Realizar consultas
select Apellido from Datos;
select * from Datos order by Nombre;
select max(id) from Datos;
select COUNT(*) from Datos;
select * from Datos limit 2;
select Nombre, Apellido from datos where Apellido like 'A%';
select id, nombre FROM Consulta, Consultor where id=numero_consultor;
Android incorpora todas las herramientas necesarias para la creación y gestión de bases de datos SQLite, y entre ellas una
completa API para llevar a cabo de manera sencilla todas las tareas necesarias.
Todas las bases de datos se crean en la carpeta
/data/data/<package-name>/databases
Por defecto las bases de datos son privadas a la aplicación
Para compartir datos entre aplicaciones se usarán los Content
Providers.
En Android, la forma típica para crear, actualizar, y conectar con una base de datos SQLite será a través de una clase auxiliar llamada SQLiteOpenHelper, o para ser más exactos, de una clase propia que derive de ella y que debemos personalizar para adaptarnos a las necesidades concretas de nuestra aplicación.
La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no necesitaremos sobrescribir, y dos métodos abstractos, onCreate() y onUpgrade(), que deberemos personalizar con el código necesario para crear nuestra base de datos y para actualizar su estructura respectivamente.