elementos de un sistema de base de datos

63
SISTEMAS DE BASE DE DATOS Por Lic. Ángel Castro [email protected]

Upload: angrecasua

Post on 30-Jun-2015

1.511 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

SISTEMAS DE BASE DE DATOS

Por Lic. Ángel Castro

[email protected]

Page 2: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

INDICE DE CONTENIDO:

Pag.

INTRODUCCIÓN 3

1.- CONCEPTOS DE BASICOS 5

2.- SISTEMAS DE BASE DE DATOS 6

3.- SERVIDOR DE BASE DE DATOS 19

4.- BASES DE DATOS DISTRIBUIDAS 27

5,- CONCLUSIONES 45

6.- BIBLIOGRAFIA Y FUENTES ELECTRONOCAS

CONSULTADAS

46

INTRODUCCIÓN

Page 3: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Los grandes adelantos tecnológicos, cada día mas vertiginosos, le han

dado a las organizaciones un abanico de posibilidades para optimizar sus

operaciones y tareas; en el caso particular de las telecomunicaciones, los

avances en la transferencia de voz y datos han hecho posible que hoy en día

las organizaciones puedan manejar y consolidar su información, en velocidad

y volúmenes considerables, independientemente de las distancias y

ubicaciones geográficas en donde estén ubicadas sus unidades.

Tal el caso de los Bancos, cuya filosofía de trabajo, enmarcados en

operaciones financieras constantes y en una estructura organizativa dispersa

geográficamente hablando, los obliga a contar con información exacta y

verás en tiempo real.

Así como los bancos muchas organizaciones requieren operar sobre

esquemas de procesamiento remoto de su información, los cuales, y de

acuerdo a la naturaleza de cada organización, pueden ser menos o más

complejos, pero siempre podrán contar con esquemas y aplicaciones que

faciliten el procesamiento de sus operaciones.

En este sentido, existen diversas tecnologías de procesamiento

remoto de información. Se pueden mencionar algunas como procesamiento

remoto por IP, Redes Virtuales VPN, Alojamiento en Servidores WEB, entre

otras; y esquemas de procesamiento remoto como el centralizado,

distribuido, jerárquico, etc., todos dirigidos por supuesto, a lograr la

integración de la información de la organización. Acompañado a estas

tecnologías y esquemas, se encuentran un conjunto muy sofisticado de

aplicaciones y técnicas para el procesamiento remoto de información, tal es

el caso de los Gestores de Bases de Datos, que son los encargados de

Page 4: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

bridar el soporte necesario para salvaguardar la integridad de la información,

que se procesa bajo estos esquemas mencionados.

En el presente de trabajo de investigación abordaremos los temas

referidos a los Sistemas Gestión de Base de Datos, muy en particular a los

relacionados con procesamiento remoto. Por el hecho de estar enmarcado

en la Cátedra de Gestión de Redes y Aplicaciones, el trabajo hará hincapié

en las tecnologías de gestión de procesamiento en Red y almacenamiento

distribuido: Sistemas de Base de Datos, Servidores de Base de Datos y

Bases de datos distribuidos, Citaremos una comparación de dos gestores de

Base de datos como son ORACLE y Mysql, de manera de hacer una

comparativa entre un sistema de Gestión Libre y uno Propietario.

Page 5: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

BASES DE DATOS

1.- CONCEPTOS BASICOS

1.1.- BASE DE DATOS

Una base de datos es un conjunto de datos almacenados entre los que

existen relaciones lógicas y ha sido diseñada para satisfacer los

requerimientos de información de una organización.

1.2.- MODELOS DE BASE DE DATOS

Los principales modelos de Base de Datos utilizados actualmente son los

siguientes

1.2.1.- MODELO RELACIONAL

Se basa en el concepto matemático denominado ``relación", que

gráficamente se puede representar como una tabla. En el modelo relacional,

los datos y las relaciones existentes entre los datos se representan mediante

estas relaciones matemáticas, cada una con un nombre que es único y con

un conjunto de columnas. En el modelo relacional la base de datos es

percibida por el usuario como un conjunto de tablas. Esta percepción es sólo

a nivel lógico (en los niveles externo y conceptual de la arquitectura de tres

niveles), ya que a nivel físico puede estar implementada mediante distintas

estructuras de almacenamiento.

Page 6: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

1.2.2.- MODELO DE RED

En este modelo los datos se representan como colecciones de

registros y las relaciones entre los datos se representan mediante conjuntos,

que son punteros en la implementación física. Los registros se organizan

como un grafo: los registros son los nodos y los arcos son los conjuntos. El

SGBD de red más popular es el sistema IDMS.

1.2.3.- MODELO GERERQUICO

Es un tipo de modelo de red con algunas restricciones. De nuevo los

datos se representan como colecciones de registros y las relaciones entre los

datos se representan mediante conjuntos. Sin embargo, en el modelo

jerárquico cada nodo puede tener un solo padre. Una base de datos

jerárquica puede representarse mediante un árbol: los registros son los

nodos, también denominados segmentos, y los arcos son los conjuntos. El

SGBD jerárquico más importante es el sistema IMS. La mayoría de los

SGBD comerciales actuales están basados en el modelo relacional, mientras

que los sistemas más antiguos estaban basados en el modelo de red o el

modelo jerárquico. Estos dos últimos modelos requieren que el usuario tenga

conocimiento de la estructura física de la base de datos a la que se accede,

mientras que el modelo relacional proporciona una mayor independencia de

datos. Se dice que el modelo relacional es declarativo (se especifica qué

datos se han de obtener) y los modelos de red y jerárquico son

navegacionales (se especifica cómo se deben obtener los datos)

Page 7: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

1.2.4.- MODELO ORIENTADO A OBJETOS.

Define una base de datos en términos de objetos, sus propiedades y

sus operaciones. Los objetos con la misma estructura y comportamiento

pertenecen a una clase, y las clases se organizan en jerarquías o grafos

acíclicos. Las operaciones de cada clase se especifican en términos de

procedimientos predefinidos denominados métodos. Algunos SGBD

relacionales existentes en el mercado han estado extendiendo sus modelos

para incorporar conceptos orientados a objetos. A estos SGBD se les conoce

como sistemas objeto-relacionales

1.2.5.- MODELO DISTRIBUIDO

Es aquel en la cual los componentes o entidades que conforman L

Base de Datos se encuentran ubicados en dos o más computadoras

independientes, por lo general separadas geográficamente. En este

esquema, la ejecución de transacciones, la recuperación y actualización de

los datos se efectúa de manera remota. Este esquema puede contener

combinaciones de los modelos anteriormente descritos, con la

implementación de aplicaciones que se encargan de transferir datos entre

plataformas.

2.- SISTEMA DE BASE DE DATOS

Un Sistema de Base de Datos es una serie de datos organizados y

