Vous êtes sur la page 1sur 34

REPÚBLICA BOLIVARIANA DE VENEZUELA

INSTITUTO UNIVERSITARIO DE TECNOLOGIA


“JUAN PABLO PEREZ ALFONZO”
IUTEPAL
AMPLIACION – PUERTO CABELLO

Profesora:
Marisela Materano
Autores:
Eduardo Antequera
María Castro
Disraely Suarez
Martínez Sirinest

Sección: 3451

Puerto Cabello, Marzo de 2011


INTRODUCCIÓN
Con el presente trabajo de bases de datos solo se conocía la noción de archivo y
se le daba gran importancia al archivo secuencial para el almacenamiento masivo de
datos almacenado.
Posteriormente, con la investigación se fue conociendo los procesamientos,
historia, tipos y arquitectura de las bases de datos.
Al inventarse el disco duro se crearon los primeros sistemas de archivos, usando
los distintos tipos de organizaciones que permitían el acceso directo a los datos.
Surgieron nuevos equipos de computación y las empresas comenzaron a tomar
conciencia de la importancia y el poder que la información podía darles en el
mejoramiento de la productividad y el mayor logro de eficiencia así como en la toma de
decisiones.
En esencia, un sistema de base de datos no es más que un sistema para archivar
en un computador. La base de datos en sí puede considerarse como una especie de
archivero electrónico; dicho de otra manera es un lugar donde se almacenan un conjunto
de archivos de datos computarizados.
Sistemas administradores de bases de datos
Surgió a la necesidad de contar con un sistema de administración para controlar tanto los
datos como los usuarios. Este sistema basado en un computador que maneja una base
de datos o una colección de bases de datos es realizado con un sistema llamado DBMS
(Database management system). El DBMS es un conjunto de aplicaciones de software
para administrar bases de datos, que permite:

• Un fácil acceso a los datos.


• El acceso a la información por parte de múltiples usuarios.
• La manipulación de los datos encontrados en la base de datos.

El DBMS puede dividirse en tres subsistemas:

• El sistema de administración de archivos: almacena información en un medio


físico.
• El DBMS interno: ubica la información en orden.
• El DBMS externo: representa la interfaz del usuario.

Evolución de Base de Datos


Inicialmente, en los años 40, los sistemas de archivos generados a través de
lenguajes de programación no propietarios como Cobol y Fortran, permiten almacenar los
datos a través de archivos planos con funciones básicas de lectura y escritura sobre ellos.
En 1964, se conciben los primeros gestores de base de datos, por medio de los cuales se
pretende dar un viraje a los sistemas de archivos, los cuales se limitan a la estructuración
del almacenamiento físico de los datos.
Con los DBMS se crea el concepto de Administración de los datos, por medio de
actividades integradas que permiten verlos físicamente en un solo almacenamiento pero
lógicamente se manipulan a través de esquemas compuesto por estructuras donde se
establecen vínculos de integridad, métodos de acceso y organización física sobre los
datos, permitiendo así obtener valores agregados de utilización tales como:
• manejo de usuarios.
• seguridad.
• atomicidad e independencia física y lógica de los datos.

El primer gestor de bases de datos comercial es el Integrated Data Store (IDS),


este se crea bajo el concepto del modelo de datos de Red; luego se desarrolla el
Información Management System (IMS), sobre el concepto del modelo de datos
jerárquico. Estos DBMSs eran accesados normalmente por lenguajes de programación
como cobol usando interfaces de bajo nivel haciendo que las tareas de creación de
aplicaciones y mantenimiento de los datos fuesen controlables, pero aún complejas.
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. En este los procedimientos podían
ser asociados a un tipo para representar el comportamiento de una instancia,
introduciendo así el concepto de clase. “Simula” soporta paralelismo, permitiendo muchas
entidades interactivas en una simulación. Además comparte objetos acoplando datos y
procedimientos.
En los años 80 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 o antes llamado Oak, Eiffel, y Smalltalk adoptando y mejorando el concepto de
clase pero su desarrollo se hace independiente de los DBMSs.
Comenzando los años 80 se siente la necesidad de que los DBMS actuales manipulen
objetos complejos y estructuras como las usadas en sistemas CAD y CASE, entre otras.
A partir de esto se da inicio a dos grandes tendencias: los Object Relational Database
Management System (ORDBMS) los cuales se proyectan como una extensión de los
RDBMS hacia el paradigma OO, y los Object Oriented Database Management System
(OODBMS) estarían disponibles para almacenar y manipular las clases, los objetos, la
asociación entre ellos y sus métodos.
Así, finalizando los años 80 se crean los OODBMSs por medio de productores
como O2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que
estos no se hicieron tan comerciales como los existentes RDBMS ya que el concepto de
orientación a objetos se seguía manejando muy a nivel del lenguaje de programación, sin
que se trabajaran estructuras de almacenamiento orientadas a objetos dependientes de
estos.
Así, en 1991 surge la Object Database Management Group (ODMG) el cual
estandariza los OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2
inicia un trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este
trabajo fue programado para finalizarse en 1995, pero aún se sigue trabajando en este
con un tiempo límite de terminación, en el año 1999.
Esquema de un DBMS
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:
• Data Definition language (DDL) o Lenguaje de Definición de Datos: por medio de
este el DBMS identifica las descripciones de los elementos de los esquemas,
almacena la descripción del esquema en el catálogo del DBMS y especifica el
esquema conceptual e
• Store Definition language (SDL) o Lenguaje de definición de almacenamiento: es
utilizado por el DBMS para especificar el esquema interno que corresponde a la
base de batos almacenada.
• View Definition language (VDL) o 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 batos relacionales, el SQL representa una combinación de los anteriores.
• Data Manipulation language (DML) o 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
• Personal del DBA
• Usuarios Esporádicos
• Programadores de Aplicaciones
• Usuarios paramétricos

Transacción
Es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es
decir, en forma indivisible o atómica.
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los
datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio.
Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer
las órdenes ejecutadas hasta dejar la base de datos en su estado inicial, como si la orden
de la transacción nunca se hubiese realizado.
Modelo relacional
Es el más utilizado, ya que permite una mayor eficacia, flexibilidad y confianza en
el tratamiento de los datos. La mayor parte de las bases de datos y sistemas de
información actuales se basan en el modelo relacional ya que ofrece numerosas ventajas
y rápido aprendizaje por parte de usuarios que no tienen conocimientos profundos sobre
sistemas de bases de dados.
En el modelo relacional se representa el mundo real mediante tablas relacionadas
entre sí por columnas comunes. Las bases de datos que pertenecen a esta categoría se
basan en el modelo relaciones, cuya estructura principal es la relación, es decir, una tabla
bidimensional compuesta por líneas y columnas.
Cada línea, que en terminología relacional se llama tupla, representa una entidad
que nosotros queremos memorizar en la base de datos. Las características de cada
entidad están definidas por las columnas de las relaciones, que se llaman atributos,
entidades con características comunes, es decir, descritas por el mismo conjunto de
atributos, formarán parte de la misma relación.

