  A (v,k,t) covering design, or covering, is a family of k-subsets, called
blocks, chosen from a v-set, such that each t-subset is contained in at least
one of the blocks. The number of blocks is the covering's size}, and the
minimum size of such a covering is denoted by C(v,k,t). It is easy to see that
a covering must contain at least (v choose t)/(k choose t) blocks, and in 1985
R\"odl [European J. Combin. 5 (1985), 69-78] proved a long-standing conjecture
of Erd\H{o}s and Hanani [Publ. Math. Debrecen 10 (1963), 10-13] that for fixed
k and t, coverings of size (v choose t)/(k choose t) (1+o(1)) exist (as v \to
\infty).
  An earlier paper by the first three authors [J. Combin. Des. 3 (1995),
269-284] gave new methods for constructing good coverings, and gave tables of
upper bounds on C(v,k,t) for small v, k, and t. The present paper shows that
two of those constructions are asymptotically optimal: For fixed k and t, the
size of the coverings constructed matches R\"odl's bound. The paper also makes
the o(1) error bound explicit, and gives some evidence for a much stronger
bound.
