Similar to other database systems, DynamoDB stores data in tables. A table is a collection of data. For example, if we have a table called Person, you could use this to store personal information, contact information, information about friends and family, and other such information. You could also have a table called Cars to store the information about the vehicles that people drive.
Each table contains multiple items. An item is a group of attributes that are uniquely identified among all of the other items. In the People table, each item represents a person. In the Cars table, each item represents a vehicle. Items in DynamoDB are similar in many ways to rows, records, or tuples in other database systems. In DynamoDB, there is no limit to the number of items you can store in the table.
Each item is composed of one or more attributes. An attribute is the fundamental data element that cannot be broken down further. For example, an item in the People table contains attributes called PersonId, LastName, FirstName, and so on. For the Department table, we could have attributes such as DepartmentId, Name, Manager, and so on.
Attributes in DynamoDB are similar in many ways to fields or columns in other database systems:

The following are the key points about the People table:
- Each item in the table has a unique identifier, or primary key, that differentiates items from all other items in the table. In the People table, the primary key consists of one attribute—PersonId.
- The People table is schemaless, which means that we don't have to define attributes or their data types in advance. Each item can have its own distinct attributes.
- Most of the attributes are scalar, which means they have only one value. Strings and numbers are the common examples of a scalar data type.
- Some of the items have nested attributes—for example, Address. DynamoDB supports nested attributes up to 32 levels.