Vous êtes sur la page 1sur 28

Republica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Superior


Instituto Universitario de Tecnología Juan Pablo Pérez Alfonzo
IUTEPAL
Ampliación- Puerto Cabello

Profesora:
Yelmin Pérez Bachilleres:
Elienny Guedez
C.I: 19.891.374
Fredy Arismendi
C.I: 20.465.930
Sección: 1451
Sección: 1451

Puerto Cabello marzo de 2011


Administradores de Base de Datos Sistem

Controla la organización, almacenamiento, recuperación, seguridad e


integridad de los datos en una base de datos. Acepta pedidos de datos de un
programa de aplicación y le ordena al sistema operativo transferir los datos
apropiados cuando se usa un sistema de gestión de base de datos, los sistemas de
información pueden ser cambiados más fácilmente a medida que cambien los
requerimientos de la organización.

En 1940, los Sistemas de Archivos generados a través de lenguajes de


programación no propietarios como Cobol y Fortran. En 1964, se conciben los
primeros Gestores de Base de Datos.

Evolución

A medida que evolucionaban los DBMS, los lenguajes de programación


también lo hacían. En 1967 surge el primer lenguaje de programación orientado a
objetos, Simula, el cual fue propuesto para simulación de actividades.

Luego se genera una nueva noción, donde las bases de datos deben
almacenar por medio de una estructura tabular llamada relación o tabla (Codd,
1970), compuesta por filas y columnas, accesando dichas relaciones a través de un
lenguaje de alto nivel no procedural (declarativo). De esta forma en los años 80s
surgen varios productores de DBMS Relacionales (RDBMS) como Oracle, Informix,
Ingres y DB2, además de otros lenguajes orientados a objetos como el C++, Java
(antes el Oak), Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero
su desarrollo se hace independiente de los DBMSs.

Lenguajes del DBMS

En la estructura básica de un Sistema Manejador de Base de Datos se


enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos
lenguajes estándar son:

DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de


este el DBMS identifica las descripciones de los elementos de los esquemas y
almacena la descripción del esquema en el catálogo del DBMS. Por medio de este
el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada).

SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es


utilizado por el DBMS para especificar el esquema interno que corresponde a la
Base de Datos Almacenada.
VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por
el DBMS para especificar las vistas del usuario y sus correspondencias con el
esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de
los anteriores.
DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite
la manipulación de las operaciones de Inserción, Eliminación y Modificación.
Tipos de DML's:
De alto Nivel o No por procedimientos: SQL.
De bajo Nivel o por procedimientos.

Usuarios de un Sistema Manejador de Base de Datos

Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto
con el sistema de base de datos desde que este se diseña, elabora, termina y se
usa.
Los usuarios de una base de datos pueden clasificarse como:
--Programadores de aplicaciones: Los profesionales en computación que
interactúan con el sistema por medio de llamadas en DML (Lenguaje de
Manipulación de Datos), las cuales están incorporadas en un programa escrito en un
lenguaje de programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
--Usuarios sofisticados: Los usuarios sofisticados interactúan con el sistema sin
escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas
de base de datos.
--Usuarios especializados: Algunos usuarios sofisticados escriben aplicaciones de
base de datos especializadas que no encajan en el marco tradicional de
procesamiento de datos.
--Usuarios ingenuos: Los usuarios no sofisticados interactúan con el sistema
invocando a uno de los programas de aplicación permanentes que se han escrito
anteriormente en el sistema de base de datos, podemos mencionar al usuario
ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada
del diseño interno del mismo por ejemplo: un cajero.

Transacciones

Una actividad independiente de un sistema informático, como la introducción


de un pedido de un cliente o actualización de un elemento del inventario. Están
usualmente asociadas con sistema de gestión de base de datos de introducción de
pedido y otro sistema interactivo.

(MR) Modelo racional

Modelo de datos en que los datos están organizados en relaciones (tablas).


Este es el modelo implementado en la mayoría de los sistemas modernos de gestión
de base de datos.
Modelo de red

Utiliza la estructura de red o de grafo, que permite definir entre todos los
nodos relaciones. Mediante el establecimiento de apuntadores entre nodos se puede
relacionar cualquier unidad de datos con cualquiera de las otras.

Modelos Jerárquicos

Modelo utilizado en la gestión de base de datos en el que cada registro es el


“padre” de uno o más registros hijo, que pueden o no tener la misma estructura que
el padre; un registro no puede tener más de un padre conceptualmente, por tanto, un
modelo jerárquico se describe normalmente como un árbol. Los registros individuales
no tienen que estar necesariamente en el mismo archivo.

Modelo de datos

Una colección de tipos de objeto, operadores y reglas de integridad


relacionales que forman la entidad abstracta soportada por un sistema de gestión de
base de datos (SGBD). Así, es posible hablar de SGBD relacional, de un SGBD de
red, ect., dependiendo del tipo de modelo de datos del SGBD soporte. En general un
SGBD soporta solo un modelo de datos tratándose de una restricción práctica más
que teórica.

Basados en objetos

Los dos más extendidos son el modelo entidad-relación y el orientado a


objetos. El modelo entidad-relación (E-R) se basa en una percepción del mundo
compuesta por objetos, llamados entidades, y relaciones entre ellos. Las entidades
se diferencian unas de otras a través de atributos. El orientado a objetos también se
basa en objetos, los cuales contienen valores y métodos, entendidos como órdenes
que actúan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en
clases, relacionándose mediante el envío de mensajes. Algunos autores definen
estos modelos como "modelos semánticos"

Basados en registros

El más extendido es el relacional, mientras que los otros dos existentes,


jerárquico y de red, se encuentran en retroceso. Estos modelos se usan para
especificar la estructura lógica global de la base de datos, estructurada en registros
de formato fijo de varios tipos. El modelo relacional representa los datos y sus
relaciones mediante tablas bidimensionales, que contienen datos tomados de los
dominios correspondientes. El modelo de red está formado por colecciones de
registros, relacionados mediante punteros o ligas en grafos arbitrarios. El modelo
jerárquico es similar al de red, pero los registros se organizan como colecciones de
árboles. Algunos autores definen estos modelos como "modelos de datos clásicos".