Modelo en red
Permite la representación de muchos a muchos, de tal forma que cualquier registro
dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de
red evita redundancia en la información, a través de la incorporación de un tipo de registro
denominado el conector. En el modelo en red se representa el mundo real mediante
registros lógicos que representan a una entidad y que se relacionan entre sí por medio de
flechas.

Modelo jerárquico
Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno
y relaciones de uno a muchos. Este modelo tiene forma de árbol invertido en el que una
rama puede tener varios hijos, pero cada hijo sólo puede tener un padre.

Modelos de Datos
Se definen como un conjunto de elementos y símbolos que permiten estandarizar
y traducir análisis a un lenguaje semántico y sistemático que dispone de reglas de control
y evaluación del comportamiento del dato en el transcurso del tiempo, tanto en su
almacenamiento como en su utilización. Estos modelos de datos, hacen posible que la
lógica de un negocio pueda ser estructurada de forma tangible a través de un esquema
físico que representa el almacenamiento de los datos bajo las reglas del negocio y de un
sistema gestor de base de datos que permitirá la persistencia de estos a través del
tiempo.
Los Modelos de Datos, también llamados modelos lógicos, se han clasificado en
dos grandes grupos debido al tratamiento de los datos: Basados en Objetos y basados en
Registros. Estos dos grupos de modelos representan dos estados de la interpretación de
los requerimientos de usuario:
Basados en Objetos: un problema de la vida real maneja concepciones abstractas o
concretas, tangibles o intangibles, a las cuales se les ha dado el nombre de "objetos",
calificados a partir de un valor significativo dentro de los parámetros de una forma o estilo
de vida; dichos objetos se modelan a través de propuestas que fueron estructuradas para
así poder estandarizar la forma de manipularlos. Dentro de estos modelos tenemos:
 Modelo Entidad Relación (MER)
 Modelo Orientado a Objetos (MOO)
 Modelo Semántico
 Modelo Deductivo

Basados en Registros: Otra forma de tratar lógicamente la información suministrada por


un sistema es a través de los "Registros", originalmente concebidos por los sistemas de
archivos, lo cual dio pie a la estructuración de modelos lógicos tales como:
 Modelo Relacional (MR)
 Modelo de Red
 Modelo Jerárquico

Sistemas Administradores (Gestores) de


Bases de Datos
Una vez terminado el diseño lógico a través de modelos basados en registros, se
da inicio al diseño físico de la base de datos. Para esto es muy importante conocer los
Sistemas Administradores de Bases de Datos (DBMS) los cuales permiten almacenar y
controlar los datos a la vez, por medio de lenguajes propios de estos. Diferentes DBMS se
especializaron en la utilización de modelos de datos específicos como es el caso de los
RDBMS que trabajan con el modelo relacional, los ORDBMS que trabaja con el modelo
relacional extendido y algunos elementos del paradigma orientado a objetos, y por último
se encuentran los OODBMS que trabajan con el modelo orientado a objetos.

Algebra relacional
Es un conjunto de operaciones que describen paso a paso como computar una
respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional,
denominada de tipo procedimental, a diferencia del cálculo relacional que es de tipo
declarativo.
También describe el aspecto de la manipulación de datos, en estas operaciones se
usan como una representación intermedia de una consulta a una base de datos y, debido
a sus propiedades algebraicas, sirven para obtener una versión más optimizada y
eficiente de dicha consulta.
Archivo
Es un conjunto de bits almacenado en un dispositivo, identificado por un nombre y
la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se
llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o
microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una
manera de organizar los recursos usados para almacenar permanentemente datos en un
sistema informático.
En lo que concierne al sistema operativo, un archivo es, en la mayoría de los
casos, simplemente un flujo unidimensional de bits, que es tratado por el sistema
operativo como una única unidad lógica. Un archivo de datos informático normalmente
tiene un tamaño, que generalmente se expresa en bytes; en todos los sistemas operativos
modernos, el tamaño puede ser cualquier número entero no negativo de bytes hasta un
máximo dependiente del sistema.

Clasificación de los archivos


Los elementos de un archivo pueden ser de cualquier tipo, simples o estructurados
o según su función.
 SEGÚN SU FUNCION
Se define por:
Archivos Permanentes: son aquellos cuyo registros sufren pocas o ninguna variación a
lo largo del tiempo, se dividen en:
• Constantes: están formados por registros que contienen campos fijos y campos de
baja frecuencia de variación en el tiempo.
• De Situación: son los que en cada momento contienen información actualizada.
• Históricos: contienen información acumulada a lo largo del tiempo de archivos que
han sufridos procesos de actualización o bien acumulan datos de variación
periódica en el tiempo.
Archivos de Movimiento: son aquellos que se utilizan conjuntamente con los maestros y
contienen algún campo común en sus registros con aquellos, para el procesamiento de
las modificaciones experimentado por los mismos.
Archivo de Maniobra o Transitorio: son los archivos creados auxiliares creados durante
la ejecución del programa y borrados habitualmente al terminar el mismo.
 SEGÚN SUS ELEMENTOS.
Los principales archivos de este tipo son:
Archivo de Entrada: una colección de datos localizados en un dispositivo de entrada.
Archivo de Salida: Una colección de información visualizada por la computadora.
Archivo de Programa: un programa codificado en un lenguaje especifico y localizado o
almacenado en un dispositivo de almacenamiento.
Archivo de Texto: una colección de caracteres almacenados como una unidad en un
dispositivo de almacenamiento.
Base de datos relacional
Es una base de datos que cumple con el modelo relacional, el cual es el modelo
más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten
establecer interconexiones entre los datos que están guardados en tablas y a través de
dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre:
"Modelo Relacional". Las bases de datos relacionales están constituidas por una o más
tablas que contienen la información ordenada de una forma organizada. Cumplen las
siguientes leyes básicas:
• Generalmente, contendrán muchas tablas.
• Una tabla sólo contiene un número fijo de campos.
• El nombre de los campos de una tabla es distinto.
• Cada registro de la tabla es único.
• El orden de los registros y de los campos no está determinados.
• Para cada campo existe un conjunto de valores posible.

Diseño de las bases de datos relacionales


El primer paso para crear una base de datos, es planificar el tipo de información
que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información
disponible y la información que necesitamos.
La planificación de la estructura de la base de datos, en particular de las tablas, es
vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste
en una descripción de cada uno de los campos que componen el registro y los valores o
datos que contendrá cada uno de esos campos.
Los campos son los distintos tipos de datos que componen la tabla, por ejemplo:
nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el
tipo de campo, el ancho del campo, etc.
Los registros constituyen la información que va contenida en los campos de la
tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este.
Generalmente los diferente tipos de campos que su pueden almacenar son los siguientes:
Texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas
si/no, verdadero/falso, etc.), imágenes.
En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla
es determinar claramente los campos necesarios, definirlos en forma adecuada con un
nombre especificando su tipo y su longitud.
Objetos de la Base de Datos
 Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos.
Estos datos estarán ordenados en columnas verticales. Aquí definiremos los
campos y sus características. Más adelante veremos qué es un campo.
 Consultas: aquí definiremos las preguntas que formularemos a la base de datos
