Está en la página 1de 17

TECNOLÓGICO NACIONAL DE MÉXICO

CAMPUS CHINÁ

SISTEMAS DE BASES DE
DATOS ORIENTADAS A
OBJETOS
INVESTIGACIÓN

UNIDAD 2

DOCENTE:
LEMUS QUEN SILVIA

ALUMNA:
TUN CHE DIANA

ING. INFORMÁTICA – 7MO SEMESTRE

INTRODUCCIÓN
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

A medida que ha ido aumentando el uso de la tecnología web, muchas organizaciones se


muestran más interesadas en el concepto de base de datos orientada a objetos, dado que es
útil para mostrar los datos complejos de estas tecnologías. En este documento encontraremos
los elementos y características que conlleva realizar una base de datos orientada a objetos y
los tipos de base de datos que existen en esa rama. Sin embargo, considero que el trabajar o
realizar una base de datos debe de estar enfocado en la satisfacción de los requerimientos que
se vallan presentando a medida que la tecnología va evolucionando.

El termino orientación a objetos a echo una gran presencia en los activos del área de
informática y los que están mas adentrados en las bases de datos ya que estos se podrían decir
que presentan el mundo real y nos ayudan a resolver problemas ya se virtual o tangible.

1
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
Índice

Contenido
INTRODUCCIÓN...........................................................................................................................1
ÍNDICE.....................................................................................................................................2
SISTEMAS DE BASES DE DATOS ORIENTADAS A OBJETOS........................................................3
EL MODELO DE DATOS ORIENTADO A OBJETOS......................................................................3
CARACTERÍSTICAS DE LOS SISTEMAS DE BASES DE DATOS ORIENTADAS A OBJETOS...............4
TIPOS DE SISTEMAS DE BASES DE DATOS ORIENTADAS A OBJETOS.........................................5
PRODUCTOS SISTEMA DE GESTIÓN DE BASE DE DATOS...........................................................7
ESTÁNDAR ODMG4.................................................................................................................8
ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO EN BDOO...............................................10
PERSISTENCIA, CONCURRENCIA Y RECUPERACIÓN EN BDOO................................................12
CONCLUSIÓN.........................................................................................................................14
BIBLIOGRAFÍA........................................................................................................................15

2
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
SISTEMAS DE BASES DE DATOS ORIENTADAS A
OBJETOS

Una base de datos orientada a objetos es aquella que implementa dentro de un sistema de
información la representación de datos en forma de objetos. Esto mediante la aplicación de
programación orientada de objetos. Estas bases de datos se diferencias de las bases de datos
relacionales clásicas, debido a que no responden a un sistema de tablas para registrar su
información.

Las bases de datos orientadas a objetos cuentan con una alta reputación en el sector
tecnológico. Su nacimiento responde a atender necesidades complejas. Este enfoque ofrece la
flexibilidad necesaria para trabajar sin limitaciones establecidas por el tipo de datos y ofrece
muchas ventajas en comparación a los modelos tradicionales.

EL MODELO DE DATOS ORIENTADO A OBJETOS.

El modelo de datos orientado a objetos es una extensión del paradigma de programación


orientado a objetos.

Los objetos entidad que se utilizan en los programas orientados a objetos son análogos a las
entidades que se utilizan en las bases de datos orientadas a objetos puros, pero con una gran
diferencia: los objetos del programa desaparecen cuando el programa termina su ejecución,
mientras que los objetos de la base de datos permanecen. A esto se le denomina persistencia.

El modelo orientado a objetos permite los atributos multivaluados, agregaciones a las que se
denomina conjuntos (sets) o bolsas (bags). Para crear una relación de uno a muchos, se define
un atributo en la parte del uno que sera de la clase del objeto con el que se relaciona. Este
atributo contendrá el identificador de objeto del padre. La clase del objeto padre contendrá un
atributo que almacenar a un conjunto de valores: los identificadores de los objetos hijo con los
que se relaciona. Cuando el SGBD ve que un atributo tiene como tipo de datos una clase, ya
sabe que el atributo contendrá un identificador de objeto.

Es una extensión del paradigma de programación orientado a objetos. Los objetos entidad que
se utilizan en los programas orientados a objetos son análogos a las entidades que se utilizan
en las BDOO puras. El modelo orientado a objetos permite los atributos multivaluados,
agregaciones a las que se denomina conjuntos (sets) o bolsas (bags).

