A database is a collection of tables containing related data. A table is like a spreadsheet with rows and columns. Columns contain the same kind of data for each row, like a postcode. A row contains all the related data for one record, like a subscription. Primary keys uniquely identify each row, while foreign keys link tables together by matching values. Indexes help locate data faster, and referential integrity ensures foreign keys always point to existing rows.