Está en la página 1de 165

rea Acadmica: Sistemas Computacionales

Tema: Bases de Datos Distribuidas


Profesor(a): M. en C. Yira Muoz Snchez
Periodo: Enero Junio 2012

Tema:
Distributed Databases
This material presents the fundamental and
principal subjects as of Distributed
Databases for students and people are
interesting about this.

Keywords:Databases, Distributed,
Distributed Databases

CONTENIDO
I. Sistemas de bases de datos
II. Redes de computadoras
III. Bases de datos distribuidas
IV. Aspectos de diseo de una base de datos
distribuida
V. Procesamiento, descripcin y optimizacin
de consultas
VI. Control de concurrencia en bases de datos
distribuidas
VII.Recuperacin y seguridad en una base de
datos distribuida

SISTEMAS DE BASES DE DATOS

Men

MODELADO DE DATOS DE UNA


BASE DE DATOS
En el proceso de abstraccin que conduce a la
creacin de una base de datos desempea una
funcin prioritaria el modelo de datos. El modelo de
datos, como abstraccin del universo de discurso,
es el enfoque utilizado para la representacin de
las entidades y sus caractersticas dentro de la
base de datos

MODELOS DE DATOS DE UNA BASE


DE DATOS
Define las reglas por las cuales los datos son
estructurados y son:
Modelo Conceptual:
Se analizan los requerimientos, los datos internos
y externos que se manejan y se construye el
modelo entidad-relacin.

MODELOS DE DATOS DE UNA BASE


DE DATOS
Modelo Lgico:
Recibe como entrada el esquema conceptual y da
como resultado un esquema lgico,que es una
descripcin de la estructura de la base de datos
que puede procesar el software DBMS.

MODELOS DE DATOS DE UNA BASE


DE DATOS
Modelo Fsico:
Recibe como entrada el esquema lgico y da como
resultado un esquema fsico, que es una
descripcin de la implementacin de una base de
datos en la memoria secundaria, describe las
estructuras de almacenamiento y los mtodos
usados para tener un acceso efectivo a los datos.

MODELO CONCEPTUAL

Modelo entidad-relacin
Es una representacin lgica detallada de los
datos para una organizacin o un rea de
negocios. Se expresa en trminos de entidades,
relaciones entre las entidades y atributos o
propiedades de las entidades.

MODELO CONCEPTUAL

El modelo entidad-relacin se expresa mediante el


Diagrama
Entidad-Relacin
que
es
una
representacin grfica de este modelo.

MODELO ENTIDAD - RELACIN

Entidad:
Una persona, lugar, objeto, evento o concepto en el medio
ambiente del usuario acerca de la cual la organizacin
almacena datos. Existen entidades:
Entidad fuerte o entidad
Entidad dbil

MODELO ENTIDAD - RELACIN

Entidad fuerte o entidad:

Existe independientemente de la existencia de otras


entidades.

MODELO ENTIDAD - RELACIN

Entidad dbil:

Su existencia depende de la existencia de otras


entidades.

MODELO ENTIDAD - RELACIN

Atributo o Atributo Simple:

Es una propiedad o caracterstica de una entidad que es


de inters para la organizacin y no se puede dividir en
mas datos.

MODELO ENTIDAD - RELACIN

Atributo Multivaluado:

Puede tomar ms de un valor para la instancia de una


entidad.

MODELO ENTIDAD - RELACIN

Atributo Derivado:

Se obtiene de la relacin entre valores de otros atributos.

MODELO ENTIDAD - RELACIN

Relacin:

Indica la vinculacin o asociacin entre entidades.

MODELO ENTIDAD - RELACIN

Relacin Dbil:

Se emplea para indicar la dependencia de relacin entre


una entidad dbil y una fuerte.

MODELO ENTIDAD RELACIN


(EJEMPLO)

Id_empleado

Nombre_emp

Direccin

Aos_empleado

Empleado

experiencia

Fecha_nac

MODELO ENTIDAD RELACIN


(CARDINALIDAD)
Es un tipo de interrelacin entre el nmero
mximo y mnimo de ocurrencias de un
tipo de entidad que pueden estar
interrelacionadas con una ocurrencia de
otro tipo de entidad.

MODELO ENTIDAD RELACIN


(CARDINALIDAD)

Autor
(0, n)

Una ocurrencia de LIBRO puede estar vinculada


con 0,1, 2,...,n ocurrencias de AUTOR.

Escribe

(1, n)

Libro

Una ocurrencia de AUTOR puede estar


vinculada con 1, 2,...,n ocurrencias de LIBRO.

MODELO LGICO DE UNA BASE DE


DATOS
Para realizar un Modelo de Base de Datos,
ya se tienen identificados los requerimientos
de informacin como son: Entrada de datos,
el flujo del dato, el almacenamiento y las
posibles salidas.
Todo lo anterior realizado en el proceso de
anlisis, descripcin de la situacin actual y
propuesta de solucin esto lo identificamos
en el Modelo Conceptual.

MODELO LGICO DE UNA BASE DE


DATOS
Ahora bien se debe de describir el proceso
dentro del Modelo Lgico, que es la
descripcin de las estructuras de las Bases
de Datos.

MODELO LGICO DE UNA BASE DE


