A Database Attribute Defines the Properties of a Table

Think of an attribute as a characteristic

A database consists of tables, each of which has columns and rows. Each row (called a tuple) is a data set that applies to a single item, and each column contains characteristics that describe the rows. In database lingo, these columns are called attributes. A database attribute is a column name and the content of the fields under it in a table.

Attributes Describe Entities

If you sell products and enter them into a table with columns for ProductName, Price, and ProductID, each of those headings is an attribute. In each field under those headings, you'd enter the product names, prices, and product IDs, respectively. Each one of the field entries is also an attribute. This makes sense, given that the nontechnical definition of an attribute is that it describes a characteristic or quality of something.

Here's an example of the often-cited Northwinds database. This database includes tables (also called entities by database designers) for Customers, Employees, and Products, among others. The Products table defines the characteristics of each product. These include a product ID, name, supplier ID (used as a foreign key), quantity, and price. Each of these characteristics is an attribute of the table (or entity) named Products.

An attribute is a single piece of data in the tuple to which it belongs. Each tuple is a data set that applies to one item. The column names are the attributes of a product, and entries in the columns are also attributes of a product.

Ready-made sample databases, like MySQL Sample Database from MySQL, are available for free download on the web. Working with one of these is a great way to learn how databases work.

An Attribute chart

Is an Attribute a Field?

Sometimes, the terms "field" and "attribute" are used interchangeably, and for most purposes, they are the same. However, field describes a particular cell in a table found on any row, and attribute describes an entity characteristic in a design sense.

In the table above, the ProductName in the second row is Chang. This is a field. When discussing products in general, ProductName is the product's column. This is the attribute.

Defining Attributes

Attributes are defined in terms of their domain. A domain defines the allowable values that an attribute can contain. This includes its data type, length, values, and other details.

For example, the domain for an attribute ProductID might specify a numeric data type. The attribute can be further defined to require a specific length or specify whether an empty or unknown value is allowed.

Want to know more about the essentials of databases? Our Databases for Beginners guide is a good place to start.

Was this page helpful?