Campo (informática)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En informática, los datos que tienen varias partes, conocidos como registro, se pueden dividir en campos (campos de datos). Las bases de datos relacionales organizan los datos como conjuntos de registros de la base de datos, llamados filas. Cada registro consta de varios campos; los campos de todos los registros forman las columnas. Ejemplos de campos: nombre, sexo, color de cabello.

En la programación orientada a objetos, un campo (también llamado miembro de datos o variable miembro) es un fragmento particular de datos encapsulado dentro de un clase u objeto. En el caso de un campo normal (también llamado variable de instancia), para cada instancia del objeto hay una variable de instancia: por ejemplo, una clase Employee tiene un Nombre y hay un nombre distinto por empleado. Un campo estático (también llamado variable de clase) es una variable compartida por todas las instancias. Los campos se abstraen mediante propiedades, que permiten leerlos y escribirlos como si fueran campos, pero se pueden traducir a llamadas a métodos getter y setter.

Longitud fija

Los campos que contienen un número fijo de bits se conocen como campos de longitud fija. Un campo de cuatro bytes, por ejemplo, puede contener un entero binario de 31 bits más un bit de signo (32 bits en total). Un campo de nombre de 30 bytes puede contener el nombre de una persona, normalmente rellenado con espacios en blanco al final. La desventaja de utilizar campos de longitud fija es que se puede desperdiciar una parte del campo pero aún se requiere espacio para el caso de longitud máxima. Además, cuando se omiten campos, todavía se requiere rellenar los campos faltantes para mantener posiciones iniciales fijas dentro de un registro, por ejemplo.

Longitud variable

Un campo de longitud variable no siempre tiene el mismo tamaño físico. Estos campos casi siempre se utilizan para campos de texto que pueden ser grandes o campos que varían mucho. en longitud. Por ejemplo, una base de datos bibliográfica como PubMed tiene muchos campos pequeños como como fecha de publicación y nombre del autor, pero también tiene resúmenes, cuya extensión varía mucho. Reservar un campo de longitud fija de cierta longitud sería ineficiente porque impondría un longitud máxima de los resúmenes y porque se desperdiciaría espacio en la mayoría de los registros (especialmente si muchos artículos carecieran por completo de resúmenes).

Las implementaciones de bases de datos comúnmente almacenan campos de longitud variable de maneras especiales, para hacer que todos los registros de un tipo determinado tengan un tamaño pequeño uniforme. Hacerlo puede mejorar el rendimiento. Por otro lado, los datos en formatos serializados, como los almacenados en sistemas de archivos típicos, transmitido a través de redes, etc., suele utilizar estrategias de rendimiento bastante diferentes. La elección depende de factores como el tamaño total de los registros, las características de rendimiento del medio de almacenamiento y los patrones de acceso esperados.

Las implementaciones de bases de datos normalmente almacenan campos de longitud variable de maneras tales como

  • una secuencia de caracteres o bytes, seguido de un end-marker que está prohibido dentro de la cuerda misma. Esto hace que sea más lento acceder a campos posteriores en el mismo registro porque los campos posteriores no siempre están a la misma distancia física desde el inicio del registro.
  • a puntero a los datos en algún otro lugar, como un URI, un archivo offset (y tal vez longitud), o una clave identificando un registro en algún lugar especial. Esto normalmente acelera los procesos que no necesitan el contenido de los campos de longitud variable, pero retrasa los procesos que hacen.
  • a longitud prefijo seguido por el número especificado de caracteres o bytes. Esto evita búsquedas de un marcador final como en el primer método, y evita la pérdida de la localidad de referencia como en el segundo método. Por otro lado, impone una longitud máxima: el mayor número que puede ser representado usando el prefijo (generalmente de longitud fija). Además, los registros todavía varían de longitud, y deben ser atravesados para llegar a campos posteriores.

Si un campo de longitud variable suele estar vacío, entran en juego optimizaciones adicionales.

Ejemplo

Esta clase java Persona tiene 3 campos: nombre, apellido y altura en centímetros.

público clase Persona{}privado String primero Nombre;privado String LastName;privado int altura InCentimeters;}
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save