SMALLINT is a small integer data type that allocates two bytes of storage. Its minimum and maximum values depend on whether it is signed or unsigned: unsigned values cannot be negative, while signed values can. section 4.6
Choose an integer type by matching the attribute’s possible values to the type’s capacity:
- Examine requirements and sample data before selecting a type. section 4.6
- Use numeric IDs when stable, unique, simple, and efficient identifiers fit the design. section 4.6
- Reject SMALLINT when the expected population can exceed its available range; choose a larger integer type instead. section 4.6
Choosing a type for payment_id
For a payment_id attribute, TINYINT is too small. A galaxy-wide online store would also outgrow SMALLINT, whereas INT is considered large enough for now and BIGINT provides more capacity. section 4.6


