1.1
1.1 Tipos de
Tipos de datos
datos abstractos (TDA).
abstractos (TDA).
TDA es un modelo matemático de estructuras de datos que especifica los tipos de datos TDA es un modelo matemático de estructuras de datos que especifica los tipos de datos almacenados, las operaciones definidas sobre esos datos y los tipos de los parámetros de almacenados, las operaciones definidas sobre esos datos y los tipos de los parámetros de esas operaciones.
esas operaciones.
Un TDA define lo que cada operación debe hacer, más no como lo debe hacer. En un Un TDA define lo que cada operación debe hacer, más no como lo debe hacer. En un lenguaje de programación como Java un TDA puede ser expresado por una interface, que lenguaje de programación como Java un TDA puede ser expresado por una interface, que es una simple lista de declaraciones de métodos.
es una simple lista de declaraciones de métodos.
Un TDA es materializado por una estructura de datos concreta, en Java, es modelada por Un TDA es materializado por una estructura de datos concreta, en Java, es modelada por una clase. Una clase define los datos que serán almacenados y las operaciones una clase. Una clase define los datos que serán almacenados y las operaciones soportadas por los objetos que son instancia de la clase. Al contrario de la las interfaces, soportadas por los objetos que son instancia de la clase. Al contrario de la las interfaces, las clases especifican como las operaciones son ejecutadas (Implementación).
las clases especifican como las operaciones son ejecutadas (Implementación). La técnica de
La técnica de la abstracción de la abstracción de datos datos establece que al establece que al diseñar una nueva diseñar una nueva EstructurEstructura dea de Datos
Datos – – pasa a ser un TDA que luego podrá ser implementado en cualquier lenguaje depasa a ser un TDA que luego podrá ser implementado en cualquier lenguaje de programación.
programación.
Especificación lógica de un TDA Especificación lógica de un TDA Es un documento en
Es un documento en el que se el que se plasma la abstracción plasma la abstracción realizada al diseñar una Estructurarealizada al diseñar una Estructura de Datos y a
de Datos y a partir del cual se implementa la Estructura de Datos. partir del cual se implementa la Estructura de Datos. En dicho documento seEn dicho documento se definirán claramente todas las reglas en las que podrá usarse el TDA
definirán claramente todas las reglas en las que podrá usarse el TDA Partes:
Partes: 1.
1. Elementos que Elementos que conforman la Estructura conforman la Estructura de Datosde Datos Describe el tipo
Describe el tipo de los de los datos individuales que guardara datos individuales que guardara la estructura. la estructura. Ejemplo: númerosEjemplo: números enteros, números reales, caracteres, fechas, registro con los datos de un empleado.
enteros, números reales, caracteres, fechas, registro con los datos de un empleado. 2.
2. Tipo de organización en Tipo de organización en que se que se guardara los elementosguardara los elementos Lineal: Si hay
Lineal: Si hay una relación de una relación de uno a uno a uno entre los uno entre los elementos. elementos. (Arreglos)(Arreglos)
Jerárquica: Si hay una
Red: Relación de muchos a muchos entre los elementos (grafos)
Sin relación: Si no hay relación entre los elementos
3. Dominio de la estructura (opcional)
Se describirá la capacidad de la estructura de datos en cuanto al rango posible de datos por guardar.
4. Descripción de las operaciones de la estructura
Para cada operación se debe considerar los siguientes puntos: • Nombre de la operación
• Descripción breve de su utilidad • Datos de entrada a la operación
• Datos que generan como salida la operación
• Precondición: condición que debe cumplirse ANTES de utilizar la operación para que se ejecute sin problemas.
• Postcondicion : condición en que queda el TDA DESPUES de ejecutar la operación Ventajas de utilizar la Técnica de Abstracción de Datos
Se tiene una implementación más clara, documentable y fácil de darle mantenimiento. Debido a la independencia de datos, se puede crear paquetes como unidades de software reutilizable, con lo que se obtienen Estructuras de Datos genéricas.
Facilita y hace más rápido el desarrollo de aplicaciones. Podemos crear unidad de software reutilizables.
Para que el sistema sea útil debe recuperar los datos eficientemente. Esta preocupación ha conducido al diseño de estructuras de datos complejas para la representación de los datos en la base de datos. Como muchos usuarios de sistemas de bases de datos no están familiarizados con computadores, los desarrolladores esconden la complejidad a los usuarios a través de varios niveles de abstracción para simplificar la interacción de los usuarios con el sistema:
• Nivel físico: El nivel más bajo de abstracción describe cómo se almacenan realmente los datos. En el nivel físico se describen en detalle las estructuras de datos complejas de bajo nivel.
• Nivel lógico: El siguiente nivel más alto de abstracción describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. La base de datos completa se describe así en términos de un número pequeño de estructuras relativamente simples. Aunque la implementación de estructuras simples en el nivel lógico puede involucrar estructuras complejas del nivel físico, los usuarios del nivel lógico no necesitan preocuparse de esta complejidad. Los administradores de bases de datos, que deben decidir la información que se mantiene en la base de datos, usan el nivel lógico de abstracción.
• Nivel de vistas: El nivel más alto de abstracción describe sólo parte de la base de datos completa. A pesar del uso de estructuras más simples en el nivel lógico, queda algo de complejidad, debido a la variedad de información almacenada en una gran base de datos. Muchos usuarios del sistema de base de datos no necesitan toda esta información. En su lugar, tales usuarios necesitan acceder sólo a una parte de la base de datos. Para que su interacción con el sistema se simplifique, se define la abstracción del nivel de vistas. El sistema puede proporcionar muchas vistas para la misma base de datos.
1.3 uso de TDA
La Figura 1.1 muestra la relación entre los tres niveles de abstracción. Una analogía con el concepto de tipos de datos en lenguajes de programación puede clarificar la distinción entre los niveles de abstracción. La mayoría de lenguajes de programación de alto nivel soportan la estructura de tipo registro. Por ejemplo, en un lenguaje tipo Pascal, se pueden declarar registros como sigue:
type cliente =record nombre-cliente : string;
id-cliente: string; calle-cliente: string; ciudad-cliente: string;
end;
Este código define un nuevo registro llamado cliente con cuatro campos. Cada campo tiene un nombre y un tipo asociado a él. Una empresa bancaria puede tener varios tipos de registros, incluyendo
• cuenta, con campos número-cuenta y saldo
• empleado, con campos nombre-empleado ysueldo
En el nivel físico, un registro cliente, cuenta o empleado se puede describir como un bloque de posiciones almacenadas consecutivamente (por ejemplo, palabras o bytes). El compilador del lenguaje esconde este nivel de detalle a los programadores. Análogamente, el sistema de base de datos esconde muchos de los detalles de almacenamiento de nivel inferior a los programadores de bases de datos. Los administradores de bases de datos pueden ser conscientes de ciertos detalles de la organización física de los datos. En el nivel lógico cada registro de este tipo se describe mediante una definición de tipo, como se ha ilustrado en el fragmento de código previo, y se define la relación entre estos tipos de registros. Los programadores, cuando usan un lenguaje de programación, trabajan en este nivel de abstracción. De forma similar, los administradores de bases de datos trabajan habitualmente en este nivel de abstracción. Finalmente, en el nivel de vistas, los usuarios de computadores ven un conjunto de programas de aplicación que esconden los detalles de los tipos de datos. Análogamente, en el nivel de vistas se definen varias vistas de una base de datos y los usuarios de la misma ven única y exclusivamente esas vistas. Además de esconder detalles del nivel lógico de la base de datos, las vistas también proporcionan un mecanismo de seguridad para evitar que los usuarios accedan a ciertas partes de la base de datos. Por ejemplo, los cajeros de un banco ven únicamente la parte de la base de datos que tiene información de cuentas de clientes; no pueden acceder a la información referente a los sueldos de los empleados.
Figura 1.1
Fundanmentos de bases de datos Cuarta edicion
SILBERSCHATZ • KORTH • SUDARSHAN McGraw-Hill Interamericana
de España, S. A. U.
http//es.scribd.comdoc63700727estructura-de-datos
. . .
Vista 1 Vista 2 Vista n
Niveles de vistas
Nivel logico
Nivel fisico