Sistemas Administradores (Gestores) de base de datos

Son un tipo de software muy específico, dedicado a servir de interfaz entre la


base de datos, el usuario y las aplicaciones que la utilizan.

Algebra Relacional

Colecciones de normas y operadores que permiten manipular relaciones


(tabla). El algebra relacional se suele caracterizar mediante los siguientes
operadores: SELECT, PROJECT, PRODUCT, UNION, INTERSECT, DIFFERENCE,
JOIN (o INNER JOIN), y DIVIDE. En una base de datos relacional el algebra
relacional se utiliza para desarrollar procedimientos que permitan construir nuevas
relaciones basándose en las relaciones existentes.

Archivo

Colección de información completa y con un nombre distintivo, como, por


ejemplo, un programa, un conjunto de datos utilizados por un programa o un
documento por un usuario.

Clasificación de archivos

Por su organización

Se define “la forma en que los registros se disponen sobre el soporte de


almacenamiento, o como la forma en que se estructuran los datos de un archivo”.

Archivos de textos

Un archivo de texto es un tipo estándar; como se ha comentado


anteriormente. Los archivos de textos están constituidos por elementos que son
caracteres de pascal (pertenecen al código ACSSI); Es una colección de registros
almacenados consecutivamente sobre el soporte externo de tal modo que para
acceder a un registro n dado, es obligatorio pasar por todos los n-1 artículos.
Archivos directos

Se dice que es directo cuando cualquier registro es directamente accesible


mediante la especificación de la posición del registro con relación de los datos de un
archivo respecto al origen del fichero. Los archivos aleatorios o directos tienen una
gran rapidez para el acceso comparados con los secuénciales; los registros son
fáciles de referenciar.

Archivos indexados

Está suplementado por una o más registros, los registros pueden ser archivos
independientes aun que se carga al comenzar en la memoria del ordenador en
ambos casos, formados por registros por los campos llave o clave y la posición del
registro. El almacenamiento de los índices en la memoria permite encontrar los
registros más rápidamente que cuando se trabaja en disco.

Base de Datos Relacionales

Base de datos o SGBD que almacena la información en tabla (filas y


columnas de datos) y realiza búsquedas utilizando los datos contenidos en la
columna especificada de una tabla para encontrar datos adicionales en otra tabla. En
una base de datos relacional, las filas de una tabla representan registros
(colecciones de informaciones sobre elementos diferenciados) y las columnas
representan campos (atributos particulares de un registro). En las relaciones de
búsquedas, una base de datos relacional compara la información de un campo de
una tabla de un campo correspondiente de otra tabla para producir una tercera tabla
que combina los datos solicitados de ambas tablas.

Dise
ño de
una
base
de
dato
s
relaci
onal
Objetos de la base de datos
Conceptos básicos de una base de datos

Una base de datos no es más que un conjunto de información relacionada que


se encuentra agrupada o estructurada.

Multitarea

Método de procesamiento soportado por la mayoría de los sistemas


operativos actuales en el que una computadora trabaja en varias tareas (es decir,
separa <<en partes>> el trabajo) de forma aparentemente de forma simultánea por
medio de la división del tiempo del procesador entre las diferentes tareas.

Multiusuario

Persona. Aunque una microcomputadora compartida por varias personas


pueda considerarse como un sistema multiusuario.ualquier sistema informático que
puede ser utilizado por más de una

Multiproceso

Modo de operación en el que dos o más unidades de procesamiento


conectado y aparentemente iguales llevan a cabo uno o más procesos (programas o
conjuntos de instrucciones) en tandem. En el multiprocesamiento, cada unidad de
procesamiento trabaja sobre un conjunto de instrucciones distintas o en parte
distintas del mismo proceso.

Integridad referencial

Es un sistema de reglas que utilizan la mayoría de las bases de datos


relacionales para asegurarse que los registros de tablas relacionadas son válidos y
que no se borren o cambien datos relacionados de forma accidental produciendo
errores de integridad.
Redundancia

Utilización de uno o más servidores en un sitio Web para realizar tareas


idénticas. Si uno de los servidores falla, otro servidor puede asumir las tareas que
estuvieran encomendadas. La redundancia garantiza que el sitio Web continué
funcionando si uno de los servidores deja de hacerlo.

Inconsistencia

Consiste en que no todas las copias redundantes contienen la misma


información. Así, si existen diferentes modos de obtener la misma información, y
esas formas pueden conducir a datos almacenados en distintos sitios. El problema
surge al modificar esa información, si lo sólo cambiamos esos valores en algunos de
los lugares en que se guardan, las consultas que hagamos más tarde podrán dar
como resultado respuestas inconsistentes (es decir, diferentes). Puede darse el caso
de que dos aplicaciones diferentes proporcionen resultados distintos para el mismo
dato.

Tupla

En una tabla (relación) de base de datos, un conjunto de valores relacionados,


uno para cada atributo (columna) una tupla se almacena como una fila de sistema de
gestión de base de datos relacional. Es el análogo de un registro de un archivo no
relacional.

Tabla

Es una estructura de datos caracterizada por filas y columnas en donde los


datos ocupan real o potencialmente cada celda formada por una intersección entre
una fila y una columna.

Entidad

En el diseño asistido por computadora y el diseño orientado a objetos, un


elemento que puede tratarse como una unidad y, a menudo, como un miembro de
una categoría o un tipo determinado.

Campo

Posición en un registro en la que se almacena un tipo de dato concreto por


ejemplo, registro-empleado, pueden contener campos para almacenar apellido,
nombre, dirección, ciudad, provincia, código postal, fecha de contratación, cargo
actual, salario actual y departamento, entre otros. Los campos individuales se
caracterizan por su longitud máxima y por el tipo de datos (por ejemplo, alfabético,
numérico o moneda) que se pueden almacenar en ella.

Atributo

