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

download BASES DE DATOS AVANZADAS - Universidad .Ejemplo base de datos m³viles: Aplicaci³n ... Ejemplo

of 35

  • date post

    28-Sep-2018
  • Category

    Documents

  • view

    232
  • download

    1

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: L