Las relaciones de muchos a muchos se pueden representar directamente en las bases de datos
orientadas a objetos, sin necesidad de crear entidades intermedias. Para que las relaciones
funcionen en una BDOO pura, los identificadores de los objetos deben corresponderse en
ambos extremos de la relación. Este tipo de integridad de relaciones, que es de algún modo
análogo a la integridad referencial en las bases de datos relacionales, se gestiona especificando
relaciones inversas.

3
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

CARACTERÍSTICAS DE LOS SISTEMAS DE BASES DE


DATOS ORIENTADAS A OBJETOS

1) Debe soportar objetos complejos. Debe ser posible construir objetos complejos
aplicando
2) constructores a objetos básicos.
3) Identidad del objeto. Todos los objetos deben tener un identificador, el cual es
independiente de los valores de sus atributos.
4) Encapsulamiento. Los programadores solo tienen acceso a la interfaz de los métodos, y
los datos e implementación de estos métodos están en los objetos.
5) Tipos o clases. El esquema de una base orientada a objetos contiene un conjunto de
clases o tipos.
6) Tipos o clases deben ser capaces de heredar de sus súper-tipos o superclases los
atributos y los métodos.
7) La sobrecarga debe ser soportada, los métodos deben poder aplicarse a diferentes
tipos.
8) El DML debe ser completo. El DML en los sistemas gestores de bases de datos
orientados a objetos debe ser un lenguaje de programación de propósito general.
9) El conjunto de tipos de datos debe ser extensible. No habrá distinción entre los tipos
definidos por el usuario y los tipos definidos por el sistema,
10) Persistencia de datos. Los datos deben mantenerse después de que la aplicación que
los creó haya finalizado, el usuario no tiene que hacer copia explícitamente.
11) El SGBD debe ser capaz de manejar bases de datos grandes.
12) El SGDB debe soportar la concurrencia. Debe disponer del mecanismo para el control
de la concurrencia.
13) Recuperación. El sistema gestor debe de proveer mecanismos de recuperación de la
información en caso de fallo de sistema.
14) El SGDB debe proveer de manera fácil de hacer consultas.

características principales:

 Mandatarias: 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 contiene un conjunto de tipos o clases, además de la
concurrencia, la recuperación, la competición computacional, persistencia y
manejador de almacenamiento 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.

4
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

Además de diseñarse para trabajar con lenguajes de programación orientado a objetos, las
bases de datos orientadas a objetos incluyen los conceptos clave del modelo de objetos, como
son las siguientes propiedades:

 Encapsulación: Oculta información al resto de objetos para impedir conflictos o un


acceso incorrecto.
 Herencia: Jerarquía de clases a partir de la que los objetos heredan comportamientos.
 Polimorfismo: Propiedad de una operación que permite aplicarse a objetos de distinta
tipología.

TIPOS DE SISTEMAS DE BASES DE DATOS ORIENTADAS


A OBJETOS

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté
manejando, la utilidad de las mismas o las necesidades que satisfagan.

SGBD de red

LAS BASES DE DATOS EN RED O CODASYL (nombre de la agrupación que presentó las normas
para su desarrollo): Es una extensión de la base de datos jerárquica, en que un hijo puede
tener varios padres, denominándose estos propietarios y aquellos miembros. Los registros en
la base de datos se organizan como colecciones de grafos dirigidos.

Los SGBD relacionales se basan en el modelo de datos de red. Los datos en el modelo de red se
representan mediante colecciones de registros y las relaciones entre los datos se representan
mediante enlaces, que se pueden ver como punteros. Los registros en la base de datos se
organizan como colecciones de grafos dirigidos. En la figura se presenta un ejemplo de base de
datos en red.

Base de datos relacionales

5
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
Modelo relacional: modelo de organización y gestión de bases de datos consistente en el
almacenamiento de datos en tablas compuestas por filas, o tuplas, y columnas o campos. Se
distingue de otros modelos, como el jerárquico, por ser más comprensible para el usuario
inexperto, y por basarse en la lógica de predicados para establecer relaciones entre distintos

datos. Surge como solución a la creciente variedad de los datos que integran las data
warehouses y podemos resumir el concepto como una colección de tablas (relaciones).

SGBD jerárquicos