DATOS
Para el desarrollo del Modelo Lgico se
conocen

3 tipos de Modelos de Base de Datos


Estructuradas:
Jerarquca

Red
Relacional
Orientado a objetos

MODELO LGICO DE UNA BASE DE


DATOS
Los Modelos Jerrquicos y de Red fueron
utilizados como estructuras bsicas de los SMBD
hasta el principio de la dcada de los 60s,
mientras que el Modelo Relacional se propuso con
el mismo fin en los aos 70s por Ted Codd.

La principal diferencia entre estos 3 modelos es la


manera en que se representan las relaciones de
las entidades

MODELO LGICO DE UNA BASE DE


DATOS (RELACIONES)
Para estos 3 modelos diseo de base de datos se
utilizan relaciones y una relacin no es ms que la
unin o enlace entre dos conjuntos de datos,
identificando las siguientes:
Uno a Uno

Uno a Muchos
Muchos a Mucho

MODELO LGICO DE UNA BASE DE


DATOS (RELACIONES)

E1

E2
Para cada registro que exista en
E1 solo puede pasar a E2 un
solo registro. Ej. Un paciente se
asigna a una cama

Uno a Uno

MODELO LGICO DE UNA BASE DE


DATOS (RELACIONES)

E1

E2

Uno a Muchos

Varios registros pueden ir a un


registro. Muchos de E1 visitan
uno de E2. Ej. Un cuarto de
hospital puede tener varios
pacientes, pero un paciente solo
es asignado a un cuarto.

MODELO LGICO DE UNA BASE DE


DATOS (RELACIONES)

E1

E2

Muchos a Muchos

Varios registros de E1 pueden ir


a varios de E2. Ej. Un cirujano
puede haber operado a varios
pacientes y un paciente pudo
haber sido operado por varios
cirujanos.

MODELO RELACIONAL

Una estructura de datos relacional consiste en una


o ms tablas de dos dimensiones a las que
llamamos relaciones. Los renglones de las
tablas representan los registros y las columnas
contienen los atributos.

MODELO RELACIONAL

Llave: Es el conjunto de atributos que la


computadora utiliza para identificar un registro,
permite identificar de forma nica a una entidad en
el conjunto de entidades.

MODELO RELACIONAL

Llave Primaria: Denota una clave candidata que


elige el diseador de la base de datos como el
medio principal de identificar entidades dentro de
un conjunto de entidades, es utilizada para definir
unvocamente un registro, es decir el identificador
de una entidad formada por uno o varios atributos.

MODELO RELACIONAL

Tabla es llamada relacin


Cada columna es un atributo
Los valores en la columna se extraen de un
dominio
Un dominio es el conjunto de todos los valores
que un atributo puede tomar.
Las columnas de las tablas representan campos
de datos y los renglones registros de los datos.

MODELO RELACIONAL

Propiedades:
1. No debe haber renglones duplicados.
2. El orden de los renglones no es significativo
(El archivo convencional tiene una secuencia de
orden, especialmente en el funcionamiento).

MODELO RELACIONAL

Propiedades:
3. El orden de las columnas no es significativo
(Suponiendo que cada columna tiene un nombre
nico)
4. Todos los valores son indivisibles, esto es que
no se pueden descomponer (Sin prdida de
informacin)

MODELO RELACIONAL

Ventajas:
Simplicidad
Consultas no Planeadas
Independencia de Datos

Fundamentos Toricos

MODELO RELACIONAL

Notacin:
No_Cta
Nombre
Apellidos
Domicilio
Id_Carr

Id_Carr
Nombre
Coordinador
Id_Instit

MODELO RELACIONAL
Dominio: Es un conjunto finito de valores
homogneos(porque son todos del mismo tipo) y
atmicos(son indivisibles).

Cod_libro

Dominio

1
2
3
4
5
6
7
8
9

Titulo

Nombre_Edit

NORMALIZACIN
Es la transformacin de vistas de usuario
complejas y abstraccin de datos a un conjunto de
estructuras de datos estables ms pequeas.
La normalizacin produce tablas ms pequeas
con tuplas ms pequeas.

FORMAS NORMALES

Primera Forma Normal (1NF)

Reglas para la Primera Forma Normal :


Cada columna debe ser atmica. No puede
estar descompuesta en dos o ms columnas.
No puede tener columnas mutivaluadas o
grupos repetitivos.
Cada interseccin de rengln y columna debe
tener un solo valor.

FORMAS NORMALES (1NF)

FORMAS NORMALES
Segunda Forma Normal (2NF)
Debe estar en primera forma normal
Cada campo que no pertenece a la llave
primaria debe depender completamente de sta
y no de una parte de ella.
Si la tabla contiene una llave primaria simple, esta
se encuentra automticamente en segunda forma
normal.

FORMAS NORMALES (2NF)

FORMAS NORMALES

Segunda Forma Normal (3NF)

Debe estar en segunda forma normal


Se deben eliminarlas dependencias transitivas;
Todo campo que no pertenezca a la llave
primaria no puede depender de otro campo que
tampoco pertenezca a la llave primaria.

FORMAS NORMALES (3NF)

MODELO FSICO DE UNA