En un registro de base de datos, es el nombre o estructura de un campo por


ejemplo, los archivos apellidos, nombre y teléfono serian los atributos de cada uno
de los registros de una base de datos lista_telefono. El tamaño de un campo o el tipo
de información que contiene, también seria atributo de un registro de base de datos.

Ventajas y desventajas de las base de datos

Ventajas de Base de Datos


Control de redundancia de datos
Coherencia y Compartición de datos
Mayor integración de datos
Mayor seguridad
Mejor accesibilidad de datos y capacidad de respuesta.
Productividad mejorada
Mejora de seguridad y recuperación
Desventajas de Base de Datos
Complejidad
Tamaño
Coste de SGBD
Coste de hardware adicional
Costes de conversión de hardware
Prestaciones
Mayor impacto a fallos

Bases de datos Inteligentes

Su principal objetivo es permitir al usuario manipular el contenido de su base


de datos de manera transparente, ofreciéndole herramientas para extraer
conocimientos a partir del análisis del contenido de sus datos, interrelacionar
información proveniente de diversas fuentes usando medios diversos (texto,
imágenes, sonidos, etc.), usar conocimientos y hacer inferencias para facilitar la
recuperación y visualización de la información.

Lenguaje de manipulación de datos


Una vez creados los esquemas de la base de datos, los usuarios necesitan un
lenguaje que les permita manipular los datos de la base de datos: realizar consultas,
inserciones, eliminaciones y modificaciones. Este lenguaje es el que se denomina
lenguaje de manejo de datos (LMD).

Hay dos tipos de LMD: los procedurales y los no procedurales. Con un LMD
procedural el usuario (normalmente será un programador) especifica qué datos se
necesitan y cómo hay que obtenerlos. Esto quiere decir que el usuario debe
especificar todas las operaciones de acceso a datos llamando a los procedimientos
necesarios para obtener la información requerida. Estos lenguajes acceden a un
registro, lo procesan y basándose en los resultados obtenidos, acceden a otro
registro, que también deben procesar. Así se va accediendo a registros y se van
procesando hasta que se obtienen los datos deseados. Las sentencias de un LMD
procedural deben estar embebidas en un lenguaje de alto nivel, ya que se necesitan
sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada registro
individual. A este lenguaje se le denomina lenguaje anfitrión. Las bases de datos
jerárquicas y de red utilizan LMD procedurales

Un LMD no procedural se puede utilizar de manera independiente para


especificar operaciones complejas sobre la base de datos de forma concisa. En
muchos SGBD se pueden introducir interactivamente instrucciones del LMD desde
un terminal o bien embeberlas en un lenguaje de programación de alto nivel.

Los LMD no procedurales permiten especificar los datos a obtener en una


consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia.
El usuario o programador especifica qué datos quiere obtener sin decir cómo se
debe acceder a ellos. El SGBD traduce las sentencias del LMD en uno o varios
procedimientos que manipulan los conjuntos de registros necesarios. Esto libera al
usuario de tener que conocer cuál es la estructura física de los datos y qué
algoritmos se deben utilizar para acceder a ellos. A los LMD no procedurales también
se les denomina declarativo. Las bases de datos relacionales utilizan LMD no
procedurales, como SQL (Structured Query Language) o QBE (Query-By-Example).
Los lenguajes no procedurales son más fáciles de aprender y de usar que los
procedurales, y el usuario debe realizar menos trabajo, siendo el SGBD quien hace
la mayor parte.
La parte de los LMD no procedurales que realiza la obtención de datos es lo que se
denomina un lenguaje de consultas. En general, las órdenes tanto de obtención
como de actualización de datos de un LMD no procedural se pueden utilizar
interactivamente, por lo que al conjunto completo de sentencias del LMD se le
denomina lenguaje de consultas, aunque es técnicamente incorrecto.

Lenguaje de definición de datos


Una vez finalizado el diseño de una base de datos y escogido un SGBD para
su implementación, el primer paso consiste en especificar el esquema conceptual y
el esquema interno de la base de datos, y la correspondencia entre ambos. En
muchos SGBD no se mantiene una separación estricta de niveles, por lo que el
administrador de la base de datos y los diseñadores utilizan el mismo lenguaje para
definir ambos esquemas, es el lenguaje de definición de datos (LDD). El SGBD
posee un compilador de LDD cuya función consiste en procesar las sentencias del
lenguaje para identificar las descripciones de los distintos elementos de los
esquemas y almacenar la descripción del esquema en el catálogo o diccionario de
datos. Se dice que el diccionario contiene metadatos: describe los objetos de la base
de datos.

Tipos de usuarios

• Usuario normal: consulta información.


• Programador de aplicaciones: consultas más complejas (elaborar nómina de la
empresa, etc.). Hace programas que acceden a la BD.
• Administrador de la BD.

Lenguaje de definición de almacenamiento

Este lenguaje permite especificar características físicas de la base de datos


(volúmenes y archivos donde van a ser almacenados los datos, etc.). En otras
palabras especifica el esquema interno de la base de datos.

Lenguaje de Definición de Vistas

E correspondencias con el esquema conceptuals utilizado por el SGBD para


especificar las vistas del usuario y sus

Cordialidad

Los tipos de cordialidad de asignación son:

Una-Una (1:1)’‘’, significa que cada entidad de la primera relación se va a relacionar


con una entidad de la segunda relación y viceversa.

Una-Muchas (1:N), las entidades de la relación r1 se pueden relacionar con varias


entidades de la relación r2. Pero las entidades de la relación r2 solo pueden
asociarse con una entidad de r1.

Muchas-Una (N:1), las entidades de r1 solo pueden asociarse con una entidad de r2.
Mientras que las entidades de r2 pueden asociarse con varias entidades contenidas
en r1.
* Muchas-Muchas (N:M), las entidades de ambas relaciones pueden asociarse con
varias entidades de la contraria.

Registro

Es una colección de campos (elementos), cada uno con su propio nombre y


