Está en la página 1de 12

ALUMNO: PRESE3NTACION LINO, WALDO

CURSO: DESARROLLO DE BASE DE DATOS

DOCENTE: Mg: Marx

HUNUCO-PERU

1/12
RELACION:
Un concepto capital del modelo relacional es el de relación, postulado por el matemático y teórico
de bases de datos Edgar F. Cid. Siguiendo al científico británico, una relación representa un
conjunto de entidades con las mismas propiedades. Cada relación se compone de una serie de
filas o registros (las llamadas tupas), cuyos valores dependen de ciertos atributos (columnas).

Qué es una base de datos relacional


Un base de datos relacional es una recopilación de elementos de datos con relaciones predefinidas
entre ellos. Estos elementos se organizan como un conjunto de tablas con columnas y filas. Las
tablas se utilizan para guardar información sobre los objetos que se van a representar en la base de
datos. Cada columna de una tabla guarda un determinado tipo de datos y un campo almacena el
valor real de un atributo. Las filas de la tabla representan una recopilación de valores relacionados
de un objeto o entidad. Cada fila de una tabla podría marcarse con un identificador único
denominado clave principal, mientras que filas de varias tablas pueden relacionarse con claves
extranjeras. Se puede obtener acceso a estos datos de muchas formas distintas sin reorganizar las
propias tablas de la base de datos.

2/12
Db2
Con los usuarios disponen de un SGBD relacional propietario de la casa IBM.

Microsoft SQL Server


La aplicación de Microsoft para gestionar bases de datos relacionales está disponible con una
licencia Microsoft de pago.

Misal
Misal es el SGBD de código abierto más utilizado a nivel global.

Desde que pasa a las manos de Oracle, Misal se distribuye con una licencia dual. Sus primeros
desarrolladores siguen encargándose del proyecto, ahora bajo el nombre de Maread.

PostgreSQL
Con PostgreSQL usuarios disponen de un SGBD relacional libre y orientado a objetos de cuyo
continuo desarrollo se ocupa su comunidad open source.

Oracle Database
El programa de Oracle se distribuye como software propietario.

SQLite
por último, SQLite constituye una biblioteca de programas con licencia de dominio público que
contiene un gestor de bases de datos relacionales.

Todos estos sistemas se basan en una organización tabular de la información, pero


¿cómo exactamente? A continuación, nos adentramos en los principios
fundamentales del diseño de bases de datos relacionales, presentamos algunos
ejemplos y las distinguimos de otros modelos de datos.

3/12
Cómo funcionan las bases de datos relacionales
Los datos estructurados en tablas constituyen la BD de un sistema relacional. El SGBD define su
estructura y gestiona también los permisos de escritura y lectura y para interactuar con él, los
usuarios utilizan un lenguaje de bases de datos. Todo gestor de bases de datos relacionales
soporta al menos un lenguaje formal que permite ejecutar las siguientes operaciones:

Definir la estructura de datos: en la definición de los datos se guarda una descripción con
metadatos de la estructura de datos en el diccionario del sistema. Cuando un usuario crea
una tabla nueva, en el diccionario de datos se almacena su correspondiente esquema. El
vocabulario de un lenguaje de bases de datos que se utiliza para definir los datos se
denomina Data Definición Lenguaje (DDL), lenguaje de definición de datos.

Definir derechos: todos los lenguajes de bases de datos proporcionan una sintaxis que
permite otorgar o retirar permisos. En este contexto se habla de Data Control Lenguaje (DCL)
o lenguaje de control de datos, un vocabulario integrado en el lenguaje de bases de datos.

4/12
Definir condiciones de integridad: por condiciones de integridad se entienden los
requisitos de estado que se exigen a un banco de datos. Si se definen condiciones para su
integridad, el BD garantiza que se cumplan en todo momento. Se habla entonces de un
estado consistente. Una condición básica de integridad en una base de datos relacional es,
por ejemplo, que cada registro (tupla) pueda identificarse de forma inequívoca.

