Top Banner
Facultad de Estadística e Informática BASES DE DATOS AVANZADAS
43

BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Sep 26, 2018

Download

Documents

phambao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

BASES DE DATOS AVANZADAS

Page 2: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Clase 23

Page 3: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Agenda

➢Revisión Proyecto ADO

➢Repaso Proyecto ADO

➢Bases de Datos Móviles

Page 4: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Repaso Proyecto ADO

Page 5: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de De forma previa:

✓Entity Framework✓Agregamos las conexiones a base de datos distribuida✓Ayuda para el manejo de validaciones en español✓Clase Filtro para verificar que se ha seleccionado una

Región✓Usada en BaseController [VerificaRegion]

Page 6: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de Modelos

Region RegionLocal Estado Pasajero Corrida Viaje

Page 7: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de DbContext

CentroDbContext SurDbContext NorteDbContext

BaseDbContext

Page 8: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de Migración de LOS MODELOS a la base de datos usando la consola de administración de paquetes✓Enable-Migrations✓Habilita la migración creando la carpeta Migrations/Centro,

Migrations/Sur, Migrations/Norte.✓ Se inicializan las tablas ‘Estado’, ‘Region’ y ‘RegionLocal’ de cada

base de datos.

✓Add-Migration – Crea las tablas de acuerdo a los contextos y Modelos otorgados

✓Update-Database – Aplica las migraciones a la base de datos

Page 9: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de

ViewModels

RegionViewModel CorridaViewModel ConsultaBoletosViewModel

Usada en ViewsRegionIndex

Page 10: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de

Controladores

HomeController RegionController EstadosController PasajerosControllerCorridasControll

erConsultaBoleto

sControllerBoletosControl

ler

BaseController

Inicia con [VerificaRegion]Métodos como:ObtenCorridaObtenAsientosDisponiblesPopulateEstadosLocalDropDownList

Obtiene los Estados de la Región seleccionada

Página Inicio del sistema, donde es seleccionada la región

Administra los pasajeros

Administra las corridas

Consulta de todas las corridas con el origen, destino y la fecha seleccionada

Asigna un boleto, con una fecha y un asiento a un pasajero

Página Inicio de cada región

Page 11: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Qué hemos realizado hasta ahora

de

Vistas

Boletos

_PartialCorridas

Eliminar

Index

Nuevo

ConsultaBoletos

_PartialCorridas

Index

Corridas

Editar

Eliminar

Index

Nuevo

Estado

Index

Home

Index

Pasajeros

Editar

Eliminar

Index

Nuevo

Region

Index

Shared/_Layout.cshtml

Page 12: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Ejecutar el proyecto

Page 13: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Verifique que existan estados por Región

Page 14: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Agregue lo siguiente3 Pasajeros

Page 15: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Agregue lo siguiente3 Corridas con la misma fecha, origen y destino pero distinta hora

2 Corridas con la misma fecha, origen y destino (distinta a la anterior) pero distinta hora

Page 16: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Realice consultas de boletosRealice consultas en los estados y fechas ingresadas

Page 17: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Comprar boletosCompre 2 boletos mismo horario para Ciudad de México - Puebla

Se han comprado 2 boletos

Page 18: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Verifique la Base de Datos Distribuida

Page 19: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

ReferenciasMicrosoft Virtual Academy. (9 agosto de 2014). Introduction to ASP.NET MVC. Obtenido de: https://mva.microsoft.com/en-US/training-courses/introduction-to-asp-net-mvc-8322?l=nKZwZ8Zy_3504984382

Rick Anderson. (28 sep de 2015). Getting Started with ASP.NET MVC 5. Obtenido de https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started

Nemanja, Kojic. ASP.NET MVC 5. Introducing ASP.NET MVC5. Microsoft. Obtenido de http://rti.etf.bg.ac.rs/rti/si3iep/vezbe-2014/ASP%20.NET%20MVC.pdf

Page 20: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Bases de datosmóviles

MAYO 2017

Page 21: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

IntroducciónBASES DE DATOS MÓVILES

Page 22: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

IntroducciónSiempre ha existido la necesidad de organizar la información en papel y sistemas manuales.

1960. Los sistemas comienzan a ser computarizados inciando con el IMS (Information Managemenr System) de IBM que permitía ver los datos en forma de un árbol jerárquico.

1970. El Dr. E. F. Codd propone el concepto de Base de Datos Relacional:◦ Manejo de tablas, filas y columnas con un conjunto de operaciones lógicas.

1979. Primer producto comercial Oracle Database.

1980s. Surgen otros productos de BD relacionales:◦ SQL Server (1989)

◦ PostgreSQL (1986 primera versión, 1997 liberación)

Page 23: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Introducción1990s. Bases de datos relacionales con soporte para objetos.◦ Oracle, PostgreSQL

2000s. Bases de datos totalmente orientadas a objetos.◦ Orion DB, Open OODB, Objectivity DB

2000s. Bases de datos móviles.◦ SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact,

◦ Sybase SQL Anywhere.

Page 24: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Cómputo móvilCon el surgimiento de las redes inalámbricas, surge el concepto de cómputo móvil donde se reúnen en un mismo ambiente dispositivos móviles, que a través de una conexión inalámbrica acceden a una red para intercambiar información y compartir recursos

ofreciendo a los usuarios movilidad y

portabilidad.