tipo. Los elementos de un registro representan diferentes tipos de información y se
accede a ellos mediante su nombre. Se puede acceder a un registro como una
unidad colectiva de elementos y también se puede acceder a los elementos
individualmente.

Base de Datos distribuidas

Un sistema distribuido de base de datos consiste en una colección de


emplazamientos, cada uno de los cuales mantiene un sistema local de base de
datos. Cada emplazamiento puede procesar las transacciones locales: las
transacciones que solo tienen acceso a ese único emplazamiento. Además un
emplazamiento puede participar en la ejecución de las transacciones globales.

Arquitectura de una base de datos

La arquitectura de un sistema de base de datos está influenciada en gran


medida por el sistema informático subyacente en el que se ejecuta el sistema de
base de datos. En la arquitectura de un sistema de base de datos se reflejan
aspectos como la conexión de red, el paralelismo y la distribución.
La conexión de red: de varias computadoras permite que algunas tareas se
ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes.
Esta división de trabajo ha conducido al desarrollo de sistema de base de datos
cliente – servidor.
El procesamiento paralelo: dentro de una computadora permite acelerar las
actividades del sistema de base de datos, proporcionando a las transacciones una
respuesta más rápida, así como la capacidad de ejecutar más transacciones por
segundo.
La distribución de datos: a través de las distintas sedes o departamentos de
una organización permite que estos datos residan donde han sido generados o
donde son más necesarios, pero continuar siendo accesibles desde otros lugares o
departamentos diferentes.

Componentes principales de una base de datos:

Datos o información
Hardware
Software
Usuarios

Funciones de cada componente

Programadores de aplicaciones, que son quienes elaboran los programas que


utilizan las bases de datos, en lenguajes de programación.

Administrador de las bases de datos, posee otro perfil técnico y desempeña


funciones como diseño (decidir la estructura de almacenamiento de los datos y sus
formas de acceso), definir la seguridad y el mantenimiento de la base, los controles
de autorización, la ayuda técnica a los usuarios, etc.

Usuarios finales, a quienes va dirigida toda la labor de los anteriores, es decir,


son quienes interactúan con el sistema desde una terminal mediante algún programa
de aplicación.

Explique la diferencia entre un dbms y una base de datos

Dbms: es un conjunto de programas que se encargan de manejar la creación y todos


los accesos a las bases de datos

Bases de Datos. Un conjunto de información almacenada en memoria auxiliar


que permite acceso directo y un conjunto de programas que manipulan esos datos

Inconveniente de los SGBD

• Redundancia e inconsistencia de datos: La misma información puede estar


duplicada en diferentes lugares (archivos). Con esto puede ocasionar
inconsistencia es decir que no coincidan los datos.

• Dificultas en el acceso de datos: No permite que los datos sean obtenidos de


una forma práctica y eficiente.

• Aislamiento de datos: Los datos están dispersos en varios archivos y los


archivos pueden estar en diferentes archivos.

• Problemas de integridad: Los valores de los datos almacenados en la base de


datos deben satisfacer ciertos tipos de ligaduras de consistencia.
• Problemas de atomicidad: está sujeto a fallo. En muchas aplicaciones es
crucial asegurar que una vez que un fallo ha ocurrido y se ha detectado, los
datos se restauran al estado de consistencia que existía antes del fallo.

• Anomalías en el acceso concurrente: muchos sistemas han ido permitiendo a


múltiples usuarios actualizar los datos simultáneamente puede dar lugar a
datos inconsistentes.

• Problemas de seguridad: No todos los usuarios de un sistema de base de


datos deberían poder acceder a todos los datos.

Lenguajes de cuarta generación

No existe consenso sobre lo que es un lenguaje de cuarta generación (4GL).


Lo que en un lenguaje de tercera generación (3GL) como COBOL requiere cientos
de líneas de código, tan solo necesita diez o veinte líneas en un 4GL. Comparado
con un 3GL, que es procedural, un 4GL es un lenguaje no procedural: el usuario
define qué se debe hacer, no cómo debe hacerse.

Los lenguajes SQL y QBE son ejemplos de 4GL. Hay otros tipos de 4GL:

Un generador de formularios es una herramienta interactiva que permite crear


rápidamente formularios de pantalla para introducir o visualizar datos. Los
generadores de formularios permiten que el usuario defina el aspecto de la pantalla,
qué información se debe visualizar y en qué lugar de la pantalla debe visualizarse.
Algunos generadores de formularios permiten la creación de atributos derivados
utilizando operadores aritméticos y también permiten especificar controles para la
validación de los datos de entrada.
Un generador de informes es una herramienta para crear informes a partir de los
datos almacenados en la base de datos. Se parece a un lenguaje de consultas en
que permite al usuario hacer preguntas sobre la base de datos y obtener información
de ella para un informe. Sin embargo, en el generador de informes se tiene un mayor
control sobre el aspecto de la salida. Se puede dejar que el generador determine
automáticamente el aspecto de la salida o se puede diseñar ésta para que tenga el
aspecto que desee el usuario final.

Tendencias futuras

En el futuro la mayoría de las organizaciones cambiarán la forma


convencional de manejo de la información a la arquitectura de base de datos a las
ventajas derivadas de su uso. El uso de las bases de datos distribuidas se
incrementará de manera considerable en la medida en que la tecnología de
comunicación de datos brinde más facilidades para ello. El uso de bases de datos
facilitará y soportará en gran medida a los Sistemas de Información para la Toma de
Decisiones.

Base de datos orientada a objetos

En una base de datos orientada a objetos, la información se representa


mediante objetos como los presentes en la programación orientada a objetos.
Cuando se integra las características de una base de datos con las de un lenguaje
de programación orientado a objetos, el resultado es un sistema gestor de base de
datos orientada a objetos (ODBMS, object database management system). Un
ODBMS hace que los objetos de la base de datos aparezcan como objetos de un
lenguaje de programación en uno o más lenguajes de programación a los que dé
soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma
transparente, control de concurrencia, recuperación de datos, consultas asociativas y
otras capacidades.