relacionados entre sí, y un conjunto de programas y/o herramientas que

permitan a los usuarios acceder e ellos, modificarlos, mantenerlos, etc.

Page 8: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

2.1.- ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Un sistema de base de datos es algo más que simples datos o que un

conjunto de datos en combinación con unos programas de gestión. Un

sistema de base de datos está formado por los siguientes componentes:

 

 

DATOS: Las características más importantes de la información en estos

sistemas es que va a estar integrada y compartida.

Integrada: La Base de datos puede considerarse como una

unificación de varios ficheros de datos, que son tratados como uno

solo, y en el que se ha eliminado totalmente, o en parte, la

redundancia de datos.

Compartida: Los datos pueden compartirse entre varios usuarios

distintos. Es posible que varios de estos usuarios accedan al mismo

tiempo al mismo elemento de información (acceso concurrente).

 

 

EQUIPO (HARDWARE) Conjunto de dispositivos físicos utilizados para

almacenar y procesar los datos.

 

Computadores: utilizados para procesar los datos de la Base de

datos: pueden ser mainframe, miniordenador u ordenador personal. El

mainframe y los miniordenadores fueron utilizados tradicionalmente

para soportar el acceso de varios usuarios a una base de datos

común. Los ordenadores personales eran empleados, inicialmente,

para manejar bases de datos autónomas controladas y manipuladas

Page 9: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

por un usuario único. No obstante, actualmente, también pueden

conectarse a una red cliente/servidor, garantizando el acceso de

varios usuarios a una base de datos común almacenada en unidades

de disco y controladas por un ordenador servidor. El servidor puede

ser otro ordenador personal más potente, o bien, un miniordenador o

un mainframe.

Medios de Almacenamiento: Generalmente son unidades de disco

que constituyen el mecanismo de almacenamiento principal para las

bases de datos.

Otros dispositivos: Como unidades de cinta, terminales, impresoras,

etc.

 

 

PROGRAMAS (SOFTWARE) Un sistema de base de datos incluye dos tipos

de programas:

 

El software de propósito general: Para la gestión de la base de datos,

comúnmente llamado Sistema Gestor de Bases de Datos (S. G.B.D., o

también D. B. M S, en inglés). El S.G.B.D maneja todas las solicitudes de

acceso a la base de datos formuladas por los usuarios y los programas

de aplicación.

 

El software de aplicación: Que usa las facilidades del S.G.B.D para

manipular la base de datos con el fin de llevar a cabo una función

específica en la gestión de la empresa (por ejemplo: la gestión de

almacén). Puede estar desarrollado en un lenguaje de programación

Page 10: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

estándar, tal como COBOL o C, o en un lenguaje propio de los S.G.B.D

denominados lenguajes de cuarta generación (4GL).

 

PERSONAL: En un sistema de base de datos intervienen un número

importante de usuarios, que podemos clasificar en tres grupos:

 

Administrador de la base de datos; Son los encargados de diseñar la

estructura de la base de datos y los responsables de que el sistema

funcione correctamente. El A.B.D. se encarga de autorizar el acceso a la

base de datos, de coordinar y vigilar su utilización y de adquirir los

recursos necesarios de software y hardware. El A.B.D. es el responsable

cuando surgen problemas como violaciones de seguridad o una

respuesta lenta del sistema. El A.B.D. tiene, entre otras, las -siguientes

funciones:

 

 

Programadores de aplicaciones: Se encargan de desarrollar las

aplicaciones que manejan datos de la base de datos. Estas aplicaciones

contendrán solicitudes de datos al S.G.B.D que luego serán procesados

por los programas de la aplicación que tendrán como finalidad resolver

problemas específicos de la empresa.

 

Usuarios finales: Son personas que no tienen por que tener

conocimientos informáticos y que pueden manipular los datos

(examinarlos y actualizarlos) con la ayuda de las aplicaciones, o bien de

lenguajes de consulta no procedimentales (no es necesario indicar el

algoritmo de acceso a los datos), tipo SQL, o bien, mediante herramientas

basadas en sistemas de menús. Se distinguen tres tipos de usuarios

finales:

Page 11: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

2.2.- ARQUITECTURA DE UN SISTEMA DE BASE DE DATOS

Cuando se habla de la arquitectura de una base de datos, destacan tres

elementos principales:

La separación entre los programas de aplicación y los datos.

El manejo de múltiples vistas por parte de los usuarios.

El uso de un catálogo para almacenar el esquema de la base de

datos.

En 1975, el comité ANSI-SPARC (American National Standard

Institute - Standards Planning and Requirements Committee) propuso una

arquitectura de tres niveles para los sistemas de bases de datos, que resulta

muy útil a la hora de conseguir estas tres características. El objetivo de la

arquitectura de tres niveles es el de separar los programas de aplicación de

la base de datos física. En esta arquitectura, el esquema de una base de

datos se define en tres niveles de abstracción distintos:

2.2.1.- NIVEL INTERNO.

Describe la estructura física de la base de datos mediante un

esquema interno. Este esquema se especifica mediante un modelo físico y

describe todos los detalles para el almacenamiento de la base de datos, así

como los métodos de acceso.

Page 12: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

2.2.2.- NIVEL CONCEPTUAL.

Describe la estructura de toda la base de datos para una comunidad

de usuarios (todos los de una empresa u organización), mediante un

esquema conceptual. Este esquema oculta los detalles de las estructuras de

almacenamiento y se concentra en describir entidades, atributos, relaciones,

operaciones de los usuarios y restricciones. En este nivel se puede utilizar un

modelo conceptual o un modelo lógico para especificar el esquema.

2.2.3.- NIVEL EXTERNO.

En el nivel externo se describen varios esquemas externos o vistas de

usuario. Cada esquema externo describe la parte de la base de datos que

interesa a un grupo de usuarios determinados y oculta a ese grupo el resto

de la base de datos. En este nivel se puede utilizar un modelo conceptual o

un modelo lógico para especificar los esquemas.

La mayoría de los SGBD no distinguen del todo los tres niveles.

Algunos incluyen detalles del nivel físico en el esquema conceptual. En casi

todos los SGBD que se manejan vistas de usuario, los esquemas externos

se especifican con el mismo modelo de datos que describe la información a

nivel conceptual, aunque en algunos se pueden utilizar diferentes modelos

de datos en los niveles conceptuales y externo.

Hay que destacar que los tres esquemas no son más que

descripciones de los mismos datos pero con distintos niveles de abstracción.

Los únicos datos que existen realmente están a nivel físico, almacenados en

Page 13: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

un dispositivo como puede ser un disco. En un SGBD basado en la

arquitectura de tres niveles, cada grupo de usuarios hace referencia

exclusivamente a su propio esquema externo. Por lo tanto, el SGBD debe

