miércoles, 14 de noviembre de 2012

Base de Datos Distribuidas, Homogeneas , Heterogeneas , Multibase e Intregales


7. Base de Datos Distribuidas


Inicialmente podemos decir que las SGBD surgen como respuesta a la distribución que las empresas ya tiene, al menos de manera lógica (divisiones, Departamentos, etc.) y que en ocasiones también de manera física (plantas, fabricas). Toso esto nos lleva a que posiblemente los datos también estén distribuidos, ya que cada unidad organizacional mantendrá los datos con los que normalmente opere.
A cada una de estas subdivisiones se les llama “islas de información”, y lo que hace un sistema distribuido es establecer los “puentes” necesarios para conectar a esas islas entre sí.
En definitiva lo que pretende es que la estructura de la base de datos refleje la estructura de realidad una BD virtual compuesta de varias BD’s “reales” distintas que se encuentran en varios sitios distintos.
Definición:
Podemos ver las BDD como un colección de múltiples bases de datos interrelacionadas lógicamente y distribuidas por un red de computadores, formando un única gran base de datos.

Tipo de Base de Datos Distribuidas:

Una de las decisiones mas importantes que el diseñador de base de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cual lo desea realizar. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada  e hibrida.
Centralizada:

Es muy similar al modelo Cliente/Servidor en el sentido que la BDD esta centraliza en un lugar y los usuarios están distribuidos. Este modelo solo brinda la ventaja de tener el procesamiento distribuido ya que en sentido de disponibilidad y fiabilidad de los datos no se gana nada.
Replicadas:
El esquema de la BDD de replicación consiste en que cada nodo debe tener su copia completa de la base de datos. Es fácil ver que este esquema tiene un alto costo en el almacenamiento de la información. Debido a que la actualización delos datos debe ser  realizada en todas las copias, también tiene un alto costo de escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer muchas, y donde la disponibilidad y fiabilidad de los datos sea de máxima importancia.
Particionadas:
Este modelo consiste en que solo hay una copia de cada elemento, pero la información está distribuida a través delos nodos. En cada nodo se aloja uno o más fragmentos disjuntos de la base de  datos, como los fragmentos no se replican esto disminuye el costo de almacenamiento, pero sacrifica la disponibilidad y  fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea implementar este modelo es la granularidad de la fragmentación. La fragmentación se realiza también de tres formas:
-Horizontal
-Vertical
-Mixto
-Hibrida:
Este esquema simplemente representa la combinación del esquema de partición y replicas. Se particiona la relación y a la vez los fragmentes están selectivamente replicados a través del sistema de BDD.
Los Objetivos de una SBDD
1. Autonomía local:
Los sitios en un sistema distribuido deben ser autónomos.

-Autonomía local, significa que todas las operaciones en un sitio dado están controladas por este sitio
-Seguridad, integridad y representación de almacenamiento de los datos locales permanecen bajo el control y jurisdicción del sitio local.
2. Independencia de un sitio Central

La autonomía central implica  que todos los sitios deben ser tratados como iguales. Por lo tanto, no debe haber particularmente ninguna dependencia de un sitio”maestro” central para algún servicio central. Tal que todo el sistema dependa de ese sitio central. Asimismo existen algunas razones por las cuales no debería haber un sitio central como por ejemplo:

-el sitio central puede ser un cuello de botella
-el sistema seria vulnerable; es decir, si el sitio central falla, también fallara todo el sistema

3. el sistema debe estar en continua operación:
Una ventaja de los sistemas distribuidos es que deben proporcionar mayor confiabilidad y mayor disponibilidad.

Confiabilidad, la probalidad de que el sistema esté listo y funcionando en cualquier momento dado. Los SD no son una propuesta de todo o nada; pueden continuar operando cuando hay alguna falla en algún  componente independiente.
Disponibilidad, probabilidad de que el sistema esté listo y funcionando continuamente a lo largo de un periodo especificado, podemos decir q nunca debería ser necesario apagar el sistema.