Tendencias futuras

En el futuro la mayoría de las organizaciones cambiarán la forma convencional de


manejo de la información a la arquitectura de base de datos a las ventajas derivadas
de su uso. El uso de las bases de datos distribuidas se incrementará de manera
considerable en la medida en que la tecnología de comunicación de datos brinde
más facilidades para ello. El uso de bases de datos facilitará y soportará en gran
medida a los Sistemas de Información para la Toma de Decisiones.

Panorama Actual

La interoperabilidad entre diferentes sistemas de información ha sido uno de


los aspectos más críticos en la operación cotidiana de muchas organizaciones. La
necesidad de interoperabilidad surge a raíz de los cambios organizacionales que
sufren las empresas modernas, alianzas estratégicas, compartimiento de
información, y absorción de pequeñas y medianas industrias por grandes
corporativos son sólo algunos de los panoramas que provocan esta situación.

En la última década esta preocupación se vio incrementada con la


proliferación de diferentes bases de datos con diferentes modelos de datos que
corren en diferentes plataformas. En estos ambientes, los usuarios están limitados
en el acceso uniforme de la información. Los sistemas de bases de datos múltiples
(también conocidos como bases de datos federadas o bases de datos heterogéneas)
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.
Identificación de objetos, estructuras y constructores

Los objetos de las bases de datos orientadas a objetos suelen


corresponder a entidades del sistema modelado por la base de datos. Las entidades
conservan su identidad aunque algunas de sus propiedades cambien con el tiempo.
De manera parecida, los objetos deben conservar su identidad aunque los valores de
las variables o las definiciones de los métodos cambien total o parcialmente con el
tiempo.
Este concepto de identidad no se aplica a las tuplas de las bases de datos
relacionales. En los sistemas relacionales las tuplas de una relación solo se
distinguen por los valores que contienen. La identidad de los objetos es un concepto
de identidad más potente que el que suele hallarse en los lenguajes de
programación o en los modelos de datos no orientados a objetos. A continuación
algunos ejemplos de identidad:
Valor Se utiliza un valor de datos como identidad. Esta forma de identidad se utiliza
en los sistemas relacionales.
Nombre Se utiliza como identidad un nombre proporcionado por el usuario. Esta
forma de identidad suele utilizarse para los archivos en los sistemas de archivos.
Incorporada Se incluye el concepto de identidad en el modelo de datos o en el
lenguaje de programación y no hace falta que el usuario proporcione ningún
identificador. Esta forma de identidad se utiliza en los sistemas orientados a objetos.
Cada objeto recibe del sistema de manera automática un identificador en el momento
en que se crea.
Es más importante que tener un nombre que resulte fácil de recordar. Utilizar un
identificador de un objeto como atributo de otro se denomina referenciar un objeto.

Encapsulamiento de operaciones, métodos y persistencia

Encapsulamiento: Es la ocultación de información. Significa mantener la


información dentro del objeto y mantenerlo como una caja negra. Puede ser
accedida por métodos.
Persistencia: Un objeto puede seguir existiendo tras desaparecer su antecesor.

En los lenguajes de programación orientados a objetos estos son transitorios,


desaparecen cuando se termina el programa, Si se desea transformar uno de estos
lenguajes en un lenguaje para la programación de bases de datos, el primer paso
consiste en proporcionar una manera de hacer persistentes a los objetos. Se han
propuesto varios enfoques.
Persistencia por clases El enfoque más sencillo, pero el menos conveniente,
consiste en declarar que una clase es persistente. Todos los objetos de la clase son,
por tanto, persistentes de manera predeterminada. Todos los objetos de las clases
no persistentes son transitorios. Este enfoque no es flexible, porque no permite
disponer en una misma clase tanto de objetos transitorios como de objetos
persistentes. En muchos sistemas de bases de datos orientados a objetos, la
declaración de que una clase es persistente se debe interpretar mejor como “que
pueden ser persistentes”.
Persistencia por creación En este enfoque se introduce una sintaxis nueva para
crear los objetos persistentes mediante la extensión de la sintaxis para la creación de
los objetos transitorios. Por tanto, los objetos son persistentes o transitorios en
función de la manera de crearlos. Este enfoque se sigue en varios sistemas de bases
de datos orientados a objetos.
Persistencia por marcas Una variante del enfoque anterior es marcar los objetos
como persistentes después de haberlos creado. Todos los objetos se crean como
transitorios, pero, si un objeto tiene que persistir más allá de la ejecución del
programa, se le marca de manera explícita. A diferencia del enfoque anterior, la
decisión sobre la persistencia o la transitoriedad se retrasa hasta después de la
creación del objeto.
Persistencia por alcance Uno o varios objetos se declaran objetos persistentes
(Objetos raíz) de manera explícita. Todos los demás objetos serán persistentes si (y
solo si) son alcanzables desde el objeto raíz mediante una secuencia de una o más
referencias.
Método es un código ejecutable asociado a un objeto (o a una clase de objetos),
cuya ejecución se desencadena mediante un “mensaje”.

Jerarquía de clases y herencia

Jerarquía es “cualquier clasificación u ordenación de abstracciones en una


estructura de árbol. Algunos tipos de Jerarquía son: Jerarquía de agregación,
jerarquía de clases, jerarquía de herencia, jerarquía de partición, jerarquía de
especialización, jerarquía de tipo. Éste concepto es sumamente importante ya que
con ello conocemos la importancia de dividir los problemas en una jerarquía de
ideas. Los dos tipos importantes de jerarquía son: la de
generalización/especialización y la de todo/parte.
La jerarquía de generalización/especialización se basa en que las propiedades de
una categoría general se transmiten a todas las categorías que se especializan o
subcategorías. En la OO, la jerarquía de clases significa un conjunto de clases
relacionadas por la jerarquía de generalización/especialización.
Herencia: Es la propiedad que permite a los objetos crearse a partir de otros objetos.
Cada subclase comparte características comunes con la clase de la que deriva. La
clase original la llamamos clase base y las nuevas clases creadas a partir de ella
clases derivadas. Una clase derivada puede ser también clase base dando lugar a
una jerarquía de clases.