con el fin de extraer y presentar la información resultante de diferentes formas
(pantalla, impresora...)
 Formulario: elemento en forma de ficha que permite la gestión de los datos de una
forma más cómoda y visiblemente más atractiva.
 Informe: permite preparar los registros de la base de datos de forma personalizada
para imprimirlos.
 Macro: conjunto de instrucciones que se pueden almacenar para automatizar
tareas repetitivas.
 Módulo: programa o conjunto de instrucciones en lenguaje Visual Basic

Concepto Básico de una Base de Datos


Los sistemas de base de datos se diseñan para manejar grandes cantidades de
información. El manejo de los datos implica tanto la definición de estructuras para el
almacenamiento como la creación de mecanismos para el manejo de la información.
Además, el sistema de base de datos debe de cuidar la seguridad de la información
almacenada en la base de datos, previniendo caídas del sistema o intentos de acceso no
autorizados.
Uno de los objetivos principales de una base de datos es proporcionar a los
usuarios una visión abstracta de los datos. Es decir, el sistema oculta ciertos detalles
relativos a la forma en que se almacenan y mantienen los datos. Esto se logra definiendo
tres niveles de abstracción en los que puede considerarse la base de datos: físico,
conceptual y de visión.
En el nivel físico se describe cómo se almacenan los datos en cuanto a detalles de
estructuras de datos complejas del nivel más bajo.
En el nivel conceptual, que es el siguiente nivel más alto de abstracción, se
describe cuáles son los datos reales que están almacenados en la base de datos y qué
relaciones existen entre los datos.
El nivel de visión es más alto, en el cual se describe solo una parte de la base de
datos y se presentan vistas diferentes de la misma base de datos a los usuarios.
Multitarea
Es una característica de los sistemas operativos modernos. Permite que varios
procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores. En
otras palabras son capaces de dar servicio a más de un usuario a la vez, ya sea por
medio de varias terminales conectadas a la computadora o por medio de sesiones
remotas en una red de comunicaciones.

Multiusuario
Es un sistema operativo o programa que permite proveer servicio y procesamiento
a múltiples usuarios. En contraposición a los sistemas monousuario, que proveen servicio
y procesamiento a un solo usuario, en la categoría de multiusuario se encuentran todos
los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que
comparten los mismos recursos. Actualmente este tipo de sistemas se emplean
especialmente en redes, pero los primeros ejemplos de sistemas multiusuario fueron
sistemas centralizados que se compartían a través del uso de múltiples dispositivos de
interfaz humana.
• Los recursos que se comparten son por lo regular una combinación de:
• Procesador.
• Memoria.
• Almacenamiento secundario (almacenaje en disco duro).
• Programas.
• Periféricos como impresoras, plotters, scanner, etc.
De tal modo que los múltiples usuarios tienen la impresión de utilizar un ordenador
y un sistema operativo unificado, que les están dedicados por completo.

Multiproceso
Es conocido como el uso de múltiples procesos concurrentes en un sistema en
lugar de un único proceso en un instante determinado. Como la multitarea que permite a
múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para
ejecutar múltiples hilos dentro de un único proceso.
El multiproceso para tareas generales es, a menudo, bastante difícil de conseguir
debido a que puede haber varios programas manejando datos internos a la vez. Los
programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin
embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden
interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar
este problema se usa una variedad de técnicas de programación incluyendo semáforos y
otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de
forma exclusiva ciertos valores.
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
Es una propiedad de los mensajes, consistente en tener partes predictibles a partir
del resto del mensaje y que por tanto en sí mismo no aportan nueva información o repiten
parte de la información. En numerosas aplicaciones, la redundancia es una estrategia
ampliamente usada para evitar malentendidos o errores de decodificación.
Por tanto, un dato se actualizará lógicamente por el usuario de forma única, y el
sistema se preocupará de cambiar físicamente todos aquellos campos en los que el dato
estuviese repetido, en caso de existir redundancia física.

Inconsistencia
Las causas de inconsistencia en un sistema pueden ser accidentales o
intencionales, como los programas y archivos son creados por diferentes personas a
través del tiempo, estos pueden tener diferentes formatos y escritos en diferentes
lenguajes de programación, la información puede estar duplicada en los diversos lugares.

Tupla
Es una secuencia ordenada de objetos, esto es, una lista con un número limitado
de objetos. Las tuplas se emplean para describir objetos matemáticos que tienen
estructura, es decir que son capaces de ser descompuestos en un cierto número de
componentes. Por ejemplo, un Grafo dirigido se puede definir como una tupla de (V, E)
donde V es el conjunto de nodos y E es el subconjunto de V × V que denota los vértices
del grafo.

Tabla
Se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por
un programa. Su estructura general se asemeja a la vista general de un programa de Hoja
de cálculo.
Las tablas se componen de dos estructuras:
• Registro: es cada una de las filas en que se divide la tabla. Cada registro
contiene datos de los mismos tipos que los demás registros. Ejemplo: en
una tabla de nombres y direcciones, cada fila contendrá un nombre y una
dirección.
• Campo: es cada una de las columnas que forman la tabla. Contienen datos
de tipo diferente a los de otros campos. En el ejemplo anterior, un campo
contendrá un tipo de datos único, como una dirección, o un número de
teléfono, un nombre, etc.
Entidad
Es la representación de un objeto o concepto del mundo real que se describe en
una base de datos. Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado,
Artículo, etc.
Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad
"Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.
En el modelo de entidad-relación se emplean dos tipos de entidades: entidad
fuerte y entidad débil. Las entidades fuertes tienen atributos claves, en tanto las entidades
débiles no tienen atributos claves propios.

Campo
Es un espacio de almacenamiento para un dato en particular. En las bases de
datos, un campo es la mínima unidad de información a la que se puede acceder; un
campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco,
siendo éste un error del sistema.
Un campo puede ser:
• Campo genérico: Aquel campo que posee un dato único para una
repetición de entidad. Puede servir para la búsqueda de una entidad en
específico.
• Alfanuméricos: Contiene cifras y letras. Presentan una longitud limitada
(255 caracteres).
• Numéricos: Existen de varios tipos principalmente como enteros y reales.
• Booleanos: Admite dos valores, "Verdadero" y "Falso" (True-False).

Atributos
Es una especificación que define una propiedad de un Objeto, elemento o archivo.
Donde puede referirse o establecer el valor específico para una instancia determinada de
los mismos. Por ejemplo, se podría tener una entidad llamada "Alumno" que puede estar
constituida por uno o más atributos, que interesan para almacenarse en la base de datos.
Los atributos pueden ser: nombre, apellido, año de nacimiento, etc.
En SQL un atributo es llamado columna.
Ventajas de Modelo Orientado a Archivo
 Fomenta la reutilización y extensión del código.
 Permite crear sistemas más complejos.
 Relacionar el sistema al mundo real.
 Facilita la creación de programas visuales.
 Construcción de prototipos
 Agiliza el desarrollo de software
 Facilita el trabajo en equipo
 Facilita el mantenimiento del software

Desventajas de Modelo Orientado a Archivo


 Limitaciones para el programador.
 Tamaño excesivo en las aplicaciones resultantes.
 Velocidad de ejecución.