Definir transacciones: cuando se lleva a una BD de un estado consistente a otro diferente


se habla de transacción. Estas transacciones contienen una serie de instrucciones que deben
ejecutarse siempre de forma íntegra. Si una se interrumpe, la BD vuelve a su estado original
(Rollback). Cada transacción comienza con una orden para crear una conexión con la BD a
la que siguen otras que inician las operaciones de datos en sí, así como un paso de
comprobación (Commit) que asegura la integridad de la BD. Las operaciones que pongan en
peligro la integridad de la tabla no se consignan
(committed), es decir, no se escriben en la base de datos de forma permanente. Por último,
se cierra la conexión con la BD. Al vocabulario del lenguaje de bases de datos con el que se
manipulan los datos se le conoce como Data Manipulation Language (DML) .

Definir vistas: las llamadas views son vistas virtuales de un subconjunto de los datos de
una tabla. Para crear una vista, el SGBD genera una tabla virtual (relación lógica) sobre la
base de las tablas físicas. En estas vistas pueden emplearse las mismas operaciones que se
utilizarían en tablas físicas. Según la función de la vista de datos pueden distinguirse distintos
tipos de vista. Las más habituales son aquellas que filtran determinadas filas (consulta de
selección) o columnas (vista de columnas) de una tabla.

Los Sistemas de Bases de Datos Distribuidas representan más naturalmente


la estructura geográficamente descentralizada de una organización, aumentan la disponibilidad
de los datos, reducen el tráfico de comunicación y es justificable, además, por el abaratamiento
de los costos en el equipamiento y la infraestructura de comunicaciones de las redes de
computadoras. El diseño de las Bases de Datos Distribuidas posee las fases del diseño
centralizado y cuenta, además, con dos nuevos problemas que caracterizan
el proceso de distribución de datos, e incluyen la determinación de: cómo dividir la base de
datos en componentes para localizarlos en diferentes sitios, qué cantidad de datos debe ser
replicados y cómo deben los fragmentos replicados ser localizados.

VENTAJAS
 El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al lugar
donde se utilizan.
 El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una
carga de trabajo,

5/12
 Nuevos nodos se pueden agregar fácil y rápidamente.
 La probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una
autonomía e independencia entre los nodos.
 Control local de los datos con que se interactúa.
 Mayor tolerancia a los fallos

DESVENTAJAS
 Es más complicado el control y la manipulación de los datos
 Es compleja el aseguramiento de la integridad de la información en presencia de fallas no
predecibles tanto de componentes de hardware como de software. La integridad se refiere a la
consistencia, validez y exactitud de la información.
 El control de concurrencia y los mecanismos de recuperación son mucho más complejos que
en un sistema centralizado dado que los datos pueden estar replicados.
La distribución de la BD requiere determinar la fragmentación y la localización. La fragmentación
es el proceso de dividir una relación en pequeñas porciones llamadas fragmentos [Meghini,
1991]. Las razones principales para la fragmentación son el incremento del nivel de concurrencia
y el desempeño del sistema. Existen dos alternativas para fragmentar datos: fragmentación
horizontal (FH) y fragmentación vertical (FV). La combinación de las anteriores resulta en una
fragmentación híbrida. Es importante seguir tres reglas, las cuales aseguran que la BD no tenga
cambios semánticos durante la fragmentación: completitud, reconstrucción y disjuntura.

3. Sistema de Gestión de Base de Datos Distribuida

Un sistema de gestión de bases de datos distribuidas (SGBDD) es un Sistema de Gestión de bases de


datos que gestiona la BD distribuida
Funcionalidades adicionales de un SGBDD
 Accede a sitios remotos y transmite consultas y datos a través de varios sitios mediante una
red de comunicación.
 Almacena el esquema de distribución y replicación de los datos en el catálogo del sistema.
 Establece las estrategias de ejecución de las consultas y las transacciones que acceden a
los datos en más de un sitio.
 Decide sobre cual copia de los datos replicados acceder.
 Mantiene la consistencia de las copias de los datos replicados.
 Realiza la recuperación ante los fallos.