Relaciones Anidadas

El modelo relacional anidado es una extensión del modelo relacional en la que


los dominios pueden ser atómicos o de relación. Por tanto, el valor de las tuplas de
los atributos puede ser una relación, y las relaciones pueden guardarse en otras
relaciones. Los objetos complejos, por tanto, pueden representarse mediante una
única tupla de las relaciones anidadas.
Objetos complejos

Tipos de datos complejos


Colecciones
Los conjuntos son ejemplares de los tipos colección. Otros ejemplares son los arrays
y los multiconjuntos (es decir, colecciones sin orden donde un elemento puede
aparecer varias veces). Las siguientes definiciones de atributos ilustran la
declaración de un array: array-autores varchar (20) array [10] array-autores es un
array de hasta 10 nombres de autor. Se puede acceder a los elementos del array
especificando el ´índice del array, por ejemplo, array-autores.
Objetos de gran tamaño (LOB)
Muchas aplicaciones actuales de bases de datos necesitan almacenar atributos
grandes (del orden de varios Kbytes), tales como la fotografía de una persona, o muy
grandes (del orden de varios Mbytes o incluso Gbytes), tales como imágenes
medicas de alta resolución o clips de video. SQL: 1999 proporciona por tanto nuevos
tipos de datos para objetos de gran tamaño para datos de caracteres (clob) y
binarios (blob). Las letras “lob” en estos tipos de datos son acrónimos de “Large
OBject” (objeto grande). Los objetos grandes se usan normalmente en aplicaciones
externas, y tiene poco sentido extraerlos completamente en SQL. En su lugar, una
aplicación conseguiría un “localizador” de un objeto grande y lo usaría para
manipularlo desde el lenguaje anfitrión.

Tipos estructurados
Los tipos estructurados permiten la representación directa de atributos compuestos
de los diagramas E-R. Un tipo estructurado puede tener métodos definidos sobre él.

Diseño de BDOO por transformación de EER-OO


Lenguajes orientados a objeto

La orientación a objetos promete mejoras de amplio alcance en la forma de


diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo
plazo a los problemas y preocupaciones que han existido desde el comienzo en el
desarrollo de software: la falta de portabilidad del código y reusabilidad, código que
es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no
intuitivas.

Lenguajes de programación persistentes


Los lenguajes de las bases de datos trabajan directamente con datos que
son persistentes, es decir, los datos siguen existiendo una vez que el programa que
los creo ha concluido. Las relaciones de las bases de datos y las tuplas de las
relaciones son ejemplos de datos persistentes. Por el contrario, los únicos datos
persistentes con los que los lenguajes de programación tradicionales trabajan
directamente son los archivos.
La manera tradicional de realizar las interfaces de las bases de datos con los
lenguajes de programación tradicionales consiste en incorporar o embeber el código
SQL dentro del lenguaje de programación.
Los lenguajes de programación persistente son lenguajes de programación
extendidos para el tratamiento de datos persistentes. Los lenguajes de programación
persistente pueden distinguirse de los lenguajes con SQL embebido de al menos dos
maneras:
1. En los lenguajes incorporados el sistema de tipos del lenguaje anfitrión suele ser
diferente del sistema de tipos del lenguaje para el tratamiento de los datos. Los
programadores son responsables de las conversiones de tipos entre el lenguaje
anfitrión y SQL. Exigir que los programadores ejecuten esta tarea presenta varios
inconvenientes:
a) El código para la conversión entre objetos y tuplas opera fuera del sistema de
tipos orientado a objetos y, por tanto, tiene más posibilidades de presentar errores no
detectados.
b) La conversión entre el formato orientado a objetos y el formato relacional de las
tuplas necesita gran cantidad de código. El código de conversión, junto con el código
para cargar y descargar los datos de la base de datos puede suponer un porcentaje
significativo del total necesario para la aplicación

Por el contrario, en los lenguajes de programación persistente, el lenguaje de


consulta se halla totalmente integrado con el lenguaje anfitrión y ambos comparten el
mismo sistema de tipos. Los objetos se pueden crear y guardar en la base de datos
sin ningún tipo explicito ni cambios de formato; los cambios necesarios se realizan de
manera transparente.
2. Los programadores que utilizan lenguajes de consulta incorporados son
responsables de la escritura de código explicito para la búsqueda de los datos de la
base de datos en la memoria. Si se realizan actualizaciones, los programadores
deben escribir código de manera explícita para volver a guardar los datos
actualizados en la base de datos.
Por el contrario, en los lenguajes de programación persistentes los programadores
pueden trabajar con datos persistentes sin tener que escribir de manera explícita
código para buscarlos en la memoria o para volver a guardarlos en el disco.
Base de datos deductivos Un sistema de bases de datos que tenga la capacidad
de definir reglas con las cuales deducir o inferir información adicional a partir de los
hechos almacenados en las bases de datos se llama Sistema de Bases de Datos
Deductivas. Puesto que parte de los fundamentos teóricos de algunos sistemas de
ésta especie es la lógica matemática, a menudo se les denomina Bases de Datos
Lógicas. Una base de datos deductiva es, en esencia, un programa lógico; mapeo de
relaciones base hacia hechos, y reglas que son usadas para definir nuevas
relaciones en términos de las relaciones base y el procesamiento de consultas.
Los sistemas Bases de Datos Deductivas intentan modificar el hecho de que los
datos requeridos residan en la memoria principal (por lo que la gestión de
almacenamiento secundario no viene al caso) de modo que un SGBD se amplíe para
manejar datos que residen en almacenamiento secundario.

Notación Prolog/Datalog

El lenguaje DATALOG
El lenguaje DATALOG se deriva de la lógica de primer orden. Es a la vez un lenguaje
de descripción y de manipulación de bases de datos.
•El modelo de descripción de datos sostenido por DATALOG es esencialmente
relacional, viéndose una relación como un predicado de la lógica.
•El lenguaje de manipulación es un lenguaje de reglas construido a partir de las
cláusulas de Horn. El nombre Datalog significa “lógica para los datos”. Ha sido
inventado para sugerir una versión de Prolog utilizable por los datos.