Ventajas de Modelo Orientado a Base de


Datos
 Mayor capacidad de modelado
 Ampliabilidad
 Lenguaje de consulta más expresivo.
 Adecuación a las aplicaciones avanzadas de base de datos.
 Mayores prestaciones.

Desventajas de Modelo Orientado a Base de


Datos
 Carencia de un modelo de datos universal.
 Carencia de experiencia.
 Carencia de estándares.
 Competencia.
 La optimización de consultas compromete la encapsulación.
Bases de Datos Inteligentes
Se derivan de la integración de la tecnología de bases de datos con técnicas
desarrolladas en el campo de la inteligencia artificial. Las bases de datos inteligentes se
describen como una base de datos que contiene el conocimiento sobre el contenido de la
información.
Es un sistema de manejo de bases de datos el cual ejecuta la validación y el
proceso de la información a través de programas de aplicación tradicionales. El grupo de
criterio de validación puede ser guardado con cada campo de información, tanto puede
ser los valores mínimos o máximos que pueden ser entrados o enlistados en las entradas
posibles.
Algunas bases de datos inteligentes pueden incluir reglas que pueden ser
aplicadas a la información entrante o saliente. Mientras la base de datos esté consciente
de su contenido, puede responder efectivamente a las peticiones complejas de su
usuario.

Lenguaje de Manipulación de Datos


Es un lenguaje proporcionado por el sistema de gestión de base de datos que
permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de
los datos, organizados por el modelo de datos adecuado.
El lenguaje de manipulación de datos más popular hoy día es SQL, usado para
recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son
los usados por bases de datos IMS/DL1, CODASYL u otras.

Lenguaje de Definición de Datos


Es un lenguaje proporcionado por el sistema de gestión de base de datos que
permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras
que almacenarán los datos así como de los procedimientos o funciones que permitan
consultarlos.
El lenguaje de programación SQL, el más difundido entre los gestores de bases de
datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada
una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y
triggers de la base de datos.
Otras que se incluyen dentro del DDL, pero que su existencia depende de la
implementación del estándar SQL que lleve a cabo el gestor de base de datos son
GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios
específicos o a un rol creado dentro de la base de datos.
Tipo de Usuario
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 que accedan a 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 lenguaje de manipulación de datos
(DML), las cuales están incorporadas en un programa escrito en un lenguaje de
programación.
• 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.

Lenguaje de Definición de Almacenamiento


La mayoría de las bases de datos se almacenan en las llamadas memorias
secundarias, especialmente discos duros, aunque, en principio, pueden emplearse
también discos ópticos, memorias flash, etc.
Las razones por las cuales las bases de datos se almacenan en memorias
secundarias son:
• En general, las bases de datos son demasiado grandes para entrar en la memoria
primaria.
• La memoria secundaria suele ser más barata que la memoria primaria.
• La memoria secundaria es más útil para el almacenamiento de datos permanente,
puesto que la memoria primaria es volátil.

Lenguaje de Definición de Vista


Es una base de datos es un resultado de una consulta SQL de una o varias tablas;
también se le puede considerar una tabla virtual.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única
diferencia es que sólo se almacena de ellas la definición, no los datos. Los datos que se
recuperan mediante una consulta a una vista se presentarán igual que los de una tabla.
De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer
que es así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y
seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista,
en algunas condiciones existen restricciones para realizar el resto de las operaciones
sobre vistas.
Una vista se especifica a través de una expresión de consulta que la calcula y que
puede realizarse sobre una o más tablas. Sobre un conjunto de tablas relacionales se
puede trabajar con un número cualquiera de vistas. La mayoría de los SGBD soportan la
creación y manipulación de vistas.

Cardinalidad
Es un conjunto de relaciones en el que participan dos o más entidades,
expresando cuantas entidades se relacionan con otras. Cada elemento de la entidad
participa en la construcción del modelo Entidad - Relación.

La cardinalidad en un conjunto de relaciones de entidades se expresa de la


siguiente forma:

• Uno a Uno (1:1): es una entidad de A se relaciona únicamente con una entidad en
B y viceversa.
• Uno a varios (1:N): es una entidad en A se relaciona con cero o muchas entidades
en B. Pero una entidad en B se relaciona con una única entidad en A.
• Varios a Uno (N:1): es una entidad en A se relaciona exclusivamente con una
entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas
entidades en A.
• Varios a Varios (N:M): es una entidad en A se puede relacionar con 0 o muchas
entidades en B y viceversa.

Registro
Es un conjunto de campos que contienen los datos que pertenecen a una misma
repetición de entidad. Se le asigna automáticamente un número consecutivo que en
ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro
un campo clave para su búsqueda.
La estructura implícita de un registro y el significado de los valores de sus campos
exige que dicho registro sea entendido como una sucesión de datos, uno en cada
columna de la tabla. La fila se interpreta entonces como una variable relacional
compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el
nombre de la columna relevante y el valor que esta fila provee para dicha columna.
Funciones de una base de datos
Una base de datos típica conlleva la existencia de tres tipos de usuario con
relación a su diseño, desarrollo y funcionalidad que son:
• El administrador de bases de datos (DBA): diseña y mantiene la base de
datos.
• El desarrollador de aplicaciones (programador): implementa las
transacciones e interfaces.
• Los usuarios finales que consultan y editan la información de la base de
datos mediante un programa desarrollado a su medida.

Por lo tanto, podemos decir que el propósito de una base de datos es doble,
pues tiene que responder a consultas sobre los datos que contiene, y ejecutar
transacciones con la información.
Además debe permitir consultas que se formula como una expresión lógica
sobre la información y hace relaciones definidas en el esquema de la base de
datos, el resultado es la identificación de un subconjunto lógico de la base de
datos, es decir, una selección de registros que cumplen la condición lógica.
Para llevar a cabo tareas, el administrador de bases de datos tiene a su
disposición la principal herramienta de una base de datos, que es el sistema
gestor de bases de datos y a través de éste se realizan todas las operaciones con
los datos, de forma que al administrador de bases de datos no le preocupa la
manera en que los datos se encuentran almacenados físicamente, pudiéndose
concentrar en los aspectos conceptuales en cuanto a diseño, desarrollo y
mantenimiento.

Arquitectura de una Base de Datos


Tiene como objetivo separar los programas de aplicación de la base de datos para
que el sistema sea útil. Ya que muchos usuarios de sistemas de bases de datos no están
familiarizados con computadoras, los desarrolladores esconden la complejidad a los
usuarios a través de varios niveles de abstracción para simplificar la interacción de los
usuarios con el sistema.
Por eso existen 3 diferentes niveles de abstracción para simplificar la interacción de los
usuarios con el sistema:

• Nivel interno: tiene un esquema que describe la estructura física de