BASE DE DATOS
En este modelo se definen:
El SMDB que se utilizar.
El hardware que se necesita.
El SO(Sistema Operativo) que se utilizar.
La comunicacin de los datos a nivel de red.
Los tipos de datos y el almacenamiento para
estos.

ALGEBRA RELACIONAL

El algebra relacional es un lenguaje de consulta


procedimental consta de un conjunto de
operaciones que toman como entrada una o dos
relaciones y producen como resultado una nueva
relacin.

ALGEBRA RELACIONAL

Operaciones Unarias (Operan sobre una sola


relacin):
Seleccin ()
Proyeccin ()
Renombrar

Operaciones Binarias (Operan sobre pares de


relaciones):
Unin ()
Diferencia de Conjuntos ( - )
Producto Cartesiano ( X )

ALGEBRA RELACIONAL

Otras Operaciones:

Inseccin de conjuntos
Reunin natural
Divisin
Asignacin.

CLCULO RELACIONAL

Existe de dos tipos:


Clculo relacional de tuplas
Clculo relacional de dominios

Clculo Relacional de Tuplas

Es un lenguaje de consulta no procedimental, es


decir describe la informacin deseada sin dar un
procedimiento especifico para obtenerla.
{t | P(t)}
Es decir, el conjunto de todas las tuplas que el
predicado P es cierto para t. Se utiliza t[A], Para
denotar el valor de la tupla t en el atributo A y t r
para denotar que la tupal t esta en la relacin r.

Clculo Relacional de Tuplas

EJEMPLO:
Se desea averiguar el nombre_suc, no_prestamo e
importe de los prestamos superiores a 2400.
{t| t prestamo t[importe]> 2400 }

Clculo Relacional de Dominios

Utiliza variables de dominio que toma los valores


del dominio de un atributo es vez de tomarlos de
una tupla completa.
{< x1, x2, ....xn >| P (x1, x2, ....xn)}
Donde las X representan las variables del dominio,
P representa una formula compuesta de tomos.
X pertenece a r y r es una relacin con n atributos
y x son variables de dominio o constantes de
dominio.

Clculo Relacional de Dominios

EJEMPLO:
Averiguar el nombre de la sucursal, el No del
prstamo y el importe del prstamo superior a
2400.
{< b, l, a > | < b, l, a > prestamo a > 2400}

REDES DE COMPUTADORAS

Men

REDES DE COMPUTADORAS

Conjunto de tcnicas, conexiones fsicas y


programas informticos empleados para conectar
dos o ms computadoras, los usuarios de una red
pueden compartir diversos recursos como ficheros,
dispositivos y otros,. Su eficacia se basa en la
confluencia de muy diversos componentes.

REDES DE COMPUTADORAS

Ventajas:
Compartir perifricos
Compartir informacin
Eliminar duplicidad de trabajos
Permite establecer seguridad y control sobre la
informacin

REDES DE COMPUTADORAS

Redes LAN(Redes de rea Local)


