Field (computer science)
{{Short description|Variable in a record}}
In data hierarchy, a field (data field) is a variable in a record.{{cite book
| last1 = Jensen
| first1 = Kathleen
| last2 = Wirth
| first2 = Niklaus
| title = PASCAL User Manual and Report
| publisher = Springer-Verlag
| year = 1974
| page = 42
| quote = [A] record is a structure consisting of a fixed number of components, called fields.
| isbn = 0-387-90144-2
}} 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.{{cite book
| last1 = Wilson
| first1 = Leslie B.
| last2 = Clark
| first2 = Robert G.
| title = Comparative Programming Languages, Third Edition
| publisher = Addison-Wesley
| year = 2001
| page = 169
| quote = Being able to structure data in this way is central to the construction of understandable programs.
| isbn = 0-201-71012-9
}} The individual fields in a record may be accessed by name, just like any variable in a computer program.{{cite book
| last1 = Wilson
| first1 = Leslie B.
| last2 = Clark
| first2 = Robert G.
| title = Comparative Programming Languages, Third Edition
| publisher = Addison-Wesley
| year = 2001
| page = 169
| isbn = 0-201-71012-9
}}
Each field in a record has two components. One component is the field's datatype declaration. The other component is the field's identifier.{{cite book
| last1 = Jensen
| first1 = Kathleen
| last2 = Wirth
| first2 = Niklaus
| title = PASCAL User Manual and Report
| publisher = Springer-Verlag
| year = 1974
| page = 42
| isbn = 0-387-90144-2
}}
Memory fields
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{{cite book
| last = Stroustrup
| first = Bjarne
| title = The C++ Programming Language, Fourth Edition
| publisher = Addison-Wesley
| year = 2013
| page = 450
| isbn = 978-0-321-56384-2
}} and attribute.{{cite book
| last1 = Wilson
| first1 = Leslie B.
| last2 = Clark
| first2 = Robert G.
| title = Comparative Programming Languages, Third Edition
| publisher = Addison-Wesley
| year = 2001
| page = 104
| isbn = 0-201-71012-9
}} 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
File:Data Hierarchy diagram showing Employee database example by JeffTan.gif
Fields may be stored in a random access file.{{cite book
| last1 = Wilson
| first1 = Leslie B.
| last2 = Clark
| first2 = Robert G.
| title = Comparative Programming Languages, Third Edition
| publisher = Addison-Wesley
| year = 2001
| page = 169
| quote = The original use of records was in languages like COBOL, where they were used to define the structure of records held in a file.
| isbn = 0-201-71012-9
}} 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.{{cite book
| last1 = Kernighan
| first1 = Brian W.
| last2 = Pike
| first2 = Rob
| title = The UNIX Programming Environment
| publisher = Prentice Hall
| year = 1984
| page = 207
| quote = The system call lseek provides a way to move around in a file without actually reading or writing.
| isbn = 0-13-937699-2
}} 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.{{cite book
| last = Date
| first = C.J.
| title = Database in Depth
| publisher = O'Reilly Media, Inc.
| year = 2005
| page = 5
| quote = 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.
| isbn = 0-596-10012-4
}}
See also
- {{Annotated link|Class variable}}
- {{Annotated link|Mutator method}}