almacenamiento de base de datos. Emplea un modelo físico de datos y los únicos
datos que existen están realmente en este nivel.
• Nivel conceptual: tiene un esquema que describe la estructura de toda la base de
datos para una comunidad de usuarios. Oculta los detalles físicos de
almacenamiento y trabaja con elementos lógicos como entidades, atributos y
relaciones.
• Nivel externo o de vistas: tiene varios esquemas que describe la visión que tiene
de la base de datos a un grupo de usuarios, ocultando el resto.
Bases de datos distribuidas
Es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales
se encuentran distribuidas en diferentes espacios lógicos e interconectados por una red
de comunicaciones. Dichas bases de datos distribuidas tienen la capacidad de realizar
procesamientos autónomos, esto permite realizar operaciones locales o distribuidas.
Un sistema de bases de datos distribuidos (SBDD) es un sistema en el cual
múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal
forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la
red exactamente como si estos fueran accedidos de forma local.
Un sistema distribuido de bases de datos se almacenan en varias computadoras.
Los principales factores que distinguen un SBDD de un sistema centralizado son los
siguientes:
• Hay múltiples computadores, llamados sitios o nodos.
• Estos sitios deben de estar comunicados por medio de algún tipo de red de
comunicaciones para transmitir datos y órdenes entre los sitios.

Diferencia entre un dbms y una base de datos


La base de datos es una colección de archivos interrelacionados almacenados en
conjunto sin redundancia y la dbms es un conjunto de numerosas rutinas de software
interrelacionadas cada una de ellas es responsable de una determinada tarea.

Componentes de un sistema de base de datos


Un sistema de base de datos está compuesto por:
 Datos
 Equipos
 Programas
 Personas
Funciones de los componentes de una base de
datos
Un sistema de base de datos es algo más que simples datos o que un conjunto de
datos en combinación con unos programas de gestión. Un sistema de base de datos está
formado por los siguientes componentes:

 Datos: las características más importantes de la información en estos sistemas es


que va a estar integrada y compartida.

 Integrada: puede considerarse como una unificación de varios ficheros de


datos, que son tratados como uno solo, y en el que se ha eliminado totalmente, o
en parte, la redundancia de datos.
 Compartida: pueden compartirse entre varios usuarios distintos. Es posible
que varios de estos usuarios accedan al mismo tiempo al mismo elemento de
información.

 Equipo (Hardware): es un conjunto de dispositivos físicos utilizados para


almacenar y procesar los datos. Tales son:

 Ordenadores
 Volúmenes de almacenamiento.
 Otros dispositivos

 Programas (Software): un sistema de base de datos incluye dos tipos de


programas:

 Software de propósito general: maneja todas las solicitudes de acceso a la


base de datos formuladas por los usuarios y los programas de aplicación.

 Software de aplicación: manipula la base de datos con el fin de llevar a


cabo una función específica en la gestión de la empresa. Puede estar desarrollado
en un lenguaje de programación estándar, tal como COBOL o C, o en un lenguaje
propio de los S.G.B.D denominado lenguajes de cuarta generación.

 Personal: en un sistema de base de datos intervienen un número importante de


usuarios, que podemos clasificar en tres grupos:

 Administrador de la base de dato: Son los encargados de diseñar la


estructura de la base de datos y los responsables de que el sistema funcione
correctamente.
 Programadores de aplicaciones: se encargan de desarrollar las
aplicaciones que manejan datos de la base de datos.
 Usuarios finales: son personas que no tienen por qué tener conocimientos
informáticos y que pueden manipular los datos con la ayuda de las aplicaciones, o
bien de lenguajes de consulta no procedimentales, tipo SQL, o bien, mediante
herramientas basadas en sistemas de menús
Inconveniente de los sistemas de gestión de
bases de datos
 Complejidad: son conjuntos de programas muy complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder
sacar un buen partido de ellos.
 Tamaño: son programas complejos y muy extensos que requieren una gran
cantidad de espacio en disco y de memoria para trabajar de forma eficiente.
 Coste económico del SGBD: el coste varía dependiendo del entorno y de la
funcionalidad que ofrece. Además, hay que pagar una cuota anual de
mantenimiento.
 Coste del equipamiento adicional: tanto el SGBD, como la propia base de
datos, pueden hacer que sea necesario adquirir más espacio de
almacenamiento. Además, para alcanzar las prestaciones deseadas, es
posible que sea necesario adquirir una máquina más grande o una máquina
que se dedique solamente al SGBD. Todo esto hará que la implantación de un
sistema de bases de datos sea más cara.
 Coste de la conversión: en algunas ocasiones, el coste del SGBD y el coste del
equipo informático que sea necesario adquirir para su buen funcionamiento, es
insignificante comparado al coste de convertir la aplicación actual en un
sistema de bases de datos. Este coste incluye el coste de enseñar a la plantilla
a utilizar estos sistemas y, probablemente, el coste del personal especializado
para ayudar a realizar la conversión y poner en marcha el sistema. Este coste
es una de las razones principales por las que algunas empresas y
organizaciones se resisten a cambiar su sistema actual de ficheros por un
sistema de bases de datos.
 Prestaciones: un sistema de ficheros está escrito para una aplicación
específica, por lo que sus prestaciones suelen ser muy buenas. Sin embargo,
los SGBD están escritos para ser más generales y ser útiles en muchas
aplicaciones, lo que puede hacer que algunas de ellas no sean tan rápidas
como antes.
 Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD
hace que el sistema sea más vulnerable ante los fallos que puedan producirse
Lenguaje de 3ra y 4ª generación
3ra Generación
Los lenguajes de programación de tercera generación son la gama para el ámbito
computacional donde se logra un alto rendimiento con respecto a lenguajes de
generaciones anteriores.
Dichos lenguajes son utilizados por especialistas, programadores, y otros para
desarrollar programas y sistemas que requieren de un procedimiento específico para la
computadora. Entre ellos se encuentran C, Fortran, Smalltalk, Ada, C++, C#, Cobol,
Delphi, Java, etc.
4ª Generación
Los lenguajes de programación de cuarta generación son los lenguajes en los
cuales en lugar de escribir cómo deben obtenerse los resultados se especifican cuales
resultados son los que se quiere obtener. Por ejemplo los lenguajes de consulta de base
de datos, como el SQL, son considerados lenguajes de cuarta generación.

Tendencias futuras
La explotación efectiva de la información dará ventaja competitiva a las
organizaciones. Las bases de datos orientadas a objetos empleadas
para diseño y manufactura asistida por computadora CAD/CAM serán utilizados a un
mismo nivel que las bases de datos relacionales de la actualidad.
Los lenguajes de consulta (SQL) permitirán el uso del lenguaje natural para
solicitar información de la Base de Datos, haciendo más rápido y fácil su manejo.

Diferentes Estructuras de base de datos


Aunque las bases de datos pueden parecerse a simple vista como un archivo de
información, en realidad consisten en varios archivos lógicamente interrelacionados pero
físicamente diferentes. A continuación las diferentes estructuras de base de datos:

 Modelo relacional de datos: en el nivel conceptual, el modelo relacional de datos


está representado por una colección de relaciones almacenadas. Cada registro de
tipo conceptual en un modelo relacional de datos se implanta como un archivo
almacenado distinto.
 Sub-modelo de datos: cada uno consta de uno a más escenarios para describir los
