viernes, 27 de marzo de 2015

Actividad #14

Una base de datos no replicada guarda una base de datos en un solo sitio por consiguiente, por consiguiente no existe no existen base de datos duplicadas.
Varios factores influyen en la decisión de utilizar replicas de datos.
Tamaño de base de datos.
Frecuencia de usos.
Costos- de desempeño, software,  indirectos y de administración, - asociados con la sincronización de las transacciones y de sus componentes vs beneficios de tolerancias a las fallas asociados con los datos  replicados.

Permite maximizar el costo de comunicación y al mismo tiempo maximizar el tiempo de respuesta. El administrador de bases de datos debe de evaluar el modo de operar de la base de datos, es decir como su nombre lo indica no podemos realizar el algoritmo en aquellas copias, pero debe ser sobre la base de datos original .La fragmentación hibrida es de preferencia lo que debe de llevar este tipo de algoritmos, porque estas utilizan las tres fragmentaciones y las mas aconsejables.
Hablar de algoritmos implica sobre la Programación

Hay gestores que son muy flexibles en cuestiones de programación, mientras que otros ofrecen más rendimiento. Así, al diseñar el algoritmo tendrá que hacer toda la información referente a la vida de la base de datos pero por otro lado deberá buscar siempre de darle soluciones al usuario, pues este será el que al final de cuentas interesa. Existen en la actualidad infinidad de tecnologías en cuanto a los gestores de la base de datos se refiere, el que utilizaremos (el mas actual) será SQL SERVER, este gestor comenzó a crearse por la década de los 90´s, ofrece muchas ventajas sobre otros gestores, la única desventaja que podríamos encontrar en su compatibilidad con los Windows mas comerciales como el 98, XP entre otros. Se preguntaran que tiene que ver el gestor con los algoritmos de datos no replicados, sin embargo la respuesta es muy sencilla, y esta es que este algoritmo es fácil de implantar en SQL SERVER.

Ejercicios

Ejercicio de diseño de base de datos distribuidos: La sociedad médica.
Primero se realiza una proyección de la tabla:
∏código, nombre, dirección, salario, centro (empleado where (centro.código=0))
Fragmentación vertical.
Código
Nombre
Dirección
Salario
Centro

En el resto de centros, los horarios de sus consultas y la información de su personal y de sus especialidades.
Se hace una proyección de en su mayoría los campos de la tabla centro, después también se toman las demás tablas para saber la informacion que se quiere obtener.
∏código, nombre, dirección, teléfono (centro) AND hora (consulta) AND fecha_inic (empleado) AND descripción (especialidad)
Fragmentación vertical.
Código
Nombre
Dirección
Teléfono
Hora
Fecha_inic
Descripción

Ejercicio de diseño de base de datos distribuidoas: servicios informáticos.
Se realiza una fragmentación horizontal (selección) de los atributos de la tabla proyecto.
código, nombre, presupuesto, empresa, jefe, unidad (proyecto)
Fragmentación horizontal.
Código
Nombre
Presupuesto
Empresa
Jefe
Unidad

Así mismo, se realiza también una fragmentación horizontal (selección) con la tabla empleado, arrojando los siguientes datos:
código, nombre, apellidos, dirección, unidad (empleado)
Fragmentación horizontal.
Código
Nombre
Apellidos
Dirección
Unidad

La unidad de recursos humanos realiza la facturación y usa todos los datos de las empresas. El resto de unidades sólo necesita el código y nombre de las empresas con las que trabaja.
Como se desea saber todos los datos de la empresa se hace una selección de todos los atributos de la misma, luego se impone una condición donde solo se necesita el código de las empresas, y los proyectos con los que se esta trabajando.
código, nombre, dirección, correos (empresa where  empresa.código= proyecto.empresa AND (proyecto.unidad=unidad.código AND (unidad.edificio=edificio.código=0)))
Fragmentación horizontal.
Código
Nombre
Dirección
Correos