transformar cualquier petición expresada en términos de un esquema externo

a una petición expresada en términos del esquema conceptual, y luego, a

una petición en el esquema interno, que se procesará sobre la base de datos

almacenada.

Si la petición es de una obtención (consulta) de datos, será preciso

modificar el formato de la información extraída de la base de datos

almacenada, para que coincida con la vista externa del usuario. El proceso

de transformar peticiones y resultados de un nivel a otro se denomina

correspondencia o transformación. Estas correspondencias pueden requerir

bastante tiempo, por lo que algunos SGBD no cuentan con vistas externas.

La arquitectura de tres niveles es útil para explicar el concepto de

independencia de datos que podemos definir como la capacidad para

modificar el esquema en un nivel del sistema sin tener que modificar el

esquema del nivel inmediato superior. Se pueden definir dos tipos de

independencia de datos:

La independencia lógica es la capacidad de modificar el esquema

conceptual sin tener que alterar los esquemas externos ni los

programas de aplicación. Se puede modificar el esquema conceptual

para ampliar la base de datos o para reducirla. Si, por ejemplo, se

reduce la base de datos eliminando una entidad, los esquemas

externos que no se refieran a ella no deberán verse afectados.

La independencia física es la capacidad de modificar el esquema

interno sin tener que alterar el esquema conceptual (o los externos).

Page 14: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos

con el fin de mejorar el rendimiento de las operaciones de consulta o

de actualización de datos. Dado que la independencia física se refiere

sólo a la separación entre las aplicaciones y las estructuras físicas de

almacenamiento, es más fácil de conseguir que la independencia

lógica.

En los SGBD que tienen la arquitectura de varios niveles es necesario

ampliar el catálogo o diccionario, de modo que incluya información sobre

cómo establecer la correspondencia entre las peticiones de los usuarios y los

datos, entre los diversos niveles. El SGBD utiliza una serie de

procedimientos adicionales para realizar estas correspondencias haciendo

referencia a la información de correspondencia que se encuentra en el

catálogo.

2.3.- ESTRUCTURA DE UN SISTEMA DE BASE DE DATOS

Un sistema de bases de datos se divide en módulos que se encargan

de cada una de las responsabilidades del sistema completo. Algunas de

estas funciones del sistema de bases de datos las puede proporcionar el

sistema operativo de la computadora. En la mayoría de los casos los

sistemas operativos de la computadora proporcionan solo los servicios más

básicos y los sistemas de bases de datos deben construirse sobre esta base.

Así, el diseño de un sistema de bases de datos debe incluir consideraciones

de la interfaz entre el sistema de base de datos y el sistema operativo.

Los componentes funcionales de un sistema de bases de datos se

pueden dividir a grandes rasgos en:

Page 15: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Componentes de procesamiento de consultas.

Componentes de gestión de almacenamiento.

 Funciones.

Componentes de procesamiento de consultas:

Compilador de LMD: traduce las instrucciones del LMD en lenguaje

de consultas a instrucciones a bajo nivel que entiende el motor de

evaluación de consultas.

Precompilador del LMD incorporado: Convierte las instrucciones de

LMD incorporadas en un programa de aplicación en llamadas a

procedimientos normales en el lenguaje anfitrión. El precompilador del

LMD para generar el código apropiado.

Intérprete del LDD: Interpreta las instrucciones del LDD y las registra

en un conjunto de tablas que contiene metadatos.

Motor de evaluación de consultas: Ejecuta las instrucciones a bajo

nivel generadas por el compilador del LMD.

 Componentes de gestión de almacenamiento:

Gestor de autorización e integridad: Comprueba que se satisfagan

las ligaduras de integridad y la autorización de los usuarios para

acceder a los datos.

Gestor de transacciones: Asegura que la base de datos quede en un

estado consistente a pesar de los fallos del sistema, y que las

ejecuciones de transacciones concurrentes ocurran sin conflicto.

Page 16: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Gestor de archivos: Gestiona la reserva de espacio de

almacenamiento de disco, y las estructuras de datos usadas para

representar la información almacenada en disco

Gestor de memoria intermedia: Es responsable de traer los datos

del disco de almacenamiento a memoria principal y decidir qué datos

tratar en la memoria caché.

2.4.- INTERFASES

Las interfaces son los medios por los cuales el sistema de gestión de

base de datos permite al usuario interactuar con la información, solicitar

Page 17: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

consultas, crear o modificar estructuras, resguardar los datos, etc.

Dependiendo del tipo de usuario, estas interfaces serán más o menos

amigables, más o menos restrictivas. Cada sistema de gestión o aplicación

de base de datos tienen sus propias interfaces de comunicación del usuario

con la base de datos.

Algunos ejemplos:

MySQL

ORACLE

Page 18: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

SQLSERVER

PostgreSQL

Page 19: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

3.- SERVIDOR DE BASE DE DATOS.

3.1.- CONCEPTO.

Los servidores de bases de datos surgen con motivo de la necesidad

de las empresas de manejar grandes y complejos volúmenes de datos, al

tiempo que requieren compartir la información con un conjunto de clientes

(que pueden ser tanto aplicaciones como usuarios) de una manera segura.

Ante este enfoque, un sistema gestor de bases de datos (SGBD, a partir de

ahora) deberá ofrecer soluciones de forma fiable, rentable y de alto

Page 20: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

rendimiento. A estas tres características, le debemos añadir una más: debe

proporcionar servicios de forma global y, en la medida de lo posible,

independientemente de la plataforma. Internet se ha convertido en nuestros

días en la mayor plataforma de comunicaciones jamás vista. Esto hace que

las empresas tiendan a presentar su información a través de la Web en

forma de contenidos, que después los clientes consultarán para establecer

relaciones con dichas empresas.

Una de las funciones que se empieza a exigir a los Sistemas de

Gestión de Base de Datos, (puesto que sobre ellos recae el peso del

almacén y proceso de la información) es la de proporcionar herramientas de

apoyo a toma de decisiones ("datawarehouse") al tiempo que proporciona

una plataforma de transacciones "on-line" (OLTP) que hacen que la

información esté siempre actualizada y consistente. A lo largo del artículo

iremos comentando las prestaciones de ambas implementaciones y cómo

influye el SGBD en el proceso de las mismas.

3.2.- FUNCIONES DE UN SERVIDOR DE BASE DE DATOS

3.2.1.- FUNCIONES DE SEGURIDAD

En los servidores de bases de datos cuatro nivele s de seguridad

básicos:

Seguridad de acceso al sistema.

Seguridad a nivel de objetos de datos,

Seguridad a nivel de datos.

Seguridad en cuanto a protección de los almacenamientos físicos de

los datos.

Page 21: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

La seguridad de acceso se implementará de dos maneras posibles: a

