In Flask, when defining database models, you create columns using db.Column and specify their data types like Integer or String. You can add constraints such as primary_key to mark a column as the unique identifier, unique to prevent duplicate values, and nullable to control if the column can be empty. For example, an id column with primary_key=True uniquely identifies each record. An email column with unique=True and nullable=False means every user must have a unique email address. When the table is created, these constraints are enforced by the database. Trying to insert duplicate or missing emails will cause errors. This visual trace shows how columns and constraints are defined, how the table is created, and how these rules affect inserting data.