Mecanismos básicos de inferencia para programación lógica

La Programación Lógica estudia el uso de la lógica para el planteamiento de


problemas y el control sobre las reglas de inferencia para alcanzar la solución
automática.
La Programación Lógica, junto con la funcional, forma parte de lo que se conoce
como Programación Declarativa, es decir la programación consiste en indicar como
resolver un problema mediante sentencias, en la Programación Lógica, se trabaja en
una forma descriptiva, estableciendo relaciones entre entidades, indicando no como,
sino que hacer, entonces se dice que la idea esencial de la Programación Lógica es
Programa= lógica + control
Lógica (programador): hechos y reglas para representar conocimiento

Control (interprete): deducción lógica para dar respuestas (soluciones)

La programación lógica

La mayoría de los Lenguajes de Programación se basan en la Teoría Lógica


de Primer Orden, aunque también incorporan algunos comportamientos de orden
superior, en este sentido, destacan los lenguajes funcionales ya que se basan en el
Cálculo Lambda, es la única teoría lógica de orden superior.
La Teoría Lógica de Primer Orden o también llamada lógica de predicados: es un
sistema deductivo basado en un Lenguaje Lógico Matemático formal de gran utilidad
para las Matemáticas, Filosofía, Lingüística y Computacional. Incluye proposiciones
lógicas, predicados y cuantificadores.

Características de la programación lógica

Unificación de términos
Mecanismos de inferencia automática
Recursión como estructura de control básica
Visión lógica de la computación

Características de la programación lógica

Unificación de términos
Mecanismos de inferencia automática
Recursión como estructura de control básica
Visión lógica de la computación

Lenguajes de programación logic

Un lenguaje es el CLP pero el lenguaje de programación lógica por excelencia


es el PROLOG.
Prolog: es un Lenguaje de Programación diseñado para representar y utilizar el
conocimiento que se tiene sobre un determinado dominio. Los programas en Prolog
responden preguntas sobre el tema del cual tienes conocimiento.
La popularidad del lenguaje se debe a su capacidad de deducción y además
es un lenguaje fácil de usar por su semántica y sintaxis. Solo busca relaciones entre
los objetos creados, las variables y las listas, que son su estructura básica.
Escribir un programa en Prolog consiste en declarar el conocimiento disponible
acerca de objetos, además de sus relaciones y sus reglas, en lugar de correr un
programa para obtener una solución, se hace una pregunta, el programa revisa la
base de datos para encontrar la solución a la pregunta, si existe más de una
solución, Prolog hace un barrido para encontrar soluciones distintas. El propio
sistema es el que deduce las respuestas a las preguntas que se le plantean, dichas
respuestas las deduce del conocimiento obtenido por el conjunto de reglas dadas.

.Campos de aplicación

Sistemas Expertos, donde un Sistema de información mita las


recomendaciones de un experto sobre algún dominio de conocimiento.
Demostración automática de teoremas, donde un programa genera nuevos teoremas
sobre una teoría existente.
Reconocimiento de lenguaje natural, donde un programa es capaz de comprender
(con limitaciones) la información contenida en una expresión lingüística humana.
Inteligencia artificial
Sistemas de información

Programación en Datalog
.
Datalog (Database Logic) es un lenguaje lógico que es la forma más simple de
lógica desarrollada para el modelo relacional. Datalog sin recursión tiene el mismo
poder expresivo que el álgebra relacional. Datalog recursivo permite expresar
consultas que no se pueden satisfacer en SQL2. Sin embargo, SQL: 1999 ha usado
la solución para la recursión en Datalog para el desarrollo de consultas recursivas.
Datalog es similar a Prolog en su sintaxis, pero su semántica operacional es
diferente. Una regla o cláusula en Datalog tiene la forma: cabeza ← cuerpo.
Donde cabeza es un átomo y cuerpo es una lista de átomos que puede ser vacía;
en este caso se habla de un hecho. Los hechos se escriben: cabeza. Un átomo es
de la forma: P (t1,..., tn) Donde P es un símbolo de predicado y ti son variables o
constantes. No se admiten símbolos de función en ti, a diferencia de Prolog.

Próxima Generación de Bases de Datos y Sistemas Gestores de Bases de


Datos

Bases de Datos Activas (BDA)

Tradicionalmente, los SGBD han sido pasivos; ejecutan consultas o


transacciones sólo cuando un usuario o un programa de aplicación le solicitan
explícitamente que lo hagan. Sin embargo, muchas aplicaciones como el control de
procesos, las redes de generación / distribución de energía eléctrica, el control
automatizado del flujo de trabajo de una oficina, el intercambio de programas, la
gestión de batallas y la vigilancia de pacientes hospitalarios no reciben un servicio
adecuado de estos SGBD "pasivos".

Básicamente se han adoptado dos enfoques para resolver las necesidades de


las aplicaciones restringidas por el tiempo. El primero consiste en escribir un
programa que consulte periódicamente la BD para determinar si ha ocurrido la
situación que se espera. Es difícil de implementar porque no es fácil determinar la
frecuencia de sondeo óptima.
El segundo consiste en incorporar código en cada uno de los programas que
actualizan la BD de modo que verifiquen si se ha presentado la situación que se
vigila. Pone en peligro la mo dularidad y la reutilización del código. (Elmasri R. y
Navathe S.B.)

Elementos Constitutivos

Las Bases de Datos Activas manejan la vigilancia de condiciones (con


disparadores y alertas). Un SGBD activo vigila continuamente el estado de la BD y
reacciona espontáneamente cuando ocurren sucesos predefinidos. Desde el punto
de vista funcional, un Sistema de Gestión de Bases de Datos Activas vigila
condiciones disparadas por sucesos que representan acciones de bases de datos.
Esto es: La evaluación de la condición resulta verdadera, se ejecuta la acción,
ofreciendo modularidad y respuesta oportuna en la acción.