nivel de sistema operativo, en cuyo caso el SGBD se apoya en la seguridad

de entrada al sistema operativo para comprobar la validez del acceso a los

datos almacenados; o bien lo que llamaremos modo mixto, en el cual la

seguridad de entrada a la información la llevará a cabo el propio servidor de

datos a partir de la definición de cuentas de usuario al servidor (su

denominación de mixta proviene de la capacidad de los sistemas de incluir

como cuentas de acceso o login aquellas propias del sistema operativo, lo

que facilita la transición de las cuentas de seguridad). La segunda será de

gran ayuda cuando los clientes que acceden al sistema provienen de

sistemas operativos con poca (o ninguna) seguridad o de aplicaciones

instaladas que necesiten acceder a los volúmenes de información del

sistema. En ambos casos, en los sistemas se contará con roles o papeles

con los que contará el usuario al entrar al sistema para la realización de

determinadas operaciones de cara al sistema.

La seguridad a nivel de objetos entra ya en el detalle del acceso a

nivel de creación y administración de objetos de datos: tablas, vistas, índices,

relaciones, reglas...etc. Es decir, las responsabilidades y acciones que puede

hacer el usuario en el esquema de la base de datos (el esqueleto a partir del

cual el sistema definirá cómo se debe almacenar y relacionar la información).

Se podrán especificar de nuevo roles a los usuarios, indicando quién podrá

crear, modificar o eliminar cualquier objeto de datos (con lo que se permite

establecer una política de delegación de responsabilidades).

La seguridad a nivel de datos entra ya en la capa de la información en

si, en la que indicaremos quién puede acceder a qué información para su

consulta, actualización, inserción o borrado. Las características de los

diversos motores determinarán hasta qué grado de seguridad se llega en

Page 22: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

este apartado (desde la protección de las columnas de una tabla hasta la

tabla en si, creación de vistas...etc.).

Por último, la seguridad a nivel de protección de los almacenamientos

físicos de la información. Tendremos dos aproximaciones: la seguridad a

nivel de sistema operativo de los archivos de datos del sistema, y las

políticas de copia de seguridad y restauración de los datos (tanto con

herramientas del sistema operativo como las proporcionadas por el propio

servidor de datos) junto con sus posibles aproximaciones (total, incremental y

diferencial), además de los soportes hardware compatibles de

almacenamiento masivo empleados como destino de las copias.

3.2.2.- FUNCIONES DE SOPORTE DE RED

Puesto que se está implementando una solución cliente/servidor, es

un elemento fundamental para la conexión entre los distintos clientes y el

servidor un canal apropiado para la comunicación, que posibilite el

intercambio de información. Los servidores de datos deben proporcionar

mecanismos de comunicación óptimos, pues de cómo se envíe la

información dependerán parámetros tan importantes como la velocidad de

acceso a los datos. Todos los sistemas gestores analizados cuentan con

múltiples configuraciones de protocolos, adaptándose a los protocolos

existentes y estandarizados de la actualidad: TCP/IP, IPX, Banyan..., aunque

el que tiene un auge imparable en este tipo de servicios es el omnipresente

TCP/IP, lo que garantiza que la conexi6n de nuestros servidores estará al

alcance de cualquier usuario desde cualquier parte del mundo.

Page 23: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Es importante no sólo el canal de comunicaciones que está disponible

para los servidores de datos sino también cómo es transmitida la

información. Es lógico pensar que tienen que existir posibilidades de

encriptación de la información para prevenir accesos no autorizados así

como mecanismos de partición de los datos, para evitar que peticiones

masivas de información sobrecarguen el ancho de banda de la red. Además,

será una cuestión de optimización el saber que no toda la información es

necesaria al mismo tiempo, y que el servidor debe ser capaz de ir

proveyendo la información requerida en el momento justo en el que es

necesaria (lo que ahorra ancho de banda y recursos de la máquina) .

La configuración de las librerías de red dependerá mucho del tipo de

sistema operativo que se encuentre en explotación, y será un componente a

configurar tanto en la máquina servidor como en los puestos cliente; esto

también dependerá del tipo de plataforma empleada.

Es conveniente recalcar que el proceso de configuración de los

clientes deberá ser un proceso sencillo, que en la mayoría de los casos sólo

implica conocer el nombre del servidor de datos y las cuentas oportunas,

siendo el propio sistema operativo el encargado de encontrar los servidores

referenciados (bien a través de un nombre DNS, una dirección IP o un

nombre de servicio con un Puerto de escucha).

3.2.3.- FUNCIONES DE INTERNET Y DISTRIBUCION DE DATOS

Page 24: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Puesto que todo tiende a unificarse con Internet, los servidores de

datos también deben proporcionar servicios de datos a la Red. Los servicios

disponibles incorporan generación y alimentación de páginas Web a partir de

consultas prediseñadas en la base de datos.

Estas consultas mantendrán alimentadas las páginas Web, las cuales

estarán siempre actualizadas con la última información. Cuanto mayor sea el

grado de integración con la Web, mejor podrá ser la presentación de

información crítica de la empresa en las páginas. Los servidores de datos

deben proporcionar mecanismos de actualización automática de las páginas,

de manera que se asegure que cualquier cambio efectuado en la base de

datos se haga efectivo en la correspondiente página Web. De esta manera,

la integridad de la informaci6n también estará implementada a nivel de

servicios de la Red. Lógicamente, también hay que pensar que esto no es

viable de cara a actualizaciones masivas de datos, lo que implica una

sobrecarga del servidor (pues no sólo actualiza datos sino también páginas

Web). Por ello, generalmente deberemos contar con opciones que permitan

realizar actualizaciones manuales o programadas en el tiempo (lo que

reducirá significativamente el coste de actualización de las páginas).

3.2.4.- FUNCIONES DE PROCESOS Y CONSULTAS

El servicio más importante que proporciona un servidor de datos es el

del acceso a la información que almacena. El cómo recuperar y actualizar

dicha información es un proceso crítico del que depende en mayor grado el

éxito de este tipo de sistemas. El lenguaje que se emplea en la actualidad es

el SQL bajo el estándar ANSI SQL'92. Esto, como comentamos

anteriormente, garantiza que todo conjunto de sentencias empleado para el

Page 25: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

acceso a una base de datos puede ser empleado para cualquier tipo de

servidor de bases de datos que siga este estándar, lo que independiza la

necesidad de información del cómo se encuentre almacenada.

Las herramientas actuales permiten encapsular el código SQL, de tal

manera que el usuario no tiene que conocer dicho lenguaje para acceder a la

información. Incluso, y gracias a los procedimientos almacenados, es posible

encapsular el código SQL dentro de la propia base de datos, lo que da lugar

a la petición de información únicamente a través de un conjunto

documentado de funciones sencillas. Esto de cara a aplicaciones y usuarios