4. Procesamiento de consultas Distribuidas
El sistema debe ser capaz de  procesar consultas que afecten a datos de más de un sitio y hacerlo de forma optimizada. Este hecho puede ser considerado como otra razón por la que los sistemas distribuidos siempre son relacionales.

Distribuciones Homogéneas:
En los sistemas de bases de datos distribuidas homogéneas todos los sitios emplean idéntico software de gestión de bases de datos, son conscientes de la existencia de los demás sitio y acuerdan cooperar en el procesamiento de las solicitudes de los usuarios.

En estos sistemas, los sitios locales renuncian a una parte de su autonomía en cuanto a su derecho a modificar los esquemas o el software de gestión de bases de datos. Este software también debe cooperar con los demás sitios en el intercambio de la información sobre las transacciones para hacer posible su procesamiento entre varios sitios.
Distribuciones Heterogéneas:

Las BD’s Heterogéneas o Multibase de Datos son aquellas donde Sitios diferentes utilizan diferentes DBMS’s, siendo cada uno esencialmente autónomo. Es posible que algunos sitios no sean conscientes de la existencia de los demás y quizás proporcionen facilidades limitadas para la cooperación en el procesamiento de transacciones

En las bases de datos distribuidas heterogéneas

Puede que los diferentes sitios utilicen esquemas y software de gestión de sistemas de bases de datos diferentes. Puede que algunos sitios no tengan información de la existencia del resto y que sólo proporcionen facilidades limitadas para la cooperación en el procesamiento de las transacciones. La heterogeneidad se debe a que los datos de cada BD son de diferentes tipos o formatos. El enfoque heterogéneo es más complejo que el enfoque homogéneo. Hoy en día existe la tendencia a crear software que permita

Tener acceso a diversas bases de datos autónomas preexistentes almacenadas en SGBD heterogéneos.
 
La Heterogeneidad de las BD es inevitable cuando diferentes tipos de BD coexisten en una organización que trata de compartir datos entre éstas.BDD heterogéneamente:

El tratamiento de la información ubicada en bases de datos distribuidas heterogéneas exige una capa de software adicional por encima de los sistemas de bases de datos ya existentes. Esta capa de software se denomina sistema de bases de datos múltiples. Puede que los sistemas locales de bases de datos empleen modelos lógicos y lenguajes de definición y de tratamiento de datos diferentes, y que difieran en sus mecanismos de control de concurrencia y de administración de las transacciones.

Sistemas de BD Federadas:
Los sistemas de bases de datos federadas son sistemas computacionales que hacen disponible la información desde diversas fuentes, y donde esas fuentes de información pueden ser heterogéneas, distribuidas y autónomas. Un sistema de bases de datos federadas es una colección de sistemas de bases de datos cooperativos y autónomos

En un sistema federado los usuarios tienen acceso a los datos, de los distintos sistemas, a través de una interfaz común sin embargo, no existe un esquema global que describa a todos los datos de las distintas bases de datos, en su lugar hay varios esquemas unificados, cada uno describiendo porciones de bases de datos y archivos para el uso de cierta clase de usuarios.

El SGBDF no contiene datos, solo accede a los datos almacenados en la BD componente. Una BDF no es una BD única distribuida. Pueden usar diferentes esquemas de software. La diferencia en software es un problema mayor al momento de la transacción de procesamiento. Las federaciones se forman y desaparecen. No hay un esquema conceptual único. Se dice que las SBD se federan para dar lugar a las SGBF.

Forma en que operan:

Los componentes de un SBDF (Sistema de base de datos federadas) pueden efectuar operaciones locales o bien ejecutar consultas sobre los datos de la federación y pueden también ser usadas por otros componentes de la federación.

La autonomía o la integración de los componentes la controla el administrador del sistema global en colaboración con los administradores de las bases de datos componente. Este nivel de integración se da de acuerdo a las necesidades propias de cada componente.

Se debe remarcar que una base de datos federada no es una base de datos única distribuida, más bien son soluciones para acceder información depositada en diferentes bases de datos.