4. AMBIENTES DE BASES DE DATOS DISTRIBUIDAS


Las BDD pueden ser:
 Homogéneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de
los demás sitios y cooperan en el procesamiento de las solicitudes. Los sitios locales
mantienen un mismo esquema y SGBD.
 Heterogéneas: Cada sitio puede tener un SGBD distinto así como esquemas diferentes.
Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas
para la cooperación en el procesamiento de transacciones.

6/12
5. PROBLEMAS FUNDAMENTALES A RESOLVER EN LAS BASES
DE DATOS DISTRIBUIDAS
 Diseño de bases de datos distribuidas
 Procesamiento y optimización de consultas

 Manejo de transacciones y control de concurrencia

ETAPAS DEL DISEÑO.


La etapa diferenciadora entre el diseño de una base de datos centralizada y una base de datos
distribuidas es el "Diseño de la distribución" que consta de dos actividades :
Fragmentación: Decidir "como" dividimos la BD y en "que" partes .
Asignación: Decidir "donde" ubicamos cada parte, así como si tendremos
replicación de datos.
Aspectos a considerar en el diseño de una BD distribuida
 Fragmentación: Una relación puede ser dividida en un número de sub-relaciones,
denominadas fragmentos, los cuales son entonces distribuidas
 Asignación: cada fragmento debe ser almacenado en un sitio en base a una distribución
óptima.
 Replicación: El SGBDD puede mantener una copia de un fragmento en diferentes sitios
6. Fragmentación
 El problema de fragmentación se refiere al aprisionamiento de la información para
distribuir cada parte a los diferentes sitios de la red
OBJETIVOS DE LA FRAGMENTACIÓN
 El objetivo de la fragmentación consiste en dividir la relación en un conjunto de
relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo hagan uso
de un fragmento.
 Sobre este marco, una fragmentación óptima es aquella que produce un esquema de
división que minimiza el tiempo de ejecución de las aplicaciones que emplean esos
fragmentos.
 La unidad de fragmentación ideal no es la tabla sino una subdivisión de ésta.
 Esto es debido a:
 Las aplicaciones usan vistas definidas sobre varias relaciones, es decir, se forman a
partir de "trozos" de varias tablas. Si conseguimos que cada una de las vistas esté
definida sobre subtablas locales (o en su defecto lo mas "cerca" posible) a cada
aplicación, es de esperar un incremento en el rendimiento.
 Si múltiples vistas de diferentes aplicaciones están definidas sobre una tabla no
fragmentada, se tiene :
 Si la tabla no está replicada entonces se produce generación de tráfico por accesos
remotos.
 Si la tabla está replicada en todos o algunos de los sitios donde residen cada una de las
aplicaciones entonces la generación de trafico innecesario es producida por la
necesidad de la actualización de las copias.

VENTAJAS

 Al descomponer una relación en fragmentos (unidades de distribución) :

7/12
 Permitimos el procesamiento concurrente de transacciones ya que no se bloquean
tablas enteras sino subtablas, por lo que dos consultas pueden acceder a la misma
tabla a fragmentos distintos.
 Permitimos la paralización de consultas al poder descomponerlas en su consultas, cada
una de la cuales trabajará con un fragmento diferente incrementándose así el
rendimiento.

DESVENTAJAS
 Degradación del rendimiento en vistas definidas sobre varios fragmentos ubicados en
sitios distintos (es necesario realizar operaciones con esos trozos lo cual es costoso)
 El control semántico se dificulta y el rendimiento se degrada debido que la verificación
de restricciones de integridad (claves ajenas, óniques, etc) implican buscar fragmentos
en múltiples localizaciones.
 Por lo tanto, división y ubicación de los fragmentos no es trivial.

TIPOS DE FRAGMENTACIÓN DE DATOS

 Existen tres tipos de fragmentación:


 Fragmentación horizontal
 Fragmentación vertical
 Fragmentación híbrida
 Para que una la fragmentación de una relación sea correcta debe satisfacer las
