Columns define what data a table actually stores. Picking the right type up front matters — some conversions (e.g. text to number) aren’t possible later without recreating the column and migrating data.
Common column types
- Single line of text / Multiple lines of text — free text, with a configurable max length.
- Choice (Option Set) — a fixed list of options stored as an integer value under the hood. Can be local (specific to one table) or global (a shared choice list reusable across multiple tables).
- Lookup — a reference to a record on another table; this is what creates a relationship (covered next chapter).
- Whole Number / Decimal / Currency — numeric types; Currency columns store an amount alongside a currency reference and respect the record’s transaction currency.
- Date Only / Date and Time — with a behavior setting (User Local, Date Only, Time-Zone Independent) that controls how time zones are handled.
- Yes/No — a simple boolean, displayed as a toggle or two radio options.
- Calculated and Rollup — computed columns; a Calculated column evaluates a formula in real time from other fields, while a Rollup aggregates related child records on a schedule (not instantly). We’ll use both later in this course.
Requirement levels
Every column has a requirement level that controls form validation:
- Optional — no validation.
- Business Recommended — shown with a highlighted border but doesn’t block saving.
- Business Required — the form won’t save until it’s filled in.
This is a column-level setting, but it can also be overridden per form or dynamically via a business rule — useful when a field should only be required in certain scenarios.
Local vs. global choice columns. If a list of options (like “Priority: Low/Medium/High”) will realistically be reused on more than one table, make it a global choice from the start. Converting a local option set to global later is possible but adds unnecessary cleanup — decide this up front.
Column-level security
Any column can be marked as field-securable, enabling field-level security profiles to control who can read, update, or create a value in that specific column — independent of table-level security roles. We’ll cover this properly in the Security & Access course.