BASES DE DATOS AVANZADAS - Universidad … · Ejemplo base de datos móviles: Aplicación ......

of 35 /35
Facultad de Estadística e Informática BASES DE DATOS AVANZADAS

Embed Size (px)

Transcript of BASES DE DATOS AVANZADAS - Universidad … · Ejemplo base de datos móviles: Aplicación ......

  • Facultad de Estadstica e Informtica

    BASES DE DATOS AVANZADAS

  • Clase 24

  • Agenda

    Ejemplo base de datos mviles: Aplicacin Android SQLite

  • Aplicacin Android SQLiteEjemplo

  • Aplicacin Android SQLite

    Se desarrollar una pequea aplicacin que validar la existencia y registrar un usuario.

    Sistema operativo cliente: Android. Plataforma de desarrollo: Xamarin, implementacin

    libre de la plataforma de desarrollo .NET para dispositivos Android, iOS y GNU/Linux.

    Base de datos: SQLite

  • Aplicacin Android SQLite

  • Aplicacin Android SQLite

    Puesto que no se instalar el emulador de Android, se depurar en un dispositivo mvil. Para ello se debe habilitar la depuracin por usb en el aparato.

    En Configuracion Acerca del telfono Versin de compilacin (Hacer clic varias veces)

    Programador/Developer Depuracion por usb

  • Aplicacin Android SQLite

    Paso 1. Crear el proyecto

  • Aplicacin Android SQLite

    Paso 2. Agregar la vista para usuario nuevo.

    En la carpeta Resources

    layout

  • Aplicacin Android SQLite

    Newuser

  • Aplicacin Android SQLite

    Cdigo para archivo Newuser.axml

  • Aplicacin Android SQLite

    Cdigo para archivo Main.axml

  • Aplicacin Android SQLite

    Paso 3: Agregar la Actividad RegisterActivityen la raz del proyecto

    RegisterActivity

  • Aplicacin Android SQLite

    Aadir el cdigo correspondiente a RegisterActivity.cs

    using System;using System.Collections.Generic;using System.Linq;using System.Text;

    using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using System.IO;using SQLite;

    namespace SQLite{[Activity(Label = "RegisterActivity")]public class RegisterActivity : Activity{EditText txtusername;EditText txtPassword;Button btncreate;protected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState);// Set our view from the "main" layout resourceSetContentView(Resource.Layout.Newuser);

    // Create your application herebtncreate = FindViewById(Resource.Id.btnCrear);txtusername = FindViewById(Resource.Id.txtUserName);txtPassword = FindViewById(Resource.Id.txtPassword);btncreate.Click += Btncreate_Click;}private void Btncreate_Click(object sender, EventArgs e){try{string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3");var db = new SQLiteConnection(dpPath);db.CreateTable();LoginTable tbl = new LoginTable();tbl.username = txtusername.Text;tbl.password = txtPassword.Text;db.Insert(tbl);Toast.MakeText(this, "Record Added Successfully...,", ToastLength.Short).Show();}catch (Exception ex){Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();}}}}

  • Aplicacin Android SQLite

    Paso 4. Agregar la clase LoginTable.cs, en la raz del proyecto

    LoginTable

  • Aplicacin Android SQLiteusing System;using System.Collections.Generic;using System.Linq;using System.Text;

    using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;

    namespace SQLite{class LoginTable{[PrimaryKey, AutoIncrement, Column("_Id")]public int id { get; set; }

    [MaxLength(25)]public string username { get; set; }

    [MaxLength(15)]public string password { get; set; }

    }}

    Aadir cdigo a la clase LoginTable.cs

  • Aplicacin Android SQLite

    Paso 5. Agregar la referencia SQLite

  • Aplicacin Android SQLite

    sqlite-net-pcl

  • Aplicacin Android SQLite

    Paso 6. Agregar el cdigo correspondiente a la clase MainActivity.cs

    using Android.App;using Android.Widget;using Android.OS;using System;using System.IO;using SQLite;

    namespace SQLite{[Activity(Label = "SQLite", MainLauncher = true, Icon = "@drawable/icon")]public class MainActivity : Activity{EditText txtusername;EditText txtPassword;Button btncreate;Button btnsign;protected override void OnCreate(Bundle bundle){base.OnCreate(bundle);

    // Set our view from the "main" layout resourceSetContentView(Resource.Layout.Main);

    // Get our button from the layout resource, // and attach an event to itbtnsign = FindViewById(Resource.Id.btnLogin);btncreate = FindViewById(Resource.Id.btnRegistrar);txtusername = FindViewById(Resource.Id.txtUserName);txtPassword = FindViewById(Resource.Id.txtPassword);btnsign.Click += Btnsign_Click;btncreate.Click += Btncreate_Click;CreateDB();}

    private void Btncreate_Click(object sender, EventArgs e){StartActivity(typeof(RegisterActivity));}

    private void Btnsign_Click(object sender, EventArgs e){try{string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Call Databasevar db = new SQLiteConnection(dpPath);var data = db.Table(); //Call Tablevar data1 = data.Where(x => x.username == txtusername.Text && x.password == txtPassword.Text).FirstOrDefault(); //Linq Queryif (data1 != null){Toast.MakeText(this, "Login Success", ToastLength.Short).Show();}else{Toast.MakeText(this, "Username or Password invalid", ToastLength.Short).Show();}}catch (Exception ex){Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();}}public string CreateDB(){var output = "";output += "Creating Databse if it doesnt exists";string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Create New Databasevar db = new SQLiteConnection(dpPath);output += "\n Database Created....";return output;}}}

  • Aplicacin Android SQLite

    Paso 7. Compila la aplicacin y ejectala.

  • Bases de datos en la nubeCMPUTO EN LA NUBE

  • Facultad de Estadstica e Informtica

    IntroduccinGeneralmente las bases de datos empresariales siempre han sido la respuesta para almacenar los datos en las empresas.

    Pero la demanda de mayores capacidades de almacenamiento y necesidad de mayor velocidad de implementacin, as como los costos de mantenimiento, han ocasionado que las soluciones locales, ya no sean la mejor solucin.

    Se necesitan semanas para configurar una nueva base de datos. La necesito ahora!

    Necesito comprar un servidor completo para nuestra pequea base de datos?

    Es muy costoso el mantenimiento (conectividad, respaldos, licencias) de nuestra base de datos

  • Facultad de Estadstica e Informtica

    Cmputo en la nubeLa computacin en nube se refiere a una categora de soluciones de tecnologa que permite a los usuarios acceder a recursos informticos (en este caso, a recursos de datos) on-demand, segn sea necesario, as los recursos sean fsicos o virtuales, dedicados o compartidos, y sin importar la forma en que se acceda a ellos (mediante conexin directa, red de rea local [LAN], red de rea amplia [WAN] o Internet).

    Los usuarios no necesitan ni el conocimiento, ni el control de la tecnologa, ni la infraestructura subyacente que dan soporte al conjunto de servicios.

  • Facultad de Estadstica e Informtica

    Ventajas de Cmputo en la nubeEscalabilidad.

    Rapidez de implementacin.

    Costos variables.

    Seguridad y fiabilidad. P.ej. Microsoft garantiza un 99,99 % de tiempo de actividad para

    los niveles Bsico, Estndar y Premium de SQL Database.

  • Facultad de Estadstica e Informtica

    Desventajas de Cmputo en la nubeFalta de control sobre los datos fsicos.

    Confidencialidad en la transmisin de los datos.

    Falta de control fsico sobre la arquitectura de software y hardware.

    Dependencia de terceros e incremento de posibles puntos crticos (fallo en las comunicaciones).

  • Bases de datos en la nubeBASES DE DATOS EN LA NUBE

  • Facultad de Estadstica e Informtica

    Bases de datos en la nube (DaaS)Consiste en auto-solicitar un espacio de almacenamiento en Internet (la nube), con caractersticas (capacidad, velocidad, costo) de acuerdo a las necesidades. Todo esto de forma inmediata y listo para explotarse.

    Es un intento por minimizar los costos y tiempos de implementacin de servidores de bases de datos, las organizaciones se estn moviendo hacia un modelo de Base de Datos Como Servicio (Database as a Service o DaaS).

    Evita la compra/instalacin de licencias de sistemas operativos de servidor y sistemas manejadores de bases de datos.

    Simplemente se renta (normalmente a un bajo costo) el servicio de base de datos, se utiliza y si cuando ya no se necesite, se desecha.

  • Facultad de Estadstica e Informtica

    Tipos de nubesPblicas. Recursos proporcionados por un proveedor externo y que accedemos por medio de Internet.

    Privadas. Recursos propios de la empresa. Algunos beneficios del cmputo en la nube eliminando algunos inconvenientes.

    Hbridas. Uso combinado. Ofrece varias opciones.

    Contingencias

    Mayor control.

  • Facultad de Estadstica e Informtica

    CaractersticasParmetros preconfigurados:

    Las bases de datos en la nube suelen estar preconfigurados con un razonable conjunto de parmetros y valores adecuados para la clase de instancia que vaya a utilizar.

    Supervisin y mtricas:

    Las bases de datos en la nube poseen herramientas para ver mtricas operativas clave de las instancias que se encuentran en ejecucin, incluido el uso de la capacidad de CPU, memoria, almacenamiento, operaciones de entrada y salida, y conexiones.

    Parches de software automticos:

    Las bases de datos en la nube suelen garantizar que el software de la base de datos permanezca actualizado con los ltimos parches disponibles en el mercado.

  • Facultad de Estadstica e Informtica

    CaractersticasCopia de seguridad automatizadas: Las bases de datos en la nube tienen de forma predeterminada la funcin de

    copia de base de datos y transacciones retenindolas segn especifique el usuario, permitindole restaurar la instancia de base de datos en cualquier segundo de lo retenido.

    Escalamiento automtico: Las bases de datos en la nube poseen la capacidad de escalar rpidamente en

    minutos recursos como capacidad de proceso, memoria y almacenamiento.

  • Facultad de Estadstica e Informtica

    CaractersticasAislamiento y seguridad Las bases de datos en la nube brindan el aislamiento de las

    instancias de la base de datos mediante conexiones seguras, como IPsec (Internet Security Protocol que asegura las comunicaciones sobre el Protocolo de Internet) mediante la encriptacin de las comunicaciones.

  • Facultad de Estadstica e Informtica

    Bases de datos comercialesRelacionales NoSQLAmazon Web Services2002

    MySQLOracleMSSQL

    SimpleDBDynamoDB

    Windows Azure2009

    SQL DatabaseMySQLPostgres

    Azure BlobsAzure TablesAzure Files

    Google API2006

    Google Cloud SQL Persistent DiskCloud Bigtable

  • Facultad de Estadstica e Informtica

    BD locales Vs BD en la nube

    BD Locales BD en la nube

    Recuperacin de fallos manual Rpida recuperacin de fallos

    Configuraciones avanzadas Configuracin sencilla, interfaz para cualquier usuario

    Respaldo y restauracin de manera manual Respaldos y restauracin de forma automtica mediante consola Web

    Requiere de herramientas externas para comprobar disponibilidad

    Monitoreo automtico incluido

    Requiere de conocimiento de sistemas operativos

    No es necesario ningn conocimiento del sistema operativo

    Escalado y reconfiguracin manual Proceso automatizado de escalamiento definiendo las reglas de escalabilidad

    Costo por el lugar fsico, el hardware, licencias de software y especialistas en mantenimiento

    Costo solo por el uso de la base de datos

  • Gracias por su atencin

  • Facultad de Estadstica e Informtica

    ReferenciasEvolucin de las Bases de Datos: de Fijas a Mviles (2009).Paola Delgado, Luis Gama. Universidad Autnoma de Baja California. Obtenido de: http://campusv.uaem.mx/cicos/imagenes/memorias/7mocicos2009/Articulos/Evolucion%20de%20las%20Bases%20de%20Datos.pdf

    Mobile Databases (2012). Niloofar Banivaheb. Lassonde School of Engineering. Obtenido de: http://www.cse.yorku.ca/~jarek/courses/6421/F12/presentations/Mobile-Databases_%20Presentation.pdf

    Mobile Database Systems (2006). Vijal Kumar. Computer Science and Informatics. University of Missouri-Kansas City. Wiley Press. Obtenido de: https://www.cs.uic.edu/~boxu/mp2p/mobile-databases.pdf

    Aplicacin Android SQLite

    http://www.c-sharpcorner.com/article/xamarin-android-create-login-using-sqlite-database/

    http://campusv.uaem.mx/cicos/imagenes/memorias/7mocicos2009/Articulos/Evolucion de las Bases de Datos.pdfhttp://www.cse.yorku.ca/~jarek/courses/6421/F12/presentations/Mobile-Databases_ Presentation.pdfhttps://www.cs.uic.edu/~boxu/mp2p/mobile-databases.pdfhttp://www.c-sharpcorner.com/article/xamarin-android-create-login-using-sqlite-database/