simplifica el acceso a la base de datos, y protege la arquitectura de la misma.

La optimización automática de consultas SQL es una nueva opción

que proporcionan los nuevos servidores de datos. Esto permite que sea el

propio servidor el que reconozca la mejor manera de recuperar la

información (optimización y asignación automática de índices, o aprendizaje/

entrenamiento de consultas) que es lo que se conoce como plan de

ejecución de la consulta. Lo que en el caso de introducir una sentencia SQL

no optimizada por motivos de rapidez o desconocimiento, permite acelerar al

máximo el acceso a los datos.

3.2.5.- PLATAFORMA Y PROGRAMACION

En este último punto comentaremos la importancia que tienen dos de

los parámetros relacionados con las plataformas disponibles para el servidor

y el grado de ampliación del mismo tanto de cara a su implementación

interna como en su capacidad de proporcionar API de programación a los

desarrolladores.

Page 26: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

La escalabilidad y portabilidad del servidor será un factor a tener en

cuenta de cara a su adquisición o migración desde sistemas ya existentes. Y

ya no sólo de cara al motor del servidor sino de cara a las plataformas de las

herramientas de los clientes. Cuanto mayor sea el rango de plataformas

soportadas, tanto más universal será el acceso al motor, lo que no limita a la

empresa en cuanto a parque tecnológico se refiere. En este punto, decir

también que cuanto mejor sea el soporte de migración y traspaso de

información entre distintos servidores, más se garantizará la

integraci6n/migración de la información ya existente, con el mínimo riesgo de

pérdida de información y el mínimo coste de implantación y desarrollo.

En cuanto al desarrollo, los servidores de datos deben proporcionar

las API necesarias para asegurar que los desarrollos que se lleven a cabo

puedan aprovechar los servicios de acceso y gestión de los datos de la

manera más eficiente y completa posibles. Y, además, no deben limitar el

desarrollo a la plataforma en la que se encuentra el sistema, sino que debe

ser capaz de dar soporte a los lenguajes estándar de la Red como pueda ser

Java, lo que garantizará una integración total con los recursos de la Red.

3.2.6.- FUNCIONES DE SOPORTE DE HARDWARE

Sin un buen soporte de hardware que proporcione los factores de

rendimiento necesarios para cumplir los objetivos de acceso a la información,

no podremos obtener las prestaciones establecidas. En cuanto al procesador

empiezan a aprovecharse al máximo las arquitecturas SMP (Multiproceso

simétrico). Los servidores de datos serán capaces de distribuir la carga del

análisis dé las consultas, la ejecución de la programación de tareas y, como

no, el control de los accesos de múltiples usuarios al mismo tiempo. Es

requisito imprescindible contar con una buena cantidad de memoria, pues

Page 27: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

una de las mejores maneras que, tienen los servidores de proporcionar los

datos de la manera más rápida posible es mantener los sistemas de

indexación, cursores y páginas caché en la memoria del servidor. Lo que

requiere de una enorme cantidad de espacio libre. Ni que decir tiene que él

disco duro es necesario que disponga de almacenamiento de sobra si quiere

ser capaz de albergar varias bases de datos que son capaces de almacenar

el nivel de información diario (presente y futuro) que requiere el

funcionamiento de la empresa y sus reglas de negocio.

4.- BASES DE DATOS DISTRIBUIDAS.

4.1.- CONCEPTO.

Una Base de Datos Distribuida (BDD) es un conjunto de múltiples

bases de datos lógicamente relacionadas las cuales se encuentran

distribuidas entre diferentes sitios interconectados por una red de

comunicaciones, los cuales tienen la capacidad de procesamiento autónomo

lo cual indica que puede realizar operaciones locales o distribuidas. Un

sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual

múltiples sitios de bases de datos están ligados por un sistema de

comunicaciones de tal forma que, un usuario en cualquier sitio puede

acceder los datos en cualquier parte de la red exactamente como si los

El sistema de administración de Base de Datos Distribuida (DDBMS),

esta formado por las transacciones y los administradores de base de datos

distribuidos de todas las computadoras, en un esquema genérico, el SGBDD

implica un conjunto de programas que operan en diversas computadoras.

Estos programas pueden ser subsistemas de un producto único DDBMS,

Page 28: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

concesionado por un sólo fabricante, o también pudiera resultar de una

colección de programas de fuentes dispares : algunos considerados por

fabricantes y algunos otros escritos en casa.

Un administrador de base de datos (DTM) es un programa que recibe

solicitudes de procesamiento de los programas de consulta o de

transacciones y a su vez las traduce en acciones para los administradores de

la base de datos . Una función importante del DTM es coordinar y controlar

dichas acciones. · Cada sitio tiene sus propias bases de datos "reales"

locales, sus propios usuarios locales, sus propios DBMS y programas para

administración de transacciones y su propio administrador local de

comunicación de datos.

4.2.- PRINCIPIOS FUNDAMENTALES

• Localización de la información.

• Duplicidad de los Datos.

• Concurrencia de los procesos.

• Tratamiento de las Fallas.

4.3.- PRINCIPALES CARACTERISTICAS DE LOS SGBDD.

4.3.1.- PROCESAMIENTO DE TRANSACCIONES

Varias de las operaciones que se realizan sobre la base de datos

forman a menudo una única unidad lógica de trabajo. Un ejemplo de esto es

la acreditación de cuentas en un banco, en la que el valor acreditado se resta

Page 29: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

en la cuenta (A) y se debe actualizar tanto el saldo contable como el

disponible, a parte de este proceso se debe insertar un registro en la tabla de

auditoria.

Es esencial que se ejecuten todos los procesos o ninguno. Este

requisito de todo o nada se denomina atomicidad. Además es fundamental

que el valor restado a los saldos sea preservado, este requisito se conoce

como consistencia. Finalmente tras la ejecución correcta de la transacción,

los nuevos valores de los saldos deben persistir, a pesar de la posible falla

del sistema. Este requerimiento del sistema se denomina durabilidad.

También es importante y necesario si ocurre algún error durante la ejecución

de cualquiera de los procesos que forman parte de la transacción se ejecute

un roolback de forma que deje los valores como estaban al principio, es

decir, como estaban antes de la ejecución.

El componente encargado de lograr la atomicidad de la transacción se

conoce como administrador de transacciones y las operaciones COMMIT

(comprometer o confirmar) y ROOLBACK (retroceder) son la clave de su

funcionamiento.

4.3.2.- RECUPERACIÓN DE LA INFORMACIÓN.

El objetivo del concepto de recuperación es proteger la base de datos

contra fallas lógicas o físicas que destruyan los datos en forma total o parcial.

Estas fallas pueden afectar al correcto almacenamiento de los datos. Para

asegurar que la base de datos siempre esté en un estado consistente, cada