datos requeridos por una aplicación dada. Un escenario puede incluir datos de una
o más tablas de datos. Cada programa de aplicación está provisto de un buffer
donde el DBMS puede depositar los datos recuperados de la base para su
procesamiento, o puede guardar temporalmente sus salidas antes de que el DBMS
las escriba en la base de datos.
 Esquema de almacenamiento: en el nivel interno, cada tabla base se implanta
como un archivo almacenado. Para las recuperaciones sobre las claves principal o
secundaria se pueden establecer uno o más índices para accesar un archivo
almacenado.
 Sub-lenguaje de datos: es un lenguaje de manejo de datos para el
sistema relacional, el álgebra relacional y cálculo relacional, ambos lenguajes son
"relacionalmente completos", esto es, cualquier relación que pueda derivarse de
una o más tablas de datos, también se puede derivar con u solo comando del sub-
lenguaje.

Base de datos orientada a objetos


Una base de datos orientada a objetos es una base de datos que incorpora todos
los conceptos importantes del modelo de objetos: Encapsulación, Herencia y
Polimorfismo.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos.
La base de datos está constituida por objetos, que pueden ser de muy diversos
tipos, y sobre los cuales se encuentran definidas unas operaciones. Las bases de datos
orientadas a objetos pueden manejar información binaria como objetos multimedia de una
forma eficiente
Las bases de datos orientadas a objetos se diseñan para trabajar bien en
conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual
Basic.NET y C++.

Panorama Actual de Base de Dato Orientado a


Objetos
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.
Identidad de Objetos
Un sistema de BDOO provee una identidad única a cada objeto independiente
almacenado en la base de datos. Esta identidad única suele implementarse con un
identificador de objeto único, generado por el sistema. El valor de un identificador de
objeto no es visible para el usuario externo, sino que el sistema lo utiliza a nivel interno
para identificar cada objeto de manera única y para crear y manejar las referencias entre
objetos.
La principal propiedad que debe tener un OID es la de ser inmutable; es decir, el
valor del OID para un objeto en particular nunca debe cambiar. Esto preserva la identidad
del objeto del mundo real que se está presentando. También es preferible que cada OID
se utilice sólo una vez; esto es aunque un objeto se elimine de la Base de datos, su OID
no se deberá asignar a otro objeto. Estas dos propiedades implican que el OID no debe
depender del valor de ningún atributo del objeto, pues estos valores pueden cambiar.
También suele considerarse inapropiado basar el OID en la dirección física del objeto en
el almacenamiento, ya que una reorganización de los objetos de la base de datos podría
cambiar los OID. Sin embargo, algunos sistemas sí usan la dirección física como OID
para aumentar la eficiencia de la obtención de los objetos. Si la dirección física cambia,
puede colocarse un apuntador indirecto en la dirección anterior, dando la nueva ubicación
física del objeto. Un sistema de BDOO debe contar con algún mecanismo para generar
los OID con la propiedad de inmutabilidad.

Estructura de un Objeto
Un objeto puede considerarse como una especie de cápsula dividida en tres
partes:
Las relaciones: permiten que el objeto se inserte en la organización y están formadas
esencialmente por punteros a otros objetos.
Las propiedades: distinguen un objeto determinado de los restantes que forman parte de
la misma organización y tiene valores que dependen de la propiedad de que se trate. Las
propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.
Los métodos: son las operaciones que pueden realizarse sobre el objeto, que
normalmente estarán incorporados en forma de programas que el objeto es capaz de
ejecutar y que también pone a disposición de sus descendientes a través de la herencia.

Constructores de Objeto
En las BDOO, los valores de los objetos complejos se pueden construir a partir de
otros objetos mediante ciertos constructores de tipos. Una forma de representar tales
objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un identificador de
objeto único, c es un constructor y v es el valor del objeto. Puede haber varios
constructores, según el modelo de datos y el sistema.
Los tres constructores básicos son:
• Constructores de átomos.
• Constructores de tuplas.
• Constructores de conjuntos.
Encapsulamiento de Operaciones
La estructura interna de los objetos debe estar oculta al usuario de un objeto, no
necesita conocerla para interactuar con él. Los objetos se conciben como una cápsula
cuyo interior está oculto y no puede ser alterado directamente desde el exterior.
A la estructura interna de un objeto se la denomina implementación y a la parte
visible, la que se presenta al exterior, interfaz. La interfaz se define por sus atributos y
operaciones. La implementación de una operación se conoce como método. La
implementación de un atributo se realiza generalmente con variables de instancia.
El encapsulamiento comporta las siguientes ventajas:
• La modificación interna de un objeto para corregirlo o mejorarlo no afecta a sus
usuarios.
• La dificultad inherente a la modificación de la implementación de un objeto sea
independiente del tamaño total del sistema. Esto permite que los sistemas evolucionen
con mayor facilidad.
• Al elevar el nivel de abstracción se disminuye el nivel de complejidad de un sistema.
Es posible modelar sistemas de mayor tamaño con menor esfuerzo.
• Constituye un mecanismo de integridad. La dispersión de un fallo a través de todo el
sistema es menor, puesto que al presentar una división entre interfaz e implementación,
los fallos internos de un objeto encuentran una barrera en el encapsulamiento antes de
propagarse al resto del sistema.
• Permite la sustitución de objetos con la misma interfaz y diferente implementación.
Esto permite modelar sistemas de mayor tamaño con menor esfuerzo.
Metodos de Encapsulamiento
En programación modular, y más específicamente en programación orientada a
objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos
miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones
definidas para ese objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera
se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
asociados a un objeto contra su modificación por quien no tenga derecho a acceder a
ellos, eliminando efectos secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los
métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita
que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas.
Como se puede observar de los diagramas, las variables del objeto se localizan en
el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de
otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la
protección de sus métodos se le llama encapsulamiento.
La encapsulación da lugar a que las clases se dividan en dos partes:
1) Interface: captura la visión externa de una clase, abarcando la abstracción del
comportamiento común a los ejemplos de esa clase.
2) Implementación: comprende la representación de la abstracción, así como los
mecanismos que conducen al comportamiento deseado.
Persistencia de Encapsulamiento
Se llama “persistencia” de los objetos a su capacidad para guardarse y
recuperarse desde un medio de almacenamiento. La persistencia en Base de Datos
relacionales se suele implementar mediante el desarrollo de funcionalidad específica
utilizando la tecnología JDBC o mediante frameworks que automatizan el proceso a partir
de mapeos como es el caso de Hibérnate.
Si bien existen más alternativas de persistencia, en este tutorial abordaremos
estas dos alternativas ya que son las más frecuentemente utilizadas.

Jerarquía de Clases
Consideremos las figuras planas cerradas como el rectángulo, y el círculo. Tales
figuras comparten características comunes como es la posición de la figura, de su centro,
y el área de la figura, aunque el procedimiento para calcular dicha área sea
completamente distinto. Podemos por tanto, diseñar una jerarquía de clases, tal que la
clase base denominada Figura, tenga las características comunes y cada clase derivada
las específicas.

