SlideShare una empresa de Scribd logo
1 de 38
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Bases de Datos para Dispositivos Móviles
Unidad III: Sistemas Manejadores de BD Móviles
Competencia:
• Conocer los diferentes tipos de manejadores de base de datos para
dispositivos móviles.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Sistemas Manejadores de Bases de Datos Móviles
• Base de Datos Móviles: Es una Base de datos donde los usuarios pueden acceder
a la información lejos de donde se encuentra almacenada la base de datos, se
hace utilizando una conexión inalámbrica.
Sistemas de Base de datos móviles:
• Es la habilidad de recuperar la información de los sistemas de computación y/o
repositorios de información sobre dispositivos móviles en cualquier momento en
cualquier lugar. Además de introducir o actualizar información en los sistemas
principales de forma remota desde el dispositivo móvil. Esto da toda la libertad al
usuario de manipular toda la información desde lejos.
• Es un sistema distribuido que soporta conectividad móvil, posee todas las
capacidades de un sistema de base de datos y permiten a las unidades móviles,
una completa movilidad espacial por medio de la tecnología inalámbrica
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Procesamiento de Consultas
El único reto en los SMBDM es el procesamiento de
consultas (queries) que dependen de la localización física
de la unidad móvil.
Consultas dependientes de la localización: Son consultas
que involucran la localización física de la unidad móvil en
combinación con otros datos como la localización de
otras unidades móviles o estructuras físicas.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Manejo de transacciones
• Se considera el manejo de transacciones cuando un dispositivo móvil inicia
una transacción hacia la base de datos o hacia un servidor fijo. La transacción
puede ejecutarse en el servidor o en el dispositivo móvil.
Se debe tomar en cuenta:
• Desconexiones, movilidad, errores, fallas en el dispositivo móvil.
• Se debe mantener la autonomía y la consistencia local del SMBD.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
IBM: DB2 Everyplace
• Forma parte de la solución de IBM para procesos de informática distribuida.
Mediante DB2 Everyplace, los profesionales que se desplazan con frecuencia
(tales como vendedores, inspectores, auditores, técnicos de mantenimiento,
médicos, agentes inmobiliarios y tasadores de seguros) pueden tener acceso a
datos vitales que necesitan mientras están lejos de su centro de trabajo.
• Las empresas pueden ahora transferir sus datos corporativos DB2 a
dispositivos portátiles o incorporados.
SISTEMAS MANEJADORES DE BASES DE DATOS MÓVILES
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• Sybase ha creado una tecnología que permite una
empresa sin cables para sus clientes y socios mediante
soluciones de software de integración y desarrollo,
infraestructura móvil.
• SQL Anywhere Studio contiene la última versión de la
base de datos móvil más vendida, Adaptive Server
Anywhere. Este pequeño, aunque muy potente motor
de bases de datos, puede soportar implementaciones
mono- usuario o multi-usuario y provee completo
procesamiento transaccional de alto rendimiento.
Estas características combinadas, hacen que sea el
ambiente ideal de base de datos para entornos
móviles.
SYBASE ADAPTIVE SERVER ANYWHERE
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• Microsoft provee una herramienta que consiente
extender las aplicaciones empresariales de un
organización, a los dispositivos móviles.
• SQL Server CE es ideal para aplicaciones móviles,
ya que permite implementar la funcionalidad de
una base de datos relacional y tiene la capacidad
de brindar acceso a los datos de una manera
flexible y similar a SQL Server, al mismo tiempo
que permite conectarse a un servidor SQL Server
central y mantener actualizada la información.
MICROSOFT SQL SERVER CE
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
SQLite
• Es un sistema de gestión de bases de datos relacional compatible con ACID
(En bases de datos se denomina ACID a un conjunto de características
necesarias para que una serie de instrucciones puedan ser consideradas
como una transacción.
• Así pues, si un sistema de gestión de bases de datos es ACID compliant quiere
decir que el mismo cuenta con las funcionalidades necesarias para que sus
transacciones tengan las características ACID.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
SQLite
En concreto ACID es un acrónimo de Atomicity, Consistency,
Isolation and Durability: Atomicidad, Consistencia, Aislamiento y
Durabilidad), contenida en una relativamente pequeña biblioteca
escrita en C. SQLite es un proyecto de dominio público creado por
D. Richard Hipp.
A diferencia de los sistemas de gestión de bases de datos cliente-
servidor, el motor de SQLite no es un proceso independiente con
el que el programa principal se comunica. En lugar de eso, la
biblioteca SQLite se enlaza con el programa pasando a ser parte
integral del mismo.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
ESoftware que utiliza SQLite: Es utilizado en una gran variedad de
aplicaciones, destacando las siguientes:
• Adobe Photoshop Elements
• Mozilla Firefox
• Apple Mail
• El navegador web Ópera
• Skype
• XBMC Media Center: (antes conocido como “XBox Media Center”)
• NiconPersonal: Agenda personal de contactos escrita en JAVA
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas
integrados, y también está incluido en:
• Android
• BlackBerry
• Google Chrome
• iOS
• Maemo
• MeeGo
• Symbian OS
• webOS
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Generación y lectura de archivos de texto en un dispositivo móvil
• Una de las formas más básicas para guardar la información son los archivos
de texto.
• Muchas veces debemos guardar la información que tenemos en pantalla, sin
que esta información esté relacionada con una base de datos en particular, lo
correcto en estos casos es generar un archivo de datos y guardar allí la
información para consultarla posteriormente.
• Por medio de Java es posible crear archivos de texto en Android y también
consultarlos.
• A continuación veremos las instrucciones necesarias para el manejo de
archivos de texto básicos en Android.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Instrucciones para escritura en archivos de texto
• FileOutputStream varX = openFileOutput("textFile.txt", MODE_PRIVATE);
La clase FileOutputStream permite tener acceso al fichero para escribir info.
• OutputStreamWriter varY = new OutputStreamWriter(varX); Sirve para
convertir los caracteres en bytes al momento de escribir en el archivo.
• varY.write(cadena); Escribe los datos en el archivo.
• varY.flush(); Libera los recursos utilizados al momento de escribir.
• varY.close(); Cierra el archivo que se estaba utilizando.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Instrucciones para Lectura en archivos de texto
• FileInputStream fis = openFileInput("textFile.txt"); La clase FileInputStream
permite tener acceso al archivo para leer info.
• InputStreamReader isr = new InputStreamReader(fis); Sirve para convertir
los bytes en caracteres al momento de leer el archivo.
• char[] varZ = new char[READ_BLOCK_SIZE]; Permite leer bloques de texto
(se utiliza un bucle para leer tantos bloques contenga el archivo).
• Adicionalmente se requieren variables tipo String y tipo int para completar la
lectura.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Práctica 10
Archivos de Texto
• A continuación encontrarás el ícono correspondiente a la práctica con un
Archivos de Texto, en este caso el archivo de texto viene propuesto para
guardarse en la unidad externa SD del dispositivo móvil, por lo que si se
prueba físicamente debe ser en un dispositivo que cuente con entrada SD.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
GPS en dispositivos móviles
• El GPS fue diseñado inicialmente con fines militares pero hoy en día es
ampliamente utilizado para uso civil. Gracias al desfase temporal de las
señales recibidas por varios de los 31 satélites desplegados, este sistema es
capaz de posicionarnos en cualquier parte del planeta con una precisión de
15 metros.
• El uso de la tecnología GPS en dispositivos móviles se ha vuelto muy popular,
especialmente en las aplicaciones relacionadas con redes sociales y
comunicación personal o chat.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Android dispone de un interesante sistema de posicionamiento que combina
varias tecnologías:
• Sistema de localización global basado en GPS: Este sistema solo funciona si
disponemos de visibilidad directa de los satélites.
• Sistema de localización basado en la información recibida de las torres de
telefonía celular y de puntos de acceso Wi-Fi: Funciona en el interior de los
edificios.
Estos servicios se encuentran totalmente integrados en el sistema y son
usados por gran variedad de aplicaciones.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• El GPS presenta un inconveniente; solo funciona cuando tenemos visión
directa de los satélites. Para solventar este problema, Android combina esta
información con la recibida de las torres de telefonía celular y de puntos de
acceso Wi-Fi.
• Además, por razones de privacidad acceder a la información de localización
está en principio prohibido a las aplicaciones. Si estas desean hacer uso de
este servicio deben de solicitar el permiso adecuado.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• La tecnología GPS puede relacionarse directamente con las BD móviles, por
ejemplo;
 Si deseamos buscar cual es el hotel más barato en la ciudad donde