Clasificación:

Se pueden clasificar en:

a) Débilmente Acoplados:

Los usuarios deben tratar explícitamente con las BD, es decir, cuando la responsabilidad de crear y mantener la Federación recae sobre el usuario y no hay control por parte del sistema Federado y sus administradores.

b) Fuertemente Acoplados:

la Federación y sus administradores controlan el acceso y mantienen el sistema, es decir, el administrador tiene la responsabilidad de crear y mantener la Federación y el control de acceso de los sistemas de Bases de Datos Componentes. Se pueden clasificar, a su vez, en:

1.    Federación sencilla:

 Permite crear y manejar un solo esquema federado. 

2.    Federación Múltiple:  

Permite la creación y el manejo de varios esquemas federados.

Multibase

Debido al natural crecimiento y expansión de las organizaciones, surge la necesidad de tener información de las diferentes dependencias que los componen, la cual posibilitará la acción y toma de decisiones de manera rápida y oportuna. Puede ocurrir que en algunas dependencias ya existan bases de datos (BD) y que no fueron diseñadas como BD distribuidas. Para tener un manejo integral de éstas BD y otras que se vayan a crear, una solución posible sería dejar atrás los sistemas existentes, y crear un nuevo sistema que maneje todo el conjunto de BD (esta solución, sin lugar a dudas, significaría un enorme costo y esfuerzo).

Otra solución es mantener la autonomía de los sistemas existentes, es decir, no afectar en nada su funcionalidad y diseño, pero integrar de alguna manera los datos que se desean compartir; la tecnología que permite esto, son los sistemas multi-Base de Datos distribuidos, los cuales crean el Esquema Conceptual Global (ECG) a partir de las BD existentes.

La creación del ECG, es un proceso complejo que requiere la identificación de esquemas de cada una las BD participantes, la solución de conflictos de nombres de relación, atributos y otros.La formulación de consultas sobre una tabla del ECG es sencilla, pero una consulta sobre varias tablas se complica por el hecho de que probablemente las BD existentes no fueron diseñadas como BD distribuidas. A continuación se presenta un algoritmo denominado "Integración de tablas", para la realización de consultas en sistemas multi-BD, solucionando la inexistencia de replicación de identificadores (esta replicación en la fragmentación vertical, permite la reconstrucción delas tablas fragmentadas), considerando que las consultas son sólo de lectura y no se pueden modificar las BD existentes


Arquitectura Cliente/Servidor


6. Arquitectura Cliente/Servidor


Con el aumento de la velocidad y potencia de las computadoras personales y el decremento en su precio, los sistemas se han ido distanciando de la arquitectura centralizada. Los terminales conectados a un sistema central han sido suplantados por computadoras personales. De igual forma, la interfaz de usuario, que solía estar gestionada directamente por el sistema central, está pasando a ser gestionada cada vez más por las computadoras personales. Como consecuencia, los sistemas centralizados actúan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes.
Conceptualmente, las plataformas cliente/servidor son parte del concepto de sistemas abiertos, en el cual todo tipo de computadores, sistemas operativos, protocolos de redes y otros, software y hardware, pueden interconectarse y trabajar coordinadamente para lograr los objetivos del usuario. Sin embargo, en la práctica, los problemas de alcanzar tal variedad de sistemas operativos, protocolos de redes, sistemas de base de datos y otros, que trabajen conjuntamente pueden ser muchos. El objetivo de los sistemas abiertos consiste en lograr la interoperabilidad, que es el estado de dos o más sistemas heterogéneos comunicándose y contribuyendo cada uno a alguna parte del trabajo que corresponde a una tarea común.

Características de  un sistema Cliente/Servidor

