Serverless Developer Guide
• Table – a collection of data. For example, a table called People could store personal contact 
information about friends, family, or anyone else of interest. You could also have a Cars table to 
store information about vehicles that people drive.
Data in a DynamoDB is uniquely identiﬁed with a primary key, and optional secondary indexes for 
query ﬂexibility. DynamoDB tables are schemaless. Other than the primary key, you do not need to 
deﬁne additional attributes when you create a table.
Each table contains zero or more items.
• Item – An item is a group of attributes that is uniquely identiﬁable among all of the other items. 
In a People table, each item represents a person. For a Cars table, each item represents one 
vehicle.
Items in DynamoDB are similar to rows, records, or tuples in other database systems. In DynamoDB, 
there is no limit to the number of items you can store in a table. DynamoDB items have a size limit 
of 400KB. An item collection, a group of related items that share the same partition key value, are 
used to model one-to-many relationships. (1)
Each item is composed of one or more attributes:
• Attribute –An attribute is a fundamental data element, something that does not need to be 
broken down any further. For example, an item in a People table contains attributes called
PersonID, LastName, FirstName, and so on. In a Cars table, attributes could include Make, 
Model, BuildYear, and RetailPrice. For a Department table, an item might have attributes such as
DepartmentID, Name, Manager, and so on. Attributes in DynamoDB are similar in many ways to 
ﬁelds or columns in other database systems.
Most of attributes are scalar, which means that they can have only one value. Strings and numbers 
are common examples of scalars. Attributes may be nested, up to 32 levels deep. An example could 
be an Address which contains Street, City, and PostalCode.
Watch an AWS Developer Advocate explain these core concepts in this video: Tables, items, and 
attributes (6 min).
As mentioned in the video, the primary key for the following table consists of both a partition key 
and sort key. The sort keys “inventory::armor” and “inventory::weapons” contain double colons to 
Fundamentals 75