siguientes condiciones:
 Condición de completitud.
 La descomposición de una relación R en los fragmentos R1, R2, ..., Rn es completa
si y solamente si cada elemento de datos en R se encuentra en alguno de los
fragmentos Ri.
 Condición de Reconstrucción.
 La descomposición de una relación R en los fragmentos R1, R2, ..., Rn es completa
si y solamente si cada elemento de datos en R se encuentra en alguno de los
fragmentos Ri.
 Condición de Fragmentos Disjuntos.
 Si la relación R se descompone en los fragmentos R1, R2, ..., Rn, y el dato di está
en Rj, entonces, no debe estar en ningún otro fragmento Rk (k?j).

Son aquellas que se ejecutan sobre múltiples procesadores y discos que han sido
diseñados para ejecutar operaciones en paralelo, cuando sea posible, con el propósito de
mejorar el rendimiento.

8/12
Los sistemas paralelos mejoran la velocidad de procesamiento y de E/S mediante la
utilización de UCP y discos en paralelo. La fuerza que ha impulsado a los sistemas
paralelos de bases de datos ha sido la demanda de aplicaciones que han de manejar
bases de datos extremadamente grandes (del orden de terabytes, esto es, 1012 bytes) o
que tienen que procesar un número enorme de transacciones por segundo (del orden de
miles de transacciones por segundo).
Los sistemas paralelos de base de datos constan de varios procesadores y varios discos
conectados a través de una red de interconexión de alta velocidad. Para medir el
rendimiento de los sistemas de base de datos existen 2 medidas principales:
1. La productividad (throughput) que se entiende como el número de tareas que pueden
completarse en un intervalo de tiempo determinado.
2. El tiempo de respuesta (response time) que es la cantidad de tiempo que necesita para
completar una única tarea a partir del momento en que se envíe. Un sistema que procese un
gran número de pequeñas transacciones puede mejorar su productividad realizando muchas
transacciones en paralelo. Un sistema que procese transacciones más largas puede mejorar
tanto su productividad como sus tiempos de respuesta realizando en paralelo cada una de
las sus tareas de cada transacción.

Paralelismo en consultas
Es la ejecución en paralelo de una única consulta entre varios procesadores y
discos, cuyo objetivo es acelerar las consultas de ejecución prologada. Por
tanto, se puede hacer paralelas las consultas haciendo paralelas las
operaciones que las forman. Existen dos maneras de ejecutar en paralelo
una sola consulta:
· Paralelismo en operaciones. Se puede acelerar el procesamiento de las
consultas haciendo paralela la ejecución de cada una de sus operaciones
individuales ordenación, selección, proyección y reunión.
· Paralelismo entre Operaciones. Se puede acelerar el procesamiento de la
consulta ejecutando en paralelo las diferentes operaciones de las
expresiones de las consultas.
Por lo tanto, el objetivo que se persigue es dividir la relación que interviene en
la consulta por medio de técnicas de división de relaciones, guardar dichas
relaciones en discos que van a ser gestionados cada uno de ellos por un
procesador, a su vez, cada procesador ejecuta su consulta local y cada uno
de estos resultados parciales se unen para formar la respuesta a la consulta.

Arquitectura

 Memoria compartida. Todos los procesadores comparten una memoria común.


 Disco compartido. Todos los procesadores comparten un disco común.
 Sin compartimiento. Los procesadores no comparten ni memoria ni disco.
 Jerárquico. Es un híbrido de las anteriores.

9/12
Aspectos Importantes de los SBDP

Existen varios factores relacionados con la implementación de bases de