Es un tipo de sistema de gestión de base de datos, almacena información en una estructura


jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol visto al
revés), en donde un nodo padre de información puede tener varios nodos hijos y así
sucesivamente.

Los datos se almacenan en la forma de registro, el equivalente a las tuplas del modelo
relacional. Cada registro consta de un conjunto de campos, el equivalente a los tributos del
modelo relacional. Un conjunto de registro con los mismos campos se denomina fichero, el
equivalente a las relaciones del modelo relacional.

Base de datos orientada a objetos

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

6
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
operaciones para su interactuación, que a su vez se integran con las operaciones de un
lenguaje de programación orientado a objetos (POO)

Sus componentes son objetos, puesto que en ellas se almacenan los datos como objetos y no
como datos, tal y como hace una base de datos relacional, cuya representación son las tablas.
De hecho, 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.

Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos (BDOO)
son las siguientes:

· Identidad de objetos

· Constructores de tipos

· Encapsulamiento

· Compatibilidad con los lenguajes de programación

· Jerarquías de tipos y herencia

· Manejo de objetos complejos

· Polimorfismo y sobrecarga de operadores y Creación de versiones.

Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos
importantes del paradigma de objetos:

 Encapsulación: Propiedad que permite ocultar la información al resto de los objetos,


impidiendo así accesos incorrectos o conflictos.
 Herencia: Propiedad a través de la cual los objetos heredan comportamiento dentro
de una jerarquía de clases.
 Polimorfismo: Propiedad de una operación mediante la cual puede ser aplicada a
distintos tipos de objetos.

7
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

PRODUCTOS SISTEMA DE GESTIÓN DE BASE DE


DATOS
SGBD libres

 MySQL Licencia Dual, depende el uso (no se sabe hasta cuando, ya que la compro
Oracle). Sin embargo, existen 2 versiones: una gratuita que sería equivalente a la
edicion “express” SQL server de Windows y otra más completa de pago, ese pago se
haría en la licencia de ella ya que permitiría usarse en otras distribuciones sin usar la
licencia GNU.
 PostgreSQL (http://www.postgresql.org Postgresql) Licencia

 BSDFirebird basada en la versión 6 de InterBase, Initial Developer’s PUBLIC LICENSE


Version 1.0.
 SQLite Licencia Dominio PúblicoDB2 Express-C pagian
 Apache Derby

SGBD no libres

o Advantage Database
o dBase
o FileMaker
o Fox Pro
o IBM DB2 Universal Database (DB2 UDB)
o IBM Informix
o Interbase de CodeGear, filial de Borland
o MAGIC
o Microsoft Access
o Microsoft SQL Server
o NexusDB
o Open Access
o Oracle
o Paradox
o PervasiveSQL
o Progress (DBMS)
o Sybase ASE
o Sybase ASA
o Sybase IQ
o WindowBase
o IBM IMS Base de Datos Jerárquica
o CA-IDMS

SGBD no libres y gratuitos

 Microsoft SQL Server Compact Edition Basica

8
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
 Sybase ASE Express Edition para Linux (edición gratuita para Linux)
 Oracle Express Edition 10

ESTÁNDAR ODMG4

Con el objetivo de definir estándares para los OODBMS se formó el grupo ODMG, compuesto
por varios representantes de la industria de bases de datos. Este grupo propuso un modelo
estándar para la semántica de los objetos de una base de datos.

ODMG es el acrónimo de Object Data Management Group. Se usa tanto para definir el grupo
de personas y empresas encargadas de desarrollar el modelo de objetos para persistencia, así
como para la definición de dicho estándar.

Este modelo especifica los elementos que se definirán, y en qué manera se hará, para la
consecución de persistencia en las bases de datos orientadas a objetos que soporten el
estándar.

Consta de un lenguaje de definición de objetos, ODL, que especifica los elementos de este
modelo. El estándar ODMG se basa en los actuales OMG, SQL-92, INCITS (antes ANSI) del
lenguaje de programación, y la especificación de Java de JavaSoft para definir un marco para la
portabilidad de aplicaciones entre los productos compatibles con el almacenamiento de datos.
Componentes funcionales de la norma incluye un modelo de objetos, un lenguaje de definición
de objetos, un lenguaje de objetos de consulta y enlaces de lenguaje de Java, C++ y Smalltalk.

Modelo de objetos:

El modelo ODMG permite que tanto los diseños como las implementaciones, sean portables
para aquellos sistemas que lo soportan.

 Lenguaje de definición de objetos (ODL).


 Lenguaje de consulta de objetos (OQL).
 Conexión con los lenguajes C++, Smalltalk y Java.

IDENTIDAD Y ESTRUCTURA DE OBJETOS.

La identidad es la propiedad que permite diferenciar a un objeto y distinguirse de otros, la


identidad de todos los objetos sirve para comparar si dos objetos son iguales o no. No es raro
encontrar que en muchos lenguajes de programación la identidad de un objeto esté
determinada por la dirección de memoria de la computadora en la que se encuentra el objeto,
pero este comportamiento puede ser variado redefiniendo la identidad del objeto a otra
propiedad. se presentan unos ejemplos de identidad:

 Valor: Se utiliza un valor de datos como identidad.


 Nombre: Se utiliza como identidad un nombre proporcionado por el usuario,
identificándolo de manera univoca, independientemente de su contenido.

9
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
 Incorporada: Se incluye el concepto de identidad en el modelo de datos o en el
lenguaje de programación y no hace falta que el usuario proporcione ningún
identificador.

Es importante mencionar que los identificadores son únicos; es decir, que cada objeto tiene un
solo identificador y no hay dos objetos que tenga el mismo identificador.

Con respecto a la Estructura, el paradigma orientado a objetos está basado en el


encapsulamiento de los datos y el código relacionados con cada objeto. Por lo tanto, la interfaz
entre cada objeto y el resto del sistema se define mediante un conjunto de mensajes
permitidos. En general, cada objeto se asocia con:

 Un conjunto de variables que contienen los datos del objeto; las variables
corresponder a los atributos del modelo E-R.
 Un conjunto de mensajes a los que responde; cada mensaje puede no tener un único
parámetro, si no varios.
 Un conjunto de métodos cada uno de los cuales es el código de implementa un
mensaje, este método devuelve un valor como respuesta al mensaje.

Un ejemplo de esta estructura es el siguiente:

 Una variable dirección


 Un mensaje obtener-dirección cuya respuesta sea la dirección
 Un mensaje establecer-dirección, que necesita un parámetro nueva-dirección, para
actualizar la dirección.

ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO


EN BDOO.

 ENCAPSULAMIENTO

El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es,


las variables y métodos. Es tener todo esto es una sola entidad. En los lenguajes estructurados
esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el
ocultamiento.

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que


tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento, pero no
los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la
Clase pero no será necesario saber cómo lo hace.

 HERENCIA

10
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una
subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables)
de su superclase.

Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos
una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la
clase texto, son automáticamente heredados por la subclase párrafo.