base de datos tiene un proceso para obtener copias de seguridad, esto

Page 30: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

ayuda a mantener un registro confiable de los datos ante desastres o

posibles fallas del sistema.

Por otro lado, las bases de datos crean unidades de ejecución

llamadas transacciones, que pueden definirse como una secuencia de

operaciones que se ejecutan en forma atómica, es decir, se realizan todas

las operaciones que comprende la transacción o no se realiza ninguna.

La transacciones, o terminan el proceso con éxito y son completadas en la

base de datos, o fracasan y deben ser restaurado el estado anterior de la

base de datos.

El DBA debe definir responsabilidades, procedimientos, situaciones y

plazos en los que se deben realizar las copias de seguridad y el respaldo del

archivo de log, especificando a los operadores los procedimientos de

recuperación ante caídas. El principio básico en el que se basa la

recuperación es la redundancia.

4.3.3.- INTEGRIDAD Y SEGURIDAD

Las restricciones de integridad proporcionan un medio de asegurar

que las modificaciones hechas a la base da datos por los usuarios

autorizados no provoquen la pérdida de la consistencia de los datos. Por

tanto las restricciones de integridad protegen a las bases de datos de daños

accidentales.

La integridad tiene como función proteger la BD contra operaciones

que introduzcan inconsistencias en los datos. Se habla de integridad en el

sentido de corrección, validez o precisión de los datos.

El subsistema de integridad de un SGBD debe por tanto detectar y

corregir, en la medida de lo posible, las operaciones incorrectas. En la

Page 31: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

práctica es el punto débil de los SGBD comerciales, ya que casi toda la

verificación de integridad se realiza mediante código de procedimientos

escritos por los usuarios.

En lo que tiene que ver con la seguridad también se protege los datos

frente al acceso de personas no autorizadas y destrucción o alteración

malintencionada.

4.3.4.- CONTROL DE CONCURRENCIA

El control de concurrencia en las bases de datos permite que la

información se maneje en forma eficiente, permite además la ejecución de

transacciones en paralelo, accesando a información compartida y, por lo

tanto, interfiriendo potencialmente unas con otras. El hecho de reservar un

pasaje aéreo por internet, cuando miles de personas pueden reservarlo

también, nos da la idea de lo importante que es el manejo concurrente de la

base de datos.

El procesamiento de transacciones en línea es utilizado por entidades

como bancos, aerolíneas ya que la forma de negocio que este tipo de

entidades tiene así lo requiere, para que todo funcione correctamente, es

necesario, que las bases de datos estén actualizadas todo el tiempo.

Un algoritmo de control de concurrencia asegura que las

transacciones se ejecuten atómicamente, controlando la intercalación de

transacciones concurrentes, estas se ejecutan una después de otra.

Page 32: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

El concepto principal es el de transacción. Informalmente, una

transacción es la ejecución de ciertas instrucciones que accedan a una base

de datos compartida. El objetivo del control de concurrencia y recuperación

es asegurar que dichas transacciones se ejecuten atómicamente, es decir,

cada transacción accede a información compartida sin interferir con otras

transacciones, y si una transacción termina normalmente, todos

4- 4.- VENTAJAS Y DESVENTAJAS DE LOS SGBDD.

4.4.1.- VENTAJAS.

Existen cuatro ventajas del procesamiento de bases de datos distribuidas.

La primera , puede dar como resultado un mejor rendimiento que el

que se obtiene por un procesamiento centralizado. Los datos pueden

colocarse cerca del punto de su utilización, de forma que el tiempo de

comunicación sea mas corto. Varias computadoras operando en

forma simultánea pueden entregar más volumen de procesamiento

que una sola computadora.

Segundo , los datos duplicados aumentan su confiabilidad. Cuando

falla una computadora, se pueden obtener los datos extraídos de otras

computadoras. Los usuarios no dependen de la disponibilidad de una

sola fuente para sus datos .

Una tercera ventaja , es que los sistemas distribuidos pueden variar su

tamaño de un modo más sencillo. Se pueden agregar computadoras

adicionales a la red conforme aumentan el número de usuarios y su

carga de procesamiento. A menudo es más fácil y más barato agregar

Page 33: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

una nueva computadora más pequeña que actualizar una

computadora única y centralizada. Después, si la carga de trabajo se

reduce, el tamaño de la red también puede reducirse.

Por último , los sistemas distribuidos se puede adecuar de una

manera más sencilla a las estructuras de la organización de los

usuarios.

4.4.2.- DESVENTAJAS

Procesamiento de consultas

Administración de catálogo

Propagación de Actualizaciones

Control de recuperación

Control de Concurrencia

Las primeras dos desventajas de las bases de datos distribuidas son las

mismas que las dos primeras ventajas.

Primero , el rendimiento puede ser peor para el procesamiento distribuido

que para el procesamiento centralizado. Depende de la naturaleza de la

carga de trabajo, la red, el DDBMS y las estrategias utilizadas de

concurrencia y de falla, así como las ventajas del acceso local a los datos y

de los procesadores múltiples, ya que éstos pueden ser abrumados por las

tareas de coordinación y de control requeridas. Tal situación es probable

Page 34: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

cuando la carga de trabajo necesita un gran número de actualizaciones

concurrentes sobre datos duplicados, y que deben estar muy distribuidos.

Segundo , el procesamiento de base de datos distribuida puede resultar

menos confiable que el procesamiento centralizado. De nuevo, depende de

la confiabilidad de las computadoras de procesamiento, de la red, del

DDBMS, de las transacciones y de las tasas de error en la carga de trabajo.

Un sistema distribuido puede estar menos disponible que uno centralizado.

Estas dos desventajas indican que un procesamiento distribuido no es

ninguna panacea. A pesar de que tiene la promesa de un mejor rendimiento

y de una mayor confiabilidad, tal promesa no está garantizada.

Una tercera desventaja es su mayor complejidad, a menudo se traduce en

altos gastos de construcción y mantenimiento. Ya que existen más

componentes de hardware, hay más cantidad de cosas por aprender y más

interfaces susceptibles de fallar. El control de concurrencia y recuperación de

fallas puede convertirse en algo complicado y difícil de implementar, puede

empujar a una mayor carga sobre programadores y personal de operaciones

y quizá se requiera de personal más experimentado y más costoso.

El procesamiento de bases de datos distribuido es difícil de controlar. Una

computadora centralizada reside en un entorno controlado, con personal de

operaciones que supervisa muy de cerca, y las actividades de procesamiento

pueden ser vigiladas, aunque a veces con dificultad. En un sistema

distribuido, las computadoras de proceso, residen muchas veces en las

áreas de trabajo de los usuarios. En ocasiones el acceso físico no está

controlado, y los procedimientos operativos son demasiado suaves y

efectuados por personas que tienen escasa apreciación o comprensión sobre

