lunes, 12 de marzo de 2012

BDOR - Monomáquina

    Aunque BDOR se trata de una aplicación java tiene cierta filosofía detrás que la hace un tanto especial. Esta aplicación puede ser útil sin esas ideas pero será la unión de ambas, ideas y aplicación, lo que podría permitir crear algo diferente.

En pocas palabras
    El fin último de BDOR es ser una herramienta para modelar el conocimiento humano así como el lenguaje natural. Por otro lado está Inteligencia Natural que son unas reglas que, sobre el conocimiento almacenado con BDOR, permiten crear programas que aprendan y se comporten tal y como lo hacen los humanos o cualquier otro animal. Inteligencia Natural no es tratado en este documento.

Qué es BDOR
    Es una herramienta para trabajar con objetos java y poder almacenarlos de forma trasparente en una base de datos sin que importe cómo se guardan. Se usa una base de datos como se podría haber usado un conjunto de ficheros. Lo que persigue es facilitar el manejo de estructuras complejas pues se considera que usar SQL es como programar en ensamblador: es eficiente para crear programas rápidos pero es ineficaz para crear programas altamente complejos.

Qué no es BDOR
    No es una base de datos orientada a objetos como lo que se puede leer por internet. El nombre nace tal vez de un error o de un acierto, cómo se quiera ver: es la manera en la que pienso deberían funcionar las bases de datos orientada a objetos.
    No es una herramienta de mapeo objeto-relacional. Esas herramientas buscan facilitar el trabajo con el lenguaje SQL y suelen poder crear las clases java dada una base de datos así como crear las tablas cuando se aporta un conjunto de clases java; es decir, manejan las dos direcciones. Esta aplicación sólo maneja una dirección, la de crear las tablas cuando ya existen los objetos y sin que el usuario tenga que saber nada de cómo son esas tablas.

Ejemplo 1: Uso correcto de objetos y relaciones
    Al crear la clase habitación lo normal es que construyamos una colección para los objetos que en ella hay, como una cama o una mesa. Pero la clase habitación sólo debería estar formada con lo que la define como habitación que son las paredes, el suelo, el techo, las ventanas y poco más. Se creará la relación 'Estar' para conectar la habitación con la cama.

Ejemplo 2: Modelando el lenguaje y el conocimiento humano
    Tenemos objetos simples como el radio de una bicicleta. Tenemos objetos complejos como una bicicleta que está compuesta por radios que forman parte de la rueda que a su vez forma parte de la bicicleta. Además se tiene un árbol, un perro y un hueso. Un nivel más por encima están las relaciones que permiten conectar objetos: La bicicleta está a 10 metros del árbol, El perro come un hueso, etc.
    Frases tal y como las que se acaban de poner como ejemplo estarán almacenadas así directamente pues los objetos representan a los sustantivos y las relaciones a verbos y preposiciones. 


Existe una documentación que explica cómo está hecha así como un tutorial que muestra su funcionamiento. Pero esta documentación y código está obsoleto. Las actualizaciones se irán añadiendo en la zona de 'Simulacion'. Se deja porque tiene la parte de tutoriales y puede resultar más didáctico.

Documentación
Código java

Los video-tutoriales en youtube:
Video 01 - Visión General
Video 02 - Entorno de Pruebas
Video 03 - Objeto Sencillo
Video 04 - Objeto con Agregado
Video 05 - Relaciones
Video 06 - Objeto con Agregados Relaciones
Video 07 - Eliminar Objetos, Relaciones y Conexiones
Video 08 - Relacion Estar
Video 09 - Objeto con numero de Agregados variables
Video 10 - Busquedas
Video 11 - Modificar Atributos y Agregados
Video 12 - Modificar Estructura
Video 13 - Trabajo Futuro
Video 14 - Modificar Estructura PK
Video 15 - Diferencias: Comparando objetos
Video 16 - Número variable de agregados en una relación
Video 17 - Conexiones simples
Video 18 - AuxSlam
Video 19 - AuxSlamPatron 

No hay comentarios:

Publicar un comentario