nos encontramos, debemos primero proporcionar nuestras
coordenadas al sistema, esto es por medio del servicio GPS, una vez
que se sabe cual es nuestra ubicación actual las aplicaciones
relacionadas podrán realizar la búsqueda de opciones de hospedaje
cercanas a nosotros.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Práctica 11
Uso del GPS
• A continuación encontrarás el ícono correspondiente a la práctica con un Uso
del GPS.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Uso de SQLite
¿Qué Es SQLite?
• Es un ligero motor de bases de datos de código abierto, que se caracteriza
por mantener el almacenamiento de información persistente de forma
sencilla.
• A diferencia de otros Sistemas gestores de bases de datos como MySQL, SQL
Server y Oracle DB, SQLite tiene las siguientes ventajas:
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
No requiere el soporte de un servidor: SQLite no ejecuta un
proceso para administrar la información, si no que
implementa un conjunto de librerías encargadas de la gestión.
No necesita configuración: Libera al programador de todo
tipo de configuraciones de puertos, tamaños, ubicaciones,
etc.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Usa un archivo para el esquema: Crea un archivo para el
esquema completo de una base de datos, lo que permite
ahorrarse preocupaciones de seguridad, ya que los datos de
las aplicaciones Android no pueden ser accedidos por
contextos externos.
Es de Código Abierto: Esta disponible al dominio público de
los desarrolladores al igual que sus archivos de compilación e
instrucciones de escalabilidad.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Clase heredada SQLiteOpenHelper()
• La creación, actualización y conexión de la base de datos se realiza desde la
aplicación a través de una clase que hereda de SqliteOpenHelper().
• Esta clase gestiona la creación de la base de datos la primera vez que se
accede a la misma con el método onCreate() y la actualización de la base de
datos cuando se detecte un cambio de versión de la misma con el método
onUpgrade().
• En esta clase es donde debemos tener todas las subrutinas que controlan
nuestra BD, es decir, consultas, inserción y borrado de registros.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Sentencias en SQLite
• sqLiteDatabase.execSQL(“query”): Este método ejecuta una sola sentencia
SQL que no retorne en filas. Por lo que el comando SELECT no es posible
usarlo dentro de él.
• SQLiteDatabase.insert(tabla, null, values): Es el método cuya funcionalidad
es añadir tuplas a nuestras tablas. Para usarlo hay que apoyarse previamente
con otras instrucciones.
 ContentValues var = new ContentValues(): crea un contendor de