Page 35: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

su importancia. En sistemas centralizados, en caso de un desastre o

catástrofe, la recuperación puede ser más difícil de sincronizar.

4.5.- EJEMPLO DE PROCESADORES DE BASES DE DATOS

DISTRIBUIDAS

4.5.1.- MySAQL

Es la base de datos de código abierto más popular del mundo. Código

abierto significa que todo el mundo puede acceder al código fuente, es decir,

al código de programación de Mysql, esto significa que también todos

pueden contribuir con ideas, elementos, mejoras o sugerir optimizaciones. Y

así es que Mysql ha pasado de ser una pequeña base de datos a una

completa herramienta. Su rápido desarrollo se debe en gran medida a la

contribución de mucha gente al proyecto, así como la dedicación del equipo

de Mysql.

A diferencia de los proyectos propietarios, en los que el código fuente

es desarrollado por un número reducido de personas y se protege

atentamente, los proyectos de código abierto no excluyen a nadie interesado

en aportar ideas, si disponen de los conocimientos necesarios. Lo que en un

tiempo se consideró como un sencillo juguete para uso en sitios Web, se ha

convertido en la actualidad en una solución viable y de misión crítica para la

administración de datos

.

Mysql es un sistema de administración de bases de datos relacional

(RDBMS). Se trata de un programa capaz de almacenar una enorme

cantidad de datos de gran variedad y de distribuirlos para cubrir las

Page 36: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

necesidades de cualquier tipo de organización, desde pequeños

establecimientos comerciales a grandes empresas y organismos

administrativos. Mysql compite con sistemas RDBMS propietarios como

Oracle, Sql Server y Db2

CARACTERISTICAS

Costo: Mysql es gratuito para la mayor parte de los usos y su servicio

de asistencia resulta económico.

Asistencia: MysqlAB ofrece contratos de asistencia a precios

razonables y existe una nutrida y activa comunidad Mysql.

Velocidad: Mysql es mucho más rápido que la mayoría de sus rivales.

Funcionalidad: Mysql dispone de muchas de las funciones que

exigen los desarrolladores profesionales, como compatibilidad

completa con ACID, compatibilidad para la mayor parte de SQL

ANSI[19], volcados online, duplicación, funciones SSL e integración

con la mayor parte de los entornos de programación.

Portabilidad: Mysql se ejecuta en la inmensa mayoría de sistemas

operativos y, la mayor parte de los casos, los datos se pueden

transferir de un sistema a otro sin dificultad.

Facilidad de uso: Mysql resulta fácil de utilizar y de administrar. Las

herramientas de Mysql son potentes y flexibles, sin sacrificar su

capacidad de uso.

Page 37: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

HERRAMIENTAS ADMINISTRATIVAS

4.5.2.- ORACLE

Oracle es un sistema de administración de base de datos (o RDBMS

Relational Data Base Management System por las siglas en inglés),

fabricado por Oracle corporation, básicamente una herramienta

cliente/servidor para la gestión de Bases de Datos. Es un producto vendido a

nivel mundial, aunque la gran potencia que tiene y su elevado precio hace

que sólo se vea en empresas muy grandes y multinacionales, por norma

general. En el desarrollo de páginas web pasa lo mismo: como es un sistema

Page 38: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

muy caro no está tan extendido como otras bases de datos, por ejemplo,

Access, Mysql, Sql Server, etc.

Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación,

bastante potente para tratar y gestionar la base de datos, también por norma

general se suele utilizar SQL.

Oracle es sin duda una de las mejores bases de datos que tenemos

en el mercado, es un sistema gestor de base de datos robusto, tiene muchas

características que nos garantizan la seguridad e integridad de los datos; que

las transacciones se ejecuten de forma correcta, sin causar inconsistencias;

ayuda a administrar y almacenar grandes volúmenes de datos; estabilidad,

escalabilidad y es multiplataforma.

Aunque su dominio en el mercado de servidores empresariales ha

sido casi total hasta hace poco, recientemente sufre la competencia de

gestores de bases de datos comerciales y de la oferta de otros con licencia

Software Libre como PostgreSql, Mysql o FireBird. Las últimas versiones de

Oracle han sido certificadas para poder trabajar bajo Linux.

ARQUITECTURA

La arquitectura de Oracle se basa en la creación de Instancias, dicho de

manera más simple, sesiones de datos de usuarios o aplicaciones:

Page 39: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Por cada instancia de Oracle se tiene una sola base de datos.

En un servidor se pueden crear varias instancias, pero no es

recomendable ya que cada instancia consume muchos recursos.

Una instancia de Oracle está conformada por varios procesos de

fondo y espacios de memoria compartida denominada System Global

Área (SGA) que son necesarios para acceder a la información

contenida en la base de datos.

La instancia está conformada por procesos del usuario, procesos que

se ejecutan en el background de Oracle y los espacios de memoria

que comparten estos procesos.

El SGA es utilizado para el intercambio de datos entre el servidor y los

clientes.

Una instancia de oracle solo puede abrir una sola base de datos a la

vez.

Procesos de instancias:

PMON.- Process Monitor, Monitorea los procesos de los usuarios en

caso de que la conexión falle. Su misión es monitorizar los procesos

del servidor y tomar acciones correctivas cuando alguno de ellos se

interrumpe en forma abrupta, limpiando la caché y liberando los

Page 40: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

posibles recursos que pudieran estar asignados en ese momento.

También es responsable por el restablecimiento de aquel proceso que

se ha interrumpido bruscamente.

SMON.- System Monitor, este proceso es el encargado de recuperar

la instancia y abrir la base da datos en caso de que ocurra alguna

falla. Levanta una instancia cuando se le da la instrucción de partida

(al comienzo del trabajo, encontrándose previamente en shutdown).

Enseguida limpia los segmentos temporales y recupera las

transacciones que pudieran haberse interrumpido debido a una falla

del sistema. Además disminuye la fragmentación del sistema

agrupando aquellas extensiones libres que existen dentro de la base

de datos.

CKPT.- CheckPoint Process, Sintoniza las tareas de grabación en la

base de datos. Es el responsable de advertir al proceso DBWR de

efectuar un proceso de actualización en el disco de los datos

mantenidos en memoria, incluyendo los datafiles y control files (para

registrar el checkpoint). Este proceso es opcional, si no está presente,

es el proceso LGWR quien asume la responsabilidad de la tarea.

DBWR.- DataBase Writer, escribe los bloques de datos de la memoria

en la base de datos. Es el responsable de la escritura en disco de toda

la información almacenada en los buffers de bloques que no se han

actualizado.

LGWR.- Log Writer, graba los bloques del redo log del buffer a los

archivos Redo Log File.

ARCH (archiver): La función de este proceso es la de respaldar la

información almacenada en los archivos redo log cuando éstos se

