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 diagramas 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