valores para apoyo a la instrucción insert.
 var.put(campo, “valor”): pone en memoria el valor que será asignado al
campo correspondiente (SQLite no revisa si hay correspondencia de
valores).
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• Otra forma de insertar es hacerlo con execSQL(“query”) por ejemplo:
db.execSQL("INSERT INTO BANCOS VALUES (1,'Santander')");
Manejo de CURSORES en SQLite
• Para abrir un curso en Android por medio de SQLite debemos importar en la
clase correspondiente la librería import android.database.Cursor; que nos
proporciona las herramientas para realizar esta tarea.
• El uso de un cursor puede ser complicado al inicio, sin embargo es muy
efectivo ya que retrae una gran cantidad de registros de la DB y los almacena
en un objeto que podemos analizar registro por registro.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Procedimiento para usar cursores en Android y SQLite
• Primero debemos declarar un arreglo tipo String que contendrá los campos
que vamos a solicitar a SQLite:
String[] campos = new String[] {“bc_nombre"};
• Debemos también declarar un segundo arreglo tipo String que contendrá los
parámetros de entrada de la consulta:
String[] argumento = new String[] {id};
Notas: en este caso se esta solicitando extraer el contenido del campo
“nombre” y el parámetro de entrada es el valor que contenga la variable id.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• Una vez que tenemos los datos de entrada realizamos la consulta declarando el
cursor por medio de una variable la cual se ejecuta relacionándola a un query
de la BD actual, dicho query contiene como parámetros principales: el nombre
de la tabla, los campos que asignamos al arreglo correspondiente, la condición,
y el argumento de entrada, los demás campos se declaran null:
Cursor c = db.query(“BANCOS", campos, “bc_id=?", argumento, null, null, null);
• El query se ejecuta de inmediato asignando a la variable el conjunto de
registros, que en este caso es solo uno, por lo que podemos utilizar la
instrucción c.moveToFirst para leer ese registro y extraer su contenido por
medio de la instrucción c.getString(i).
if (c.moveToFirst())
nombre = c.getString(0);
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Práctica 12
• En el ícono que se encuentra abajo está el archivo que contiene una
aplicación ejemplo para el uso de SQLite, la misma, genera una base de
datos, inserta una serie de registros y después despliega un Activity que
permite consultar el contenido de los registros.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Modificar y eliminar información con SQLite
• El procedimiento modificar y eliminar información de nuestras BD en SQLite
puede realizarse con la instrucción excelSQL(); que ya hemos visto en la
práctica anterior.
• En la clase que hereda SQLiteOpenHelper debemos crear las rutinas para
modificar y eliminar y llamarlas desde el activity correspondiente por código
Java.
• A continuación veremos ejemplos de rutinas para eliminar y modificar
información por medio de SQLite.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Modificar información con SQLite
• El Siguiente procedimiento recibe como parámetros la base de datos y un arreglo
que contiene los valores de cada campo a modificar, es muy importante que los
valores tengan siempre el mismo orden para evitar que SQLite intente colocarlos
en un campo que no corresponda.
public void cambiar(SQLiteDatabase db, String [] datos) {
String cadena ="update Bancos set "+
“bc_nom=‘”+datos[1]+”’”+
“where bc_id =“+datos[0];
db.execSQL(cadena);
}
• Nótese el uso de los apóstrofes para acotar los
valores que son tipo String o Text, de lo contrario
SQLite marcará un error.
• En este caso el orden de los campos del arreglo es
primero el ID y después el Nombre del banco.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Eliminar información con SQLite
• El Siguiente procedimiento recibe como parámetros la base de datos y un
dato tipo String que contiene el ID que se va a eliminar, en este caso
cualquier validación previa (sobre si el dato existe o no) debe realizarse en
los segmentos de código Java donde se llama la rutina eliminar().
public void eliminar(SQLiteDatabase db, String ID) {
String cadena =“delete from Bancos "+
“where bc_id =“+ID;
db.execSQL(cadena);
}
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Uso de triggers en SQLite
• SQLite cuenta con soporte a trigges por lo que es importante tener claro
como se crean y se ejecutan dichos instrumentos en una BD.
Sintaxis para crear un trigger:
create [temp|temporary] trigger name
[before|after] [insert|delete|update|update of columns] on table
action
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• Cuando usamos triggers es importante tener en cuenta que los datos que
insertamos, modificamos o borramos pueden ser referenciados para mejorar
nuestro query, en estos casos podemos utilizar las instrucciones new y old:
• INSERT solo acepta NEW
• UPDATE acepta NEW y OLD
• DELETE solo acepta OLD
Ejemplo:
CREATE TRIGGER sumaStock AFTER INSERT ON compras
BEGIN
UPDATE stock SET st_cant = st_cant + NEW.cp_cant
WHERE st_producto = NEW.cp_producto;
END;
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Proyecto integrador
• Realice una app en Android utilizando las instrucciones
de consultar, insertar, eliminar y modificar de SQLite, en
una base de datos llamada AlumnosDB. La app debe
capturar la pantalla de un proceso de alumnos que
contiene Matrícula, Nombre, Apellidos, y Carrera en
una tabla llamada Alumnos.
• La carrera debe ser seleccionada de una lista por lo que
debes utilizar el componente adecuado para generarla.
Continua sig. diapositiva…
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
• La app debe contar con una tabla que contabilice la
cantidad de estudiantes por carrera por medio de
triggers; cada vez que un estudiante es agregado debe
incrementarse el contador por carrera, de igual forma,
cuando una estudiante es eliminado debe reducirse el
contador de la carrera correspondiente.
• También debe contar con un segundo activity, el cual
contendrá un reporte por carrera indicando cuantos
estudiantes hay activos en cada una de las mismas.
• Debes cuidar que cuando se pretenda modificar o
eliminar un dato que no exista enviar a pantalla el
mensaje apropiado.
BASE DE DATOS PARA DISPOSITIVOS MÓVILES
Bibliografía
• Grant Allen, Mike Owens. 2010. The Definitive Guide to SQLite, Second
Edition. EE. UU., New York. Apress. ISBN-13 (electronic): 978-1-4302-3226-1.
• José E. Amaro. 2013. El gran libro de programación avanzada con Android.
Primera Edición. España. Barcelona. Alfaomega. ISBN: 978-607-707-551-6.

Más contenido relacionado

La actualidad más candente

Resumen de los orígenes y evolución de las redes
Resumen de los orígenes y evolución de las redesResumen de los orígenes y evolución de las redes
Resumen de los orígenes y evolución de las redesMalena García Cadena
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 
Ventajas vs desventajas de los gestores de bases
Ventajas  vs desventajas de los gestores de basesVentajas  vs desventajas de los gestores de bases
Ventajas vs desventajas de los gestores de basesMiluska Guerra Guerra
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Diapositivas de dispositivos de red
Diapositivas de dispositivos de redDiapositivas de dispositivos de red
Diapositivas de dispositivos de redjimmy Apanu Inoach
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Evolución de las aplicaciones web
Evolución de las aplicaciones webEvolución de las aplicaciones web
Evolución de las aplicaciones webJorge Yngve Ohlin
 
Fire Bird
Fire BirdFire Bird
Fire Birdlejogu
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redesJess Ortiz
 
Tutorial voz ip packet tracer
Tutorial voz ip packet tracerTutorial voz ip packet tracer
Tutorial voz ip packet tracerJosé Guerrero
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasAntonio Soria
 
Tecnologías de transmisión de datos
Tecnologías de transmisión de datos Tecnologías de transmisión de datos
Tecnologías de transmisión de datos HumbertoTorres19
 

La actualidad más candente (20)

Resumen de los orígenes y evolución de las redes
Resumen de los orígenes y evolución de las redesResumen de los orígenes y evolución de las redes
Resumen de los orígenes y evolución de las redes
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
Fcaps
FcapsFcaps
Fcaps
 
El modem
El modemEl modem
El modem
 
Ventajas vs desventajas de los gestores de bases
Ventajas  vs desventajas de los gestores de basesVentajas  vs desventajas de los gestores de bases
Ventajas vs desventajas de los gestores de bases
 
Redes wan
Redes wanRedes wan
Redes wan
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
 
Diapositivas de dispositivos de red
Diapositivas de dispositivos de redDiapositivas de dispositivos de red
Diapositivas de dispositivos de red
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Evolución de las aplicaciones web
Evolución de las aplicaciones webEvolución de las aplicaciones web
Evolución de las aplicaciones web
 
Fire Bird
Fire BirdFire Bird
Fire Bird
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redes
 
Tutorial voz ip packet tracer
Tutorial voz ip packet tracerTutorial voz ip packet tracer
Tutorial voz ip packet tracer
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
 
Tecnologías de transmisión de datos
Tecnologías de transmisión de datos Tecnologías de transmisión de datos
Tecnologías de transmisión de datos
 
Estandares
EstandaresEstandares
Estandares
 

Similar a BD para Dispositivos Moviles - Unidad 3 SMBD Moviles

sistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalessistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalesEduardo Bernal Loayza
 
Base de datos móviles
Base de datos móvilesBase de datos móviles
Base de datos móvilesthgnj dfg
 
TENDENCIAS EN BASE DE DATOS II.pptx
TENDENCIAS EN BASE DE DATOS II.pptxTENDENCIAS EN BASE DE DATOS II.pptx
TENDENCIAS EN BASE DE DATOS II.pptxJpabloRodriguez1
 
Sgbd para moviles
Sgbd para movilesSgbd para moviles
Sgbd para movilesUPCI
 
base de datos para dispositivos móviles
base de datos para dispositivos móvilesbase de datos para dispositivos móviles
base de datos para dispositivos móvilesyavidamian
 
Administracion de Base de Datos
Administracion de Base de DatosAdministracion de Base de Datos
Administracion de Base de Datosfernandokong
 
Nos conocosca-los-contendientes
Nos conocosca-los-contendientesNos conocosca-los-contendientes
Nos conocosca-los-contendientesJesus Palomino
 
Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Dnt Guevara
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nubefatima213
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)Blas Balarezo Renteria
 