Herencia
La herencia es un intento de adaptación de estos diagramas al paradigma
orientado a objetos. La herencia es un tipo de relación entre una entidad “padre” y una
entidad “hijo”. La entidad “hijo” hereda todos los atributos y relaciones de la entidad
“padre”. Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación
de herencia se representa mediante un triángulo interconectado por líneas a las
entidades. La entidad conectada por el vértice superior del triángulo es la entidad “padre”.
Solamente puede existir una entidad “padre”. Las entidades “hijo” se conectan por la base
del triángulo.
La Herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En
primer lugar se considerará la herencia de los tipos y después en el nivel de las tablas.

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
Los objetos se consideran complejos porque requieren un área de
almacenamiento sustancial y no forman parte de los tipos de datos estándar que suelen
ofrecer los SGBD. Puesto que el tamaño de los objetos es considerable, un SGBD podría
obtener una porción del objeto y proporcionarla al programa de aplicación antes de
obtener todo el objeto.
El SGBD podría también usar técnicas de almacenamiento intermedio y caché
para obtener por anticipado porciones del objeto, antes de que el programa de aplicación
necesite tener acceso a ellas.
Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo
incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un
sistema de tipos extensibles. Podemos crear bibliotecas de nuevos tipos definiendo su
estructura y operaciones, incluso con tipos complejos.
Muchos SGBDOO pueden almacenar y obtener objetos no estructurados extensos
en forma de cadenas y caracteres o de bits, que se pueden pasar “tal cual” al programa
de aplicación para que las interprete.

GemStone
La sintaxis del lenguaje de consulta de GemStone es diferente de SQL, este
lenguaje es bastante limitado en términos de poder expresivo. Solo se puede tener
consultas sobre colecciones de objetos cuyas clases hayan sido definidas. La clausula
constraints de la clase cuya instancia es la colección consultada no debe estar vacía.
Las consultas se llevan a cabo por medio de un mensaje especial select. Este
mensaje tiene como argumento una cadena que denota la combinación lógica de los
predicados que definen la consulta. Estas pueden contener combinaciones lógicas de
predicados y expresiones de camino.

O2
Es un lenguaje de consulta que permite reestructurar el resultado de una consulta de una
forma altamente sofisticada, definido con una sintaxis que recuerda a la sintaxis de SQL.
Sin embargo no es compatible con SQL.
O2 es un lenguaje independiente, y no puede ser utilizado dentro de métodos ni dentro del
lenguaje de aplicación CO2. Este lenguaje se usa principalmente desde interfaces graficas
interactivas, las cuales ofrecen un pequeño entorno específicamente para las consultas.
Este entorno permite, por lo general, formular las consultas, salvarlas asignándoles un
nombre y visualizar el resultado.

Iris
Es conocido como OSQL, es el más similar a AQL en términos de funcionabilidad.
Más específicamente, también tiene mecanismos de cursor para tener acceso secuencial
a los resultados de una consulta.
En OSQL se puede llamar en una consulta a funciones definidas por el usuario,
obviamente el sistema verifica que se le pasen a la función argumentos con el tipo
correcto para asegurar que la consulta es correcta.
Orion
Ofrece un programa de utilidad para ayudar al usuario a determinar las referencias
inconsistentes en un objeto complejo. El programa controla recursivamente todo los
objetos sensibles a la notificación referidos directa o indirectamente desde un objeto dado.
En orion hay dos maneras principales de notificar los cambios: usando mensajes y
usando banderas. En el enfoque basado en mensaje, el sistema notifica los cambios en
los objetos enviando a los usuarios los mensajes apropiados. En el enfoque basado en
banderas, el sistema simplemente actualiza una estructura de datos y los usuarios son
notificados de los cambios solo cuando estos acceden al objeto modificado.

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


Lenguaje Orientado a Objetos
La programación orientada a objetos, intenta simular el mundo real a través del
significado de objetos que contiene características y funciones. Los lenguajes orientados
a objetos se clasifican como lenguajes de quinta generación. Como su mismo nombre
indica, la programación orientada a objetos se basa en la idea de un objeto, que es una
combinación de variables locales y procedimientos llamados métodos que juntos
conforman una entidad de programación.
En la programación orientada a objetos, encapsular significa, reunir y controlar el
grupo resultante como un todo y no individualmente. La abstracción es un término externo
al objeto, que controla la forma en que es visto por los demás.
En la programación la modularidad se considera de la siguiente manera: Un
programa grande siempre será más complicado que la suma de varios programas
pequeños, con lo que se considera ventajoso dividir un gran sistema en diversos módulos.
En la programación tenemos la jerarquía, la cual consiste en la clasificación y
organización de las abstracciones según su naturaleza. El más claro ejemplo de jerarquía
es la herencia.

Lenguaje de Programación Persistente


Permite objetos para continuar existiendo después de que el programa ha estado
cerrado se llaman lenguajes de programación persistentes. El único producto comercial
que aparece hacer esto en el momento es JADE, solamente se anticipa que los lenguajes
de programación persistentes llegarán a ser más populares en el futuro.
Un lenguaje de programación persistente es un lenguaje de programación
ampliado con las construcciones para manejar datos persistentes. Distingue con el SQL
encajado por lo menos de dos maneras: En una lengua persistente del programa, el
lenguaje de interrogación se integra completamente con la lengua del anfitrión y ambo
parte el mismo tipo sistema. Cualquier cambio del formato requerido en bases de datos se
realiza transparente.

Base de Datos Deductivas


Por lo regular usa un lenguaje declarativo para especificar reglas. Con lenguaje
declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en
vez de especificar los detalles de cómo lograrlo. Una máquina de inferencia dentro del
sistema puede deducir hechos nuevos a partir de la base de datos interpretando dichas
reglas.
El modelo empleado en las bases de datos deductivas está íntimamente
relacionado con el modelo de datos relacional, y sobre todo con el formalismo del cálculo
relacional. También está relacionado con el campo de la programación lógica y el
lenguaje Prolog.
Los trabajos sobre bases de datos deductivas basados en lógica han utilizado
Prolog como punto de partida. Con un subconjunto de Prolog llamado Datalog se definen
reglas declarativamente junto con un conjunto de relaciones existentes que se tratan
como literales en el lenguaje.
Una Base de Datos Deductiva utiliza dos tipos de
especificaciones: hechos y reglas.
Los hechos: se especifican de manera similar a como se especifican las
relaciones, excepto que no es necesario incluir los nombres de los atributos. En una Base
de Datos Deductiva, el significado del valor del atributo en una tupla queda determinado
exclusivamente por su posición dentro de la tupla.
Las reglas: especifican relaciones virtuales que no están almacenadas realmente,
pero que se pueden formar a partir de los hechos aplicando mecanismos de inferencia
basados en las especificaciones de las reglas. La principal diferencia entre las reglas y las
vistas es que en las primeras puede haber recursión y por tanto pueden producir vistas
que no es posible definir en términos de las vistas relacionales estándar.

Notación Prolog
Es un lenguaje conversacional, es decir, el sistema mantiene un diálogo continuo con el
programador desde el inicio de la sesión hasta el final de la misma. Este diálogo toma
generalmente la forma de un interrogatorio, a lo largo del cual el programador planteará
preguntas al sistema Prolog. Por su parte, el sistema Prolog responderá cada una de las
preguntas formula.

