Tipos de datos complejos


Los sistemas de tipos complejos y la programación orientada a objetos permiten que los conceptos del modelo E-R, como la identidad de las entidades, los atributos multivalorados y la generalización y la especialización, se representen directamente sin que haga falta una compleja traducción al modelo relacional.
Existen los atributos que pueden ser conjuntos, estos permiten que los atributos multivalorados de los diagra­mas E-R se representen directamente.
Los conjuntos son ejemplares de los tipos colección. Otros ejemplares son los arrays y los multiconjuntos (es decir, colecciones sin orden donde un elemento puede aparecer varias veces).
Las siguientes definiciones de atributos ilustran la declaración de un array:
array-autores varchar(20) array [10]
array-autores es un array de hasta 10 nombres de autor. Se puede acceder a los elementos del array especificando el índice del array, por ejemplo, array-autores[1].

Existen aplicaciones de bases de datos que necesitan guardar atributos de una capacidad mayor a lo que normalmente se guarda, por ejemplo los archivos que vienen en un formato HD, y por ende se necesitan almacenar en un tipo especial de datos para objetos de un tamaño grande para datos de caracteres(clob), y binarios (blob). Cabe mencionar que “lob” es un acrónimo de Large Object.

Un claro ejemplo de este tipo de datos es el siguiente:

Critica-libro clob (10KB)
imagen blob (10MB)
película blob (2 GB)

Naturalmente lo que son los objetos grandes se utilizan comúnmente en aplicaciones externas, y lo que se hace es por medio de una aplicación conseguir un localizador de un objeto grande y lo usa para manipularlo desde el lenguaje anfitrión, y lo hace siguiendo esa metodología porque sería una mala idea extraerlos completamente en SQL.
También es mencionable el tipo estructurado que permite la representación directa de atributos compuestos de los diagramas E-R. Este tipo puede tener métodos definidos sobre sí mismo. Se deben definir funciones constructoras para crear valores de dicho tipo. Hay muchos lenguajes que utilizan una función con el mismo nombre que un tipo estructurado como función constructora, por ejemplo el SQL.


Referencias

Silberschatz, A. (2002). Fundamentos de Bases de Datos. Madrid: McGrauHill, Pag (212-214)

No hay comentarios.:

Publicar un comentario