sábado, 29 de septiembre de 2012

Ejemplos de fragmentación


Fragmentacion Horizontal

Alumnos
Nc Nom Dir Tel Edad Cve_Car Cve_Tec PP PA Sem

1.- Realice una fragmentación de los alumnos menores de edad.
a1= SL edad<18 (alumnos)
a2= SL edad>=18 (alumnos)
Reconstrucción:
Alumnos= a1 u a2

2.- Realice una fragmentación de los alumnos que se encuentran en los semestres 2 al 6 y que tengan promedio aritmético =100.
a1= SL (sem>=2 and sem<=6 ) and pa=100 (alumnos)
a2= SL (sem<2 or sem>6) or pa<>100 (alumnos)
Reconstrucción:
Alumnos= a1 u a2

3.-  Realice una fragmentación de los alumnos menores de edad con clave de carrera=105 y otro fragmento que tenga a los alumnos entre 18 y 20 años de edad con clave de carrera=104.
a1= SL edad<18 and cve_tec=105 (alumnos)
a2= SL (edad>=18 and edad<=20 ) and cve_tec=104 (alumnos)
a3= SL edad>18 and cve_tec=105(alumnos)
a4= SL (edad<18 or edad>20) and cve_tec=104(alumnos)
a5= SL cve_tec <> 105 and cve_tec<> 104 (alumnos)




Fragmentacion Vertical

Pacientes
Cve_pac Nom Dir Edad TS Sala Cve_diag Cve_trat Cve_dr Status

1.-Realice una fragmentación de la tabla de pacientes por sus datos personales.
p1= PJ cve_pac, nom, dir, edad (pacientes)
p2= PJ cve_pac, ts, sala, cve_diag, cve_trat, Cve_dr, Status (pacientes)
Reconstrucción:
Pacientes= p1 jn cve_pac=cve_pac p2

2.- Realice una fragmentación por nombre, clave del diagnostico, clave del tratamiento y clave del doctor  y  otra por tipo de sangre.
p1= PJ cve_pac, nom, cve_diag, cve_trat, cve_dr (pacientes)
p2=PJ cve_pac, ts (pacientes)
p3= PJ cve_pac, dir, edad, sala, status (pacientes)
Reconstrucción:
Pacientes= (p1 u p2) jn cve_pac=cve_pac p3

3.- Realice una fragmentación por nombre, edad, tipo de sangre y otra por cve_diag, cve_trat y status, considere otro fragmento por nom, cve_pac y status de la tabla de pacientes.
p1=PJ cve_pac, nom, ts (pacientes)
p2= PJ cve_pac, cve_diag, cve_trat, status (pacientes)
p3= PJ cve_pac, dir, sala, cve_dr (pacientes)
Reconstrucción:
Pacientes= (p1 u p2) jn cve_pac=cve_pac p3
** El ultimo fragmento no se puede realizar ya que el campo nombre status ya se encuentra en el fragmento p1.


Fragmentacion Hibrida 

Considere la relación global
EMP( empnum, name, sal, tax, mrgnum, depnum )
Las siguientes son para obtener una fragmentación mixta, aplicando la vertical seguida de la horizontal:
EMP1 = SL depnum <= 10 PJempnum, name, mgrnum, depnum EMP
EMP2 = SL 10 < depnum <= 20 PJempnum, name, mgrnum, depnum EMP
EMP3 = SL depnum > 20 PJempnum, name, mgrnum, depnum EMP
EMP4 = PJ empnum, name, sal, tax EMP
La reconstrucción de la relación EMP es definida por la siguiente expresión:
EMP = UN(EMP1, EMP2, EMP3)JNempnum = empnumPJempnum, sal, tax EMP4
Finalmente, como otro ejemplo considere el siguiente esquema global
EMP(EMPNUM, NAME, SAL, TAX, MGRNUM, DEPNUM)
DEP(DEPNUM, NAME, AREA, MGRNUM)
SUPPLIER(SNUM, NAME, CITY)
SUPPLY(SNUM, PNUM, DEPNUM, QUAN)
Después de aplicar una fragmentación mixta se obtiene el siguiente esquema fragmentado
EMP1 = Sldepnum <= 10 PJempnum, name, mgrnum, depnum (EMP)
EMP2 = SL 10 < depnum <= 20 PJempnum, name, mgrnum, depnum (EMP)
EMP3 = SL depnum > 20 PJempnum, name, mgrnum, depnum (EMP)
EMP4 = PJ empnum, name, sal, tax (EMP)
DEP1 = SL depnum <= 10 (DEP)
DEP2 = SL 10 < depnum <= 20 (DEP)
DEP3 = SL depnum > 20 (DEP)
SUPPLIER1 = SL city == "SF" (SUPPLIER)
SUPPLIER2 = SL city == "LA" (SUPPLIER)
SUPPLY1 = SUPPLYSJsnum == snumSUPPLIER1
SUPPLY2 = SUPPLYSJsnum == snumSUPPLIER2


