Conceptos Fundamentales de Organización de Ficheros y Lenguajes SQL en Bases de Datos

Clasificado en Informática

Escrito el en español con un tamaño de 4,5 KB

Organización de Ficheros

Fichero Secuencial Indexado

El fichero secuencial indexado está compuesto por dos estructuras principales:

Estructura

  • Zona de Registros: Contiene todos los registros del fichero, ordenados según el valor de una llave.
  • Zona de Índices: Se procesa de forma secuencial. Su estructura es la de un fichero secuencial en el que cada registro contiene dos campos: un campo llave (que contendrá valores de la llave del fichero) y un campo dirección (que contendrá la dirección de un registro del fichero).

La zona de registros está dividida en tramos lógicos, cada tramo formado por una serie de registros consecutivos. Por cada tramo de la zona de registros, hay un registro en la zona de índices; en este registro se encuentra el valor mayor de la llave del tramo.

Operaciones

Inserción

Dado que ambas zonas son secuenciales, no es posible insertar un registro en ficheros a no ser que sea al final. Estos registros insertados al final no podrán ser consultados por llave.

Eliminación

No es posible borrar físicamente un registro, pero sí realizar un borrado lógico.

Modificación

Solo son posibles si el registro no aumenta de longitud al modificarlo ni supone una variación del valor de la llave del registro. Para permitir actualizaciones, es necesario incluir en la estructura una zona de desbordamientos. En esta zona, los registros están desordenados; cada nuevo registro se escribe al final sin tener en cuenta el orden de la llave.

Consulta

Se pueden realizar consultas secuenciales y/o consultas por llaves, sin necesidad de leer los registros que le anteceden en el fichero:

  1. Primero, se leen secuencialmente las llaves en la zona de índices hasta encontrar una mayor o igual a la del registro buscado, y se obtiene la dirección del comienzo del tramo donde está el registro.
  2. Después, se lee secuencialmente en la zona de registros, a partir de la dirección obtenida, hasta encontrar el registro buscado o uno con valor de llave mayor (esto último indica que el registro no está en el fichero).

Fichero Secuencial Indexado Encadenado

En este tipo de organización, se ha previsto un campo en cada registro para albergar un puntero, de forma que estos mantengan el orden lógico de los registros.

Lenguajes SQL

DDL (Lenguaje de Definición de Datos)

El DDL es proporcionado por los sistemas gestores de bases de datos y se utiliza para definir la estructura de los datos. Para ello, utilizaremos los siguientes comandos:

  • CREATE: Para crear bases de datos, tablas, vistas, etc.
  • ALTER: Para modificar la estructura de objetos existentes.
  • DROP: Para eliminar objetos de la estructura de la base de datos.

DML (Lenguaje de Manipulación de Datos)

El DML es proporcionado por los sistemas gestores de bases de datos. Utilizando instrucciones SQL, permite a los usuarios introducir datos para posteriormente realizar tareas de consulta o modificación de los datos que contienen las bases de datos. Los elementos que se utilizan son:

  • SELECT: Se utiliza para realizar consultas sobre los datos.
  • INSERT: Para insertar nuevos valores o registros en una base de datos.
  • UPDATE: Para modificar los valores de uno o varios registros existentes.
  • DELETE: Para eliminar datos o registros de una tabla.

DCL (Lenguaje de Control de Datos)

El DCL incluye una serie de comandos SQL, proporcionados por los sistemas gestores de bases de datos. Permiten al administrador del sistema gestor de base de datos controlar el acceso a los objetos (otorgar o denegar permisos). Los comandos principales son:

  • GRANT: Permite otorgar permisos a usuarios o roles sobre objetos de la base de datos.
  • REVOKE: Revoca o elimina los permisos que previamente se han concedido.

Consideraciones sobre Entornos de Desarrollo y Gestión

Ventajas en Entornos Globales

  • Único entorno de trabajo.

Inconvenientes en Entornos Pequeños

  • Múltiples entornos de trabajo.
  • Un algoritmo por entorno.
  • Actualizaciones múltiples.
  • Incongruencias o inconsistencias.
  • Necesidad de desarrollo de código repetitivo.

Entradas relacionadas: