jueves, 10 de noviembre de 2016

Bases de Datos en Cloud para aplicaciones moviles


APLICACIÓN DE LOS SISTEMAS DE BASE DE DATOS.. . .

APLICACIÓN DE LOS SISTEMAS DE BASE DE DATOS.

Las aplicaciones más usuales son para la gestión de empresas e Instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental, en otras palabras las bases de datos serán aplicadas en cualquier parte donde manejen grandes cantidad de de información.

Como por ejemplo:

Creación de actividades de banco de registros de forma colaborativa: bibliografía, catalogación de especies u objetos, etc.


Inserción colaborativa de datos de cualquier tipo para su posterior análisis estadístico.



Líneas aéreas: información de Clientes, horarios, vuelos, destinos, etc. (1ras bases distribuidas geográficamente).




Universidades: información de Estudiantes (perfiles estudiantiles), carreras, horarios, materias, etc
En bancos: transacciones de tarjeta de crédito: para comprar con tarjetas de crédito y la generación de los extractos mensuales.

Telecomunicaciones: para guardar registros de llamadas realizadas, generar facturas mensuales, mantener el saldo de las tarjetas, telefónicas de prepago y almacenar información sobre las redes.
En las oficinas de patentes, fecha de registro de la patente, datos del desarrollador, planos del producto, etc
Bibliotecas, clasificación de libros, posición o lugar donde se encuentran, cantidad de tomos, cantidad de respaldos, etc.

OTRAS FUNCIONES DEL SISTEMA MANEJADOR DE BASE DE DATOS

MANEJADOR DE DISCO


El manejador de discos es el encargado de todas las operaciones físicas de entrada y salida en el disco duro. Las operaciones que puede realizar el Manejador de Disco son las siguientes: 
  1. Leer una página del conjunto de páginas almacenadas en el disco
  2. Reemplazar una página dentro del conjunto de páginas almacenadas en disco
  3. Añadir una página al conjunto de páginas almacenadas en disco
  4. Eliminar una página del conjunto de páginas almacenadas en el disco
 El acceso a una base de datos se hace de la siguiente manera:

  1. El sistema manejador de base de datos determina cual registro almacenado necesita y pide al manejador de archivos que acceda a este registro.
  2. El manejador de archivos determina cual página tiene el registro deseado y solicita al manejador de disco que acceda a esta página.
  3. El manejador de disco determina la localización física de la página en el disco y realiza la operación de entrada y salida necesaria.
 SISTEMA RELACIONAL

Base de Datos Relacional: Base de datos que el usuario percibe como tablas o conjunto de tablas

Tablas: Esta compuesta por una fila de cabecera de columnas y cero o mas filas de valores de datos.

Tabla Base: Es una tabla que tiene existencia propia es autónoma y nombrada
Vistas: Son tablas virtuales

Operaciones de una Base de Datos: La operaciones que se pueden efectuar en una base de datos son las siguientes: Listar, Agregar, Modificar, Eliminar datos de una tabla en una base de datos relacional.
 VENTAJAS DE LAS VISTAS

