Skip to content
Kuovonne's Guide to Airtable
  • Pages
    • Kuovonne's Guide to Airtable
      • Fields
        • Overview of fields types
          • Editable Field Types
          • Computed Field Types
          • Field Types by Formula Data Type
          • Field Types in Scripting
        • Specific field types
          • Formula fields
            • Demystifying Formulas (DareTable 2022)
          • Rollup fields
          • Select fields
          • Attachment fields
            • Uploading Attachments
            • Attachment Size
            • Attachment URLS
            • Thumbnails
        • Converting Field Types
        • Naming fields
        • Metadata fields
          • Simple Metadata Fields
          • Data Validation
          • Additional Dependencies
          • Original Record URL (Thumbprint) Field
          • Column Divider Fields
          • DareTable 2023 Presentation
        • Field dependencies
      • Formulas
        • Formula Field Reference
        • Writing Formulas
          • Using AI to Write Formulas
          • General tips for writing formulas
          • Testing for Blank Values
          • Drafting Formulas in Parts
          • Function versus Operator
          • Typing Special Characters
          • Commenting Formulas
          • Formulas to avoid
        • Formatting Formulas
          • Basic Rules
          • Nested IF formulas
          • SWITCH Formulas
          • Operators
        • Specific Formulas
          • Ranges of Numbers Values
          • Comma Separated List of Fields Values with Optional Fields
          • Earliest / latest date across columns
          • List Fields Values (one per line) with Optional Fields
          • Rounding a date to the half year
          • Url of Interface Page for a record
          • Removing varying items from a list
        • Data Type Conversion in Formulas
          • Text to Numbers
          • Numbers to Text
          • Data type conversions with Dates
        • Troubleshooting Formulas
          • Formulas that won't save
          • Hiding or showing #ERROR!
          • Troubleshooting date/time/duration formulas
          • Troubleshooting numeric formulas
          • Troubleshooting formulas with lookups
          • Troubleshooting text formulas
      • Automations
        • Triggering automations
          • Triggering automations for typed values
          • Triggering automations on existing records
        • Sending Emails
          • Ways to send emails
          • Using links in emails
          • Emailing Attachments
        • Accessing updated record values
        • Third party automations
        • Managing automation runs
      • Templates
        • Templates for record values
        • Templates using field values
      • Controlling Access
        • Sharing a base
        • Access control considerations
        • Techniques for limited access
          • Airtable interface
          • Share link access
          • Synced table
          • Prefilled forms + Automations
          • 3rd party portal
          • 3rd party webhook
        • Preventing base duplication
      • Specific Solutions
        • Most recent form submission for ermail
        • Email digest of a person’s records
        • Sum of Multiple Select choices
        • Link to multiple records based on select choices
        • Dropping Lowest Score (top 4 of 5)
        • Identify the position of a record in a linked record field (top 4 of 6)
        • Sequential Numbering of Records
        • Ending a list of rollup items with ", and"
        • Table ID in a formula
        • Latest/earliest date across several fields
        • Associating People with Records
        • First Tuesday of the Previous Month
      • Miscellaneous
        • Web API Calls for External Integrations
        • Getting paid to work with Airtable
        • Hiring a consultant
        • Airtable Communities
        • Making major changes to a base
      • Suggestion for this guide
      • Future Content Ideas
        • 🚧Normalized Design
          • Design Principles

Design Principles

Design Principles / Normalization

tables, records, fields
each table represents a single type of noun (person, place, thing, idea)
each record represents a single instance of that noun
records do not have a set order; there is no inherent “before/after/previous/next” record
fields do not have a set order; there is no inherent “before/after/previous/next” field
Normalization principles for cell values: editable cells should have a single, atomic value, with a single source of truth
atomic: each field represents the smallest practical unit of data (e.g. first name vs. name) (Each field has a single data type)
singular: each cell value should be a single value (versus a list of values, except for field types that explicitly take an array, and even then consider if there should be multiple values)
cell values should have a single source of truth
use linked record fields show relationships
one-to-one and one-to-many relationships
many-to-many relationships with and without junction tables
In Airtable, relationships must be explicitly set (other databases are different)
situations where a linked table might be a better design
repeated information (no single source of truth)
“rivers of white”—properties that don’t apply to most record
needing aggregate statistics
computed values update when their inputs update
formula fields take their inputs from other fields within a record
rollup fields take their inputs from a field in the linked records (and the fields within the record)
to “lock in” a value, it must be in an editable field
keep data as clean as possible—e.g. leading/trailing spaces, capitalization, ‘not a value’ values.
leverage existing linked relationships for lookups, rollups, count fields; create new linked relationships carefully

Workflow

in what ways does the data need to match the outside world?
how are changes from the outside world inputted? how will data be inputted? Manually? CSV input? API input? One-time? Periodic batches? One-time plus manual trickle?
how are results that need to be communicated to the outside world outputted?

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.