Escolar Documentos
Profissional Documentos
Cultura Documentos
Seccin:1451
entidades interactivas en una simulacin. Adems comparte objetos acoplando datos y procedimientos. En los aos 80 surgen varios productores de DBMS Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2, adems 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 aos 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 extensin de los RDBMS hacia el paradigma OO, y los Object Oriented Database Management System (OODBMS) estaran disponibles para almacenar y manipular las clases, los objetos, la asociacin entre ellos y sus mtodos. As, finalizando los aos 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 orientacin a objetos se segua manejando muy a nivel del lenguaje de programacin, 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 an se sigue trabajando en este con un tiempo lmite de terminacin, en el ao 1999.
Esquema de un DBMS
Transaccin
Es un conjunto de rdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atmica. 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 transaccin, empieza a deshacer las rdenes ejecutadas hasta dejar la base de datos en su estado inicial, como si la orden de la transaccin nunca se hubiese realizado.
Modelo relacional
Es el ms 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 informacin actuales se basan en el modelo relacional ya que ofrece numerosas ventajas y rpido 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 categora se basan en el modelo relaciones, cuya estructura principal es la relacin, es decir, una tabla bidimensional compuesta por lneas y columnas. Cada lnea, que en terminologa relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. Las caractersticas de cada entidad estn definidas por las columnas de las relaciones, que se llaman atributos, entidades con caractersticas comunes, es decir, descritas por el mismo conjunto de atributos, formarn parte de la misma relacin.
Modelo en red
Permite la representacin 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 informacin, a travs de la incorporacin de un tipo de registro denominado el conector. En el modelo en red se representa el mundo real mediante registros lgicos que representan a una entidad y que se relacionan entre s por medio de flechas.
Modelo jerrquico
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 slo puede tener un padre.
Modelos de Datos
Se definen como un conjunto de elementos y smbolos que permiten estandarizar y traducir anlisis a un lenguaje semntico y sistemtico que dispone de reglas de control y evaluacin del comportamiento del dato en el transcurso del tiempo, tanto en su almacenamiento como en su utilizacin. Estos modelos de datos, hacen posible que la lgica de un negocio pueda ser estructurada de forma tangible a travs de un esquema fsico 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 travs del tiempo. Los Modelos de Datos, tambin llamados modelos lgicos, 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 interpretacin 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 parmetros de una forma o estilo de vida; dichos objetos se modelan a travs de propuestas que fueron estructuradas para as poder estandarizar la forma de manipularlos. Dentro de estos modelos tenemos: + + + + Modelo Modelo Modelo Modelo Entidad Relacin (MER) Orientado a Objetos (MOO) Semntico Deductivo
Basados en Registros: Otra forma de tratar lgicamente la informacin suministrada por un sistema es a travs de los "Registros", originalmente concebidos por los sistemas de archivos, lo cual dio pie a la estructuracin de modelos lgicos tales como: + Modelo Relacional (MR) + Modelo de Red + Modelo Jerrquico
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 clculo relacional que es de tipo declarativo. Tambin describe el aspecto de la manipulacin de datos, en estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta.
Archivo
Es un conjunto de bits almacenado en un dispositivo, identificado por un nombre y la descripcin de la carpeta o directorio que lo contiene. Los archivos informticos se llaman as porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informtico. En lo que concierne al sistema operativo, un archivo es, en la mayora de los casos, simplemente un flujo unidimensional de bits, que es tratado por el sistema operativo como una nica unidad lgica. Un archivo de datos informtico normalmente tiene un tamao, que generalmente se expresa en bytes; en todos los sistemas operativos modernos, el tamao puede ser cualquier nmero entero no negativo de bytes hasta un mximo dependiente del sistema.
Archivos de Movimiento: son aquellos que se utilizan conjuntamente con los maestros y contienen algn campo comn 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 ejecucin del programa y borrados habitualmente al terminar el mismo. SEGN SUS ELEMENTOS. Los principales archivos de este tipo son: Archivo de Entrada: una coleccin de datos localizados en un dispositivo de entrada. Archivo de Salida: Una coleccin de informacin 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 coleccin de caracteres almacenados como una unidad en un dispositivo de almacenamiento.
) ) )
Multitarea
Es una caracterIstica de los sistemas operativos modernos. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o ms procesadores. En otras palabras son capaces de dar servicio a ms 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 mltiples usuarios. En contraposicion a los sistemas monousuario, que proveen servicio y procesamiento a un solo usuario, en la categorIa de multiusuario se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms 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 compartIan a travs del uso de mltiples dispositivos de interfaz humana. Los recursos que se comparten son por lo regular una combinacion de: Procesador. Memoria. Almacenamiento secundario (almacenaje en disco duro). Programas. Perifricos como impresoras, plotters, scanner, etc. De tal modo que los mltiples usuarios tienen la impresion de utilizar un ordenador y un sistema operativo unificado, que les estn dedicados por completo.
Multiproceso
Es conocido como el uso de mltiples procesos concurrentes en un sistema en lugar de un nico proceso en un instante determinado. Como la multitarea que permite a mltiples procesos compartir una nica CPU, mltiples CPUs pueden ser utilizados para ejecutar mltiples hilos dentro de un nico proceso. El multiproceso para tareas generales es, a menudo, bastante difIcil de conseguir debido a que puede haber varios programas manejando datos internos a la vez. Los programas tIpicamente 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 sI intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de tcnicas de programacion incluyendo semforos 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 mayorIa de las bases de datos relacionales para asegurarse que los registros de tablas relacionadas son vlidos 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 sI mismo no aportan nueva informacion o repiten parte de la informacion. En numerosas aplicaciones, la redundancia es una estrategia ampliamente usada para evitar malentendidos o errores de decodificacion. Por tanto, un dato se actualizar logicamente por el usuario de forma nica, y el sistema se preocupar de cambiar fIsicamente todos aquellos campos en los que el dato estuviese repetido, en caso de existir redundancia fIsica.
Inconsistencia
Las causas de inconsistencia en un sistema pueden ser accidentales o intencionales, como los programas y archivos son creados por diferentes personas a travs del tiempo, estos pueden tener diferentes formatos y escritos en diferentes lenguajes de programacion, la informacion puede estar duplicada en los diversos lugares.
Tupla
Es una secuencia ordenada de objetos, esto es, una lista con un nmero limitado de objetos. Las tuplas se emplean para describir objetos matemticos que tienen estructura, es decir que son capaces de ser descompuestos en un cierto nmero 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 vrtices 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 clculo. 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 dems registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendr un nombre y una direccion. 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 direccion, o un nmero de telfono, un nombre, etc.
Entidad
Es la representacion 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, ArtIculo, etc. Cada entidad est constituida por uno o ms atributos. Por ejemplo, la entidad "Alumno" podrIa tener los atributos: nombre, apellido, ao de nacimiento, etc. En el modelo de entidad-relacion se emplean dos tipos de entidades: entidad fuerte y entidad dbil. Las entidades fuertes tienen atributos claves, en tanto las entidades dbiles 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 mInima unidad de informacion 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 genrico: Aquel campo que posee un dato nico para una repeticion de entidad. Puede servir para la bsqueda de una entidad en especIfico. Alfanumricos: Contiene cifras y letras. Presentan una longitud limitada (255 caracteres). Numricos: Existen de varios tipos principalmente como enteros y reales. Booleanos: Admite dos valores, "Verdadero" y "Falso" (True-False).
Atributos
Es una especificacion que define una propiedad de un Objeto, elemento o archivo. Donde puede referirse o establecer el valor especIfico para una instancia determinada de los mismos. Por ejemplo, se podrIa tener una entidad llamada "Alumno" que puede estar constituida por uno o ms atributos, que interesan para almacenarse en la base de datos. Los atributos pueden ser: nombre, apellido, ao de nacimiento, etc. En SQL un atributo es llamado columna.
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 disea, elabora, termina y se usa. Los usuarios que accedan a una base de datos pueden clasificarse como: Programadores de aplicaciones: los profesionales en computacion que interactan con el sistema por medio de llamadas en lenguaje de manipulacion de datos (DML), las cuales estn incorporadas en un programa escrito en un lenguaje de programacion. Usuarios sofisticados: los usuarios sofisticados interactan 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 interactan con el sistema invocando a uno de los programas de aplicacion 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 diseo interno del mismo. Por ejemplo: un cajero.
en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas. Una vista se especifica a travs de una expresion de consulta que la calcula y que puede realizarse sobre una o ms tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un nmero cualquiera de vistas. La mayorIa de los SGBD soportan la creacion y manipulacion de vistas.
Cardinalidad
Es un conjunto de relaciones en el que participan dos o ms entidades, expresando cuantas entidades se relacionan con otras. Cada elemento de la entidad participa en la construccion del modelo Entidad - Relacion. 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 repeticion de entidad. Se le asigna automticamente un nmero consecutivo que en ocasiones es usado como Indice aunque lo normal y prctico es asignarle a cada registro un campo clave para su bsqueda. La estructura implIcita de un registro y el significado de los valores de sus campos exige que dicho registro sea entendido como una sucesion 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 Items: el nombre de la columna relevante y el valor que esta fila provee para dicha columna.
Nivel interno: tiene un esquema que describe la estructura fIsica de almacenamiento de base de datos. Emplea un modelo fIsico de datos y los nicos datos que existen estn 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 fIsicos de almacenamiento y trabaja con elementos logicos como entidades, atributos y relaciones. Nivel externo o de vistas: tiene varios esquemas que describe la vision que tiene de la base de datos a un grupo de usuarios, ocultando el resto.
Programas (Software): un sistema de base de datos incluye dos tipos de programas: Software de propsito general: maneja todas las solicitudes de acceso a la base de datos formuladas por los usuarios y los programas de aplicacin.
Software de aplicacin: manipula la base de datos con el fin de llevar a cabo una funcin especIfica en la gestin de la empresa. Puede estar desarrollado en un lenguaje de programacin estndar, tal como COBOL o C, o en un lenguaje propio de los S.G.B.D denominado lenguajes de cuarta generacin.
) Personal: en un sistema de base de datos intervienen un nmero importante de usuarios, que podemos clasificar en tres grupos: Administrador de la base de dato: Son los encargados de disear 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 informticos 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 mens
) )
) Vulnerable a los fallos: El hecho de que todo est centralizado en el SGBD hace que el sistema sea ms vulnerable ante los fallos que puedan producirse
Tendencias futuras
La explotacin efectiva de la informacin dar ventaja competitiva a las organizaciones. Las bases de datos orientadas a objetos empleadas para diseo y manufactura asistida por computadora CAD/CAM sern utilizados a un mismo nivel que las bases de datos relacionales de la actualidad. Los lenguajes de consulta (SQL) permitirn el uso del lenguaje natural para solicitar informacin de la Base de Datos, haciendo ms rpido y fcil su manejo.
secundaria se pueden establecer uno o ms Indices para accesar un archivo almacenado. ) Sub-lenguaje de datos: es un lenguaje de manejo de datos para el sistema relacional, el lgebra relacional y clculo relacional, ambos lenguajes son "relacionalmente completos", esto es, cualquier relacin que pueda derivarse de una o ms tablas de datos, tambin se puede derivar con u solo comando del sublenguaje.
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. Tambin es preferible que cada OID se utilice slo 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 ningn atributo del objeto, pues estos valores pueden cambiar. Tambin suele considerarse inapropiado basar el OID en la direccin fIsica del objeto en el almacenamiento, ya que una reorganizacin de los objetos de la base de datos podrIa cambiar los OID. Sin embargo, algunos sistemas sI usan la direccin fIsica como OID para aumentar la eficiencia de la obtencin de los objetos. Si la direccin fIsica cambia, puede colocarse un apuntador indirecto en la direccin anterior, dando la nueva ubicacin fIsica del objeto. Un sistema de BDOO debe contar con algn mecanismo para generar los OID con la propiedad de inmutabilidad.
Estructura de un Objeto
Un objeto puede considerarse como una especie de cpsula dividida en tres partes: Las relaciones: permiten que el objeto se inserte en la organizacin y estn formadas esencialmente por punteros a otros objetos. Las propiedades: distinguen un objeto determinado de los restantes que forman parte de la misma organizacin 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 organizacin. Los mtodos: son las operaciones que pueden realizarse sobre el objeto, que normalmente estarn incorporados en forma de programas que el objeto es capaz de ejecutar y que tambin pone a disposicin de sus descendientes a travs 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, segn el modelo de datos y el sistema. Los tres constructores bsicos 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 cpsula cuyo interior est oculto y no puede ser alterado directamente desde el exterior. A la estructura interna de un objeto se la denomina implementacin y a la parte visible, la que se presenta al exterior, interfaz. La interfaz se define por sus atributos y operaciones. La implementacin de una operacin se conoce como mtodo. La implementacin de un atributo se realiza generalmente con variables de instancia. El encapsulamiento comporta las siguientes ventajas: La modificacin interna de un objeto para corregirlo o mejorarlo no afecta a sus usuarios. La dificultad inherente a la modificacin de la implementacin de un objeto sea independiente del tamao total del sistema. Esto permite que los sistemas evolucionen con mayor facilidad. Al elevar el nivel de abstraccin se disminuye el nivel de complejidad de un sistema. Es posible modelar sistemas de mayor tamao con menor esfuerzo. Constituye un mecanismo de integridad. La dispersin de un fallo a travs de todo el sistema es menor, puesto que al presentar una divisin entre interfaz e implementacin, los fallos internos de un objeto encuentran una barrera en el encapsulamiento antes de propagarse al resto del sistema. Permite la sustitucin de objetos con la misma interfaz y diferente implementacin. Esto permite modelar sistemas de mayor tamao con menor esfuerzo.
Metodos de Encapsulamiento
En programacin modular, y ms especIficamente en programacin orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que slo se puede cambiar mediante las operaciones definidas para ese objeto. Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificacin 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 implementacin de los mtodos y propiedades para concentrarse slo en cmo 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 ncleo del objeto. Los mtodos rodean y esconden el ncleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la proteccin de sus mtodos se le llama encapsulamiento. La encapsulacin da lugar a que las clases se dividan en dos partes: 1) Interface: captura la visin externa de una clase, abarcando la abstraccin del comportamiento comn a los ejemplos de esa clase. 2) Implementacin: comprende la representacin de la abstraccin, asI 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 especIfica utilizando la tecnologIa JDBC o mediante frameworks que automatizan el proceso a partir de mapeos como es el caso de Hibrnate. Si bien existen ms alternativas de persistencia, en este tutorial abordaremos estas dos alternativas ya que son las ms frecuentemente utilizadas.
JerarquIa de Clases
Consideremos las figuras planas cerradas como el rectngulo, y el cIrculo. Tales figuras comparten caracterIsticas comunes como es la posicin 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, disear una jerarquIa de clases, tal que la clase base denominada Figura, tenga las caracterIsticas comunes y cada clase derivada las especIficas.
Herencia
La herencia es un intento de adaptacin de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relacin 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 relacin de herencia se representa mediante un tringulo interconectado por lIneas a las entidades. La entidad conectada por el vrtice superior del tringulo es la entidad padre. Solamente puede existir una entidad padre. Las entidades hijo se conectan por la base del tringulo. 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 despus en el nivel de las tablas.
Relaciones Anidadas
El modelo relacional anidado es una extensin del modelo relacional en la que los dominios pueden ser atmicos o de relacin. Por tanto, el valor de las tuplas de los atributos puede ser una relacin, 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 estndar que suelen ofrecer los SGBD. Puesto que el tamao de los objetos es considerable, un SGBD podrIa obtener una porcin del objeto y proporcionarla al programa de aplicacin antes de obtener todo el objeto.
El SGBD podrIa tambin usar tcnicas de almacenamiento intermedio y cach para obtener por anticipado porciones del objeto, antes de que el programa de aplicacin 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 aplicacin para que las interprete.
GemStone
La sintaxis del lenguaje de consulta de GemStone es diferente de SQL, este lenguaje es bastante limitado en trminos 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 coleccin consultada no debe estar vacIa. Las consultas se llevan a cabo por medio de un mensaje especial select. Este mensaje tiene como argumento una cadena que denota la combinacin lgica de los predicados que definen la consulta. Estas pueden contener combinaciones lgicas 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 mtodos ni dentro del lenguaje de aplicacin CO2. Este lenguaje se usa principalmente desde interfaces graficas interactivas, las cuales ofrecen un pequeo entorno especIficamente para las consultas. Este entorno permite, por lo general, formular las consultas, salvarlas asignndoles un nombre y visualizar el resultado.
Iris
Es conocido como OSQL, es el ms similar a AQL en trminos de funcionabilidad. Ms especIficamente, tambin 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 funcin 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 notificacin 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.
Deductiva
utiliza
dos
tipos
de
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 posicin dentro de la tupla. Las reglas: especifican relaciones virtuales que no estn 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 recursin y por tanto pueden producir vistas que no es posible definir en trminos de las vistas relacionales estndar.
Notacin Prolog
Es un lenguaje conversacional, es decir, el sistema mantiene un dilogo continuo con el programador desde el inicio de la sesin hasta el final de la misma. Este dilogo 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.
Notacin Datalog
Es un lenguaje lgico que es la forma ms simple de lgica desarrollada para el modelo relacional. Datalog sin recursin tiene el mismo poder expresivo que el lgebra relacional. Datalog es una versin similar a Prolog en su sintaxis adecuada para las bases de datos, pero su semntica operacional es diferente y se diferencia en: Datalog no admite sImbolos de funcin en los argumentos. El significado de los programas Datalog sigue el punto de vista de teorIa de modelos. Prolog, en cambio, se basa en un significado computacional que se desvIa de los significados de la teorIa de modelos y de la teorIa de pruebas.
Interpretacin de Reglas
Podemos usar dos metodologIas diferentes para poder interpretar el significado terico de las reglas, estos son, por la teorIa de demostracin y por la teorIa de modelos. Sin embargo en los sistemas prcticos, es el mecanismo de inferencia que tiene el sistema el que define la interpretacin exacta, y esta puede diferir de los modelos tericos que acabamos de mencionar. Este mecanismo de inferencia es un procedimiento computacional y por lo tanto provee una interpretacin computacional del significado de las reglas.
Programacin Lgica
La programacin lgica consiste en la aplicacin del corpus de conocimiento sobre lgica para el diseo de lenguajes de programacin. Se ha convertido en el pilar de una nueva generacin de lenguajes de programacin. Junto con la programacin funcional forma parte de lo que se conoce como programacin declarativa, en los cuales los lenguajes tradicionales se intenta resolver un problema mediante sentencias, en la programacin lgica se trabaja de forma descriptiva, estableciendo relaciones, y no indicando un cmo sino un qu hacer.
Programacin en Datalog
Es un conjunto de clausulas separadas de alguna forma convencional, por ejemplo por punto y coma. Dentro de este programa el propsito principal es soportar especIficamente formulaciones de axiomas deductivos.
Sistema LDL
Lenguaje Lgico 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 caracterIsticas positivas de un SGBDR. Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y adems permitiera la creacin de aplicaciones de propsito general. Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mercado. El sistema LDL ha intentado combinar la capacidad de expresin y deduccin de prolog con la funcionalidad y los recursos de un SGBD de propsito general. La desventaja principal que experimentaron los primero sistemas que acoplaron Prolog a un SGBDR es que Prolog es un lenguaje de navegacin en tanto que en los SGBDR el usuario formula una consulta correcta y deja al sistema la optimizacin de su ejecucin. Para lidiar con este inconveniente los diseadores de LDL optaron por convertir el Prolog a un lenguaje lgico declarativo de aplicacin general, produciendo un lenguaje que es diferente en sus constructores y estilo de programacin en los siguientes aspectos: Las reglas se compilan en LDL. Existe una nocin de esquema de la base de hechos en LDL en tiempo de compilacin. Esta base se actualiza libremente en tiempo de ejecucin. LDL no sigue la tcnica de resolucin y unificacin que se emplea en los sistemas Prolog basados en backwards-chaining. El modelo de ejecucin de LDL es ms simple, basado en la operacin de comparacin y el clculo del menor punto fijo. Estos operadores, a su vez, utilizan extensiones simples del algebra relacional.