# data[].attributes.headline
¿Qué son las transacciones serializables?

# data[].attributes.subject
¿Qué son las transacciones serializables?

# data[].attributes.body
Cuando dos o más transacciones se procesan al mismo tiempo, los resultados en la base de datos deben ser lógicamente consistentes con los resultados de las transacciones que hayan sido procesadas de manera serial arbitraria.

A un esquema para el procesamiento concurrente de transacciones se le llama serializable.

La seriabilidad se puede alcanzar por diferentes medios.

Desventajas: Una manera es procesar la transacción usando un lock de dos fases. Con esta estrategia, a las transacciones se les permite tener locks cuando sea necesario, pero una vez que se libera el primer lock , no se puede obtener otro.

Ventajas: Las transacciones tiene una fase de crecimiento, en la que los locks se pueden obtener, y una fase de liberación en la que se liberan los locks.

Ejemplo: Un caso especial de lock de dos fases se usa en varios productos de DBMS. Con éste, los locks se obtienen durante la transacción, pero no se libera ninguno hasta que se emite la instrucción COMMIT o ROLLBACK. Esta estrategia es más restrictiva que los requerimientos del lock de dos fases, pero es más fácil de implementar.

# data[].attributes.headline
¿Qué es una base de datos mediante objetos?

# data[].attributes.subject
¿Qué es una base de datos mediante objetos?

# data[].attributes.body
Como su propio nombre indica, las bases de datos orientadas a objetos (BDOO) son bases de datos constituidas por objetos de distintos tipos, sobre los que se definen una serie de operaciones para su interacción, que a su vez se integran con las operaciones de un lenguaje de programación orientado a objetos (POO).

Las BDOO están diseñadas para trabajar con lenguajes orientados a objetos, pero también manejan información binaria y trabajan con datos complejos de manera rápida y segura.

# data[].attributes.headline
Describe las ventajas y desventajas de los Sistemas de gestión de datos (SGBDOO)

# data[].attributes.subject
Describe las ventajas y desventajas de los Sistemas de gestión de datos (SGBDOO)

# data[].attributes.body
Ventajas:

Mayor capacidad de modelado.

El modelado de datos orientado a objetos permite modelar el ‘mundo real’ de una manera mucho más fiel. Esto se debe a:
a) o un objeto permite encapsular tanto un estado como un comportamiento,
b) o un objeto puede almacenar todas las relaciones que tenga con otros objetos;
c) o los objetos pueden agruparse para formar objetos complejos (herencia).

Ampliabilidad.

Esto se debe a:

a) o Se pueden construir nuevos tipos de datos a partir de los ya existentes.
b) o Agrupación de propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia.
c) o Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo.

Lenguaje de consulta más expresivo.

El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo. El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc.

Adecuación a las aplicaciones avanzadas de base de datos.

Hay muchas áreas en las que los SGBD tradicionales no han tenido excesivo éxito como el CAD, CASE, OIS, sistemas multimedia, etc. en los que las capacidades de modelado de los SGBDOO han hecho que esos sistemas sí resulten efectivos para este tipo de aplicaciones.

Mayores prestaciones.

Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD relacionales. Aunque hay autores que han argumentado que los bancos de prueba usados están dirigidos a aplicaciones de ingeniería donde los SGBDOO son más adecuados. También está demostrado que los SGBDR tienen un rendimiento mejor que los SGBDOO en las aplicaciones tradicionales de bases de datos como el procesamiento de transacciones en línea (OLTP).

Desventajas:

Carencia de un modelo de datos universal.

No hay ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría de los modelos carecen una base teórica.

Carencia de experiencia.

Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales.

Carencia de estándares.

Existe una carencia de estándares general para los SGBDOO.

Competencia.

Con respecto a los SGBDR y los SGBDOR. Estos productos tienen una experiencia de uso considerable. SQL es un estándar aprobado y ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales.

La optimización de consultas compromete la encapsulación.

La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación.

El modelo de objetos aún no tiene una teoría matemática coherente que le sirva de base.

# data[].attributes.headline
¿Cuáles son las características de una base de datos mediante objetos?

# data[].attributes.subject
¿Cuáles son las características de una base de datos mediante objetos?

# data[].attributes.body
Como modelo propio de los modelos informáticos orientados a objetos, las BDOO son una base de datos inteligentes, diseñadas para almacenar objetos complejos, que incorpora todos los conceptos claves del paradigma de objetos. En ellas podemos observar las siguientes características principales:

Mandatorias: Son requisitos esenciales, características que el sistema necesariamente debe tener. Entre otros, el sistema debe soportar objetos complejos, identidad de objetos (los objetos deben tener un identificador al margen de los valores de sus atributos), encapsulación (los datos e implementación de los métodos, ocultos en los objetos), y su esquema contiente un conjunto de tipos o clases, además de la concurrencia, la recuperación, la completación computacional, persistencia y manejador de almacentamiento secundario, facilidad de Query o, por ejemplo, la extensibilidad.

Opcional: Pueden añadirse opcionalmente para mejorar el sistema, como la herencia múltiple, diseño de transacciones y versiones, el chequeo de tipos e inferencia de la distribución.

Abiertas: Son los puntos donde existen distintas opciones, como el paradigma de la programación, la representación del sistema y su uniformidad.

# data[].attributes.headline
Ejemplos de WebApps que están desarrolladas en sistemas orientados a objetos.

# data[].attributes.subject
Ejemplos de WebApps que están desarrolladas en sistemas orientados a objetos.

# data[].attributes.body
Hoy en día todas las aplicaciones para sistemas Android están desarrolladas en lenguajes de programación orientados a objetos.

Entre las más destacadas tenemos:

Amazon

WhatsApp

Google Maps

# data[].attributes.headline
¿Cuáles son los conceptos principales de la orientación a objetos?

# data[].attributes.subject
¿Cuáles son los conceptos principales de la orientación a objetos?

# data[].attributes.body
La programación orientada a objetos es una forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:

Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Herencia: (por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables publicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.

Objeto: Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.

Método: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.

Atributos: características que tiene la clase.

Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Estado interno: es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto: atributos, identidad, relaciones y métodos.

Identificación de un objeto: un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.