Operan dentro de un rea geogrfica limitada
Redes MAN(Redes de rea Metropolitana
Operan dentro de un rea geogrfica que abarca
kilmetros

Redes WAN(Redes de rea amplia)


Operan en reas geogrficas extensas

MODELO OSI
CAPAS DEL MODELO OSI Y SUS FUNCIONES
7
6
5
4
3

Aplicacin
Presentacin
Sesin

Transporte

7 Proporciona interfaces de
usuarios para el nivel inferior.

6 Proporciona formato de datos


y conversin de cdigo
5 Maneja la coordinacin
entre procesos

Proporciona control de
calidad del servicio

2 Vinculacin
de datos

Establece y mantiene
las conexiones
2 Proporciona transferencia
de datos confiable entre las
computadoras y la red.

1 Permite el flujo de bits

Red

Fsica

entre las computadoras

MEDIO FISICO

PROTOCOLOS (TCP/IP)

Fue desarrollado en 1972, por el Departamento de


Defensa de los Estados Unidos, ejecutndose en
ARPANET (una red de rea extensa del
Departamento de Defensa). Posteriormente, una
red dedicada exclusivamente a aspectos militares
denominada MILNET se separ de ARPANET.
Fue el germen de lo que despus constituira
INTERNET.

PROTOCOLOS (TCP/IP)

El Internet Protocol (IP), es un protocolo de nivel


de red de OSI, que permite a las aplicaciones
ejecutarse de forma transparente sobre las redes
interconectadas.

PROTOCOLOS (TCP/IP)

El Transmission Control Protocol (TCP), es un


protocolo del nivel de transporte de OSI, que
asegura que los datos sean entregados, es decir,
que lo que se recibe corresponda con lo que se
envi y que los paquetes sean reensamblados en
el orden en que fueron enviados.

PROTOCOLOS (TCP/IP)

TCP/IP es una familia de protocolos desarrollados


para permitir la comunicacin entre ordenadores
de cualquier tipo de red o fabricante respetando los
protocolos de red individual.

PROTOCOLOS (TCP/IP)

Los protocolos TCP/IP se estructuran en cinco


niveles funcionales:

APLICACIN
TRANSPORTE
INTERNET
RED
FSICO

PROTOCOLOS (TCP/IP)

Nivel Fsico, corresponde al Hardware. Puede ser


cable coaxial, cable de par trenzado. Cable de fibra
ptica o una lnea telefnica.

PROTOCOLOS (TCP/IP)

Nivel de Red. Independiente del medio fsico que


se utilice, necesitar de una tarjeta de red
especificada que , asu vez, necesita de un
software llamado controlador de dispositivo
proporcionado por el sistema operativo o por el
fabricante. Puede o no proporcionar la fiabilidad en
la distribucin de datos que pueden adoptar
diferentes formatos.

PROTOCOLOS (TCP/IP)

Nivel Internet, se superpone a la red fsica


creando un servicio de red virtual independiente de
aquella. Se encarga del direccionamiento y
encaminamiento de los datos hasta la estacin
receptora.

PROTOCOLOS (TCP/IP)

Nivel Transporte, suministra a las aplicaciones


servicios de comunicaciones desde la estacin
emisora a la receptora.
Nivel de Aplicacin. Corresponde a las
aplicaciones disponibles para los usuarios como
pueden ser: FTP, SMNP, TELNET, etc.

PROTOCOLOS (TCP/IP)

OSI
Aplicacin

TCP/IP
Aplicacin

Presentacin

inexistentes

Sesin
Transporte

Transporte

Red
Enlace

Red
Interfaz de Red

Fsico

Fsico

OTROS PROTOCOLOS

FTP (File Transfer Protocol), es el ms utilizado de


todos los protocolos de aplicacin y uno de los
ms antiguos. Se utiliza para la transferencia de
ficheros proporcionando acceso interactivo,
especificaciones de formato y control de
autentificacin (aunque es posible conectarse
como el usuario anonymous que no necesita
contrasea).

OTROS PROTOCOLOS

HTTP. Es uno de los protocolos ms recientes, se


utiliza para manejar la consulta de hipertexto y el
acceso de datos en el World Wide Web (WWW).
NFS (Network File System), ha sido desarrollado
por SunMicrosystems Incorporated y autoriza a los
usuarios el acceso en lnea a archivos que se
encuentran en sistemas remotos.
NTP (Network Time Protocol), permite que todos
los sistemas sicronicen su hora con un sistema
designado como servidor horario.

PRINCIPALES TECNOLOGAS DE
RED

Tecnologa

Ethernet

Token Ring

ArcNet

Norma IEEE

802.3

802.5

802.4

Topologa

Bus y estrella

Anillo y estrella

Estrella, bus

Velocidad en Mbps 10

4 y 16

2.5 hasta 20

Protocolo

CSMA/CD

Token

Token

Mximo Nmero
de nodos

1024

256

255

Par trenzado
fibra optica

Par trenzado
coaxial

Par trenzado
Cableado general fibra optica

MEDIOS DE TRANSMISIN
Coaxial
Fibra optica
Par trenzado Coaxial
Banda base Banda ancha
Ancho de Banda

Instalacin

Baja
Sencilla

Moderada
Fcil

Alta
Fcil

Muy alta
Difcil

Longitud

Baja

Moderada

Alta

Muy alta

Costo

Baja

Moderada

Alta

Muy alta

Interferencias

Alta

Moderada

Baja

Ninguna

Topologa

Bus
Estrella
Anillo

Bus

Bus
Estrella

Estrella
Anillo

TOPOLOGA

La topologa define la estructura de una red. La


definicin de topologa est compuesta por dos
partes, la topologa fsica, que es la disposicin
Real de los cables (los medios) y la topologa
lgica, que define la forma en que los nodos
acceden a los medios.

TOPOLOGA

BASES DE DATOS DISTRIBUIDAS

Men

BASE DE DATOS DISTRIBUIDA


(BDD)
En un sistema distribuido de bases de datos se
almacena la base de datos en varias
computadoras. Varios medios de comunicacin,
como las redes de alta velocidad o las lneas
telefnicas, son los que pueden poner en contacto
las distintas computadoras de un sistema
distribuido. No comparten ni memoria ni discos.

BASE DE DATOS DISTRIBUIDA


(BDD)
Existen diferentes nombres para referirse a las
computadoras que forman parte de un sistema
distribuido, tales como sitios o nodos. Para
enfatizar la distribucin fsica de estos sistemas se
usa principalmente el trmino sitio.

BASE DE DATOS DISTRIBUIDA


(BDD)
Las BDD normalmente se encuentran en varios
lugares geogrficos distintos, se administran de
forma separada y poseen una interconexin ms
lenta.
Cada sitio es autnomo en sus capacidades de
procesamiento
Capaz de realizar operaciones locales

BASE DE DATOS DISTRIBUIDA


(BDD)
Componentes:

Software
1.SGBDD local
2.Administracin
de
transacciones
distribuidas
3.Sistema manejador de base de datos
Hardware
Se reduce a servidores y la red.

BASE DE DATOS DISTRIBUIDA


(TRANSACCIONES)
Una transaccin local es aquella que accede a
los datos del nico sitio en el cual se inici la
transaccin. Por otra parte, una transaccin
global es aquella que, o bien accede a los datos
situados en un sitio diferente de aquel en el que se
inici la transaccin, o bien accede a datos de
varios sitios distintos.

BASE DE DATOS DISTRIBUIDA


(CARACTERSTICAS)
Datos compartidos
La principal ventaja de construir un sistema
distribuido de bases de datos es poder disponer de
un entorno donde los usuarios puedan acceder
desde una nica ubicacin a los datos que residen
en otras ubicaciones.

BASE DE DATOS DISTRIBUIDA


(CARACTERSTICAS)
Datos compartidos (Ejemplo)
En un sistema de banca distribuida, donde cada
sucursal almacena datos relacionados con dicha
sucursal, es posible que un usuario de una de las
sucursales acceda a los datos de otra sucursal.

BASE DE DATOS DISTRIBUIDA


(CARACTERSTICAS)
Autonoma
La principal ventaja de construir un sistema
distribuido de bases de datos es poder disponer de
un entorno donde los usuarios puedan acceder
desde una nica ubicacin a los datos que residen
en otras ubicaciones.

BASE DE DATOS DISTRIBUIDA


(CARACTERSTICAS)
Autonoma (Ejemplo)
En un sistema distribuido, existe un administrador
de bases de datos global responsable de todo el
sistema. Una parte de estas responsabilidades se
delegan al administrador de bases de datos local
de cada sitio.

BASE DE DATOS DISTRIBUIDA


(CARACTERSTICAS)
Disponibilidad
Si un sitio de un sistema distribuido falla, los sitios
restantes pueden seguir trabajando. En particular,
si los elementos de datos estn replicados en
varios sitios, una transaccin que necesite un
elemento de datos en particular puede encontrarlo
en varios sitios. De este modo, el fallo de un sitio
no implica necesariamente la cada del sistema.

BASE DE DATOS DISTRIBUIDA


(VENTAJAS)
Eficiencia en el procesamiento

Mayor accesibilidad
Fiabilidad y disponibilidad
Mejor rendimiento

BASE DE DATOS DISTRIBUIDA


(VENTAJAS)
Descentralizacin
Existe un administrador global que lleva una
poltica general y delega algunas funciones a
administradores de cada localidad para que
establezcan polticas locales y as un trabajo
eficiente.
Descentralizacin
Existen dos aspectos a tener en cuenta.

BASE DE DATOS DISTRIBUIDA


(VENTAJAS)
Costos de Comunicacin
Si las bases de datos estn muy dispersas y las
aplicaciones hacen amplio uso de los datos puede
resultar ms econmico dividir la aplicacin y
realizarla localmente. Cuesta menos crear un
sistema de computadoras con la misma potencia
que una.

BASE DE DATOS DISTRIBUIDA


(VENTAJAS)
Crecimiento
Es ms fcil acomodar el incremento del tamao
en un sistema distribuido, por que la expansin se
lleva a cabo aadiendo poder de procesamiento y
almacenamiento en la red, al aadir un nuevo
nodo.

BASE DE DATOS DISTRIBUIDA


(VENTAJAS)
Flexibilidad
Permite acceso
transparente.

local

remoto

de

forma

Control de Concurrencia
El sistema administrador de base de datos local se
encarga de manejar la concurrencia de manera
eficiente.

BASE DE DATOS DISTRIBUIDA


(INCONVENIENTES)
El principal inconveniente de los sistemas
distribuidos de bases de datos es la complejidad
aadida que es necesaria para garantizar la
coordinacin apropiada entre los sitios.
Costo del desarrollo de Software
La implementacin de un sistema distribuido de
bases de datos es ms difcil y, por lo tanto, ms
costoso.

BASE DE DATOS DISTRIBUIDA


(INCONVENIENTES)
Mayor sobrecarga de procesamiento
El intercambio de mensajes y el cmputo adicional
necesario para conseguir la coordinacin entre los
distintos sitios constituyen una forma de
sobrecarga que no surge en los sistemas
centralizados.

ASPECTOS DE DISEO

Men

FRAGMENTACIN

La fragmentacin de los datos permite


dividir un objeto en dos o ms
segmentos o fragmentos. En este caso
el objeto sera una base de datos.
Cada fragmento se guarda en cualquier
sitio de una red de computadoras.

Fragmentacin Horizontal

Se refiere a la divisin de una relacin


en subconjuntos (fragmentos) de filas
(tuplas). Todas las filas tienen los
mismos campos.
Cada fragmento equivale a una
sentencia SELECT, con la clusula
WHERE con un solo atributo.

Fragmentacin Horizontal

Fragmentacin Vertical

Se refiere a la divisin de una relacin en


subconjuntos (fragmentos) de atributo o
campo (columnas). Cada fragmento tiene
columnas nicas con la excepcin de la
columna clave (llave primaria) que es comn
en todos los fragmentos.
Es equivalente de la sentencia PROJECT.

Fragmentacin Horizontal

Fragmentacin Mixta o Mezclada

Se refiere a una combinacin de estrategias


horizontales y verticales; es decir, una tabla
puede dividirse en varios subconjuntos
horizontales (filas) y cada una tiene un
subconjunto de los campos (columnas).

PROCESAMIENTO, DESCRIPCIN Y
OPTIMIZACIN DE CONSULTAS

Men

OBJETIVO

Traducir las consultas expresadas en


lenguajes de bases de datos de alto
nivel en expresiones implementadas en
el nivel fsico del sistema, as como
realizar
transformaciones
de
optimizacin de consultas y la
evaluacin real de las mismas.

FACTORES QUE INFLUYEN EN EL


PROCESAMIENTO DE CONSULTAS

Nmero de accesos a disco


Costo de transmisin en la red
Procesamiento en paralelo de cada
emplazamiento

LENGUAJES EN EL PROCESAMIENTO DE
CONSULTAS

Antes de empezar el procesamiento de una


consulta, el sistema debe traducir la consulta
a una forma utilizable. Un lenguaje como
SQL es adecuado para el uso humano, pero
es poco apropiado para una representacin
interna en el sistema de la consulta.
As, una representacin interna ms til est
basada en el lgebra relacional o lgebra
relacional extendida.

PROCESAMIENTO DE CONSULTAS

Los pasos involucrados en el procesamiento


de una consulta son:
1. Anlisis y traduccin
2. Optimizacin
3. Evaluacin

PASOS PARA EL PROCESAMIENTO DE


CONSULTAS

ANLISIS Y TRADUCCIN
La primera accin que el sistema debe realizar en una
consulta es traducirla en su formato interno, que
(para sistemas de bases de datos relacionales) est
basado normalmente en el lgebra relacional.

ANLISIS Y TRADUCCIN

En el proceso de generacin del formato


interno de la consulta, el analizador
comprueba la sintaxis, verifica que los
nombres de relacin que figuran en la
consulta son nombres de relaciones de la
base de datos, etctera.

ANLISIS Y TRADUCCIN

Dada una consulta, hay generalmente varios


mtodos distintos para obtener la respuesta.
Por ejemplo: en SQL se puede expresar una
consulta de diferentes maneras. Cada
consulta en SQL se puede traducir en una
expresin del lgebra relacional de varias
formas.

ANLISIS Y TRADUCCIN

Adems de esto, la representacin de una


consulta en el lgebra relacional especifica
de manera parcial cmo evaluar la consulta;
hay normalmente varias maneras de evaluar
expresiones del lgebra relacional.

ANLISIS Y TRADUCCIN

Como ejemplo, considrese la consulta


en SQL:
select saldo
from cuenta
where saldo < 2500

ANLISIS Y TRADUCCIN

la consulta se puede traducir en alguna de


las siguientes expresiones del lgebra
relacional:
saldo < 2500 ( saldo (cuenta))

saldo ( saldo < 2500 (cuenta))

OPTIMIZACIN
Se puede ejecutar cada operacin del lgebra
relacional utilizando alguno de los diferentes
algoritmos:
1. Para implementar la seleccin anterior se
puede examinar cada tupla en cuenta para
encontrar las tuplas cuyo saldo sea menor que
2.500.
2. Si se dispone de un ndice de rbol B+ en el
atributo saldo, se puede utilizar este ndice para
localizar las tuplas.

CMO EVALUAR UNA CONSULTA?

Expresin en
lgebra
Relacional

Instrucciones que
especifiquen como evaluar
cada operacin

Primitivas
de
Evaluacin

EJECUCN Y EVALUACIN

Una secuencia de operaciones primitivas que


se pueden utilizar para evaluar una consulta
establecen un plan de ejecucin de la
consulta o plan de evaluacin de la consulta.

EJECUCN Y EVALUACIN

El motor de ejecucin de consultas toma un


plan de evaluacin, lo ejecuta y devuelve su
respuesta a la consulta.

EJECUCN Y EVALUACIN

Los diferentes planes de evaluacin para una


consulta dada pueden tener costos distintos.
Una vez que est elegido el plan de la
consulta se evala la misma con ese plan y se
muestra el resultado de la consulta.

MEDIDAS DEL COSTO DE UNA CONSULTA

Para optimizar una consulta, el optimizador


de consultas debe conocer el coste de cada
operacin.

FASES DEL PROCESAMIENTO DE


CONSULTAS

Los pasos involucrados en el procesamiento


de una consulta son:
1.
2.
3.
4.

Anlisis y traduccin (Descomposicin)


Optimizacin
Generacin de cdigo
Ejecucin

NIVELES DEL PROCESAMIENTO DE


CONSULTAS

El procesamiento de consultas distribuidas


podemos separarlo en cuatro fases o niveles,
desde que la consulta llega hasta que se
optimiza al mximo posible:
1.
2.
3.
4.

Descomposicin de consultas.
Localizacin de datos.
Optimizacin global de consultas.
Optimizacin local de consultas

FASES Y NIVELES DEL PROCESAMIENTO


DE CONSULTAS

DESCOMPOSICIN DEL PROCESAMIENTO


DE CONSULTAS
DESCOMPOSICIN

Etapas de la Descomposicin:

1. Normalizacin
2. Anlisis
3. Eliminacin de redundancia
(Simplificacin)
1. Reestructuracin

Anlisis y
Traduccin

NORMALIZACIN

Involucra la manipulacin de los


cuantificadores de la consulta y de los
calificadores de la misma mediante la
aplicacin de la prioridad de los
operadores lgicos.

NORMALIZACIN

El objetivo de la normalizacin es
transformar una consulta a una forma
normalizada
para
facilitar
su
procesamiento
posterior.
La
normalizacin consiste de dos partes:
1.
2.

Anlisis Lxico y sintctico


Construccin de la forma normal

ANLISIS LXICO Y SINTTICO

Se verifica la validez de la expresin que


da origen a la consulta. Se verifica que
las relaciones y atributos invocados en la
consulta estn acordes con la definicin
en la base de datos. Por ejemplo, se
verifica el tipo de los operandos cuando
se hace la calificacin.

CONSTRUCCIN DE LA FORMA NORMAL

Existen dos tipos de formas normales:


1.
2.

Forma Normal Conjuntiva (AND)


Forma Normal Disyuntiva (OR)

ANLISIS

Se detecta y rechazan
semnticamente incorrectas.

SIMPLIFICACIN

Elimina predicados redundantes.

consultas

REESTRUCTURACIN

Mediante reglas de transformacin; una


consulta en el clculo relacional, se
transforma a una en el lgebra relacional. Se
sabe que puede existir ms de una
transformacin. Por tanto, el enfoque
seguido usualmente es empezar con una
consulta
algebraica
y
aplicar
transformaciones para mejorarla.

REESTRUCTURACIN

La entrada a esta capa es una consulta


algebraica definida sobre relaciones
distribuidas. El objetivo de esta capa es
localizar los datos de la consulta
usando la informacin sobre la
distribucin de datos.

REESTRUCTURACIN

Esta capa determina cuales fragmentos


estn involucrados en la consulta y
transforma la consulta distribuida en
una consulta sobre fragmentos.

PROCESAMIENTO GLOBAL DE
CONSULTAS

El objetivo es procesar las consultas globales


para lo cual debe elegir a qu sede solicita las
subconsultas y recoger los datos devueltos
por todas las fuentes.
El LQP es el responsable de ejecutar las
subconsultas indicadas por GQP.

PROCESAMIENTO GLOBAL DE
CONSULTAS

El lgebra relacional no es suficiente para


expresar la ejecucin de estrategias.
Debe ser completada con operaciones
para intercambio de datos entre nodos
diferentes.

PROCESAMIENTO GLOBAL DE
CONSULTAS

Crear planes de ejecucin:


Traducir la consulta global a los esquemas
exportados y de ah al lenguaje propio del
gestor
Coste de ejecucin en cada sede
(estadsticas)
Coste de transferencia (volumen de
datos/BW)
Coste de la combinacin de resultados

PROCESADOR GLOBAL DE CONSULTAS

Seleccionar el de menor coste:


Objetivo ms extendido: Minimizar los

costos de
comunicacin.
Regla: Seleccionar el nodo que enva la
mayor cantidad de datos al nodo de
operacin como lugar para ejecutar la
misma.

CONTROL DE CONCURRENCIA EN BASES


DE DATOS DISTRIBUIDAS

Men

TRANSACCIN
Es una unidad lgica de trabajo, formada por un
conjunto de operaciones, que debe ser totalmente
completada o abortada; no se aceptan estados
medios.

X=Cantidad existente de producto

X=40

Estado Inicial

x=x-10

Transaccin A

X=30

Estado Final

<Estado Consistente>

<Modifica la BD>

<Estado Consistente>

TRANSACCIONES

Un estado de base de datos consistente es


cuando se satisfacen todas las restricciones de
integridad de los datos.
Para garantizar la consistencia de la BD cada
transaccin debe iniciarse cuando sta est en un
estado consistente.

TRANSACCIONES

Una transaccin puede tener cualquiera de los


siguientes estados:
o
o
o
o
o

Activa
Parcialmente comprometida
Fallida
Abortada
Comprometida (exitosa)

PROPIEDADES DE UNA TRANSACCIN

Atomicidad: todas las partes de la transaccin se


ejecutan; de lo contrario, la transaccin es
abortada.
Durabilidad: Los cambios realizados por una
transaccin no pueden ser deshechos una vez que
la transaccin se completa.

PROPIEDADES DE UNA TRANSACCIN

Seriabilidad: el resultado de la ejecucin


concurrente de transacciones es el mismo es el
mismo si se ejecutaran en serie.
Aislamiento: los datos utilizados por una
transaccin no pueden ser accesados por otra
hasta que la primera se completa.

CONTROL DE LAS TRANSACCIONES

Las aplicaciones controlan las transacciones,


especificando cuando se inicia y finaliza la
transaccin. Esto se realiza utilizando TransactSQL.

INICIAR TRANSACCIONES

En Microsoft SQL-Server se pueden iniciar las


transacciones como:

Explcitas
De confirmacin automtica
Implcitas

CONTROL DE LAS TRANSACCIONES


(EJEMPLO)
TRANSACCIONES EXPLCITAS
Estas transacciones se inician con con las
instruccin:
BEGIN TRANSACTION

CONTROL DE LAS TRANSACCIONES


(EJEMPLO)
TRANSACCIONES
AUTOMTICA

DE

CONFIRMACIN

Es el modo predeterminado de SQL-Server.


Cada instruccin individual de Transact-SQL se
confirma cuando termina.
No se tienen que especificar instrucciones para
controlar las transacciones.

CONTROL DE LAS TRANSACCIONES


(EJEMPLO)
TRANSACCIONES IMPLCITAS
Este modo se establece a travs de una funcin o
la instruccin:
SET IMPLICIT_TRANSACTIONS ON

FINALIZAR TRANSACCIONES

Las
transacciones
instrucciones:

COMMIT
ROLLBACK

se

finalizan

con

las

FINALIZAR TRANSACCIONES (COMMIT)

La instruccin COMMIT garantiza que todas las


modificaciones de la transaccin se conviertan en
una parte permanente de la BD.
Si una transaccin es correcta se confirma con
COMMIT
La instruccin COMMIT tambin libera todos los
recursos que se hayan utilizado durante la
transaccin.

FINALIZAR TRANSACCIONES
(ROLLBACK)
Si se produce un error en una transaccin o el
usuario decide cancelar la transaccin, se debe
deshacer la transaccin.
La instruccin ROLLBACK deshace todas las
modificaciones realizadas en la transaccin al
devolver los datos al estado en el que estaban en
el inicio de la transaccin.

La instruccin COMMIT tambin libera todos los


recursos que se hayan utilizado durante la
transaccin.

SUPUESTOS DEL CONTROL DE


CONCURRENCIA EN LAS BDD
Cada sitio participa en la ejecucin de un protocolo
de compromiso para asegurar la atomicidad global
de las transacciones.

Actualizaciones de todas las rplicas de los


elementos de datos.

GESTOR NICO DE BLOQUEOS


Un gestor nico de bloqueos reside en un sitio
nico (Si).
Todas las solicitudes de bloqueo y desbloqueo se
realizan en Si.

GESTOR NICO DE BLOQUEOS

SI
Transaccin

Solicitud de
bloqueo

Si

(Necesita bloquear un
Elemento de datos)

NO
(Se retrasa hasta que
se pueda enviar)

Sitio X

VENTAJAS DEL GESTOR NICO DE


BLOQUEOS
Implementacin Sencilla.- Necesita dos mensajes
para tratar las solicitudes de bloqueo y slo uno
para las de desbloqueo.
Tratamiento sencillo de los interbloqueos.

DESVENTAJAS DEL GESTOR NICO DE


BLOQUEOS
Cuello de botella.- El sitio Si se transforma en un
cuello de botella, dado que todas las solicitudes
deben procesarse ah.
Vulnerabilidad.- Si el sitio Si falla, se pierde el
controlador de la concurrencia.
Se debe detener el procesamiento o utilizar un
esquema de recuperacin (un sitio de respaldo
asuma la administracin de los bloqueos).

RECUPERACIN Y SEGURIDAD EN UNA


BASE DE DATOS DISTRIBUIDA

Men

NIVELES DE SEGURIDAD DE LOS DATOS

Edificio

Enlaces de
comunicacin

SITE
Hardware

RED

Usuarios

Enlaces de
comunicacin

Usuarios

Sistema Operativo
SMBD
Enlaces de
comunicacin
Externa

Usuarios

DAOS QUE PUEDEN SUFRIR LOS


DATOS

Prdidas

accidentales,

incluyendo

errores

humanos y daos en el hardware.


Robo y Fraude.
Prdida de la privacidad y confiabilidad.
Prdida de la integridad de los datos.

Prdida de la disponibilidad de los datos.

TCNICAS PARA PROPORCIONAR


SEGURIDAD A LOS DATOS

Vistas o subesquemas.
Reglas de Autorizacin.

Procedimientos definidos por el usuario.


Encriptacin.
Esquemas de autentificacin

OBJETIVO

PROBLEMAS O FALLAS QUE PUEDEN


OCASIONAR QUE LA BD SE DAE
Error humano
Fallos en el Hardware
Datos incorrectos o invlidos

Errores en los programas de aplicacin


Virus
Catstrofes naturales
Fallas elctricas

FACILIDADES DE RECUPERACIN

Existen 4 facilidades bsicas para la recuperacin y


respaldo de una BD que generalmente proporciona el
SMBD:
Respaldo
Bitcora
Punto de Control
Administrador de recuperacin

OBJETIVO

TCNICAS DE RECUPERACIN

Switch (Interruptor)
Restore/Rerun
Integridad en la Transaccin

(Transaction Integrity)
Recuperacin hacia Atrs

(Backward Recovery -rollback)


Recuperacin hacia Adelante

(Forward Recovery)

OBJETIVO

BIBLIOGRAFA
Modern Databases Management Systems, McFadden,
Mc. Graw Hill.
Sistemas de Bases de Datos, Diseo, Implementacin y
Administracin, Peter Rob, Carlos Coronel, 2004.

Desarrollo de Bases de Datos, Dolores Cuadra,


alfaomega Ra-Ma, 2010.
Sistemas de Bases de Datos. Diseo, Implementacin y
Administracin, Petter Rob, Carlos Coronel, Thomson,
2005.

BIBLIOGRAFA
Fundamentos de Base de Datos, Abraham
Silberschatz, Henry F. Korth, S. Sudarshan , 4. Edicin,
Mc. Graw Hill.
Tecnologa y Diseo de Bases de Datos, Piattini,
Velthuis, Mario G, Marcos Martnez Esperanza, Calero
Muo Coral, Vela Snchez Beln. Ra-Ma 2006.

También podría gustarte