Un sistema cliente/servidor es aquel en el que uno o más clientes y uno o más servidores,
conjuntamente con un sistema operativo subyacente y un sistema de comunicación entre procesos, forma un sistema compuesto que permite cómputo distribuido, análisis, y presentación de los datos. Si existen múltiples servidores de procesamiento de base de datos, cada uno de ellos deberá procesar una base de datos distinta, para que el sistema sea considerado un sistema cliente/servidor. Cuando dos servidores procesan la misma base de datos, el sistema ya no se llama un sistema cliente/servidor, sino que se trata de un sistema de base de datos distribuido.
Los clientes, a través de la red, pueden realizar consultas al servidor. El servidor tiene el control sobre los datos; sin embargo los clientes pueden tener datos privados que residen en sus computadoras. Las principales características de la arquitectura cliente/servidor son:

- El servidor presenta a todos sus clientes una interfaz única y bien definida.

- El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.

- El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se      encuentra, ni de su sistema operativo.

- Los cambios en el servidor implican pocos o ningún cambio en el cliente.
 

Partes de un sistema Cliente-Servidor

Los principales componentes de un sistema cliente/servidor son:

- El núcleo (back-end o sección posterior). Es el SGBD propiamente (servidor).

- El interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente).

  • La sección frontal

Las secciones frontales son las diversas aplicaciones ejecutadas dentro del SGBD, tanto las escritas

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

 

Funciones del Cliente:


-Administrar la interfaz gráfica de usuario.

-Aceptar datos del usuario.

-Procesar la lógica de la aplicación.

-Generar las solicitudes para la base de datos.

-Transmitir las solicitudes de la base de datos al servidor.

-Recibir los resultados del servidor.

-Dar formato a los resultados.


Como Funciona:

Primero, el usuario crea la consulta. Puede ser una consulta creada en el instante o puede ser una consulta preprogramada o almacenada anteriormente. Después la aplicación cliente convierte la consulta al SQL usado por el servidor de la base de datos y la envía a través de la red al servidor.
El servidor verifica que el usuario tiene los derechos de seguridad apropiados a la consulta de datos requerida. Si es así, verifica la consulta y envía los datos apropiados de vuelta al cliente. La aplicación cliente recibe la respuesta y le da formato para presentarlo al usuario.

Finalmente, el usuario ve la respuesta en la pantalla y puede manipular los datos, o modificar la consulta y empezar el proceso de nuevo.
 
  • La sección posterior

La sección posterior es el SGBD en sí. Permite llevar a cabo todas las funciones básicas de un SGBD: definición de datos, manipulación de datos, seguridad, integridad, entre otras. En particular, permite establecer todos los aspectos de los niveles externo, conceptual e interno (arquitectura ANSI/SPARC)

Funciones del Servidor:

-Aceptar las solicitudes de la base de datos de los clientes.

-Procesar dichas solicitudes.

-Dar formato a los resultados y transmitirlos al cliente.

-Llevar a cabo la verificación de integridad.

-Mantener los datos generales de la base de datos.

-Proporcionar control de acceso concurrente.

-Llevar a cabo la recuperación.

-Optimizar el procesamiento de consultas y actualización.

Como funciona:

Un servidor concurrente realiza los siguientes pasos:
1.- Espera que llegue la consulta de un cliente.
2.- Cuando le llega una nueva consulta, comienza un nuevo proceso para manejar esta consulta.
 El nuevo servidor maneja la totalidad de la consulta. Cuando se ha procesado completamente, este nuevo proceso termina.
3.- Se vuelve al primer paso.
 

 

Arquitectura Centralizada

5. Arquitectura Centralizada


Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un único sistema informática sin interaccionar con ninguna otra computadora. Tales sistemas comprenden el rango desde los sistemas de base de datos monousuario ejecutándose en computadoras personales hasta los sistemas de base de datos de alto rendimiento ejecutándose en grandes sistemas.

Una computadora moderna de propósito general consiste en una o unas pocas CPU’s y un número determinado de controladores para los dispositivos que se encuentren conectados a través de un bus común, el cual proporciona acceso a la memoria compartida. Las CPU’s poseen memorias caché locales donde se almacenan copias de ciertas partes de la memoria para acelerar el acceso a los datos. Cada controlador de dispositivo se encarga de un tipo específico de dispositivos (por ejemplo, una unidad de disco, una tarjeta de sonido o un monitor). La CPU y los controladores de dispositivo pueden ejecutarse concurrentemente, compitiendo así por el acceso a la memoria. La memoria caché reduce la disputa por el acceso a la memoria, ya que la CPU necesita acceder a la memoria compartida un número de veces menor.

