TEMA 4: Organización de los datos

Anuncio
TEMA 4: Organización de los datos
4.1 Tipos de Datos
Dato: cualquier objeto manipulable por la computadora.
Los datos dentro de un programa pueden ser: constantes y variables.
Información externa del programa: grabada en memoria secundaria o generada por
algún periférico.
En función del concepto o magnitud que representan hay distintos tipos de datos, y se
almacenan de manera diferente.
TIPOS SIMPLES: (Definidos en la mayoría de los compiladores)
x
Enteros, reales, lógicos (también llamados binarios o booleanos), caracteres.
x
Enumerados: se definen dando un conjunto de posibles valores.
Ejemplo: color=(azul, rojo, verde, amarillo)
x
Subrango: definidos a partir de un tipo entero, carácter o enumerado.
Ejemplo: letra: ‘a’..‘z’
4.2 Estructuras de datos
Además de los tipos anteriores (simples), se pueden construir tipos más complejos.
Una estructura de datos o tipo de datos estructurado es un tipo construido a partir de
otros tipos.
Ej: Para representar un número complejo se necesita un par ordenado de datos
reales.
Una estructura puede ser homogénea si todos los elementos que la componen son del
mismo tipo o bien heterogénea si son de distinto tipo.
Un nº complejo sería una estructura homogénea.
4.2.1 Arrays (formaciones o matrices)
Es una estructura de datos formada por una cantidad fija de datos de un mismo tipo,
que pueden ser referenciados por un índice que determina la posición en el array.
Las matrices o arrays se pueden definir con diferente nº de dimensiones.
TEMA 4: Organización de los datos
Página 1
Ejemplo:
X tiene una dimensión y cinco posiciones, sus valores
x
son enteros.
y
Y tiene una dimensión y seis posiciones, sus valores son
reales.
z
Z tiene dos dimensiones, una de cinco posiciones y otra
de dos, sus valores son caracteres.
Su definición sería:
x: array de 5 enteros
y: array de 6 reales
z: array de 5, 2 caracteres
Para acceder a alguno de los elementos que se encuentran dentro del dato, se escribe
el nombre del dato seguido de la posición entre paréntesis: x(2), z(1,1).
4.2.2 Registros
Un registro es una estructura de datos formada por la unión de varios elementos que
contienen información relativa al mismo ente. Cada elemento se denomina campo.
Cada campo puede ser de diferente tipo y se identifica por un nombre. Al definir los
campos hay que especificar el nombre y el tipo de cada campo.
Ejemplo
Para representar información de un empleado, su definición sería:
Empleado: RECORD
Nombre: array de 30 caracteres
Edad: 16..70;
Trienios: 0..20;
Hijos: entero;
Estadocivil: caracter;
Categoría: 0..200
End;
Para acceder a los campos del registro se indica el campo correspondiente mediante
un punto:
empleado.hijos=3;
TEMA 4: Organización de los datos
Página 2
4.2.3 Conjuntos
Un conjunto es una estructura de datos formada por cero o más elementos de los
definidos. Se pueden realizar las operaciones típicas de los conjuntos. Los elementos
no están ordenados dentro del conjunto y no pueden repetirse. A l no estar los
elementos ordenados, no es posible acceder a ellos, únicamente añadir elementos al
conjunto, eliminarlos o comprobar si un elemento se encuentra en un conjunto.
Forma de definirlos:
Conjunto: set of enteros
Conjunto2: set of (lunes, martes, miercoles)
Para utilizarlos dentro de un programa:
Conjunto={1, 8, 36}
Para añadir un elemento a un conjunto: INC (1, conjunto)
Para eliminar un elemento de un conjunto: EXCL(1, conjunto)
Para preguntar si un determinado elemento pertenece o no al conjunto: 1 IN conjunto
4.3 Archivos o ficheros
Un archivo es una estructura de datos que reside en memoria secundaria que tiene un
conjunto de información sobre el mismo tema, tratada como una unidad de
almacenamiento y organizada de forma estructurada para la búsqueda de un dato
individual.
Un archivo está compuesto de registros homogéneos. Cada registro contiene un
conjunto de información a la que se accede y se trata de manera unitaria. Está
constituido por uno o más elementos denominados campos, que pueden ser de tipos
diferentes y estar compuestos de subcampos.
La vida de un archivo empieza cuando se crea y acaba cuando se borra. Durante la
vida de un archivo se pueden realizar operaciones de consulta o mantenimiento:
modificación de un registro, eliminación de un registro e inserción de un registro.
Cualquier operación de consulta o mantenimiento implica una operación de búsqueda
para luego actuar sobre él.
TEMA 4: Organización de los datos
Página 3
4.3.1 Características de los archivos (es una estructura de datos)
x
Residencia en soportes de información externa.
x
Independencia de cualquier programa: su vida no está limitada a la vida del
programa que lo crea y puede ser usado por varios programas en diferentes
momentos.
x
Permanencia de la información.
x
Gran capacidad de almacenamiento (limitado teóricamente por la capacidad
del soporte, mucho mayor que los datos que residen en memoria principal).
4.3.2 Clasificación de los archivos según su uso (desde una
aplicación)
1. Permanentes: contienen información que varía poco a lo largo del tiempo, y que es
relevante para una aplicación. Se clasifican en:
Maestros: contiene el estado actual de los datos que pueden ser modificados por la
ƒ
aplicación. Es el núcleo central de la aplicación y todos los procesos están
orientados a actualizarlos. Por ejemplo el fichero de clientes de un banco.
Constantes: tienen datos fijos para la aplicación y se utilizan generalmente sólo
ƒ
para consulta. Por ejemplo los archivos con información de intereses para cada
tipo de cuenta, ubicación de estantes en una biblioteca, etc.
Históricos: datos que fueron actuales en tiempos anteriores (para poder
ƒ
reconstruir la situación).
2. Temporales: Contienen información relevante para un determinado proceso o
programa pero no para el conjunto de la aplicación.
Intermedios: almacenan resultados que van a ser utilizados por otro programa
ƒ
dentro de la misma tarea.
De trabajo o de maniobra: para almacenar datos que no caben en memoria
ƒ
principal (Sobre todo en cálculos, los compiladores...). Su vida es menor que el
tiempo de ejecución del programa.
De resultados: para almacenar datos elaborados que van a ser transferidos a un
ƒ
dispositivo de salida. Ejemplo. Impresión.
TEMA 4: Organización de los datos
Página 4
4.3.3 Organización de los Archivos.
Dependiendo del uso y del soporte, los registros de un fichero se pueden organizar de
diferentes maneras:
1. Secuencial: los registros ocupan posiciones consecutivas de memoria y solo se
puede acceder a uno de ellos a partir del primero.
Reg1
Posición
Reg2
Reg3
2
3
...
2 . Directa o aleatoria: Las informaciones se colocan y acceden aleatoriamente
indicando el lugar relativo que ocupan dentro del conjunto de posiciones posibles.
Se pueden leer y escribir registros en cualquier orden y lugar. Es tarea del
programador establecer una relación entre la posición y el contenido. La ventaja es la
rapidez de acceso.
Reg2
Posición
2
Reg3
Reg1
3
4
...
3. Secuencial indexada. Consta de 2 áreas:
-
De índices – se procesa de forma secuencial. Contiene clave y dirección de
un registro.
-
Primaria – datos clasificados en orden ascendente por un campo clave
4.3.4 Modos de acceso.
Se denomina modo de acceso a la forma de posicionarse en un determinado archivo
para leer sus datos o bien escribir datos en él.
El modo de acceso lo decide el programador de la aplicación en función del soporte
utilizado para almacenar el fichero y en función del tipo de organización del archivo.
Hay dos modos básicos:
ƒ
secuencial: cualquier tipo de soporte y organización
ƒ
directo: soporte direccionable, organización directa o indexada.
TEMA 4: Organización de los datos
Página 5
4.3.5 Operaciones sobre Archivos
Las operaciones más usuales sobre archivos que se llevan a cabo por cualquier
programa que manipule ficheros son: creación, copia, consulta, clasificación u
ordenación, concatenación, intersección, fusión, partición, actualización,
reorganización y borrado.
4.4. Bases de Datos.
Conjunto de datos interrelacionados junto con unas aplicaciones para su manejo
(SGBD – Sistemas de Gestión de Bases de Datos), accesibles simultáneamente por
diferentes usuarios y programas.
Características:
-
Control centralizado de datos
-
Integridad de datos
-
Minimización de redundancias
-
Acceso concurrente a datos
-
Independencia de los datos y las Aplicaciones
-
Establecimiento de medidas de seguridad
-
Utilidades de acceso a los datos
4.4.1 Estructura de una Base de Datos
Una Base de Datos (de aquí en adelante BD) almacena información de una serie de
elementos. Cada elemento recibe el nombre de entidad, y es cualquier ente sobre el
que se almacena información.
Ejemplo.
Base de datos de Datos académicos.
Entidades: alumno, profesor, asignatura, centro, etc.
De cada entidad se almacenan una serie de datos que se denominan
atributos, son características o propiedades.
Atributos de la entidad Alumno: DNI, apellidos, nombre, fecha
de nacimiento, etc.
Entidades y atributos son conceptos abstractos: cada entidad se almacena en
registros, cada atributo en campos del registro.
TEMA 4: Organización de los datos
Página 6
En una BD hay diferentes tipos de registros, uno por entidad. Cada registro se
identifica por uno o varios atributos. Se dice que un conjunto de atributos es clave de
una entidad si el valor de dichos atributos identifica inequívocamente a cada elemento
de la misma.
4.4.2 SGBD – Sistema de Gestión de Bases de Datos
Es un software destinado a la creación, control y manipulación de la información de
una BD. Tareas:
-
Acceso a los datos desde algún lenguaje de alto nivel.
-
Recuperación de la información directa en modo conversacional.
-
Definición del esquema de la BD.
-
Organización física de la BD y recuperación tras fallos en el sistema.
4.4.3 BD Relacionales
En la actualidad, las BD más utilizadas se denominan relacionales. Una BD relacional
está formada por tablas, cada tabla tiene una sucesión de registros del mismo tipo.
Estas tablas deben cumplir ciertas condiciones:
-
Todos los registros de una tabla son del mismo tipo.
-
En ninguna tabla aparecen campos repetidos
-
En ninguna tabla aparecen registros duplicados
-
El orden de los registros es indiferente
-
En cada tabla hay una clave formada por uno o varios campos.
Para definir una Base de Datos Relacional se debe especificar de cada tabla su
nombre, los campos y los nombres de los campos clave. Como ya se ha dicho, la clave
l a f o r m a n u n c a m p o o l a c o m b i n a c i ón de varios campos que identifiquen
inequívocamente a un registro de la tabla. Por ejemplo, el nombre no puede ser un
campo clave porque puede haber varias personas con el mismo nombre.
A continuación se muestran las operaciones que se pueden realizar sobre una Base de
Datos Relacional de Gestión Académica formada por cuatro tablas: Datos Personales,
Expediente, Asignaturas y Titulaciones.
TEMA 4: Organización de los datos
Página 7
Operaciones que se pueden realizar sobre una o varias tablas de una Base de Datos
Relacional:
selección: obtiene otra tabla que contiene los registros que cumplen una
x
condición (en función de valores de los campos). Es necesario indicar la tabla
sobre al que se hace la operación y los campos afectados:
o
Para elegir los alumnos que hayan nacido en el año 1982:
Seleccionar de la tabla datos personales, los alumnos cuya
ƒ
fecha de nacimiento esté entre el 01/01/1982 y el 31/12/1982
o
Para elegir los alumnos cuyo nombre empiece por A y que hayan nacido
en 1982:
Seleccionar de la tabla datos personales, los alumnos cuyo
ƒ
nombre empiece por A y su fecha de nacimiento esté entre el
01/01/1982 y el 31/12/1982
proyección: obtener una tabla que tiene los mismos registros que la original
x
y sólo algunas columnas. Es necesario indicar la tabla sobre al que se hace la
operación y los campos que se quieren:
o
Para elegir las fechas de nacimiento de todos los alumnos:
Proyectar de la tabla datos personales, la fecha de nacimiento
ƒ
o
Para elegir los nombres y apellidos de todos los alumnos:
ƒ
Proyectar d e l a t a b l a datos personales, e l nombre y los
apellidos
x
unión: a partir de 2 tablas se compone una tercera que une dos registros de
las dos tablas que tengan el mismo valor en un campo.
o
Para elegir Nombre, Apellidos, Nombre asignatura, Convocatoria y
Calificación de los alumnos matriculados en Arquitectura
TEMA 4: Organización de los datos
Página 8
Unión de las tablas Expediente y Asignaturas p o r e l Código
ƒ
Asignatura.
Unión de la tabla resultado con Titulaciones por el campo Código
ƒ
Titulación.
ƒ
Unión de la tabla resultado con Datos Personales por el DNI.
ƒ
Selección d e l a t a b l a resultado p o r Nombre Titulación =
Arquitectura.
ƒ
Proyección del resultado sobre los campos Nombre, Apellidos,
Nombre asignatura, Convocatoria y Calificación.
x
Estas operaciones generan nuevas tablas sobre las cuales se podrían hacer
nuevas operaciones de estos tipos. De esta manera se pueden componer
operaciones más complejas.
TEMA 4: Organización de los datos
Página 9
Descargar