Notación Datalog
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 es una versión similar a Prolog en su sintaxis adecuada para las bases de
datos, pero su semántica operacional es diferente y se diferencia en:
• Datalog no admite símbolos de función en los argumentos.
• El significado de los programas Datalog sigue el punto de vista de teoría de
modelos.
• Prolog, en cambio, se basa en un significado computacional que se desvía de los
significados de la teoría de modelos y de la teoría de pruebas.

Interpretación de Reglas
Podemos usar dos metodologías diferentes para poder interpretar el significado
teórico de las reglas, estos son, por la teoría de demostración y por la teoría de modelos.
Sin embargo en los sistemas prácticos, es el mecanismo de inferencia que tiene el
sistema el que define la interpretación exacta, y esta puede diferir de los modelos teóricos
que acabamos de mencionar.
Este mecanismo de inferencia es un procedimiento computacional y por lo tanto
provee una interpretación computacional del significado de las reglas.
Programación Lógica
La programación lógica consiste en la aplicación del corpus de conocimiento sobre
lógica para el diseño de lenguajes de programación. Se ha convertido en el pilar de una
nueva generación de lenguajes de programación.
Junto con la programación funcional forma parte de lo que se conoce
como programación declarativa, en los cuales los lenguajes tradicionales se intenta
resolver un problema mediante sentencias, en la programación lógica se trabaja de forma
descriptiva, estableciendo relaciones, y no indicando un cómo sino un qué hacer.

Programación en Datalog
Es un conjunto de clausulas separadas de alguna forma convencional, por ejemplo
por punto y coma. Dentro de este programa el propósito principal es soportar
específicamente formulaciones de axiomas deductivos.

Sistema LDL
Lenguaje Lógico de Dato (LDL) se inició en 1984 con dos objetivos primarios:
• Crear un sistema que extendiera el modelo relacional y a la vez aprovechara
algunas de las características positivas de un SGBDR.
• Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD
deductivo y además permitiera la creación de aplicaciones de propósito general.
Ahora el sistema resultante es un SGBD deductivo que se encuentra en el
mercado. El sistema LDL ha intentado combinar la capacidad de expresión y deducción
de prolog con la funcionalidad y los recursos de un SGBD de propósito general. La
desventaja principal que experimentaron los primero sistemas que acoplaron Prolog a un
SGBDR es que Prolog es un lenguaje de navegación en tanto que en los SGBDR el
usuario formula una consulta correcta y deja al sistema la optimización de su ejecución.
Para lidiar con este inconveniente los diseñadores de LDL optaron por convertir el
Prolog a un lenguaje lógico declarativo de aplicación general, produciendo un lenguaje
que es diferente en sus constructores y estilo de programación en los siguientes aspectos:
• Las reglas se compilan en LDL.
• Existe una noción de esquema de la base de hechos en LDL en tiempo de
compilación. Esta base se actualiza libremente en tiempo de ejecución.
• LDL no sigue la técnica de resolución y unificación que se emplea en los sistemas
Prolog basados en backwards-chaining.
• El modelo de ejecución de LDL es más simple, basado en la operación de
comparación y el cálculo del menor punto fijo. Estos operadores, a su vez, utilizan
extensiones simples del algebra relacional.
Sistema Gestores de Base de Datos
Son software muy específico, dedicados a servir de interfaz entre la base de datos,
el usuario y las aplicaciones que la utilizan.
Los hechos general de los sistemas de gestor de bases de datos es el de manejar
de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se
convertirán en información relevante para una organización.

Base de Datos Activas


Son los sistemas de bases de datos dentro del proceso de desarrollo, los cuales
se han convertido en un producto estratégico de primer orden; en el afán de ofrecer una
respuesta a las necesidades planteadas por los usuarios y por las aplicaciones
avanzadas, donde se necesitan herramientas semánticamente más ricas que las provistas
por las Bases de Datos Relacionales, aparecen recientes aplicaciones de estos que
consisten en ofrecer recursos para definir Reglas Deductivas y Activas que
permiten deducir, inferir u obtener información nueva a partir de los datos almacenados o
sucesos condicionados.
La meta de estas aplicaciones es incorporar a las Bases de Datos Relacionales los
beneficios de la lógica y la reacción espontánea ante sucesos predefinidos como
instrumentos para la formalización integrada de los aspectos estáticos y dinámicos del
modelado de aplicaciones.

Base de Datos Multimedia


Es una base de datos que los medios de comunicación primaria alberga uno o más
tipos de archivo como Txt (documentos), JPG (imágenes), Swf (videos), Mp3 (audio) y
vagamente se dividen en principales categorías:
• Los medios de comunicación estáticos: independiente del tiempo, es decir,
imágenes y escritura.
• Los medios de comunicación dinámica: dependiente del tiempo, es decir, de vídeo
y sonido bytes.

Bases de datos científicas


Contienen información destinada a los investigadores de cualquier ámbito científico. A su
vez, este grupo puede dividirse en:

• Bases de datos multidisciplinares: abarcan varias disciplinas científicas o técnicas.


• Bases de datos especializadas: recopilan y analizan documentos pertinentes para
una disciplina o sub-disciplina concreta: investigación biomédica, farmacéutica,
química, agroalimentaria, social, humanística, etc.
Base de Datos Espaciales
Es un arreglo ordenado de datos georreferenciados relacionados entre sí,
clasificados y agrupados según sus características; bajo control de redundancias e
integrados para el desarrollo de aplicaciones y análisis sobre la información.
En este tipo de bases de datos es imprescindible establecer un cuadro de
referencia para definir la localización y relación entre objetos, ya que los datos tratados en
este tipo de bases de datos tienen un valor relativo, no es un valor absoluto.
Los sistemas de referencia espacial pueden ser de dos tipos:
• Georrefenciados: aquellos que se establecen sobre la superficie terrestre. Son los
que normalmente se utilizan, ya que es un dominio manipulable, perceptible y que
sirve de referencia
• No georreferenciados: son sistemas que tienen valor físico, pero que pueden ser
útiles en determinadas situaciones.

Base de Datos Temporal


Es un sistema de gestión de base de datos (DBMS) el cual implementa y trata con
especial énfasis aspectos temporales, teniendo un modelo de datos temporal y una
versión temporal del lenguaje de consulta estructurado, (SQL). Entre las diversas
propuestas de implementación, la más extendida es TSQL2.
Especificando más profundamente, los aspectos temporales normalmente incluyen
tiempo de validez y tiempo de transacción. La combinación de estos dos atributos forman
un dato bitemporal.
• Tiempo de validez indica el período en el cual un hecho es verdad en el mundo
real.
• Tiempo de transacción indica el período en el cual un hecho está guardado en la
base de datos.
• Dato Bitemporal es la combinación del tiempo de validez y el tiempo transaccional.
Estos dos períodos no tienen que ser idénticos para un mismo hecho. Imagine una
base de datos temporal guardando datos sobre el siglo veinte. El tiempo de validez sobre
esos hechos estará comprendido entre el año 1901 y el año 2000, sin embargo el tiempo
transaccional empezará cuando insertemos esos hechos en la base de datos, por
ejemplo, 25 de diciembre del 2006.

Vous aimerez peut-être aussi