Jump to content

Field (computer science)

From Wikipedia, the free encyclopedia

In data hierarchy, a field (data field) is a variable in a record.[1] A record, also known as a data structure, allows logically related data to be identified by a single name. Identifying related data as a single group is central to the construction of understandable computer programs.[2] The individual fields in a record may be accessed by name, just like any variable in a computer program.[3]

Each field in a record has two components. One component is the field's datatype definition. The other component is the field's identifier.[4]

Memory fields

[edit]

Fields may be stored in random access memory (RAM). The following Pascal record definition has three field identifiers: firstName, lastName, and age. The two name fields have a datatype of an array of character. The age field has a datatype of integer.

type PersonRecord =
    record
        lastName : array [ 1 .. 20 ] of Char;
        firstName : array [ 1 .. 20 ] of Char;
        age : Integer
    end;

In Pascal, the identifier component precedes a colon, and the datatype component follows the colon. Once a record is defined, variables of the record can be allocated. Once the memory of the record is allocated, a field can be accessed like a variable by using the dot notation.

var alice : PersonRecord;
alice.firstName := 'Alice';

The term field has been replaced with the terms data member[5] and attribute.[6] The following Java class has three attributes: firstName, lastName, and age.

public class PersonRecord
{
	private String firstName;
	private String lastName;
	private int age;
}

File fields

[edit]
File Data Hierarchy diagram

Fields may be stored in a random access file.[7] A file may be written to or read from in an arbitrary order. To accomplish the arbitrary access, the operating system provides a method to quickly seek around the file.[8] Once the disk head is positioned at the beginning of a record, each file field can be read into its corresponding memory field.

File fields are the main storage structure in the Indexed Sequential Access Method (ISAM). In relational database theory, the term field has been replaced with the terms column and attribute.[9]

See also

[edit]
  • Class variable – Variable defined in a class whose objects all possess the same copy
  • Mutator method – also called: setter method

References

[edit]
  1. ^ Jensen, Kathleen; Wirth, Niklaus (1974). PASCAL User Manual and Report. Springer-Verlag. p. 42. ISBN 0-387-90144-2. [A] record is a structure consisting of a fixed number of components, called fields.
  2. ^ Wilson, Leslie B.; Clark, Robert G. (2001). Comparative Programming Languages, Third Edition. Addison-Wesley. p. 169. ISBN 0-201-71012-9. Being able to structure data in this way is central to the construction of understandable programs.
  3. ^ Wilson, Leslie B.; Clark, Robert G. (2001). Comparative Programming Languages, Third Edition. Addison-Wesley. p. 169. ISBN 0-201-71012-9.
  4. ^ Jensen, Kathleen; Wirth, Niklaus (1974). PASCAL User Manual and Report. Springer-Verlag. p. 42. ISBN 0-387-90144-2.
  5. ^ Stroustrup, Bjarne (2013). The C++ Programming Language, Fourth Edition. Addison-Wesley. p. 450. ISBN 978-0-321-56384-2.
  6. ^ Wilson, Leslie B.; Clark, Robert G. (2001). Comparative Programming Languages, Third Edition. Addison-Wesley. p. 104. ISBN 0-201-71012-9.
  7. ^ Wilson, Leslie B.; Clark, Robert G. (2001). Comparative Programming Languages, Third Edition. Addison-Wesley. p. 169. ISBN 0-201-71012-9. The original use of records was in languages like COBOL, where they were used to define the structure of records held in a file.
  8. ^ Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. Prentice Hall. p. 207. ISBN 0-13-937699-2. The system call lseek provides a way to move around in a file without actually reading or writing.
  9. ^ Date, C.J. (2005). Database in Depth. O'Reilly Media, Inc. p. 5. ISBN 0-596-10012-4. An n-ary relation can be pictured as a table with n columns; the columns in the picture correspond to attributes of the relation and the rows correspond to tuples.