Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, and NP are de ned in terms of the complexity of checking { upon presentation of an entire input { whether the input satis es a certain property. For many applications of computers it is more appropriate to model the process as a dynamic one. There is a fairly large object being worked on over a period of time. The object is repeatedly modi ed by users and computations are performed. We develop a theory of Dynamic Complexity. We study the new complexity class, Dynamic First-Order Logic (Dyn-FO). This is the set of properties that can be maintained and queried in rst-order logic, i.e. relational calculus, on a relational database. We show thatmany interestingpropertiesare in Dyn-FO including multiplication, graph connectivity, bipartiteness, and the computation of minimum spanning trees. Note that none of these problems is in static FO, and this fact has been used to ...