Se distinguen dos formas de utilizar las computadoras: como sistemas monousuario o como sistemas multiusuario. En la primera categoría están las computadoras personales y las estaciones de trabajo. Un sistema monousuario típico es una unidad de sobremesa utilizada por una única persona que dispone de una sola CPU, de uno o dos discos fijos y que trabaja con un sistema operativo que sólo permite un único usuario.

Por el contrario, un sistema multiusuario típico tiene más discos y más memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales. Estos sistemas se denominan con frecuencia sistemas servidores.

Normalmente, los sistemas de bases de datos diseñados para funcionar sobre sistemas monousuario, como las computadoras personales, no suelen proporcionar muchas de las facilidades que ofrecen los sistemas multiusuario. En particular, no tienen control de concurrencia, que no es necesario cuando solamente un usuario puede generar modificaciones. Las facilidades de recuperación en estos sistemas, o no existen o son primitivas; por ejemplo, realizar una copia de seguridad de la base de datos antes de cualquier modificación. La mayoría de estos sistemas no admiten SQL.

Aunque hoy en día las computadoras de propósito general tienen varios procesadores, utilizan paralelismo de grano grueso, disponiendo de unos pocos procesadores (normalmente dos o cuatro) que comparten la misma memoria principal. Las bases de datos que se ejecutan en tales máquinas habitualmente no intentan dividir una consulta simple entre los distintos procesadores, sino que ejecutan cada consulta en un único procesador, posibilitando la concurrencia de varias consultas. Así, estos sistemas soportan una mayor productividad, es decir, permiten ejecutar un mayor número de transacciones por segundo, a pesar de que cada transacción individualmente no se ejecuta más rápido.

Las bases de datos diseñadas para las máquinas monoprocesador ya disponen de multitarea, permitiendo que varios procesos se ejecuten a la vez en el mismo procesador, usando tiempo compartido, mientras que de cara al usuario parece que los procesos se están ejecutando en paralelo. De esta manera, desde un punto de vista lógico, las máquinas paralelas de grano grueso parecen ser idénticas a las máquinas monoprocesador, y pueden adaptarse fácilmente los sistemas de bases de datos diseñados para máquinas de tiempo compartido para que puedan ejecutarse sobre máquinas paralelas de grano grueso.

Por el contrario, las máquinas paralelas de grano fino tienen un gran número de procesadores y los sistemas de bases de datos que se ejecutan sobre ellas intentan paralelizar las tareas simples (consultas, por ejemplo) que solicitan los usuarios.

martes, 13 de noviembre de 2012

Recuperación de una Base de Datos

4. Recuperación de una Base de Datos


La recuperabilidad significa que si se da algún error en los datos este ocurre de por la existencia de un bug que hace que el programa funcione de manera incorrecta. A menudo los bugs son causados por conflictos del software cuando las aplicaciones intentan funcionar en tándem. El bug del programa puede volver la base de datos al estado en que se encontraba consistentemente antes de que el daño se causara. Las actividades de recuperación incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de daño o perdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles   almacenarlos fuera del área en antelación en un desastre anticipado. La recuperación es una de las tareas más importantes de la DBA’s.
El sistema de recuperación que ofrecen los manejadores de bases de datos, permite, en el caso de que ocurra una falla, la base de datos pueda ser restaurada, con un mínimo impacto para el usuario; es decir, que se puedan recuperar todas las transacciones que se habían hecho, hasta momentos antes de que la falla haya ocurrido.
Esta recuperación puede ser:

-Estática: Es decir la base de datos se restaura hasta el estado en que se encontraba cuando se tomó la última copia
-Dinámica: no solo se restaura la base desde la copia más reciente que se tenga, sino que también es capaz de recuperar las transacciones que se hayan hecho desde ese entonces.