La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos


basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su
funcionalidad. La clase de la que se hereda se suele denominar clase base, clase padre,
superclase, clase ancestro (el vocabulario que se utiliza suele depender en gran medida del
lenguaje de programación).

En los lenguajes que cuentan con un sistema de tipos fuerte y estrictamente restrictivo con el
tipo de datos de las variables, la herencia suele ser un requisito fundamental para poder
emplear el Polimorfismo, al igual que un mecanismo que permita decidir en tiempo de
ejecución qué método debe invocarse en respuesta a la recepción de un mensaje, conocido
como enlace tardío (late binding) o enlace dinámico (dynamic binding).

 POLIMORFISMO

se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a


objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de
manera polimórfica es saber responder al mensaje que se les envía.

La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más
allá de las obvias diferencias sintácticas.

En lenguajes basados en clases y con un sistema de tipos de datos fuerte (independientemente


de si la verificación se realiza en tiempo de compilación o de ejecución), es posible que el único

11
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ
modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es
decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos
necesaria para que sea posible utilizar una misma variable de referencia (que podrá apuntar a
objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de
mensajes) al grupo de objetos que se tratan de manera polimórfica.

PERSISTENCIA, CONCURRENCIA Y RECUPERACIÓN


EN BDOO

PERSISTENCIA

Esta se refiere a la capacidad de manipular directamente los datos almacenados en una base
de datos usando un lenguaje de programación orientado a objetos. Esto contrasta con una
base de datos utilizada por SQL o una interfaz utilizada por ODBC o JDBC. Utilizando un objeto
de base de datos significa que se puede tener un mayor rendimiento y se aminora la escritura
de código. Con la persistencia la manipulación de objetos se realiza directamente por el
lenguaje de programación de la misma manera que en la memoria, sin persistencia de objetos.
Esto sé logra mediante el uso inteligente de almacenamiento en caché.

