Sei sulla pagina 1di 3

4.1.3. ESTRUCTURAS DE DATOS Libro Presman 13.4.

7 Pag 228
1) Almacenamiento y recuperación de datos

Modelado de datos, estructuras de datos, bases de datos y almacén de datos


Los objetos de datos definidos durante el análisis de requisitos del software son modelados utilizando diagramas de
entidad-relación y el diccionario de datos capítulo 12). La actividad de diseño de datos traduce esos elementos del
modelo de requisitos en estructuras datos a nivel de los componentes del software y, cuando es necesario, a arquitectura
de base de datos a nivel de aplicación.
Durante muchos años, la arquitectura de datos estuvo limitada, generalmente, a las estructuras de datos a nivel del
programa y a las bases de datos a nivel de aplicación. Pero hoy, las empresas grandes y pequeñas están inundadas de
datos. No es inusual, incluso para una mediana empresa, tener docenas de bases de datos sirviendo diferentes
aplicaciones de cientos de gigabytes de datos. El desafío de las empresas ha sido extraer información útil de su entorno
de datos, particularmente cuando la información deseada está funcionalmente interrelacionada (por ejemplo,
información que sólo puede obtenerse si los datos de marketing específicos se cruzan con los datos de la ingeniería del
producto).
Para resolver este desafío, la comunidad de empresas de TI ha desarrollado las técnicas de minería de datos, también
llamadas descubrimiento de conocimiento en bases de datos (DCBC),que navegan a través de las bases de datos en
un intento por extraer el nivel de información de negocio apropiado. Sin embargo, la existencia de múltiples bases de
datos, sus diferentes estructuras, el grado de detalle contenido en las bases de datos, y muchos otros factores hacen
difícil la minería de datos dentro de un entorno con bases de datos existentes. Una solución alternativa, llamada
almacén de datos, añade una capa adicional a la arquitectura de datos.
Un almacén de datos es un entorno de datos separado, que no está directamente integrado con las aplicaciones del día
a día, pero que abarca todos los datos utilizados por una empresa [MAT96]. En cierto sentido, un almacén de datos es
una gran base de datos independiente, que contiene algunos, pero no todos los datos almacenados en las bases de
datos que sirven al conjunto de aplicaciones requeridas en un negocio. Sin embargo, hay muchas características
diferenciales entre un almacén de datos y una base de datos típica:
Orientación por materia. Un almacén de datos está organizado por las materias importantes del negocio, más que
por los procesos o funciones del negocio. Esto nos lleva a una exclusión de datos que podrían ser necesarios para una
función particular del negocio, pero que generalmente no son necesarios para la minería de datos.
Integración. Sin tener en cuenta la fuente de datos, da consistencia nombrar convenciones, unidades y medidas,
estructuras de codificación y atributos físicos incluso cuando la inconsistencia existe a través de las diferentes
bases de datos orientadas a aplicaciones. Restricciones de tiempo. Para un entorno de aplicación orientado a
transacción, los datos son precisos en el momento del acceso y por un periodo de tiempo relativamente pequeño
(normalmente de 60 a 90 días) antes del acceso. Sin embargo, en un almacén de datos, se accede a los datos en un
momento específico del tiempo (por ejemplo, los clientes con los que se ha contactado el mismo día que el nuevo
producto ha sido anunciado en la prensa comercial). El horizonte típico de tiempo de un almacén de datos es de 5 a
10años.
No volatilidad. A diferencia de las típicas bases de datos de aplicaciones de negocios que atraviesan una continua
corriente de cambios (insertar, borrar, actualizar), en el almacén de datos los datos se cargan, pero después de la primera
transferencia, los datos no cambian.
2) Tipos de estructuras de datos
En programación, una estructura de datos es una forma particular de organizar datos en una computadora para que
pueda ser utilizado de manera eficiente.
Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y
algunos son altamente especializados para tareas específicas.
Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera eficiente
para usos tales como grandes bases de datos y servicios de indización de Internet. Por lo general, las
estructuras de datos eficientes son clave para diseñar algoritmos eficientes. Algunos métodos
formales de diseño y lenguajes de programación destacan las estructuras de datos, en lugar de los
algoritmos, como el factor clave de organización en el diseño de software.
Existen numerosos tipos de estructuras de datos, generalmente construidas sobre otras más simples:
• Un vector es una serie de elementos en un orden específico, por lo general todos del mismo
tipo (si bien los elementos pueden ser de casi cualquier tipo). Se accede a los elementos
utilizando un entero como índice para especificar el elemento que se requiere. Las
implementaciones típicas asignan palabras de memoria contiguas a los elementos de los
arreglos (aunque no siempre es el caso). Los arreglos pueden cambiar de tamaño o tener una
longitud fija.
• Un vector asociativo (también llamado diccionario o mapa ) es una variante más flexible
que una matriz, en la que se puede añadir y eliminar libremente pares nombre-valor. Una
tabla de hash es una implementación usual de un arreglo asociativo.
• Un registro (también llamado tupla o estructura) es una estructura de datos agregados. Un
registro es un valor que contiene otros valores, típicamente en un número fijo y la secuencia
y por lo general un índice por nombres. Los elementos de los registros generalmente son
llamados campos.
• Una unión es una estructura de datos que especifica cuál de una serie de tipos de datos
permitidos podrá ser almacenada en sus instancias, por ejemplo flotante o entero largo. En
contraste con un registro, que se podría definir para contener un flotante y un entero largo,
en una unión, sólo hay un valor a la vez. Se asigna suficiente espacio para contener el tipo de
datos de cualquiera de los miembros.
• Un tipo variante (también llamado registro variante o unión discriminada) contiene un
campo adicional que indica su tipo actual.
• Un conjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin
orden particular y sin valores duplicados.
• Un Multiconjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin
orden particular. A diferencia de los conjuntos, los multicunjuntos admiten repeticiones.
• Un grafo es una estructura de datos conectada compuesta por nodos. Cada nodo contiene un
valor y una o más referencias a otros nodos. Los grafos pueden utilizarse para representar
redes, dado que los nodos pueden referenciarse entre ellos. Las conexiones entre nodos
pueden tener dirección, es decir un nodo de partida y uno de llegada.
• Un árbol es un caso particular de grafo dirigido en el que no se admiten ciclos y existe un
camino desde un nodo llamado raíz hasta cada uno de los otros nodos. Una colección de
árboles es llamada un bosque.
• Una clase es una plantilla para la creación de objetos de datos según un modelo predefinido.
Las clases se utilizan como representación abstracta de conceptos, incluyen campos como
los registros y operaciones que pueden consultar el valor de los campos o cambiar sus
valores.
3) Estructuras de datos en programación
En programación, una estructura de datos puede ser declarada inicialmente escribiendo una palabra reservada, luego un
identificador para la estructura y un nombre para cada uno de sus miembros, sin olvidar los tipos de datos que estos
representan. Generalmente, cada miembro se separa con algún tipo de operador, carácter o palabra reservada.
En el lenguaje de programación Pauscal, es posible crear una estructura de datos de la forma
mencionada. La sintaxis básica es:
Estruct Identificador, _
Miembro1:TipoDeDato, _
Miembro2:TipoDeDato, _
...
Miembro9:TipoDeDato

Para acceder a los miembros de una estructura, primero se debe crear una referencia a esta, generalmente con una
variable de tipo; luego se pueden editar y obtener los datos de los miembros libremente.
Estruc Estructura,Miembro1:Entero,Miembro2:Cadena,Miembro3:Byte
Var Variable:Estructura
Variable.Miembro1 = 40000
Variable.Miembro2 = "Hola Mundo"
Variable.Miembro3 = 255
Mensaje(Variable.Miembro2) ' Muestra "Hola Mundo"

Potrebbero piacerti anche