Las ventajas de utilizar vistas virtuales son las siguientes:

  1. Facilita la independencia de los datos
  2. Permite a los usuarios ver diferentes partes de una base de datos
  3. Facilita la per sección de los datos
  4. Facilita la seguridad de los datos 

    MODELO RELACIONAL: Es una representación de los datos mediante tablas las cuales se pueden manipular por medio de operaciones. El modelo relacional en cuanto a los datos se ocupa de: Estructuras, Integridad, Manipulación.
    Estructura de los datos: Para poder relacionar una tabla con otra en el modelo relacional de base de datos, se debe tener en cuenta la estructura de los datos de la siguiente manera:

    Relación: Es la estructura básica del modelo relacional que sirve para representar los objetos de la información y las asociaciones entre ellos.
    • Tabla
    • En una sola tabla

    Atributos: Son las propiedades de las relaciones y corresponde a una columna en estas relaciones
    • Campos
    • Encabezado de columna de una tabla

    Tupla: Corresponde a una fila dentro de una relación
    ·         Fila de datos en una tabla

    Grado: Numero de atributos dentro de una relación
    ·         Numero de columnas en una tabla

    Cardinalidad: Numero de tuplas que tiene una relación

    Dominio: Conjunto de valores de las cuales uno o más atributos obtienen su valor real. Este puede ser de dos formas

    ·         Por Extensión: Cuando se dan sus posibles valores
    ·         Por Intensión: Cuando se define el tipo de datos

    Las características de los dominios son los siguientes:

    Un atributo esta siempre asociado a una relación mientras que un dominio tiene existencia propia

    Un atributo toma valores de un dominio

    Varios atributos distintos pueden tomar valores de un mismo dominio
     PROPIEDADES DE LAS RELACIONES

    No existen tuplas repetidas, como el cuerpo de una relación es un conjunto de tuplas por definir, matemáticamente un conjunto no posee elementos repetidos.

    Las tuplas no están ordenadas en una relación por definir. Matemáticamente en un conjunto sus elementos no están ordenados.

    Los atributos no están ordenados, como una cabecera es un conjunto de atributos por definir. Matemáticamente los conjuntos no están ordenados.

    Todos los valores de los atributos atómicos en la intersección de una fila con columna. Debe haber un solo valor y no una lista de valores.


     INTEGRADAD DE LOS DATOS

    Si se quiere hablar de integridad de datos debemos hablar de reglas de integridad relacional que son las que permiten informar al sistema manejador de base de datos sobre ciertas restricciones existentes en los datos. Para que no se presenten ocurrencias no validas en los datos.
    Existen restricciones particulares en una base de datos
    Existen restricciones generales para las bases de datos representadas en dos reglas de integridad.

    1.      Regla de integridad de las entidades (clave primaria)
    2.      Regla de integridad referencial (Clave ajena)

    Clave Primaria: Es el identificador único de una relación, una clave primaria puede ser sencilla formada por un solo atributo o puede ser compuesta conformada por varios atributos.

    Clave candidata: Una relación puede contener varios atributos que sirvan como identificador único, a cada uno de estos atributos se denomina clave candidato.

    Clave Ajena: Una clave ajena es un atributo (puede ser compuesto) de una relación r2 cuyos valores deben concordar con los de una clave primaria en una relación r1.


    Relación Referencial: Es la relación que contiene la clave ajena
    Relación Referida: Es la relación que contiene la clave primaria




DESVENTAJAS DE LAS BASES DE DATOS

DESVENTAJAS DE LAS BASES DE DATOS
ü  Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.
ü  Coste del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara.
ü  Vulnerable a los fallos:

El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).

VENTAJAS DE LAS BASES DE DATOS

VENTAJAS DE LAS BASES DE DATOS

ü  Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos.

ü  Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.

ü  Compartir datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados.

ü  Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso.
ü  Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.

ü  Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.

ü  Mejora en la accesibilidad a los datos:
Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.
ü  Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.
ü  Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.
ü  Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.

ü  Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.

Aplicaciones de bases de datos:

Aplicaciones de bases de datos:

  • Formas. Se emplean para introducir información a la base de datos. En algunas ocasiones los identificadores (ID) de los objetos no son desplegados en la aplicación. La razón es que en el modelo del usuario no existen y por lo tanto carecen de significado para él. Se utilizan para que el DBMS identifique cada fila de cada tabla y se denominan claves sustitutas.


  • Consultas. Se usan cuando los usuarios desean consultar los datos para contestar preguntas o para identificar problemas o situaciones particulares. Para expresar las consultas se puede usar el lenguaje SQL de acceso a los datos, otra posibilidad es usar la consulta por ejemplo (QBE). En la mayoría de los DBMS las consultas se pueden guardar como parte de la aplicación, de modo que sea posible volverlas a ejecutar. Además en las consultas se pueden especificar parámetros, lo que significa que se estructuran de forma tal que acepten valores de criterios durante su funcionamiento.
  • Reportes. Un reporte es una presentación que tiene un formato de la información de una base de datos. Suelen estar divididos por secciones como Encabezado, títulos, grupos, detalles, subtotales, totales y pié de página. La presentación de la información casi siempre tiene uno o más ordenamientos.
  • Menús. Se usan para organizar los distintos componentes de la aplicación con el propósito de que el usuario final acceda a ellos con facilidad, mostrándole las opciones disponibles y ayudándole a seleccionar las acciones que desea realizar.
  • Programas de aplicación. Los programas de aplicación vienen a ser como el pegamento que nos permite unir el resto de los componentes de manera coherente y permite realizar procesos y cálculos a la aplicación. Adicionalmente suele haber algunas limitaciones que los DBMS no pueden enforzar directamente en la estructura de los datos y que deben ser codificadas en el programa de aplicación. 


ARQUITECTURA DE LAS BASES DE DATOS . . .

ARQUITECTURA DE LAS BASES DE DATOS


La arquitectura de un sistema de base de datos está influenciada por el sistema informático que soporta la instalación del SGBD, lo que reflejará muchas de las características propias del sistema subyacente en el SGBD.
Por otra parte La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) en 1975 como ayuda para conseguir la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos




1. Nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso.
2. Nivel conceptual: es el nivel medio de abstracción. Se trata de la representación de los datos realizada por la organización, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos.
3. Nivel externo: es el nivel de mayor abstracción. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.