Tipos de Recuperación de base de Datos:

-Recuperación de Servidores SQL

-Recuperación de Base de Datos de Servidores Exchange

-Recuperación de Bases de Datos de Sharepoint

-Recuperación de Bases de Datos de Oracle

- Recuperación de Bases de Datos de Lotus Notes

- Recuperación de Bases de Datos de Acces

Recuperación de Base de Datos en diferentes Supuestos

Podemos recuperar desde:

-los ficheros de Backup de la base de datos (MS, MSQL Server, MySQL, MS Acces)

-las cintas de Backup

-los ficheros nativos de la base de datos (.mdf, .ndf, .ldf, .db, .dbf, .dbx, .data, .mdb)

Recuperacion de Base de Datos con diversos Tamaños

Entre la información que podemos perder y que podemos recuperar son:

-Ficheros de backup no reconocibles por la base de datos o la aplicación de backup

-Bases de datos bloqueadas marcadas con “Suspect” que sean inaccesibles.

-Bases de datos corruptadas por apagón no ordenado del sistema

-Tablas borradas

-Ficheros corruptos y daños.

-Imposibilidad o problemas de acceso a alguna tabla

-Paginas de datos dañados

-Ficheros sobrescritos accidentalmente

Seguridad de la Base de Datos




3. Seguridad de la Base de Datos

 
La seguridad se refiere a la protección de los datos contra acceso no autorizado. El objeto de datos que puede requerir protección, va desde la base de datos completa, de algunas tablas hasta una celda específica de una tabla. El alcance de la protección se conoce como granularidad.
Diferentes usuarios pueden tener diferentes derechos sobre los mismos objetos. Los manejadores de bases de datos relacionales permiten que el administrador pueda restringir el acceso a ciertos datos que no competen con las funciones del usuario.

La seguridad se logra utilizando básicamente dos mecanismos:
·Vistas: Permite que se limite la visión del usuario a ciertas columnas o filas de determinadas tablas.
· El sistema de privilegios: el cual el administrador puede conceder o revocar privilegio sobre los objetos de la base de datos a los distintos usuarios.
La definición de estos derechos, no es competencia del administrador, es más parte de las políticas de la empresa, él es un ejecutor y auditor de las mismas. Los DBMS tienen los mecanismos que le permiten al administrador implementar estas seguridades, usando principalmente ordenes SQL.
Otros dos mecanismos para la protección del acceso no autorizado, que también debe ser tenidos en cuenta, son:
· La criptografía: que consiste en cifrar los datos para hacerlos ilegibles mediante algoritmos altamente sofisticados de tal manera que sólo los usuarios autorizados puedan descifrarlos. Para encriptar o cifrar los datos, entonces, se necesita de un algoritmo de encriptamiento y de otro para el desencriptamiento.
· El control de la inferencia: consiste en impedir que un usuario pueda deducir información, sin tener autorización, a partir de los datos a los que sí tiene acceso.

 

Integridad y Concurrencia de una Base de Datos

2.  Integridad  y Concurrencia de una Base de Datos

La integridad implica asegurarse de que la información contenida en la base de datos este correcta de be verificar que las transacciones que realicen los usuarios autorizados para ello, cumplan con unas precondiciones y postcondiciones que manténganla base de datos en un estado valido.

La integridad se puede clasificar en:
Integridad de dominio: significa que debemos velar porque cada valor o instancia de un atributo este en el dominio o conjunto de valores posibles para ese atributo.
El dominio puede ser:
-Continuo: se dice que un atributo tiene un dominio continuo cuando toma cualquier valor en un rango dado. Ejemplos: el peso de un producto, el tiempo de calentamiento y la demanda de energía.
-Discreto: se dice que un atributo tiene un dominio discreto cuando puede tomar valores de una lista dada. Ejemplos: el estado civil, el  sexo, la profesión y la dependencia donde trabaja un empleado.
El dominio también puede subdividirse en:
-Dinámico: se caracteriza porque puede variar a través del tiempo. Ejemplo: dependencia, Sueldo.
-Estáticos: No varían con el tiempo. Ejemplos: el sexo