Bases de Datos Multimedia

Una base de datos multimedia es una base de datos que alberga uno o
más tipos de archivos de los medios de comunicación principales como. Txt
(documentos), Jpg (imágenes), Swf (vídeos),. Mp3 (audio), etc., y poco se dividen en
tres categorías principales:
Los medios de comunicación (independientes del tiempo, es decir, imágenes y
escritura)
Medios dinámicos (en función del tiempo, es decir, video y sonido bytes)
Dimensional medios de comunicación (es decir, los juegos 3D o con ayuda de
computadoras, elaboración de programas de CAD). Todos los principales medios de
comunicación se guardan en los archivos de cadenas binarias de ceros y unos, y se
codifican de acuerdo con el tipo de archivo.
El término "datos" suele ser referenciados desde el punto de vista del equipo,
mientras que el término "multimedia" se hace referencia en el punto de vista del
usuario.

Tipos de bases de datos multimedia

Existen numerosos tipos diferentes de bases de datos multimedia,


incluyendo:
La autenticación de bases de datos multimedia (también conocido como
uno de Verificación de la base de datos multimedia, es decir, escaneo de retina), es
una comparación de datos 1:1
La identificación de bases de datos multimedia es una comparación de
los datos de uno-a-muchos (es decir, contraseñas y números de identificación
personal.
Un emergente tipo de base de datos multimedia, es la base de datos de biometría
multimedia, que se especializa en la verificación automática humana sobre la base
de los algoritmos de su perfil de conducta o fisiológica.
Este método de identificación es superior a la tradicional base de datos multimedia
que requieren los típicos métodos de entrada de números de identificación personal
y contraseñas.

Dificultades de Bases de datos multimedia


La dificultad de hacer de estos diferentes tipos de bases de datos
multimedia de fácil acceso para los seres humanos es la siguiente: La enorme
cantidad de ancho de banda que consumen;
Mundialmente aceptado la creación de tratamiento de datos de plataformas, como
Joomla, y las consideraciones especiales que estas nuevas estructuras de base de
datos multimedia requieren. A nivel mundial la creación de una aceptación del
sistema operativo, incluyendo el almacenamiento y gestión de los recursos necesario
para dar cabida a programas de la gran hambre mundial de información multimedia.
Bases de datos multimedia es necesario tener en cuenta diferentes interfaces
humanas para manejar objetos en 3D interactivo.
.

Básicamente, una base de datos relacional es un "todo o nada", con


estructura de archivos recuperados y almacenados en su conjunto, lo que hace que
una base de datos relacional totalmente ineficaz para datos multimedia de fácil
acceso para los seres humanos. A fin de acomodar los datos multimedia, un sistema
de gestión de bases de datos, tales como una base de datos orientada a objetos
(OODB) Objeto o Sistema de Gestión de Base de Datos Relacional (ORDBMS).
Ejemplos de objetos de Sistemas de Gestión de Base de Datos Relacional incluir
Odaptor (HP): UniSQL, ODB-II, y las ilustraciones.

Los sistemas de bases de datos espacio-temporales integran


características de las bases de datos espaciales o multidimensionales, con
características de las bases de datos temporales, para permitir de manera eficiente,
consultas que involucran ambos aspectos. Una aplicación común soportada por este
modelo es la que realiza el seguimiento de objetos en movimientos que reportan su
ubicación mediante dispositivos GPS. En otras aplicaciones, en lugar de cambiar de
ubicación, los objetos pueden cambiar de forma, e incluso de identidad
Bases de Datos Temporales

Estas bases de datos soportan algún tipo de dominio de tiempo


manejado internamente por el sistema administrador de la base de datos. Existen
tres clases de bases de datos temporales, en función de la forma en que manejan el
tiempo:

De tiempo transaccional (transaction time): registran el tiempo de


acuerdo al momento en que se almacena un hecho, es decir, en el orden en que se
procesan las transacciones. Hay que notar, que este registro no necesariamente
coincide con el orden real en que se produjeron los eventos. Más bien, es acorde al
tiempo en que la base tomo conocimiento del evento. Debido a que se mantiene la
historia de todos los estados consistentes de la base de datos.
Bitemporales: integran la dimensión transaccional y la dimensión vigente, a través
del versionado de los estados, es decir, cada estado se puede modificar para
actualizar el conocimiento de la realidad pasada, presente o futura, pero esas
modificaciones se realizan generando nuevas versiones de los mismos estados.

Bases de datos espaciales

Las bases de datos espaciales o multidimensionales ofrecen tipos de


datos espaciales en su modelo de datos y un lenguaje de consulta para
manipularlos. En un sistema informático estos datos espaciales se representan por
puntos, líneas, polígonos, regiones, etc., que se les conoce con el nombre de objetos
espaciales. Para responder a consultas relacionadas con propiedades espaciales, se
implementan algoritmos eficientes sobre índices espaciales creados a partir de esos
objetos.

Bases de datos espacio-temporales

Los sistemas de Bases de Datos Espacio- Temporales mantienen datos


sobre el pasado y el presente y pueden, en algunos casos, realizar predicciones
sobre el futuro. Las consultas típicas son de dos clases: time slice queries y time
interval (o Windows) queries

Recuperación de información histórica: estos métodos permiten responder a las


consultas time slice Query e interval Query, sobre el pasado.
Recuperación de trayectoria: en este caso se quiere mantener la trayectoria que
siguen objetos en movimiento.
Predicción de localización: estos métodos permiten calcular la posición futura de
los objetos, en base a su posición actual y su patrón de movimiento.
Otra clasificación de los métodos de acceso es según la estrategia de
implementación que utilizan:
Métodos que tratan el tiempo como otra dimensión. Son métodos que incorporan
información sobre el tiempo en el índice Métodos que utilizan superposición
(overlapping) de la estructura, para representar la secuencia de estados en función
del tiempo

Vous aimerez peut-être aussi