Glossary

API - Application programming interface, a specification that details how one piece of software should interact with another. An API provides a reference for how to programmatically access the functionality of a piece of software. See http://en.wikipedia.org/wiki/Application_programming_interface

Client-Server Model - A method of interaction between computer systems. Client systems make requests from server systems. Server systems listen for requests and generate a response that is returned to the client. Client-server systems are often designed to work over a network but may also be used witin a single computer or on a non-networked computer system. Web servers and web browsers are an example. The browser (client) makes a request for a web page from from a web servers. The web server listens for a request from a browser client, processes the request and returns a web page. See http://en.wikipedia.org/wiki/Client%E2%80%93server_model

Database - A database is a digital information store. They come in many varieties but the most ubiquitous is the relational database, which is a collection of tables that are linked together by common fields. The software that manages a relational database is called a relational database management system (RDBMS), examples of which include PostgreSQLMySQLOracleMicrosoft SQL Server.  See http://en.wikipedia.org/wiki/Database

Database Table - Relational databases comprise a set of linked tables. The tables have rows (also called records or tuples) and columns (also called fields or attributes). The tables in a relational database may be linked together by shared fields.  Each table stores information about a common entity, e.g. People. The rows of the table would record information about individuals and the columns would represent the attriubutes about people such Last_Name, First_Name, Age etc.  To help organize and disambiguate entries a table usually has a primary key which serves to uniquely identify each record in the table. The table may also contain points to records in other tables and in this way the tables become linked. For example a table of Books might contain an Author field that points to the People table.

Data Dictionary - A set of definitions for the terms or fields used in a database. A data dictionary differs from a schema in that it does not define how to implement the storage of data in a database the way a schema does, i.e. it does not define tables and relationships. An example is the RHOI Data Dictionary.  See http://en.wikipedia.org/wiki/Data_dictionary

Field - A field is a column in a database table. Fields usually represent the attributes of a row, e.g.  All entries for a field must have the same data type (e.g. text, integer, float etc). For example the Age field of a People database would contain the age for each person (row) in the table and all age entries would have to be of the same data type, such as an integer.  See http://en.wikipedia.org/wiki/Field_%28computer_science%29

GIS - Geographical Information System. A digital system for visualizing, managing and analyzing spatial data. GIS systems such as QGIS, GRASS and ESRI ArcGIS have become common platforms for data analysis in archaeology and paleobiology. See http://en.wikipedia.org/wiki/Geographic_information_system.

Normalization - In database terminology, normalization is the process of dividing the data into linked tables in order to reduce redundancy and improve performance. Generally this means decomposing larger tables into several smaller linked tables. For example a library database might store data on books and other resources, with author as a field. Since many books may share an author the information about an author will be duplicated in the table many times. Normalizing the database would create a separate Author table that the Books table points to. Each book entry then has an ID value that points to an Author and all the information about the Authors is stored, once in its own table. See http://en.wikipedia.org/wiki/Database_normalization

Object - In computer science an object has a variety of meanings, but generally refers to anything that the computer system keeps track of, i.e. that has some value stored at some memory location, e.g. variables and data structures. In object-oriented programming it refers to an abstract entity that has properties (attributes) and abilities (e.g. methods). In this sense an object is a bit like a definition, it defines what attributes the thing can have and what it can do. An instance of that object arises when the attributes take on assigned values. There may be many, many instances of an object.   See http://en.wikipedia.org/wiki/Object_%28computer_science%29

Ontology - In information science an ontology is a formal representation of knowledge as a set of concepts within a domain. Ontologies serve to represent knowledge in a domain by identifying concepts, the attriubutes of those concepts and their relationships to other concepts. See http://en.wikipedia.org/wiki/Ontology_(information_science)

Schema - In database systems a schema defines the database tables and their structures. Schemas are also used to define the structure of data documents such as XML, where they define the elements and attributes of the document. See http://en.wikipedia.org/wiki/Database_schema