datos paralelas que no se presentan en bases de datos centralizadas.
Entre los más importantes se encuentran los siguientes:
Diseño de la Base de Datos Paralela: En el diseño de bases de datos
paralelas se debe considerar el problema de cómo distribuir la información
entre los diferentes nodos de la BDP. Los dos aspectos a tratar en el diseño
de la BDP son fragmentación y distribución
Procesamiento de Consultas: En el procesamiento de consultas en BDP se
tiene que considerar el procesamiento de una consulta y además el costo
involucrado en la transmisión de información entre los diferentes nodos para
la obtención de los resultados de la consulta que se solicitó.
Control de Concurrencia: El control de concurrencia es la actividad de
coordinar accesos concurrentes a la base de datos. Un aspecto interesante
del control de concurrencia es el manejo de interbloqueos. El sistema no debe
permitir que dos o más transacciones se bloqueen entre ellas.
Confiabilidad: En cualquier sistema de bases de datos, centralizado o
paralelo, se deben ofrecer garantías de que la información es confiable. En
sistemas paralelos, el manejo de la atomicidad y durabilidad de las
transacciones es aún más complejo, pues una sola transacción puede
involucrar dos o más fragmentos de la BDP.
De forma general podemos hablar de paralelismo de E/S cuando hablamos de divisiones en las
relaciones entre varios discos para reducir el tiempo necesario de su recuperación. Suponiendo que
tenemos n discos (D0,D1,…,Dm- entre los que se van a dividir los datos, existen varias estrategias
de división:
· Turno Rotatorio.
· División por Asociación.
· División por Rangos

10/12
CONCLUCIONES Y RECOMENDACIONES.

CONCLUCIONES:

Modelo relacional

Siendo el modelo más común, el modelo relacional ordena los datos en tablas,
también conocidas como relaciones, cada una de las cuales se compone de
columnas y filas. Cada columna enumera un atributo de la entidad en cuestión, por
ejemplo, precio, código postal o fecha de nacimiento. En conjunto, a los atributos
en una relación se los llama dominio. Se elige un atributo particular o combinación
de atributos como clave primaria, a la cual se puede hacer referencia en otras tablas,
en donde se la denomina clave externa.

Cada fila, también denominada tulpa, incluye datos sobre una instancia específica
de la entidad en cuestión, por ejemplo, un empleado específico.

Las bases de datos distribuidas


Son cada vez más usadas por las empresas y suponen una ventaja competitiva
frente a los sistemas centralizados, siempre y cuando la empresa en cuestión
tenga necesidad de usar una base de datos de este tipo. Lo más habitual es
disponer de varias sedes y tener que manejar información común, para lo cual las
bases de datos distribuidas son especialmente útiles.

Base de datos paralelas


Los sistemas paralelos mejoran la velocidad de procesamiento y de E/S
mediante la utilización de UCP y discos en paralelo. Cada vez son más

11/12
comunes las máquinas paralelas, lo que hace que cada vez sea más
importante el estudio de los sistemas paralelos de bases de datos. La fuerza
que ha impulsado a los sistemas paralelos de bases de datos ha sido la
demanda de aplicaciones que han de manejar bases de datos extremadamente
grandes (del orden de terabytes, esto es, 1012 bytes) o que tienen que
procesar un número enorme de transacciones por segundo (del orden de miles
de transacciones por segundo). Los sistemas de bases de datos centralizados
o cliente-servidor no son suficientemente potentes para soportar tales
aplicaciones.

RECOMENDACIONES.
Esto es mi recomendación personal sobre los tres tipos de base de datos, claro
que hay muchos más.
Modelo relacional, este modelo es el más usado, lo recomiendo mucho, almenas yo
lo uso porque el modelo relacional está basado en la teoría de conjuntos ya que de
ahí nos podemos guiar de las propiedades de la teoría de conjuntos para poder
guiarnos en nuestras operaciones
Y sobre todo porque estas basado en la lógica de predicados,

Ahora veamos si nosotros queremos trabajar con sistemas más grandes podemos
usarlas las bases de datos distribuidas aparte de que los sistemas relacionales son
no jerárquicos, por ejemplo, si tuviéramos una cadena de restaurants los sistemas
distribuidos serían muy bueno, pero también tendría un costo mucho superior al del
modelo relacional,
Los sistemas paralelos son más eficaces mas rápidos muy útil por
cierto para un tráfico de datos muy elevado.

12/12

También podría gustarte