Presentacion cloud computer
Presentacion cloud computerPresentacion cloud computer
Presentacion cloud computerCielo Gris
 
Base De Datos
Base De  DatosBase De  Datos
Base De DatosValeria
 

Similar a BD para Dispositivos Moviles - Unidad 3 SMBD Moviles (20)

sistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalessistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionales
 
Base de datos móviles
Base de datos móvilesBase de datos móviles
Base de datos móviles
 
TENDENCIAS EN BASE DE DATOS II.pptx
TENDENCIAS EN BASE DE DATOS II.pptxTENDENCIAS EN BASE DE DATOS II.pptx
TENDENCIAS EN BASE DE DATOS II.pptx
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Sgbd para moviles
Sgbd para movilesSgbd para moviles
Sgbd para moviles
 
base de datos para dispositivos móviles
base de datos para dispositivos móvilesbase de datos para dispositivos móviles
base de datos para dispositivos móviles
 
Bddmoviles
BddmovilesBddmoviles
Bddmoviles
 
Administracion de Base de Datos
Administracion de Base de DatosAdministracion de Base de Datos
Administracion de Base de Datos
 
sql y no sql
 sql y no sql sql y no sql
sql y no sql
 
Henrychavezgomez
HenrychavezgomezHenrychavezgomez
Henrychavezgomez
 
