Interpretations in zeroeth order logic were relatively simple. For each variable we got to assign it one of two values, true or false. Technically there were infinitely many variables and hence infinitely many interpretations but for any particular statement, or finite set of statements, only finitely many variables occur and so we could enumerate all the interpretations. This was in fact the basis of the method of truth tables.
First order logic has many more interpretations. We can, for example, construct an interpretation as follows. We begin by choosing a non-empty set, called the “domain”. Then we assign an element of that set to each variable or parameter. To each predicate we assign a relation, which you can safely think of as a Boolean-valued function. To each unary relation we assign a unary relation, which you should think of as a function which takes a single argument, belonging to the domain, and gives you a Boolean value, i.e. true or false. To each binary predicate we assign a binary relation, i.e a Boolean function of two arguments. To each ternary predicate we assign a ternary relation, and so forth.
Once we’ve done this we can assign truth values to expressions by starting with atomic expressions and combining them to form larger and larger expressions, much as we did in zeroeth order logic. There are some differences though. The values we assigned to the variables when constructing our interpretation are only to be used for free occurrences of those variables.
A statement in first order logic is said to be valid if it is true for every interpretation of the type described above. Valid statements play much the same role for first order logic as tautologies did for zeroeth order logic.
There is no analogue of truth tables for first order logic because we have no hope of listing the possible interpretations of a statement.
Some textbooks imply, or even directly state, that all interpretations are of the type described above. They are wrong, for reasons we will discuss in the set theory chapter.