Page 25: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Cómputo móvilY con el surgimiento de Internet, ya no es necesario estar físicamente frente a una computadora en la red local donde se encuentran los datos y el cómputo móvil cobra mayor relevancia.

Sin embargo, la computación móvil aún tiene grandes retos, principalmente que los dispositivos aún presentan ciertas deficiencias en rendimiento de energía, capacidad de procesamiento, memoria y conectividad respecto a su contraparte de escritorio.

Page 26: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Dispositivos móviles➢Entre los dispositivos móviles más populares se encuentran los teléfonos celulares, tabletas y laptops.

➢Generalmente se componen de: CPU, memoria interna, conexión a red, batería, GPS, cámara fotográfica, lector de huellas.

Page 27: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Dispositivos móvilesLos dispositivos móviles presentan las siguientes desventajas: ◦Desconexiones frecuentes debido a que los clientes móviles no

permanecen conectados de manera continúa en una misma red, algunas veces porque el dispositivo es encendido y apagado, otras veces porque el cliente decide desconectarse para conectarse a otra red.

Page 28: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Dispositivos móvilesLos dispositivos móviles presentan las siguientes desventajas: ◦ Presentan limitaciones en los recursos de energía, teniendo

muchas veces una cantidad de carga limitada.

◦ El tamaño de la pantalla que tienen algunos de los dispositivos muchas veces es muy pequeña y la información no es desplegada de la mejor manera.

Page 29: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Bases de datos móvilesEs 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.

Page 30: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Bases de datos móvilesVan dirigidas a sistemas informáticos portátiles como computadoras personales y dispositivos móviles que se conectan con las estaciones base (servidores) mediante redes de comunicación digitales inalámbricas.

Además deben funcionar mientras estén desconectadas de la red a diferencia de los sistemas de bases de datos fijos.

Page 31: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

CaracterísticasConsultas dependiendo 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. ◦ Se debe tomar en cuenta:

◦ La unidad puede estar en movimiento mientas se realiza la consulta.

Page 32: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

CaracterísticasManejo 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.

Page 33: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

CaracterísticasRedes Inalámbricas. Existen diferentes tipos de redes inalámbricas:◦ Celular: Costos elevados con poco ancho de banda, buena

cobertura.◦ LAN Inalámbrica: Bajo costo, poco rango de cobertura, buen ancho

de banda (54Mbps).◦ Satelital: Amplia cobertura, muy costosa, gran ancho de banda en

sentido descendente y poco ascendente.◦Redes Ad Hoc: Comunicación entre dispositivos móviles de manera

directa. (Bluetooth).

Page 34: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

SMBD MóvilesAlgunos SMBD comerciales son:◦ IBM: DB2 Everyplace◦ SYBASE, Adaptive Server Anywhere◦ MICROSOFT SQL Server Compact◦ SQLite

Page 35: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

SQLiteo SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C.

o SQLite es el SGBD más utilizado en el mundo.

o SQLite es un proyecto de dominio público creado por D. Richard Hipp.

o A diferencia de los SGBD cliente-servidor, el motor de SQLite no es un proceso independiente. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.

Page 36: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

SQLiteo El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones.

o El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host.

o Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.

Page 37: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

SQLite1. Debido a su pequeño tamaño, SQLite es muy adecuado para los

sistemas integrados, y también está incluido en:a. Todos los dispositivos Android

b. Todos los dispositivos iOS

c. Todos los dispositivos Mac

d. Todos los dispositivos Windows 10

e. Todos los navegadores Firefox, Chrome, and Safari

Page 38: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

SQLiteg. Cada instancia de Skype

h. Cada instancia de iTunes

i. Cada cliente Dropbox

j. Se usan en PHP y Python

k. La mayoría de televisores y cajas de televisión por cable

l. La mayoría de sistemas multimedia de los automóviles

Page 39: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Ventajas de BD móvileso Permiten la movilidad de los usuarios, los datos pueden ser accedidos remotamente.

o El mercado potencial de este tipo de bases de datos es bastante amplio, ya que tienen una multitud de aplicaciones, es decir, poseen un gran ámbito de aplicación ya que en principio cualquier base de datos relacional puede ampliarse para ofrecer los servicios de las bases de datos móviles.

Page 40: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Desventajas de BD móviles❖Los enlaces de comunicaciones juegan un papel importante en el desarrollo de estos sistemas, por lo que su dependencia puede suponer un freno para ellos.

❖Los datos pueden estar replicados, por lo que la consistencia y coherencia de los mismos son fundamentales y puede generar conflictos importantes.

Page 41: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

Desventajas de BD móviles❖El tratamiento de fallos es un aspecto delicado ya que al tratarse de un entorno distribuido, los fallos de transmisión de datos deben de solucionarse y detectarse de forma eficiente para que no produzcan errores en la información tratada.

❖La capacidad de procesado de los dispositivos móviles son también un inconveniente importante y también hay que tener en cuenta que dicha capacidad no es la misma para todos los dispositivos.

Page 42: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Gracias por su atención

Page 43: BASES DE DATOS AVANZADAS - uv.mx · SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact, ... Es un sistema distribuido que soporta conectividad ... Manejo de transacciones.

Facultad de Estadística e Informática

ReferenciasEvolución de las Bases de Datos: de Fijas a Móviles (2009).Paola Delgado, Luis Gama. Universidad Autónoma 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