Nos conocosca-los-contendientes
Nos conocosca-los-contendientesNos conocosca-los-contendientes
Nos conocosca-los-contendientes
 
Cesar rp
Cesar rpCesar rp
Cesar rp
 
Cesar rp
Cesar rpCesar rp
Cesar rp
 
Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01Computacionenlanube 130821155331-phpapp01
Computacionenlanube 130821155331-phpapp01
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nube
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)
 
Presentacion cloud computer
Presentacion cloud computerPresentacion cloud computer
Presentacion cloud computer
 
SYBASE - SQL ANYWHERE
SYBASE - SQL ANYWHERESYBASE - SQL ANYWHERE
SYBASE - SQL ANYWHERE
 
computacion en nube
computacion en nubecomputacion en nube
computacion en nube
 
Base De Datos
Base De  DatosBase De  Datos
Base De Datos
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 

Último (20)

AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 

BD para Dispositivos Moviles - Unidad 3 SMBD Moviles

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Bases de Datos para Dispositivos Móviles Unidad III: Sistemas Manejadores de BD Móviles
  • 2. Competencia: • Conocer los diferentes tipos de manejadores de base de datos para dispositivos móviles. BASE DE DATOS PARA DISPOSITIVOS MÓVILES
  • 3. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Sistemas Manejadores de Bases de Datos Móviles • Base de Datos Móviles: Es una Base de datos donde los usuarios pueden acceder a la información lejos de donde se encuentra almacenada la base de datos, se hace utilizando una conexión inalámbrica. Sistemas de Base de datos móviles: • Es la habilidad de recuperar la información de los sistemas de computación y/o repositorios de información sobre dispositivos móviles en cualquier momento en cualquier lugar. Además de introducir o actualizar información en los sistemas principales de forma remota desde el dispositivo móvil. Esto da toda la libertad al usuario de manipular toda la información desde lejos. • Es un sistema distribuido que soporta conectividad móvil, posee todas las capacidades de un sistema de base de datos y permiten a las unidades móviles, una completa movilidad espacial por medio de la tecnología inalámbrica
  • 4. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Procesamiento de Consultas El único reto en los SMBDM es el procesamiento de consultas (queries) que dependen de la localización física de la unidad móvil. Consultas dependientes de la localización: Son consultas que involucran la localización física de la unidad móvil en combinación con otros datos como la localización de otras unidades móviles o estructuras físicas.
  • 5. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Manejo de transacciones • Se considera el manejo de transacciones cuando un dispositivo móvil inicia una transacción hacia la base de datos o hacia un servidor fijo. La transacción puede ejecutarse en el servidor o en el dispositivo móvil. Se debe tomar en cuenta: • Desconexiones, movilidad, errores, fallas en el dispositivo móvil. • Se debe mantener la autonomía y la consistencia local del SMBD.
  • 6. BASE DE DATOS PARA DISPOSITIVOS MÓVILES IBM: DB2 Everyplace • Forma parte de la solución de IBM para procesos de informática distribuida. Mediante DB2 Everyplace, los profesionales que se desplazan con frecuencia (tales como vendedores, inspectores, auditores, técnicos de mantenimiento, médicos, agentes inmobiliarios y tasadores de seguros) pueden tener acceso a datos vitales que necesitan mientras están lejos de su centro de trabajo. • Las empresas pueden ahora transferir sus datos corporativos DB2 a dispositivos portátiles o incorporados. SISTEMAS MANEJADORES DE BASES DE DATOS MÓVILES
  • 7. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • Sybase ha creado una tecnología que permite una empresa sin cables para sus clientes y socios mediante soluciones de software de integración y desarrollo, infraestructura móvil. • SQL Anywhere Studio contiene la última versión de la base de datos móvil más vendida, Adaptive Server Anywhere. Este pequeño, aunque muy potente motor de bases de datos, puede soportar implementaciones mono- usuario o multi-usuario y provee completo procesamiento transaccional de alto rendimiento. Estas características combinadas, hacen que sea el ambiente ideal de base de datos para entornos móviles. SYBASE ADAPTIVE SERVER ANYWHERE
  • 8. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • Microsoft provee una herramienta que consiente extender las aplicaciones empresariales de un organización, a los dispositivos móviles. • SQL Server CE es ideal para aplicaciones móviles, ya que permite implementar la funcionalidad de una base de datos relacional y tiene la capacidad de brindar acceso a los datos de una manera flexible y similar a SQL Server, al mismo tiempo que permite conectarse a un servidor SQL Server central y mantener actualizada la información. MICROSOFT SQL SERVER CE
  • 9. BASE DE DATOS PARA DISPOSITIVOS MÓVILES SQLite • Es un sistema de gestión de bases de datos relacional compatible con ACID (En bases de datos se denomina ACID a un conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción. • Así pues, si un sistema de gestión de bases de datos es ACID compliant quiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las características ACID.
  • 10. BASE DE DATOS PARA DISPOSITIVOS MÓVILES SQLite En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad), contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp. A diferencia de los sistemas de gestión de bases de datos cliente- servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.
  • 11. BASE DE DATOS PARA DISPOSITIVOS MÓVILES ESoftware que utiliza SQLite: Es utilizado en una gran variedad de aplicaciones, destacando las siguientes: • Adobe Photoshop Elements • Mozilla Firefox • Apple Mail • El navegador web Ópera • Skype • XBMC Media Center: (antes conocido como “XBox Media Center”) • NiconPersonal: Agenda personal de contactos escrita en JAVA
  • 12. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas integrados, y también está incluido en: • Android • BlackBerry • Google Chrome • iOS • Maemo • MeeGo • Symbian OS • webOS
  • 13. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Generación y lectura de archivos de texto en un dispositivo móvil • Una de las formas más básicas para guardar la información son los archivos de texto. • Muchas veces debemos guardar la información que tenemos en pantalla, sin que esta información esté relacionada con una base de datos en particular, lo correcto en estos casos es generar un archivo de datos y guardar allí la información para consultarla posteriormente. • Por medio de Java es posible crear archivos de texto en Android y también consultarlos. • A continuación veremos las instrucciones necesarias para el manejo de archivos de texto básicos en Android.
  • 14. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Instrucciones para escritura en archivos de texto • FileOutputStream varX = openFileOutput("textFile.txt", MODE_PRIVATE); La clase FileOutputStream permite tener acceso al fichero para escribir info. • OutputStreamWriter varY = new OutputStreamWriter(varX); Sirve para convertir los caracteres en bytes al momento de escribir en el archivo. • varY.write(cadena); Escribe los datos en el archivo. • varY.flush(); Libera los recursos utilizados al momento de escribir. • varY.close(); Cierra el archivo que se estaba utilizando.
  • 15. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Instrucciones para Lectura en archivos de texto • FileInputStream fis = openFileInput("textFile.txt"); La clase FileInputStream permite tener acceso al archivo para leer info. • InputStreamReader isr = new InputStreamReader(fis); Sirve para convertir los bytes en caracteres al momento de leer el archivo. • char[] varZ = new char[READ_BLOCK_SIZE]; Permite leer bloques de texto (se utiliza un bucle para leer tantos bloques contenga el archivo). • Adicionalmente se requieren variables tipo String y tipo int para completar la lectura.
  • 16. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Práctica 10 Archivos de Texto • A continuación encontrarás el ícono correspondiente a la práctica con un Archivos de Texto, en este caso el archivo de texto viene propuesto para guardarse en la unidad externa SD del dispositivo móvil, por lo que si se prueba físicamente debe ser en un dispositivo que cuente con entrada SD.
  • 17. BASE DE DATOS PARA DISPOSITIVOS MÓVILES GPS en dispositivos móviles • El GPS fue diseñado inicialmente con fines militares pero hoy en día es ampliamente utilizado para uso civil. Gracias al desfase temporal de las señales recibidas por varios de los 31 satélites desplegados, este sistema es capaz de posicionarnos en cualquier parte del planeta con una precisión de 15 metros. • El uso de la tecnología GPS en dispositivos móviles se ha vuelto muy popular, especialmente en las aplicaciones relacionadas con redes sociales y comunicación personal o chat.
  • 18. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Android dispone de un interesante sistema de posicionamiento que combina varias tecnologías: • Sistema de localización global basado en GPS: Este sistema solo funciona si disponemos de visibilidad directa de los satélites. • Sistema de localización basado en la información recibida de las torres de telefonía celular y de puntos de acceso Wi-Fi: Funciona en el interior de los edificios. Estos servicios se encuentran totalmente integrados en el sistema y son usados por gran variedad de aplicaciones.
  • 19. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • El GPS presenta un inconveniente; solo funciona cuando tenemos visión directa de los satélites. Para solventar este problema, Android combina esta información con la recibida de las torres de telefonía celular y de puntos de acceso Wi-Fi. • Además, por razones de privacidad acceder a la información de localización está en principio prohibido a las aplicaciones. Si estas desean hacer uso de este servicio deben de solicitar el permiso adecuado.
  • 20. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • La tecnología GPS puede relacionarse directamente con las BD móviles, por ejemplo;  Si deseamos buscar cual es el hotel más barato en la ciudad donde nos encontramos, debemos primero proporcionar nuestras coordenadas al sistema, esto es por medio del servicio GPS, una vez que se sabe cual es nuestra ubicación actual las aplicaciones relacionadas podrán realizar la búsqueda de opciones de hospedaje cercanas a nosotros.
  • 21. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Práctica 11 Uso del GPS • A continuación encontrarás el ícono correspondiente a la práctica con un Uso del GPS.
  • 22. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Uso de SQLite ¿Qué Es SQLite? • Es un ligero motor de bases de datos de código abierto, que se caracteriza por mantener el almacenamiento de información persistente de forma sencilla. • A diferencia de otros Sistemas gestores de bases de datos como MySQL, SQL Server y Oracle DB, SQLite tiene las siguientes ventajas:
  • 23. BASE DE DATOS PARA DISPOSITIVOS MÓVILES No requiere el soporte de un servidor: SQLite no ejecuta un proceso para administrar la información, si no que implementa un conjunto de librerías encargadas de la gestión. No necesita configuración: Libera al programador de todo tipo de configuraciones de puertos, tamaños, ubicaciones, etc.
  • 24. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Usa un archivo para el esquema: Crea un archivo para el esquema completo de una base de datos, lo que permite ahorrarse preocupaciones de seguridad, ya que los datos de las aplicaciones Android no pueden ser accedidos por contextos externos. Es de Código Abierto: Esta disponible al dominio público de los desarrolladores al igual que sus archivos de compilación e instrucciones de escalabilidad.
  • 25. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Clase heredada SQLiteOpenHelper() • La creación, actualización y conexión de la base de datos se realiza desde la aplicación a través de una clase que hereda de SqliteOpenHelper(). • Esta clase gestiona la creación de la base de datos la primera vez que se accede a la misma con el método onCreate() y la actualización de la base de datos cuando se detecte un cambio de versión de la misma con el método onUpgrade(). • En esta clase es donde debemos tener todas las subrutinas que controlan nuestra BD, es decir, consultas, inserción y borrado de registros.
  • 26. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Sentencias en SQLite • sqLiteDatabase.execSQL(“query”): Este método ejecuta una sola sentencia SQL que no retorne en filas. Por lo que el comando SELECT no es posible usarlo dentro de él. • SQLiteDatabase.insert(tabla, null, values): Es el método cuya funcionalidad es añadir tuplas a nuestras tablas. Para usarlo hay que apoyarse previamente con otras instrucciones.  ContentValues var = new ContentValues(): crea un contendor de valores para apoyo a la instrucción insert.  var.put(campo, “valor”): pone en memoria el valor que será asignado al campo correspondiente (SQLite no revisa si hay correspondencia de valores).
  • 27. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • Otra forma de insertar es hacerlo con execSQL(“query”) por ejemplo: db.execSQL("INSERT INTO BANCOS VALUES (1,'Santander')"); Manejo de CURSORES en SQLite • Para abrir un curso en Android por medio de SQLite debemos importar en la clase correspondiente la librería import android.database.Cursor; que nos proporciona las herramientas para realizar esta tarea. • El uso de un cursor puede ser complicado al inicio, sin embargo es muy efectivo ya que retrae una gran cantidad de registros de la DB y los almacena en un objeto que podemos analizar registro por registro.
  • 28. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Procedimiento para usar cursores en Android y SQLite • Primero debemos declarar un arreglo tipo String que contendrá los campos que vamos a solicitar a SQLite: String[] campos = new String[] {“bc_nombre"}; • Debemos también declarar un segundo arreglo tipo String que contendrá los parámetros de entrada de la consulta: String[] argumento = new String[] {id}; Notas: en este caso se esta solicitando extraer el contenido del campo “nombre” y el parámetro de entrada es el valor que contenga la variable id.
  • 29. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • Una vez que tenemos los datos de entrada realizamos la consulta declarando el cursor por medio de una variable la cual se ejecuta relacionándola a un query de la BD actual, dicho query contiene como parámetros principales: el nombre de la tabla, los campos que asignamos al arreglo correspondiente, la condición, y el argumento de entrada, los demás campos se declaran null: Cursor c = db.query(“BANCOS", campos, “bc_id=?", argumento, null, null, null); • El query se ejecuta de inmediato asignando a la variable el conjunto de registros, que en este caso es solo uno, por lo que podemos utilizar la instrucción c.moveToFirst para leer ese registro y extraer su contenido por medio de la instrucción c.getString(i). if (c.moveToFirst()) nombre = c.getString(0);
  • 30. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Práctica 12 • En el ícono que se encuentra abajo está el archivo que contiene una aplicación ejemplo para el uso de SQLite, la misma, genera una base de datos, inserta una serie de registros y después despliega un Activity que permite consultar el contenido de los registros.
  • 31. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Modificar y eliminar información con SQLite • El procedimiento modificar y eliminar información de nuestras BD en SQLite puede realizarse con la instrucción excelSQL(); que ya hemos visto en la práctica anterior. • En la clase que hereda SQLiteOpenHelper debemos crear las rutinas para modificar y eliminar y llamarlas desde el activity correspondiente por código Java. • A continuación veremos ejemplos de rutinas para eliminar y modificar información por medio de SQLite.
  • 32. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Modificar información con SQLite • El Siguiente procedimiento recibe como parámetros la base de datos y un arreglo que contiene los valores de cada campo a modificar, es muy importante que los valores tengan siempre el mismo orden para evitar que SQLite intente colocarlos en un campo que no corresponda. public void cambiar(SQLiteDatabase db, String [] datos) { String cadena ="update Bancos set "+ “bc_nom=‘”+datos[1]+”’”+ “where bc_id =“+datos[0]; db.execSQL(cadena); } • Nótese el uso de los apóstrofes para acotar los valores que son tipo String o Text, de lo contrario SQLite marcará un error. • En este caso el orden de los campos del arreglo es primero el ID y después el Nombre del banco.
  • 33. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Eliminar información con SQLite • El Siguiente procedimiento recibe como parámetros la base de datos y un dato tipo String que contiene el ID que se va a eliminar, en este caso cualquier validación previa (sobre si el dato existe o no) debe realizarse en los segmentos de código Java donde se llama la rutina eliminar(). public void eliminar(SQLiteDatabase db, String ID) { String cadena =“delete from Bancos "+ “where bc_id =“+ID; db.execSQL(cadena); }
  • 34. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Uso de triggers en SQLite • SQLite cuenta con soporte a trigges por lo que es importante tener claro como se crean y se ejecutan dichos instrumentos en una BD. Sintaxis para crear un trigger: create [temp|temporary] trigger name [before|after] [insert|delete|update|update of columns] on table action
  • 35. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • Cuando usamos triggers es importante tener en cuenta que los datos que insertamos, modificamos o borramos pueden ser referenciados para mejorar nuestro query, en estos casos podemos utilizar las instrucciones new y old: • INSERT solo acepta NEW • UPDATE acepta NEW y OLD • DELETE solo acepta OLD Ejemplo: CREATE TRIGGER sumaStock AFTER INSERT ON compras BEGIN UPDATE stock SET st_cant = st_cant + NEW.cp_cant WHERE st_producto = NEW.cp_producto; END;
  • 36. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Proyecto integrador • Realice una app en Android utilizando las instrucciones de consultar, insertar, eliminar y modificar de SQLite, en una base de datos llamada AlumnosDB. La app debe capturar la pantalla de un proceso de alumnos que contiene Matrícula, Nombre, Apellidos, y Carrera en una tabla llamada Alumnos. • La carrera debe ser seleccionada de una lista por lo que debes utilizar el componente adecuado para generarla. Continua sig. diapositiva…
  • 37. BASE DE DATOS PARA DISPOSITIVOS MÓVILES • La app debe contar con una tabla que contabilice la cantidad de estudiantes por carrera por medio de triggers; cada vez que un estudiante es agregado debe incrementarse el contador por carrera, de igual forma, cuando una estudiante es eliminado debe reducirse el contador de la carrera correspondiente. • También debe contar con un segundo activity, el cual contendrá un reporte por carrera indicando cuantos estudiantes hay activos en cada una de las mismas. • Debes cuidar que cuando se pretenda modificar o eliminar un dato que no exista enviar a pantalla el mensaje apropiado.
  • 38. BASE DE DATOS PARA DISPOSITIVOS MÓVILES Bibliografía • Grant Allen, Mike Owens. 2010. The Definitive Guide to SQLite, Second Edition. EE. UU., New York. Apress. ISBN-13 (electronic): 978-1-4302-3226-1. • José E. Amaro. 2013. El gran libro de programación avanzada con Android. Primera Edición. España. Barcelona. Alfaomega. ISBN: 978-607-707-551-6.