A tuple in DBMS refers to a single row in a relational table. It holds data for one specific record, with each value corresponding to a column (attribute) in the table. Tuples are unique and identified using a primary key, which prevents duplicates. They can be linked to tuples in other tables using foreign keys, allowing relationships between data.
The concept of tuples comes from the Relational Model introduced by E.F. Codd, where data is organized in tables (relations) as collections of unique tuples (rows).

The image represents the concept of tuples in a relational database and how they are organized across relations (tables).
Explanation:
- R is a relation (table) with 3 columns: Geeks, for, and geeks.
- Each row in the table R is a tuple. For example: Tuple 1: (a1, b1, c1),Tuple 2: (a2, b1, c2)
These rows represent individual records in the table.
Working with Tuple in DBMS
In a relational database, a relation is defined by a set of attributes and a set of tuples that have values for those attributes.
Example: A relation called "CUSTOMER" might have attributes such as "customer_id", "first_name", "last_name" and "email". Each tuple in the relationship would have a unique value for the "customer_id" attribute and corresponding values for the other attributes, such as "John" for "first_name" and "Smith" for "last_name".
CUSTOMER Table:
customer_id | first_name | last_name | |
|---|---|---|---|
1 | John | Smith | abc@gmail.com |
2 | Abhishek | Bhosle | cde@gmail.com |
3 | Natasha | Witch | fgh@gmail.com |
Tuples are also used in the process of normalization in a relational database. Normalization is the process of organizing data in a database to minimize data redundancy and improve data integrity. In the process of normalization, a relation is broken down into multiple smaller relations, each with a specific purpose and containing a specific set of attributes and tuples.
Example: In an un-normalized relation, an "ORDER" relation may include attributes such as "order_id", "customer_id", "product_id" and "quantity". But, in the process of normalization, the relation may be broken down into two separate relations, one called "orders" containing attributes such as "order_id" and "customer_id" and another called "order_details" containing attributes such as "product_id" and "quantity".
ORDER Table:
| order_id | customer_id | product_id | quantity |
|---|---|---|---|
| A | 1 | AAA1 | 5 |
| B | 2 | BBB1 | 6 |
| C | 3 | CCC1 | 7 |
D | 4 | BBB1 | 4 |
Tuples are also used in the process of querying a relational database. Queries are used to retrieve specific data from the database and the result of a query is a set of tuples that match the criteria specified in the query.
Example: A query to retrieve the first and last names of customers with a specific email address would return a set of tuples with those attributes for each customer that matches the criteria.
Types of Tuples
There are two types of tuples in a database management system:
- Physical Tuples
- Logical Tuples
1. Physical Tuple
A physical tuple refers to how a tuple is actually stored in memory or on disk in binary or encoded form.
Key Characteristics:
- Exists at the physical (storage) level of the database.
- Stored as a sequence of bytes or disk blocks.
- May include internal metadata like: Tuple ID (TID), Pointers to other tuples, Slot numbers and Null indicators
- Optimized for performance, indexing and retrieval.
2. Logical Tuple
A logical tuple is the abstract, user-level representation of a row in a relation (table). It is what users see, work with and query using SQL.
Key Characteristics:
- Exists at the logical (conceptual) level of the database.
- Represents data in terms of attributes and values.
- Independent of how data is stored on disk.
- Seen in queries, forms, reports, etc.
Note: Both physical and logical tuples have the same attributes, but their representation and usage can differ based on the context of the operation.