12
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

CONCURRENCIA

Los SMBDOO deben poder ser accesibles por múltiples usuarios. Cuando una aplicación está
asesando a una sección de la base de datos, otras aplicaciones deben poder acceder a otras
secciones de la base de datos. La concurrencia permite a los usuarios cooperar y colaborar en
una aplicación. Los mecanismos de control de concurrencia son necesarios para reforzar las
propiedades de las transacciones (ACID). Los modos básicos de control de concurrencia son:

 Modo Pesimista Modo optimista Modo mixto Modo semi optimista. El modo pesimista
obliga a una transacción a esperar a que se resuelva el conflicto que pueda o ponga en
riesgo la concurrencia para dejarle continuar cuando el conflicto haya sido resuelto.
 El modo optimista deje correr la transacción como si no ocurriera ningún conflicto y
resuelve este al final del commit, generalmente se emplea usando estampas de tiempo
y copias de los elementos de la transacción. El modo mixto combina diferentes
controles de concurrencia a diferentes objetos y tipos de datas en una misma
transacción. El modo semi optimista es una variante del modo mixto que no detiene a
la transacción hasta que esta termina. Los principales mecanismos de control de
concurrencia son tres: Candados que prohíben accesos que puedan provocar conflictos
de acceso Estampas de tiempo.
 estas permiten impedir violaciones a los datos. Guardar múltiples versiones de
los objetos de datos.

13
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

RECUPERACIÓN

Con recuperación nos referimos al proceso de aplicación de consistencia después de que una
transacción a abortado como resultado de fallas de hardware o problemas de comunicación.
Las fallas del sistema, tanto de hardware como de software no deben repercutir en estados de
inconsistencia de la base datos. La recuperación es la técnica que asegura que eso no ocurra.
La recuperación puede ser total o parcial dependiendo de las circunstancias, de la
recuperabilidad.

14
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

CONCLUSIÓN

Cada uno de los temas vistos nos ilustran de como es la estructura características y tipos de
base de datos orientada a objetos cada tipo de base de datos orientada a objetos (BDOO) tiene
su propósito en cada problema, considerando que cada tipo de la misma puede ser
implementada dependiendo del requisito que se presente.

Dominando los SISTEMAS DE GESTION DE BASE DE DATOS con sus componentes y


características se puede ser capaz de definir el propósito de los tipos de BDOO, dominando el
lenguaje de consulta orientada a objetos y los mecanismos de seguridad basados en la noción
del objetivo.

En resumen, un sistema de gestión de base de datos orientada a objetos manejada


correctamente puede ser persistente logrando un almacenamiento con valores de atributos de
un objeto.

15
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS CHINÁ

BIBLIOGRAFÍA

gregorio MISS. (11/06/2018). Bases de datos NoSQL | Bases de datos orientadas a objetos.
10/10/20, de GRAPH EVERYWHERE Sitio web: https://www.grapheverywhere.com/bases-de-
datos-orientadas-objetos/

Marqués, M. (2002). Tema 2. Bases de datos orientadas a objetos. 10/10/20, de


http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf

UNAM . (2017). Modelo Orientado a Objetos. 10/10/2020, de UNIDAD DE APOYO PARA EL


APRENDIZAJE (UNAM) Sitio web:
https://programas.cuaed.unam.mx/repositorio/moodle/pluginfile.php/782/mod_resource/co
ntent/8/contenido/index.html

KYOCERA. (2020). Conceptos sobre base de datos orientada a objetos. 10/10/2020, de


KYOCERA Document Solutions España S.A. Sitio web:
https://www.kyoceradocumentsolutions.es/es/smarter-workspaces/business-
challenges/paperless/conceptos-sobre-base-de-datos-orientada-a-objetos.html#:~:text=Una
%20base%20de%20datos%20orientada%20a%20objetos%20es%20un%20sistema,en
%20programaci%C3%B3n%20orientada%20a%20objetos.&text=Est%C3%A1n%20totalmente
%20escritas%20en%20lenguaje,como%20Smalltalk%2C%20Java%20o%20C.

16

También podría gustarte