Tópicos de bases de datos por Ma. De la Luz Mendoza Uribe Bases de datos distribuidas Son bases de datos que se encuentran integradas por distintos tipos de procesamiento: personales, de grupos de trabajo y organizacionales. Debido a este conjunto de características, las bases de datos distribuidas ofrecen flexibilidad en el acceso a la bases de datos y al procesamiento de la información, sin embargo, estas bases de datos todavía tienen errores que hay que perfeccionar. La idea de esta base de datos, es que los datos se transfieran a través de computadoras, servidores, redes, laptops, etcétera con la idea de comunicarse entre sí al momento de efectuar los procesos. Como menciona Kroenke (2003) Los objetivos de los sistemas de bases de datos distribuidas son hacer parecer que cada usuario es el único que tiene acceso a los datos de la organización y proporcionar la misma consistencia, exactitud y menor tiempo del que el usuario podría ocupar si no estuviera usando la base de datos distribuida, (p. 20). Bases de datos orientadas a objetos Las bases de datos orientadas a objetos fueron creadas con el propósito de almacenar datos complejos, además se les conoce por las siglas OODB, cabe mencionar que estos sistemas de bases de datos requieren también un sistema de administración de base de datos DBMS, sin embargo, cuando estos sistemas son para bases de datos orientadas a objetos se les conoce como OODBMS o SGBDOO, sistemas de administración de bases de datos o sistemas gestores de bases de datos. Cabe mencionar que al introducirse al tema de bases de datos orientadas a objetos (OODBMS), es requerido hablar sobre la programación orientada a objetos, conocida por sus siglas OOP y la cual se define a continuación como: 1
Una estructura de programación diferente a la tradicional, en la que se considera a los programas como conjuntos de estructuras de datos que tienen elementos de datos e instrucciones del programa (Kroenke, 2003, p. 556). Los sistemas de bases de datos que soportan sistemas de tipos orientados a objetos y permiten el acceso directo a los datos desde los lenguajes de programación orientados a objetos usando el sistema de tipos nativo del lenguaje (Silberschatz, Korth & Sudarshan, 2006, p. 301). Para concebir de mejor manera este concepto, es importante comparar la programación estructurada a la programación orientada a objetos al momento de desarrollar un programa, la cual se muestra en la tabla 1. Programación estructurada Programación orientada a objetos 1. Crear diagrama de flujo. 1. Identificar los objetos que se relacionan con el programa. 2. Desarrollar pseudocódigo 2. Diseñar los objetos como que muestre el orden o la elementos de datos y / o programas. forma lógica del programa 3. Pasar el pseudocódigo a algún lenguaje de programación. 3. Crear diagrama de flujo sobre la conducta de los objetos. 4. Crear pseudocódigo sobre la conducta de los objetos. Tabla 1. Programación estructurada vs. Programación orientada a objetos. Es relevante saber que dentro de la OOP, Kroenke (2003) define como un objeto a una estructura encapsulada que tiene atributos y métodos (p. 556), en donde una estructura encapsulada se refiere a que el objeto no interactúa ni es visible al exterior, si no dentro de sí mismo. Además, los atributos y métodos son las características que componen la interfaz (apariencia que se observa de forma externa de un objeto). Se debe considerar también que un objeto puede tener sus propios métodos, es decir, sus propias secuencias de instrucciones a ejecutar. 2
Asimismo hay que considerar que entre las característica más destacadas de la programación orientada a objetos, la Enciclopedia Práctica de la Pequeña y Mediana Empresa (2009) considera que son: Modularidad (párr. 21). Cada objeto es independiente y no afecta a todo el programa, excepto con los elementos que se relaciona. Herencia (párr. 22). Esta característica es de las más importantes ya que a partir de un objeto creado, este se puede copiar, quedando el objeto 2 con las características del documento original, además al objeto 2 se le pueden añadir nuevas funciones. Polimorfismo (párr. 23). Permite a una variedad de objetos aplicarles los mismos procedimientos, de esta manera el actualizar o modificar una aplicación es más sencillo. De esta manera es importante mencionar que una base de datos orientada a objetos es utilizada por los lenguajes de programación orientada a objetos, además de considerar que las bases de datos orientadas a objetos en lugar de almacenar la información por medio de registros, campos y tablas, la información se almacenan por medio de objetos que tienen un conjunto de instrucciones o de datos. Cabe mencionar que aunque las bases de datos orientadas a objetos en la actualidad no son muy utilizadas, se prevé que para un futuro serán de las más usadas debido a su capacidad de minimizar los tiempos de acceso, por su fácil uso y funcionamiento. Lenguajes de bases de datos orientadas a objetos Un lenguaje de consulta es prioritario para el funcionamiento de los OODBMS, ya que a través de ellos permite a los usuarios la recuperación de datos de los sistemas de base de datos. Las características con las que deben cumplir estos lenguajes se encuentran: Ser de alto nivel. Declarativos. Eficientes. Independientes de la aplicación. Entre los lenguajes de programación que se utilizan para las bases de datos orientadas a objetos se encuentran: Iris Orion GemStone O2 3
Aplicaciones Una de las características principales de las bases de datos orientadas a objetos, es que permiten el tratamiento de datos complejos. Ejemplo 1 En un sistema de nómina, los datos que se tienen son relativamente sencillos, se tiene la información del empleado, el puesto y nómina del empleado. Esta información se almacena en la base de datos de la siguiente manera: Datos_empleado Id_empleado Nombre Ap_paterno Ap_materno Dirección Datos_nomina Id_empleado Pago_dia Dias_trabajados Horas_extra Pago_final Tabla 2. Datos de un sistema de nómina. Este ejemplo, muestra de manera muy sencilla la forma en que se puede llevar una nómina en un modelo relacional. En cambio en un sistema de bases de datos orientados a objetos, los datos que permite trabajar son complejos. Ejemplos de la aplicación de estas base de datos son: Los sistemas de información geográfica. El diseño asistido por computadora. Cabe mencionar que un dato complejo se puede entender como un dato que tiene incluido otro subconjunto de datos. 4
Referencias Bertino, E. y Martino, L. (1995). Sistemas de bases de datos orientadas a objetos: conceptos y arquitecturas. [Versión en línea]. Recuperado el 13 de junio de 2011, de http://books.google.com.mx/books?id=- XohLQySVNMC&printsec=frontcover&dq=bases+de+datos+orientadas+a+objetos& hl=es&ei=rhv2tbpikjs0saoctvw5bw&sa=x&oi=book_result&ct=result&resnum=1 &ved=0cckq6aewaa#v=onepage&q&f=false Enciclopedia Práctica de la Pequeña y Mediana Empresa. (2009). El software. Recuperado el día 13 de junio de 2011, de la base de datos Océano Administración de la Biblioteca Digital de la UVEG. Kroenke, D. (2003). Procesamiento de Bases de Datos (8a. ed.). México: Pearson Educación. Recuperado el 08 de junio de 2010 de la base de datos de Bibliotechnia de la Biblioteca Digital de la UVEG. Silberschatz, A., Korth, H. y Sudarshan, S. (2006). Fundamentos de bases de datos (5a. ed.; F. Sáenz, A. García y J. Correas, Trads.). España: McGraw- Hill/Interamericana. 5