código, nombre (empresa where (empresa.código=proyecto.empresa AND (proycto.unidad=unidad.código NOT (unidad.edificio=edificio.código=0)))
Fragmentación horizontal.
Código
Nombre

Hay proyectos internos, y por tanto sin factura, que tienen valor nulo en su campo empresa.
código, nombre, presupuesto, jefe, unidad (proyecto)
Fragmentación horizontal.
Código
Nombre
Presupuesto
Jefe
Unidad



miércoles, 25 de marzo de 2015

Actividad 13 ejercicios

Ejercicios.

Sociedad médica.

• Cuenta con una oficina central y 3 centros médicos. Cada centro médico atiende ciertas especialidades. Una especialidad se puede atender en varios centros. Todo centro médico tiene al menos una especialidad.

• Actualmente utilizan la siguiente BD relacional centralizada:
• Diseñar esquemas de fragmentación y álgebra relacional de una BDD que tenga la mayor autonomía local, sabiendo que en los centros se necesita:

– En la oficina central (Centro.Código=0) la información para realizar las nóminas de todos los empleados.



Algebra relacional :

σ (nombre, salario, IRPF, centro) where codigo=0 (Empleado)
π(se debe de tomar la clave en las proyecciones) código, nombre, dirección, Tfno (Centro)

 En el resto de centros, los horarios de sus consultas y la información de su personal y de sus especialidades.
Esquema de fragmentación:



Álgebra relacional:
π  código, nombre, dirección, Tfno (Centro)
σ centro, hora (Consulta)

π  código, nombre, dirección, salario, IRPD, fecha_inic, centro (Empleado)
π  código, nombre, descripcion (Especialidad)










lunes, 23 de marzo de 2015

Actividad #13 (B)


Sistema de computación distribuido: Son las partes del procesamiento que ayudan en ejecutar las tareas, que están interconectadas por una red de ordenadores.
Las bases de datos distribuidas son aquellas BD que están interconectadas lógicamente, situadas en algún nodo especifico.
Un sistema gestor de bases de datos distribuido, como su nombre lo indica administra o gestiona las bases de datos distribuidas, pero para el usuario esto no es notorio, ya que lo ve como si fuera una centralizada.
Entre las ventajas que encontramos esta, como ya lo comente una localización transparente, ya que las instrucciones no deben de depender de los datos ni de donde se esté ejecutando.
Transparencia en nombres, por lo que un objeto se accede por su nombre y nada más.
Expansión más sencilla, por lo tanto se pueden añadir mucho más datos, mejor procesamiento.
Un directorio global o catálogo global, tiene la información de fragmentado, por lo que el SBDD lo utiliza.
La replicación mejora tener al alcance los datos y en casos extremos tener una réplica de la base de datos sería algo en el cual podrías estar más seguro de tener esa información.
En un SGBD sin transparencia de distribución se debe de indicar el sitio y la tabla sobre la que se realiza la consulta, aparte de que también si no se tiene transparencia de la replicación, tenemos que mantener nosotros mismos la consistencia de esos datos, en cambio teniendo estos aspectos de transparencia, aparte también teniendo transparencia de fragmentación, se obtienen beneficios muy valiosos como lo es que las consultas y las actualizaciones se comportasen como si fuera en un sistema centralizado,.
Aparte de que el sistema gestor de bases de datos es el encargado de descomponer y empezar a dirigir a los fragmentos adecuados.

sábado, 21 de marzo de 2015

Actividad 13 (B)

Da algunas características de lo que son las BDD, aparte del concepto que si bien ya lo hemos definido bien durante el trayecto del curso.
También cita algunas de las ventajas que ofrecen, como lo son mejora del rendimiento, Más fiabilidad y disponibilidad, y como ya lo vimos en el tema anterior la transparencia de fragmentación.
Así mismo habla de lo importante que es contar con una replicación para la disponibilidad de los datos.
Algunos diseños de bases de datos se pueden solucionar según se den las situaciones de cada empresa y en la que cada planteamiento del problema puede variar, y que bueno como ya sabemos, las BDD están unidas por medio de una red de comunicaciones.
Aparte de que Un SGBDD con consultas optimizadas, realizará una evaluación de las posibles soluciones a una consulta, de tal manera que ejecutará la más eficiente, midiendo la eficiencia en términos de bytes transferidos.



viernes, 20 de marzo de 2015

Actividad #13 (A)

Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
  • Hay múltiples computadores, llamados sitios o nodos.
  • Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.

Algunos de los sistemas gestores de bases de datos son los siguientes mencionados:
  • Microsoft SQL server 2008
  • Oracle 11g
  • Apache Cassandra.


Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes Sistemas de gestores de bases de datos como son Oracle, PostgreSQL y MYSQL.



Oracle Database 11g brinda desempeño y escalabilidad récord en servidores UNIX, Linux y Windows. Brinda un ROI rápido al permitir a los usuarios pasar de un solo servidor a grid computing sin tener que cambiar ni una sola línea de código.
Oracle Database 11g ofrece mejores resultados al automatizar las tareas administrativas y ofrecer características de cumplimiento regulatorio y seguridad líder del sector. Su funcionalidad de Clusters en Tiempo Real permite la máxima disponibilidad de datos. Con un rango de ediciones y costos de operatividad más bajos que IBM DB2 o Microsoft SQL Server, es la opción ideal para las empresas en crecimiento. Encuentre la edición justo para usted.


Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento de «clave-valor», escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima.
Cassandra está desarrollada por Apache Software Foundation.
En las versiones iniciales utilizaba un API propia para poder acceder a la base de datos. En los últimos tiempos están apostando por un lenguaje denominado CQL (Cassandra Query Language, no confundir con Contextual Query Language) que posee una sintaxis similar a SQL aunque con muchas menos funcionalidades. Esto hace que iniciarse en el uso de la misma sea más sencillo. Permite acceder en Java desde JDBC.