Fuente información: http://lasbasededatos.blogspot.mx/2006/09/fragmentacion-verticalhorizontal-y.html

domingo, 9 de septiembre de 2012

BDD en diversos sectores productivos

Para cualquier organización que está operando en el sector productivo de un país, es indispensable contar con medios para el control de la información, ya que de ello depende en gran medida que se lleguen a tomar decisiones en momentos de crisis económica o problemas legales.
El impacto de las bases de datos tanto en el sector privado como gubernamental, ha sido tan grande que prácticamente todas las empresas desde las PyMES hasta las multinacionales  (de gobierno o privadas) hacen uso de las bases de datos. 


Transparencia y Fragmentacion


Niveles de Transparencia en una Base de Datos Distribuida


El propósito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información.
Transparencia se define como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sistema y a otros usuarios.
El sistema de bases de datos distribuido permite proporcionar independencia de los datos.
La independencia de datos se puede dar en dos aspectos: lógica y física.


Independencia lógica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos. Esto permite que un cambio en la definición de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relación, la creación de una nueva relación, el reordenamiento lógico de algunos atributos.



Independencia física de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. la descripción física de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organización de los datos puede cambiar.
La transparencia al nivel de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas:

Transparencia sobre la localización de datos. el comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo. Por ejemplo, en Unix existen dos comandos para hacer
una copia de archivo. Cp se utiliza para copias locales y rcp se utiliza para copias remotas. En este caso no existe transparencia sobre la localización.

Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido. Así, no se debe mezclar la información de la localización con en el nombre de un objeto.

La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que cuando el usuario se encarga de manejar las réplicas en un sistema, el trabajo de éste es mínimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las réplicas teniendo así datos diferentes.
La transparencia a nivel de fragmentación de datos permite que cuando los objetos de la bases de datos están fragmentados, el sistema tiene que manejar la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.




Fragmentación

Existen tres tipos de fragmentacion la horizontal, la vertical y la mixta.


Fragmentación Horizontal

Unatabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección y su reconstrucción se realizaráconuna operación de unión de los fragmentos componentes.
Cada fragmento se sitúa en un nodo.


Fragmentación Vertical
Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de proyección.
Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes, pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.

Fragmentación Mixta
Como el mismo nombre indica es una combinación de las dos anteriores vistas he aquí un ejemplo apartir de una tabla fragmentada horizontalmente.

Fuente: http://www.iessanvicente.com/colaboraciones/BBDDdistribuidas.pdf

martes, 4 de septiembre de 2012

Resumen

Caracteristicas de los tipos de arquitectura:




Centralizado






Son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora.
Una computadora moderna de propósito general consiste en una o unas pocas CPU’s y un número
determinado de controladores para los dispositivos que se encuentren conectados a través de un bus común,el cual proporciona acceso a la memoria compartida.
 

Cliente/Servidor


Es aquel en el que uno o más clientes y uno o más servidores, conjuntamente con un sistema operativo subyacente y un sistema de comunicación entre procesos, forma un sistema compuesto que permite cómputo distribuido, análisis, y presentación de los datos.
Si existen múltiples servidores de procesamiento de base de datos, cada uno de ellos deberá procesar una base de datos
distinta, para que el sistema sea considerado un sistema cliente/servidor.

Las principales características de la arquitectura cliente/servidor son:

- El servidor presenta a todos sus clientes una interfaz única y bien definida.
- El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
- El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
- Los cambios en el servidor implican pocos o ningún cambio en el cliente.

Los principales componentes de un sistema cliente/servidor son:

- El núcleo (back-end o sección posterior). Es el SGBD propiamente (servidor).
- El interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente).




La parte cliente de la aplicación maneja la entrada de datos, acepta consultas de los usuarios y muestra los resultados. La parte cliente no procesa las consultas. En su lugar, envía la consulta del usuario al computador servidor, donde la parte servidor de la aplicación procesa la consulta. El servidor devuelve los resultados al cliente, que es quien se las muestra al usuario.

La sección frontal

Son las diversas aplicaciones ejecutadas dentro del SGBD, tanto las escritas
por los usuarios como las “integradas” que son las proporcionadas por el proveedor del SGBD o bien por otros proveedores de programas (aunque para la sección posterior no existe diferencia entre las aplicaciones escritas por los usuarios y las integradas, ya que todas utilizan la misma interfaz con la sección posterior).

Funciones del cliente

* Administrar la interfaz gráfica de usuario.
* Aceptar datos del usuario.
* Procesar la lógica de la aplicación.
* Generar las solicitudes para la base de datos.
* Transmitir las solicitudes de la base de datos al servidor.
* Recibir los resultados del servidor.
* Dar formato a los resultados.

Cómo trabaja la sección frontal
La secuencia de eventos que tiene lugar cuando el usuario accede al servidor de la base de datos se puede generalizar en 6 pasos básicos ilustrados en la figura. Para mayor simplicidad, el término consulta
representa cualquier acción que el usuario pueda hacer en la base de datos, como actualizar, insertar, borrar o pedir datos de la base de datos.





BDD