llenan. Este proceso está siempre activo cuando se ha establecido el

modo ARCHIVELOG. Si el sistema no está operando en este modo se

Page 41: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

hace más difícil recuperar el sistema sin problemas luego de una falla

general.

HERRAMIENTAS

4.5.3.- COMPARACION ENTRE LOS SISTEMAS ORACLE Y MySQL

Vistas

Page 42: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Es una característica que permite visualizar los datos de una o varias

tablas.

Mysql soporta esta característica desde la versión 5.

Oracle soporta esta característica que es un gran mecanismo para

crear consultas con cierto formato o con ciertos campos de la tabla, esto

ayuda a proteger la información que se presenta al usuario.

Control de concurrencia

Oracle maneja un control de concurrencia multiversión que difiere de

los mecanismos de concurrencia utilizados por otros fabricantes de bases de

datos.

Oracle soporta la consistencia de lectura en un nivel de instrucción y de

transacción. Oracle determina el número de cambio del sistema ( System

Change Number, SCN) actual. El SCN esencialmente actúa como una marca

de tiempo donde el tiempo se mide en términos de compromisos de la base

de datos en lugar del tiempo de reloj.

Si en el curso de una consulta se encuentra que un bloque de datos

tiene un SCN mayor que el que está siendo asociado con la consulta, es

evidente que se ha modificado el bloque de datos después del SCN de la

consulta original mediante alguna otra transacción y puede o no haberse

comprometido. Por ello los datos en el bloque no se pueden incluir en una

vista consistente de la base de datos como existía a la hora del SCN de la

consulta. En su lugar, se debe utilizar una versión anterior de los datos en el

bloque; específicamente aquel que tenga el SCN mayor que no exceda al

SCN de la consulta.

En el modelo de concurrencia de Oracle las operaciones de lectura no

bloquean las operaciones de escritura y las operaciones de escritura no

Page 43: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

bloquean las operaciones de lectura, una propiedad que permite alto grado

de concurrencia.

Procesamiento distribuido de transacciones

  Muchas veces una simple transacción necesita escalar entre múltiples

servidores de bases de datos. Esta situación es solventada por Mysql 5.0.

Usando la ingeniería de almacenamiento disponible llamada Innodb,

asegurando la integridad de la transacción. Mysql soporta Distributed

Transaccions (XA), permite distribuir las transacciones a través de los

diferentes servidores.

 

Procedimientos almacenados

 Los procedimientos almacenados programados eficientemente

ayudan a reducir el tráfico de red ya que utiliza una sola llamada a la base de

datos.

Mysql soporta esta característica desde la versión 5 para satisfacer las

necesidades de muchas empresas, una diferencia con los procedimientos

almacenados de las bases de datos propietarias es que solamente necesita

la cláusula SELECT para obtener una salida de datos, esto no ocurre con

otras bases de datos que necesitan llamadas a paquetes o cursores con

apuntadores a la cláusula SELECT.

Los procedimientos almacenados ayudan a eliminar tráfico excesivo

en la red porque solamente una simple llamada al servidor es requerida en

lugar de múltiples llamadas.

Page 44: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Oracle también soporta esta característica, además permite construir

sentencias dinámicas.

Recovery de transacciones erróneas

Es una herramienta que sirve para retornar al estado anterior las

transacciones que por error se ejecutaron sobre la base de datos.

Mysql no soporta esta característica.

En oracle, esta característica se la conoce como flashback query, que

permite a un usuario establecer un cierto número SCN o tiempo de reloj en

su sesión y ejecutar consultas sobre los datos que existían en esa fecha

(supuesto que los datos todavía existían en el segmento de retroceso).

Normalmente en un sistema de bases de datos, una vez realizado el cambio

no hay forma de retroceder al estado anterior de los datos a menos que se

realicen restauraciones desde copias de seguridad, sin embargo, realizar

esto es bases de datos muy grandes, resulta ser muy costoso.

Oracle dispone de una herramienta que realiza el trabajo en forma

casi automática (necesita de un DBA para su correcta ejecución), Primero

identifica la tabla afectada, la operación realizada Inserción, actualización o

borrado, luego examina los cambios que realizó la transacción y si afectó a

otras tablas, el dba examina el resultado del análisis de oracle, copia el la

sentencia SQL y la ejecuta. Además puede recuperar la información con

especifico time point.

Réplica

Page 45: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Es el proceso de copia y mantenimiento de bases de datos múltiples

que hacen un sistema distribuido. Consiste en dos servidores: uno Maestro y

uno esclavo, El maestro registra todas las consultas que provocan cambios

en la base de datos y las almacena en un fichero de registro binario. El

servidor esclavo se conecta al maestro, lee las condiciones en el fichero

binario y las ejecuta contra su copia local.

Mysql Maneja replica maestro-esclavo (en una sola vía).

Generalmente 3 productos o herramientas de Oracle cubren el área de

replicación. Todos ellos están incluidos en el Oracle Enterprise Edition.

5.- CONCLUSIONES

Una vez analizado el contenido del presente trabajo, podemos consluir

los siguites puntos:

Las bases de Datos fueron creadas con la necesidad de optimizar el

uso de los datos de la organización.

Los Sistemas de Gestión de Base de Datos son la combinación de los

datos de la organización , las aplicaciones que actúan sobre los

mismos y los usuarios que hacen uso de los datos.

El Servidor de Base de Datos en un computador en el cual se

almacena la base de datos de la organización, con la finalizar de

centralizarla, dar acceso a sus clientes y crear condiciones de

seguridad optimas.

Page 46: ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Los Sistemas de Bases de Datos Distribuidos son un conjunto de

Base de Datos dispuestas geográficamente e interconectadas a través

de medios de Red, con la finalidad de hacer más óptimo el

procesamiento remoto de los datos organizacionales.

6.- BIBLIOGRAFIA Y FUENTES ELECTRONICAS CONSULTADAS.

Libros:

Cárdenas F. Alfonso. Sistemas de Administración de Bancos de

Datos Mexico 1983. Editorial Limusa.

Henry F. Korth, Abraham Silberschatz. Fundamentos de Bases de

Datos, 5ta Edición. Mexico 1998 , Editorial Mc Graw Hill.

Fuentes Electrónicas:

SISTEMAS DE BASES DE DATOS. http://usuarios.multimania.

es/cursosgbd/UD2.htm

INSTITUTO TECNOLÓGICO DE COLIMA, DEPARTAMENTO DE

SISTEMAS Y COMPUTACIÓN. Tutorial de Fundamentos de Base

de Datos. http://labredes.itcolima.edu.mx/fundamentosbd/

sd_u1_7.htm

TECNOMAESTROS. Bases de Datos Distribuidas.

http://tecnomaestros.awardspace.com/bases_datos_distribuidas.

php