Para velar por la integridad de dominio podemos apoyarnos en el tipo de datos que le asociemos a cada atributo y en las funciones de chequeos que se puedan definir con el DBMS utilizado. Cuando tengamos atributos con dominio dinámico y discreto lo más aconsejable para velar por la integridad de dominio, consiste en crear tablas de referencia y luego se crean restricciones de clave foránea. Cuando se trate de un dominio dinámico y continuo, se pueden definir variables dentro de paquetes que se usan dentro de disparadores o triggers.

 

Integridad de entidad: este tipo de integridad vigila que toda instancia de una entidad se distinga de las demás, inequívocamente. Las entidades dentro de una base de datos corresponden a entidades del mundo real donde sus instancias son completamente diferenciables; por ello, cada instancia debe

poseer un identificador único y no nulo denominado clave primaria en el modelo relacional. El mecanismo empleado por casi todos los DBMS para garantizar la integridad de entidad es la restricción impuesta a los atributos que forman parte del identificador único de la entidad con la cláusula PRIMARY KEY cuando se define una tabla.
Otros identificadores únicos, que no se reconocen en el modelo E-R extendido por Barker, se convierten en claves candidatas en el modelo relacional y se vigilan con la restricción UNIQUE cuando se define una relación o tabla.
Integridad Referencial: Este tipo de integridad vigila que un dato que sirva de referencia en una relación o tabla del modelo relacional, de verdad exista en la tabla referenciada. El dato (o conjunto de datos) de referencia es llamado clave foránea y es clave primaria en otra entidad.
No todos los DBMS nos permiten definir la integridad referencial en el momento de creación de una tabla, a través de la cláusula FOREIGN KEY que se añade al atributo que es una clave foránea. Entonces, en ese caso, es necesario crear una pieza de código o trigger que permita definir la regla de integridad necesaria.
Adicionalmente, se debe definir de antemano cómo vamos a proceder cuando se deba eliminar o actualizar cuando existe una clave foránea.
 
 

Procesamiento de Transacciones y Arquitecturas de Distribucion de Datos

Trabajo N° 2 Base de Datos
 
Procesamiento de Transacciones y Arquitecturas de Distribucion de Datos
 
1.Administración de Objetos y recursos
 


El administrador de una base de datos, como recién se expresó, debe supervisar el desempeño de las aplicaciones sobre la base de datos para que el usuario final tenga la información en forma oportuna. Hay muchos factores que pueden incidir en una baja en el desempeño
Principales Funciones del Administrador de la Base de Datos
A continuación se presentan las principales responsabilidades del Administrador de Base de Datos:
-Definir procedimientos de respaldo y de recuperación de las bases de datos.
-Definir los esquemas de seguridad y de integridad que tendrán las bases de datos.
-Supervisar el desempeño de las aplicaciones que corren bajo la base de datos.
-Colaborar con el equipo de desarrollo en la definición del modelo lógico a la empresa y       que atributos tendrán, restricciones que se implementaran, niveles de seguridad, sistema de concurrencia, entre otros aspectos.
-Asesorar al usuario canalizando sus inquietudes acerca de los  datos contenidos en las tablas y la forma de accederlos ,concediendo o revocando los permisos necesarios para manejar estos datos.
-Asesorar a la empresa en la adquisición de nueva tecnología como: generadores  de informes más agiles, graficadores y herramientas de desarrollo.
 Principales Factores de una Baja o Falla en la Base de Datos:
-Una organización física inadecuado de la base de datos
-El crecimiento acelerado de las tablas que la componen
-Un sistema de concurrencias mal diseñado.
-Cambios en el hardware o en el software.
Es por ello que el Administrador  debe estar monitoreando la base de datos constantemente para hacer los ajustes necesarios que requiera la misma.